Warning: this book is not finished! I am still working on some of the chapters. Once it is completed, I will publish it as PDF and EPUB. Be patient.
A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages.
Author: Svetlin Nakov, PhD - http://www.nakov.com
Contributors: Milen Stefanov, Marina Shideroff
ISBN: 978-619-00-0870-5 (9786190008705)
This book is free and open-source, published under the MIT license.
Official Web site: https://cryptobook.nakov.com
Official GitHub repo: https://github.com/nakov/practical-cryptography-for-developers-book.
Sofia, November 2018
- Cryptography - Overview
- Hash Functions
- MAC and Key Derivation
- Secure Random Generators
- Key Exchange and DHKE
- Encryption: Symmetric and Asymmetric
- Symmetric Key Ciphers
- Asymmetric Key Ciphers
- The RSA Cryptosystem - Concepts
- RSA Encrypt / Decrypt - Examples
- Exercises: RSA Encrypt / Decrypt
- Elliptic Curve Cryptography (ECC)
- ECDH Key Exchange
- ECDH Key Exchange - Examples
- Exercises: ECDH Key Exchange
- ECC Encryption / Decryption
- ECIES Hybrid Encryption Scheme
- ECIES Encryption - Example
- Exercises: ECIES Encrypt / Decrypt
- Digital Signatures
- Quantum-Safe Cryptography
- More Cryptographic Concepts
- Crypto Libraries for Developers