CS 276: Cryptography (Fall 2014)


Instructor: Sanjam Garg. 
Time: 2:30--4:00pm, Mondays and Wednesdays. 
Location: 320 Soda.
Office Hours: Just drop by my office 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. 

Grading: Scribe notes 20%, Homeworks (3) 40% , Project 40% (No final!)

Scribe: Scribers please follow this template. Please hand in your LaTeX source as well along with your scribe!

Topics Outline (Working Schedule!)

Sep 3Introduction
Sep 8One Way Functions [Scribe]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
Sep 10Hardness 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 15Hard Core Bit [Scribe]Scribe notes for a class by Rafael Pass
HW #1
Sep 17Computational Indistinguishability and Pseudorandom Generators [Scribe]Notes by Yehuda Lindell
Sep 22Pseudorandom Generators and Pseudorandom Functions [Scribe]Notes by Yehuda Lindell (Sections 4.2, 5.1 and 5.2)
Sep 24Zero Knowledge I [Scribe]Notes by Yehuda Lindell (Sections 5.3)
Additional fun reading:
Zero-Knoweldge twenty years after its invention
Sep 29Zero Knowledge II [Scribe]Notes by Yehuda Lindell (Chapter 7)
HW #2
Project Proposal due (10/15 at 2:40 pm)
Possible topics for project by Luca Trevisan and David Wagner
Additional fun reading:
How to Go Beyond the Black-Box Simulation Barrier
Oct 1Public Key Encryption [Scribe]Notes by Yehuda Lindell (Sections 9 and 10.1)
Oct 6NIZK I [Scribe]Scribe notes for a class by Jonathan Katz
Oct 8NIZK II [Scribe]Scribe notes for a class by Jonathan Katz
Oct 13CCA Secure Encryption [Scribe]Scribe notes for a class by Jonathan Katz
Oct 15Digital Signatures and CRHF [Scribe].Scribe notes for a class by Rafael Pass and this
Oct 20Bilinear Maps and Identity Based Encryption [Scribe]A One Round Protocol for Tripartite Diffie-Hellman
Identity based encryption from the Weil pairing
HW #3
Oct 22Secure Computation I  (Oblivious Transfer and Definitions of Secure Computation) [Scribe]Notes by Yehuda Lindell (Chapter 13)
Oct 27Secure multi-party Computation (GMW Protocol + Malcious model) [Scribe]Notes by Yehuda Lindell (Chapter 13)
Oct 29Secure 2-party Computation (Yao's garbled circuit construction) [Scribe].https://www.youtube.com/watch?v=mtKCDJe4a48
Additional Fun Watching:
Nov 3Witness Encryption [Scribe]


Nov 5Obfuscation [Scribe]https://eprint.iacr.org/2013/451.pdf
Nov 10Using Indistinguishability Obfuscation [Scribe]
Nov 12Functional Encryption from Indistingusishability Obfuscation [Scribe]
Nov 17Puncturing [Scribe]https://eprint.iacr.org/2013/454.pdf
Nov 19Project Presentationshttp://goo.gl/forms/n3YlNgQcqr
Nov 24Project Presentationshttps://www.dropbox.com/sh/csjuzmkosivvkox/AAAkcFAjoovYUiOrFeH0xfOCa?dl=0
Nov 26Project Presentations [Presentation Schedule]
Dec 1Project Presentations
Dec 3Project 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.