CHANGELOG:
* added encryption;
* added hmac;
* small code improvement;