Serious Cryptography: A Practical Introduction to Modern Encryption

by Jean-Philippe Aumasson

Cybersecurity

Book Details

Book Title

Serious Cryptography: A Practical Introduction to Modern Encryption

Author

Jean-Philippe Aumasson

Publisher

No Starch Press

Publication Date

2024

ISBN

9781718503847

Number of Pages

788

Language

English

Format

PDF

File Size

5.24MB

Subject

Computers > Security

Table of Contents

  • Serious Cryptography
  • Praise for Serious Cryptography
  • Title Page
  • Copyright
  • About the Author and Technical Reviewer
  • Foreword to the First Edition
  • Acknowledgments
  • Introduction
  • List of Abbreviations
  • Part I: Fundamentals
  • Chapter 1: Encryption
  • The Basics
  • Classical Ciphers
  • How Ciphers Work
  • The Perfect Cipher: The One-Time Pad
  • Encryption Security
  • Asymmetric Encryption
  • When Ciphers Do More Than Encryption
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 2: Randomness
  • Random or Nonrandom?
  • Randomness as a Probability Distribution
  • Entropy: A Measure of Uncertainty
  • Random and Pseudorandom Number Generators
  • Real-World PRNGs
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 3: Cryptographic Security
  • Defining the Impossible
  • Quantifying Security
  • Achieving Security
  • Generating Keys
  • How Things Can Go Wrong
  • Further Reading
  • Part II: Symmetric Crypto
  • Chapter 4: Block Ciphers
  • What Is a Block Cipher?
  • How to Construct Block Ciphers
  • The Advanced Encryption Standard
  • How to Implement AES
  • Modes of Operation
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 5: Stream Ciphers
  • How Stream Ciphers Work
  • Hardware-Oriented Stream Ciphers
  • Software-Oriented Stream Ciphers
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 6: Hash Functions
  • Secure Hash Functions
  • How to Build Hash Functions
  • The SHA Family of Hash Functions
  • The BLAKE2 and BLAKE3 Hash Functions
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 7: Keyed Hashing
  • Message Authentication Codes
  • Pseudorandom Functions
  • How to Create Keyed Hashes from Unkeyed Hashes
  • How to Create Keyed Hashes from Block Ciphers
  • Dedicated MAC Designs
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 8: Authenticated Encryption
  • Authenticated Encryption Using MACs
  • Authenticated Ciphers
  • The AES-GCM Authenticated Cipher Standard
  • The OCB Authenticated Cipher Mode
  • The SIV Authenticated Cipher Mode
  • Permutation-Based AEAD
  • How Things Can Go Wrong
  • Further Reading
  • Part III: Asymmetric Crypto
  • Chapter 9: Hard Problems
  • Computational Hardness
  • Complexity Classes
  • The Factoring Problem
  • The Discrete Logarithm Problem
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 10: RSA
  • The Math Behind RSA
  • The RSA Trapdoor Permutation
  • RSA Key Generation and Security
  • Encrypting with RSA
  • Signing with RSA
  • RSA Implementations
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 11: Diffie–Hellman
  • The Diffie–Hellman Function
  • The Diffie–Hellman Problems
  • Key Agreement Protocols
  • Diffie–Hellman Protocols
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 12: Elliptic Curves
  • What Is an Elliptic Curve?
  • The ECDLP Problem
  • Diffie–Hellman Key Agreement over Elliptic Curves
  • Signing with Elliptic Curves
  • Encrypting with Elliptic Curves
  • Choosing a Curve
  • How Things Can Go Wrong
  • Further Reading
  • Part IV: Applications
  • Chapter 13: TLS
  • Target Applications and Requirements
  • The TLS Protocol Suite
  • TLS 1.3 Improvements over TLS 1.2
  • The Strengths of TLS Security
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 14: Quantum and Post-Quantum
  • How Quantum Computers Work
  • Quantum Speedup
  • Why Is It So Hard to Build a Quantum Computer?
  • Post-Quantum Cryptographic Algorithms
  • The NIST Standards
  • How Things Can Go Wrong
  • Further Reading
  • Chapter 15: Cryptocurrency Cryptography
  • Hashing Applications
  • Multisignature Protocols
  • Aggregate Signature Protocols
  • Threshold Signature Protocols
  • Zero-Knowledge Proofs
  • Really Serious Crypto
  • Index