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