Syllabus

The following is a tentative schedule and list of topics for the course. Details for future weeks will be added as the course progresses.

Date Topic and Readings
Problem Set 1 (due Friday, February 1 at 5pm)
Problem Set 2 (due Friday, February 22 at 5pm)
Problem Set 3 (due Friday, March 22 at 5pm)
Problem Set 4 (due Friday, April 12 at 5pm)
Problem Set 5 (due Friday, May 3 at 5pm)

You must use LaTeX to write up your problem set. You must use the provided template to typset your assignment.
January 14-18 Definitions and Foundations (Lecture Notes)
  • One-way functions (OWFs), pseudorandom generators (PRGs), pseudorandom functions (PRFs), pseudorandom permutations (PRPs)
  • The Blum-Micali PRG and hybrid arguments
  • The Goldreich-Goldwasser-Micali PRF construction
Suggested Readings
January 23-25 Symmetric Cryptography (Lecture Notes)
  • Symmetric encryption: semantic security, CPA-security
  • Message integrity and message authentication codes (MACs)
  • Authenticated encryption
Suggested Readings
January 28-February 1 Number-Theoretic Cryptography (Lecture Notes)
  • The discrete logarithm problem
  • Diffie-Hellman key exchange and ElGamal encryption
  • Random self-reducibility and the Naor-Reingold PRF
Suggested Readings
February 1 Problem Set 1 Due at 5pm
February 4-February 8 Number-Theoretic Cryptography (Lecture Notes)
  • Factoring and the RSA assumption
  • Trapdoor permutations and digital signatures
  • The random oracle model
Suggested Readings
February 11-February 15 Elliptic-Curve Cryptography (Lecture Notes)
  • Generic algorithms for discrete logarithm
  • Elliptic-curve cryptography: notation, definitions, and constructions
  • Introduction to pairing-based cryptography
Suggested Readings
February 18-February 22 Pairing-Based Cryptography (Lecture Notes)
  • 3-party non-interactive key-exchange from pairings
  • Short signatures from pairings
  • Identity-based encryption from pairings
Suggested Readings
February 22 Problem Set 2 Due at 5pm
February 25-March 1 Zero-Knowledge Proof Systems (Lecture Notes)
  • Interactive proof systems
  • Zero-knowledge proof systems and the simulation paradigm
  • Zero-knowledge proofs for NP
Suggested Readings
March 4-March 8 Zero-Knowledge Proof Systems (Lecture Notes)
  • Proofs of knowledge
  • Sigma protocols: Schnorr signatures and Chaum-Pedersen proofs
  • The Fiat-Shamir heuristic
Suggested Readings
March 11-15 No class: Spring recess
March 18-March 22 Multiparty Computation (Lecture Notes)
  • Oblivious transfer protocols
  • Yao's garbled circuits
Suggested Readings
March 22 Problem Set 3 Due at 5pm
March 25-March 29 Multiparty Computation (Lecture Notes)
  • Shamir secret sharing
  • Computing on secret-shared data
  • MPC in the preprocessing model: OT correlations and Beaver triples
Suggested Readings
April 1-April 5 Lattice-Based Cryptography (Lecture Notes)
  • Overview of post-quantum cryptography
  • Introduction to lattice-based cryptography
  • The short integer solutions (SIS) problem
Suggested Readings
April 8-April 12 Lattice-Based Cryptography (Lecture Notes)
  • Lattice trapdoors and lattice-based signatures
  • The learning with errors (LWE) problem
  • Regev's public-key encryption scheme from LWE
Suggested Readings
April 12 Problem Set 4 Due at 5pm
April 15-April 19 Advanced Primitives from Lattices (Lecture Notes)
  • Fully homomorphic encryption
  • Homomorphic signatures
Suggested Readings
April 22-April 26 Advanced Primitives from Lattices (Lecture Notes)
  • Dual Regev encryption
  • Attribute-based encryption
Suggested Readings
April 29 Final Remarks and Open Problems (Lecture Notes)
May 3 Problem Set 5 Due at 5pm