
A gentle introduction to lattice-based cryptography
(Version 3.3: September 16, 2026)
We present four quantum-safe schemes: the Kyber (ML-KEM) and FrodoKEM key encapsulation mechanisms, and the Dilithium (ML-DSA) and Falcon (FN-DSA) signature schemes. We also develop the mathematical background on lattices needed to understand why Kyber, FrodoKEM, Dilithium and Falcon 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
- Introduction
- Lattices
- Short Integer Solutions (SIS) problem
- Learning With Errors (LWE) problem
- Module-SIS and Module-LWE
- Kyber (ML-KEM)
- Dilithium (ML-DSA)
- Falcon (FN-DSA)
- FrodoKEM
- The LLL lattice basis reduction algorithm
- The BKZ lattice basis reduction algorithm
- LLL applications
- The Number-Theoretic Transform
A. Security definitions
B. Answers to computational exercises
Post-quantum cryptography
(last updated: September 14, 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
- The threat of quantum computers
- Hash-based signature schemes
- Kyber-KEM
- Dilithium signature scheme
- Chapter endnotes
- Exercises
Public-key cryptography
(last updated: September 2, 2026)
An introduction to public-key cryptography, suitable for undergraduate students.
Table of contents
- Introduction
- Public-key encryption
- Digital signatures
- Hybrid cryptography
- Algorithmic number theory background
- Chapter endnotes
- Exercises
RSA
(last updated: September 2, 2026)
An introduction to RSA, suitable for undergraduate students.
Table of contents
- Basic RSA
- RSA key generation (further details)
- RSA encryption
- RSA signatures
- Chapter endnotes
- Exercises
Elliptic curve cryptography
(last updated: Oct 25, 2025)
An introduction to elliptic curve cryptography, suitable for undergraduate students.
Table of contents
- Elliptic curves
- Elliptic curve discrete logarithm problem
- Deployed elliptic curves
- Elliptic curve key agreement
- Elliptic curve public-key encryption
- Elliptic curve signature schemes
- Chapter endnotes
- Exercises
Random and pseudorandom bit generation
(last updated: September 3, 2026)
An introduction to random and pseudorandom bit generation, suitable for undergraduate students.
Table of contents
- Introduction
- Random bit generation
- Pseudorandom bit generation
- Case studies
- Chapter summary and endnotes
- Exercises
Error-correcting codes
(last updated: Oct 25, 2025)
Handwritten notes for my undergraduate course on algebraic coding theory.
Table of contents
- Fundamentals
- Finite fields
- Linear codes
- Golay codes
- Cyclic codes
- BCH codes
- Reed-Solomon (RS) codes
- Wrap-up
- Linear algebra review
