encryption & decryption

All modifications is related to the encryption & decryption
functionality.