Cryptography in details