CS 276: Cryptography (Fall 2016)


Instructor: Sanjam Garg. 
Time: 11:00--12:30pm, Tuesdays and Thursdays. 
Location: 320 Soda.
Office Hours: Just drop by my office after class or fix an appointment (by email).
Prerequisites: CS 170 or equivalent. (Exposure to undergraduate level algorithms and probability, maturity with mathematical proofs)

Focus: The focus of this class will be the theoretical foundations and applications of modern cryptography. 

GradingHomeworks - 20%, Midterm I - 25%, Midterm II - 25%, Project Presentation 30%

Graduate Student Instructor: Peihan Miao

Course Notes (Will be updated as the class proceeds.)

Topics Outline (Working Schedule!)

Aug 25Introduction & One Way Functions  Notes by Thomas Holenstein
More detailed notes (Chapter 1 and 2 (Section 2.1 to 2.3))
Additional fun reading:
A Note on Negligible Functions
Aug 30Hardness Amplification and Levin's one-way function Notes by Thomas Holenstein (for Hardness Amplification)
Levin's one way function [Scribe notes for a class by Rafael Pass]
Sep 1Hard Core Bit Scribe notes for a class by Rafael Pass
Sep 6Computational Indistinguishability and Pseudorandom Generators Notes by Yehuda Lindell
Sep 8Pseudorandom Generators and Pseudorandom Functions Notes by Yehuda Lindell (Sections 4.2, 5.1 and 5.2)
Sep 13Zero Knowledge I Notes by Yehuda Lindell (Sections 5.3)
Additional fun reading:
Zero-Knoweldge twenty years after its invention
Sep 15Zero Knowledge IINotes by Yehuda Lindell (Chapter 7)
Project Proposal (1 page) due on 10/18 at 11 am (in class)
Possible topics for project by Luca Trevisan and David Wagner
Additional fun reading:
How to Go Beyond the Black-Box Simulation Barrier
Sep 20Public Key Encryption Notes by Yehuda Lindell (Sections 9 and 10.1)
Sep 22NIZK I Scribe notes for a class by Jonathan Katz
Sep 27Midterm I
Sep 29NIZK II Scribe notes for a class by Jonathan Katz
Oct 4Digital Signatures and CRHF Scribe notes for a class by Jonathan Katz
Oct 6Public Key Encryption 
Oct 11Public Key Encryption (CCA Security)Scribe notes for a class by Rafael Pass and this
Oct 13Secure Computation I  (Oblivious Transfer and Definitions of Secure Computation) Notes by Yehuda Lindell (Chapter 13)
Oct 18Secure multi-party Computation (GMW Protocol + Malcious model) Notes by Yehuda Lindell (Chapter 13)
Oct 20Secure 2-party Computation (Yao's garbled circuit construction) https://www.youtube.com/watch?v=mtKCDJe4a48
Additional Fun Watching:
Oct 25Bilinear Maps and Identity Based Encryption

Oct 27Witness Encryption and Fully-Homomorphic Encryption (Bootstrapping)https://eprint.iacr.org/2013/258.pdf
Nov 1Indistingusishability Obfuscation
Nov 3Functional Encryption
Nov 7
(Class moved from Nov 8th to Nov 7th 2-3:30 pm in 380 Soda Hall)
Nov 10
Nov 15Midterm II
Nov 17Project Presentations 
Nov 22Project Presentations
Nov 24Thanksgiving Day!
Nov 29Project Presentations
Dec 1Project Presentations

Reference Material:


There is no required textbook for the course and lecture notes on essentially everything that will be covered can be found online and will be scribed as part of the class. However, following can be excellent reference material.