CS 601.642/442: Modern Cryptography (Fall 2019)

Overview:
  • Instructor: Abhishek Jain
  • Time: 1:30 pm - 2:45 pm, Monday and Wednesday
  • Location: Hodson 213
  • Office Hours: Tuesday 2-3pm (Malone 315)
  • Prerequisites: Exposure to probability and mathemtical proofs, and asymptotic notation.
  • Grading: 45% Homework, 15% Midterm, 30% (Take-home) Final, 10% Class participation
  • Lecture Notes: Preliminary draft (Under continual update)
  • TA: Arka Rai Choudhuri (achoud AT cs dot jhu dot edu)
  • Office Hours: Wednesday 4-5pm (Malone 216)
  • Review Session: Thursday 4:30-5:30pm (Malone 228)

Class Schedule (Tentative; will be revised):

Date Lecture Additional Notes
Aug 29 Introduction (Slides) Pre-reqs refresh in Review Session (Oct 31)
Review Session Notes
Mathematical Background: Notes by Boaz Barak
Sep 4 One-Way Functions (I) (Slides) Basing Security on Intractable Computations: See Chapter 4
More Notes on OWFs: See Chapter 2
Sep 9 One-Way Functions (II) (Slides) Hardness Amplification: See Chapter 2.4
Sep 11 Hard Core Predicate (Slides)
Pseudorandomness (I) (Slides)
Goldreich-Levin Theorem: See Chapter 3.4
Levin's Universal OWF: See Chapter 2.13
Sep 16 Pseudorandomness (II) (Slides) Notes by Yehuda Lindell: See Chapter 4
Sep 18 Pseudorandomness (III) (Slides) Notes by Yehuda Lindell: See Chapters 5.1, 5.2
Sep 23 Key Exchange (Slides)
Sep 25 Secret-Key Encryption (Slides) Notes by Yehuda Lindell: See Chapters 9, 10.1
Sep 30 Public-Key Encryption (I) (Slides) Notes by Yehuda Lindell: See Chapters 9, 10.1
Oct 2 Public-Key Encryption (II) El Gamal Encryption
Oct 7 Authentication (I) (Slides) Notes by Yehuda Lindell: See Chapters 11, 12
Oct 9 Authentication (II) Number-theoretic Hash Functions
Random Oracles and Full Domain Hash
Oct 14 Zero-Knowledge Proofs (Slides) Notes by Yehuda Lindell: See Chapters 5.3, 6
Physical ZK: ZK Proofs for Nuclear Warhead Verification
Mike Rosulek: ZK Proofs for Sudoku and Where's Waldo
Oct 16 Zero-Knowledge Proofs (II) (Slides) Notes by Yehuda Lindell: See Chapter 7
Oded Goldreich: ZK twenty years after its invention
Boaz Barak: How to do Non-Black-Box Simulation
Oct 21 NIZKs via Fiat-Shamir Susan Hohenberger: Notes on Fiat Shamir
Oct 23 CCA Security (I) (Slides) Notes by Victor Shoup: Lecture 10
Oct 28 Midterm
Oct 30 CCA Security (II) (Slides)
Nov 4 Secure Computation (I) (Slides) Notes by Yehuda Lindell: See Chapter 13
Nov 6 Secure Computation (II) (Slides) Yao's Protocol with Proof: Lindell-Pinkas
Nov 11 Secure Computation (III) (Slides) Notes by Yehuda Lindell: See Chapter 13
Nov 13 Advanced Topics: Bilinear Maps and Applications
Nov 18 Advanced Topics: Functional Encryption and Obfuscation
Nov 20 Advanced Topics: Fully Homomorphic Encryption
(Guest Lecture by Arka)
Nov 25 - Dec 1 Thanksgiving break
Dec 2 Advanced Topics: Differential Privacy
(Guest Lecture by Jalaj Upadhyay)
Dec 4 Review Class

Homeworks:


Useful Lecture Notes: Useful Books: