Create object and gen key

This pull request contains the changes that add support for object creation and symmetric key generation, as well some refactoring in `icsf.c` to make it possible to reuse some existing code.