๐Ÿ“˜ Introduction to Modern Cryptography (3rd Edition)

Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell is one of the most widely used textbooks for undergraduate and graduate courses in cryptography. This third edition builds on its predecessors by adding updated material, exercises, and clearer pedagogical structure, making it a top-tier introduction to the formal study of cryptographic security.

The book presents cryptography as a rigorous discipline, with an emphasis on formal definitions and provable security. It systematically develops the theoretical foundations behind modern cryptographic constructions while also highlighting their practical relevance.

๐ŸŽฏ What Youโ€™ll Learn

  • ๐Ÿ”‘ Foundations of modern cryptography: computational security, indistinguishability, and reductionist proofs
  • ๐Ÿงช Private-key encryption and message authentication codes
  • ๐Ÿ” Public-key encryption and digital signatures
  • ๐Ÿ’ก Hash functions and their role in collision resistance and integrity
  • ๐Ÿ”„ Pseudorandom generators, functions, and permutations
  • ๐Ÿงฑ Construction of secure protocols and hybrid encryption
  • โš–๏ธ Formal security notions like semantic security and chosen-ciphertext attacks
  • ๐Ÿšจ Real-world implications of idealized models
  • ๐Ÿ”ฌ Exercises with strong conceptual focus and formal proof structure

๐Ÿ“ฆ Structure in This Repository

This section of the repository contains:

  • courses/: Notes and summaries of each chapter
  • examples/: Rust implementations of cryptographic primitives
  • exercices/: Exercises with explanations and code
  • images/: Visualizations of cryptographic concepts and constructions

๐Ÿ†• Status

This module is still under active development. Contributions are welcome as we build out more chapters, examples, and implementations!