Overview
This is a graduate-level introductory course to cryptography. The first half will be lectures on foundational topics and the second half will be student- or instructor-led presentations of research papers. The first half will focus on symmetric and asymmetric cryptography, which concerns the secret sharing of information.
The main references will be Introduction to Modern Cryptography by Katz and Lindell (KL), and An Introduction to Mathematical Cryptography by Hoffstein, Pipher, and Silverman (HPS).
Tentative list of topics:
- Private-key (symmetric) cryptography [Chapters 1-3 of KL; Chapter 1 of HPS]:
- information theoretic security: one-time pad, key size lower bound
- computational security: definitions and reductions
- need for randomness: theoretical constructions of pseudo-random objects
- Public-key (asymmetric) cryptography [Chapters 2-4 and 7 of HPS]
- key exchange: Diffie-Hellman
- encryption: RSA and the prime factorization problem
- digital signatures: Elgamal, RSA
- lattice-based versions of the above that are post-quantum secure
- Additional topics from a selection of the following:
- computing on secret inputs: private information retrieval, secret sharing, secure multi-party computation, fully homomorphic encryption
- zero-knowledge (ZK) proofs: graph non-isomorphism in Statistical-ZK, NP in Computational-ZK assuming one-way functions exist, non-interactive and succinct ZK via Fiat-Shamir and Kilian’s protocol, security in the random oracle model
- quantum cryptography, or classically impossible crypto: making key distribution, unforgeable digital money, certified deletion, etc. *information-theoretically* secure; cryptography when P = NP