CHANGELOG:
* encrypt finished;
* decrypt finished;
* TODO: thread, hash, the other small functions;