Lecture notes

A gentle introduction to lattice-based cryptography
(Version 1.0: May 26, 2026)

We present the quantum-safe Kyber key encapsulation mechanism (ML-KEM) and the Dilithium signature scheme (ML-DSA). We also develop the mathematical background on lattices needed to understand why Kyber and Dilithium are regarded as lattice-based cryptosystems, and we provide insight into the computational hardness of the underlying lattice problems. The exposition is intended to be accessible to senior undergraduate students and beginning graduate students.

Table of contents
  1. Introduction
  2. Short Integer Solutions (SIS) problem
  3. Learning With Errors (LWE) problem
  4. Module-SIS and Module-LWE
  5. Kyber (ML-KEM)
  6. Dilithium (ML-DSA)
  7. The LLL lattice basis reduction algorithm
  8. The BKZ lattice basis reduction algorithm
  9. LLL applications
  10. The Number-Theoretic Transform
  11. Notes and further references
  12. References

Post-quantum cryptography
(last updated: May 26, 2026)

These notes introduce hash-based signatures and lattice-based schemes for key encapsulation and signatures, focusing on standardized schemes: LMS, SPHINCS+ (SLH-DSA), Kyber (ML-KEM), and Dilithium (ML-DSA).

Table of contents
  1. The threat of quantum computers
  2. Hash-based signature schemes
  3. Kyber-KEM
  4. Dilithium signature scheme
  5. Chapter endnotes
  6. Exercises

Public-key cryptography
(last updated: Oct 25, 2025)

An introduction to public-key cryptography, suitable for undergraduate students.

Table of contents
  1. Introduction
  2. Public-key encryption
  3. Digital signatures
  4. Hybrid cryptography
  5. Algorithmic number theory background
  6. Chapter endnotes
  7. Exercises

RSA
(last updated: Oct 25, 2025)

These notes introduce hash-based signatures and lattice-based schemes for key encapsulation and signatures, focusing on standardized schemes: LMS, SPHINCS+ (SLH-DSA), Kyber (ML-KEM), and Dilithium (ML-DSA).

Table of contents
  1. Basic RSA
  2. RSA key generation (further details)
  3. RSA encryption
  4. RSA signatures
  5. Chapter endnotes
  6. Exercises

Elliptic curve cryptography
(last updated: Oct 25, 2025)

An introduction to elliptic curve cryptography, suitable for undergraduate students.

Table of contents
  1. Elliptic curves
  2. Elliptic curve discrete logarithm problem
  3. Deployed elliptic curves
  4. Elliptic curve key agreement
  5. Elliptic curve public-key encryption
  6. Elliptic curve signature schemes
  7. Chapter endnotes
  8. Exercises

Error-correcting codes
(last updated: Jan 23, 2025)

These are the handwritten slides for my introductory course on error-correcting codes aimed at undergraduate students.

Table of contents
  1. Fundamentals
  2. Finite fields
  3. Linear codes
  4. Golay codes
  5. Cyclic codes
  6. BCH codes
  7. Reed-Solomon (RS) codes
  8. Wrap-up
  9. Linear algebra review