Lecture notes

A gentle introduction to lattice-based cryptography
(Version 2.1: August 2, 2026)

We present three quantum-safe schemes: the Kyber key encapsulation mechanism (ML-KEM), the Dilithium signature scheme (ML-DSA), and the Falcon signature scheme (FN-DSA). We also develop the mathematical background on lattices needed to understand why Kyber, 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
  1. Introduction
  2. Lattices
  3. Short Integer Solutions (SIS) problem
  4. Learning With Errors (LWE) problem
  5. Module-SIS and Module-LWE
  6. Kyber (ML-KEM)
  7. Dilithium (ML-DSA)
  8. Falcon (FN-DSA)
  9. The LLL lattice basis reduction algorithm
  10. The BKZ lattice basis reduction algorithm
  11. LLL applications
  12. The Number-Theoretic Transform
  13. Answers to computational exercises

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