Schedule
Schedule — Fall 2026 (DRAFT)
Lectures meet Mondays and Wednesdays, 3:00–4:15 pm. No class on Labor Day (Sep 7) or Thanksgiving break (Nov 23–27). Readings marked book are draft chapters of the instructor’s draft book, distributed to enrolled students; notes are instructor-written course notes posted on this site; B&S is Boneh–Shoup (supplementary).
Assignment milestones are shown in the right column. Code-review labs are 15-minute individual sessions scheduled outside class time during the weeks indicated.
| # | Date | Topic | Reading | Milestones |
|---|---|---|---|---|
| 1 | Mon Aug 31 | Introduction: practical cryptography, threat models, and how this course works in the agent era | notes | A1 out |
| 2 | Wed Sep 2 | Classical ciphers and cryptanalysis | MTU Vigenère cryptanalysis tutorial (esp. frequency analysis, Kasiski, and index-of-coincidence pages); optional: Friedman, The Index of Coincidence and Its Applications in Cryptanalysis (1922) | |
| — | Mon Sep 7 | No class — Labor Day | ||
| 3 | Wed Sep 9 | Symmetric encryption I: block ciphers and modes of operation | book ch. 5; B&S ch. 2–3 | |
| 4 | Mon Sep 14 | Symmetric encryption II: padding, chaining pitfalls, authenticated encryption | book ch. 5; B&S ch. 5, 9 | |
| 5 | Wed Sep 16 | Hash functions and message authentication | book ch. 6; B&S ch. 6–8 | A1 due Fri Sep 18 |
| 6 | Mon Sep 21 | Randomness, entropy, and key derivation | book ch. 11 | A2 out · Review Lab 1 this week |
| 7 | Wed Sep 23 | Public-key cryptography I: number-theoretic background, RSA, and how RSA breaks | book PK ch. (fragments, as available); B&S app. A; RSA attack papers | |
| 8 | Mon Sep 28 | Public-key cryptography II: Diffie–Hellman, elliptic curves, and the KEM abstraction | book PK ch. (fragments, as available); B&S §10.3–10.4 | |
| 9 | Wed Sep 30 | Public-key cryptography III: post-quantum key exchange — lattices and ML-KEM | notes; Valsorda, The Math of ML-KEM; FIPS 203 | |
| 10 | Mon Oct 5 | Digital signatures and PKI (ECDSA; ML-DSA in brief); midterm review | notes; FIPS 204 | |
| 11 | Wed Oct 7 | Midterm exam 1 (in class) | Midterm 1 | |
| 12 | Mon Oct 12 | Protocols I: TLS design, including hybrid post-quantum key exchange | notes; B&S ch. 15 | |
| 13 | Wed Oct 14 | Protocols II: a history of TLS attacks | SSL/TLS attack papers | |
| 14 | Mon Oct 19 | Secure messaging: OTR, Signal, ratcheting, and PQXDH | notes + Signal specs | |
| 15 | Wed Oct 21 | Side channels I: timing attacks | notes; timing-attack papers | A2 due Fri Oct 23 |
| 16 | Mon Oct 26 | Side channels II: padding oracles and format oracles | notes; B&S §4.3.2 | A3 out · Review Lab 2 this week |
| 17 | Wed Oct 28 | Implementation failures: nonce reuse, RNG failures, real-world postmortems | notes + postmortems | |
| 18 | Mon Nov 2 | Multi-party computation I: secret sharing | notes; B&S §22.1 | |
| 19 | Wed Nov 4 | Multi-party computation II: garbled circuits | garbled circuits primer | |
| 20 | Mon Nov 9 | Zero-knowledge proofs I | notes | |
| 21 | Wed Nov 11 | Zero-knowledge proofs II: applications | notes | |
| 22 | Mon Nov 16 | Midterm exam 2 (in class) | Midterm 2 | |
| 23 | Wed Nov 18 | Anonymous communication: Tor | Tor design paper | |
| — | Nov 23–27 | No class — Thanksgiving break | ||
| 24 | Mon Nov 30 | Anonymity II: mixnets and iCloud Private Relay | Private Relay analysis | |
| 25 | Wed Dec 2 | Cryptographic backdoors: Dual EC and the Juniper incident | Juniper/Dual EC paper | A3 due Fri Dec 4 |
| 26 | Mon Dec 7 | Special topic: cryptography and AI agents | notes | Review Lab 3 this week |
| 27 | Wed Dec 9 | Wrap-up and final exam review | ||
| — | TBA | Final exam (December exam period, scheduled by registrar) | Final |
Assignment overview
- Assignment 1 — Classical cryptanalysis. Implement the Vigenère cipher, then break it: index-of-coincidence key-length recovery and ciphertext-only frequency analysis. Security-critical regions and review-lab focus announced in the handout.
- Assignment 2 — Encrypted messaging: build it and break it. Implement a complete client for the JMessage end-to-end encrypted messaging system against a reference server, then implement an automated adaptive chosen-ciphertext attack that decrypts another user’s intercepted message.
- Assignment 3 — TBA. Released in late October.
Each assignment is followed by a code-review lab round (see Syllabus); the autograder gate and review multiplier apply.