Home - aarushigoel/ModernCryptography-Fall2020 GitHub Wiki
CS 601.642/442: Modern Cryptography (Fall 2020)
Overview
Modern Cryptography includes seemingly paradoxical notions such as communicating privately without a shared secret, proving things without leaking knowledge, and computing on encrypted data. In this challenging but rewarding course we will start from the basics of private and public key cryptography and go all the way up to advanced notions such as zero-knowledge proofs and secure computation. Time permitting, we also cover emerging topics such as quantum cryptography, differential privacy and secure machine learning.
The class will focus on rigorous proofs and require mathematical maturity.
Administrative
Instructor: Abhishek Jain (abhishek [AT] cs [dot] jhu [dot] edu)
- Lectures: 1:30 pm - 2:45 pm ET, Monday and Wednesday
- Office Hours: 9:30am - 10:30am ET, Tuesday (exception: Sep 8 office hours will be held on Sep 10, same time)
Grading: 45% Homework, 20% Midterm, 25% Final, 10% Class participation
Homeworks: Submit via Gradescope (Entry Code: M5EVWN)
Discussion Board: Piazza
TA: Aarushi Goel (agoel10 [AT] jhu [dot] edu)
- Office Hours: 5pm - 6pm ET, Monday
CA: Matthew Lombardo (mlombar7 [AT] jhu [dot] edu)
Text
There is no required textbook; the course material will consist of lecture slides. See also scribes from a previous version of this course as well as other resources below.
- Scribes. (Slightly outdated as the current version of the course has undergone some changes. Much of the core material remains the same.)
- Useful Resources.
Some parts of this course are adapted from The Joy of Cryptography by Mike Rosulek and A Course in Cryptography by Rafael Pass and abhi Shelat.
Course Syllabus and Homeworks
- Course syllabus page (includes lecture slides and additional reading material).
- Homeworks and Exams page (contains the due dates of all homeworks and exams).