Serious Cryptography is the much anticipated review of modern cryptography by cryptographer JP Aumasson. This is a book for readers who want to understand how cryptography works in today's world. The book is suitable for a wide audience, yet is filled with mathematical concepts and meaty discussions of how the various cryptographic mechanisms work. Chapters cover the notion of secure encryption, randomness, block ciphers and ciphers, hash functions and message authentication codes, public-key crypto including RSA, Diffie-Hellman, and elliptic curves, as well as TLS and post-quantum cryptography. Numerous code examples and real use cases throughout will help practitioners to understand the core concepts behind modern cryptography, as well as how to choose the best algorithm or protocol and ask the right questions of vendors. Aumasson discusses core concepts like computational security and forward secrecy, as well as strengths and limitations of cryptographic functionalities related to authentication, integrity, or random number generation. Readers also learn how to avoid common mistakes with implementations, thanks to a section in every chapter that discuss what could go wrong, including horror stories and examples of failures in real applications.
Foreword by Matthew D. Green
Preface
Abbreviations
Chapter 1: Encryption
Chapter 2: Randomness
Chapter 3: Cryptographic Security
Chapter 4: Block Ciphers
Chapter 5: Stream Ciphers
Chapter 6: Hash Functions
Chapter 7: Keyed Hashing
Chapter 8: Authenticated Encryption
Chapter 9: Hard Problems
Chapter 10: RSA
Chapter 11: Diffie-Hellman
Chapter 12: Elliptic Curves
Chapter 13: TLS
Chapter 14: Quantum and Post-Quantum
Index