📘 An Introduction to Mathematical Cryptography (2nd Edition)

An Introduction to Mathematical Cryptography by Jeffrey Hoffstein, Jill Pipher and Joseph H. Silverman provides a rigorous yet accessible entry point into the mathematical foundations of public-key cryptosystems and digital signatures. Written for students in mathematics and computer science, this textbook emphasizes the theoretical underpinnings and algebraic structures behind modern cryptography.

This self-contained book introduces all necessary mathematical tools, from number theory to probability, as they are needed, making it suitable for readers with only basic linear algebra knowledge.

🎯 What You’ll Learn

  • 🔑 Core cryptographic constructions like Diffie–Hellman, RSA, and ElGamal
  • ✍️ Digital signature schemes including DSA, RSA, and lattice-based signatures
  • 🧮 Mathematical foundations: primality testing, factorization, modular arithmetic
  • 🔢 Concepts from probability theory, information theory, and collision analysis
  • 🧱 Deep dives into elliptic curve cryptography, pairing-based systems, and lattice cryptography
  • 🧠 Specialized constructions like NTRU, digital cash, and homomorphic encryption

📦 Structure in This Repository

This section of the repository contains:

  • courses/: Notes and guided walkthroughs per chapter
  • examples/: Rust implementations of core algorithms
  • exercices/: Worked solutions and explanations
  • images/: Diagrams supporting cryptographic concepts

🆕 Status

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