Below is a comprehensive curriculum covering the mathematics required for cryptography, structured from beginner to expert levels. Each topic includes free and comprehensive learning resources (books, courses, videos, and interactive platforms).
- Variables, equations, polynomials
- Functions (linear, quadratic, exponential)
- Resources:
- Divisibility, primes, GCD, LCM
- Modular arithmetic (clock arithmetic)
- Resources:
- Sets, relations, functions
- Logic (propositions, predicates, proofs)
- Resources:
- Euler’s theorem, Fermat’s little theorem
- Chinese Remainder Theorem (CRT)
- Resources:
- Coursera: Number Theory & Cryptography (Free audit option)
- Book: "A Computational Introduction to Number Theory" by Shoup (Free PDF)
- Groups, subgroups, cyclic groups
- Finite fields (Galois fields) – essential for AES, ECC
- Resources:
- Probability distributions (discrete, continuous)
- Statistical attacks in cryptography
- Resources:
- Elliptic curves over finite fields
- ECDSA, ECDH, Pairing-based crypto
- Resources:
- Lattices, SVP, CVP, LWE (Learning With Errors)
- Post-quantum cryptography
- Resources:
- Entropy, perfect secrecy (Shannon’s theorem)
- Error-correcting codes (Reed-Solomon, LDPC)
- Resources:
- zk-SNARKs, Bulletproofs
- Secure Multi-Party Computation (MPC)
- Resources:
- Hash-based, Code-based, Multivariate crypto
- Resources:
- Homomorphic encryption, Functional encryption
- Resources:
- Cryptopals challenges: https://cryptopals.com/
- CTFs (Capture The Flag): https://ctftime.org/
- Math is the backbone of cryptography, so mastery is essential.
- Practice with implementations (Python, SageMath, or C++).
- Follow research papers from IACR ePrint.