• Topics marked with * are more advanced topics and meant to cultivate research ideas. 
  • All written homeworks are required. 
  • Class participation includes scribing lecture notes (see Resources for examples).
  • Small projects will be on an individual basis, and each student will select 1 small project among several options provided.
  • Final projects will be in groups of 2.  Students will propose their own final project ideas. Ideals need to be approved by the instructor.  Theory, PL, and systems projects are all okay, but they need to be related to applied cryptography.




Week Topics Homework
Chapter 1:  Cryptography formal foundations
Jan 28             Course introduction, cryptography landscape, and potential final project directions (1)
  • 1 Written homework
  • Homework-1: Due on 23:59, Feb 28
  • Final project proposal due on 23:59, Feb 21    

Feb 2

Feb 4

Feb 9

Formal security definitions and reduction proofs 

  • Probability ensembles, and hybrid lemma (0.5)
  • Crypto schemes and simple reduction proofs by example: PRFs, basic encryption/authentication schemes, schemes based on algebraic assumptions such as RSA and Diffie-Hellman (1.5)

 Feb 11

Project meeting-I
Chapter 2: Cryptography for cloud computing
 Feb 18 Verifiable storage and computation: Merkle hash trees and authenticated data structures (1)

 Feb 23


Verifiable storage and computation: Proofs of retrievability (1)
 Feb 25 Privacy-preserving storage and computation: Oblivious RAM (1) 
 Mar 1 Privacy-preserving storage and computation: Secure 2-party computation (1) 
 Mar 3

Privacy-preserving storage and computation: Zero-knowledge proofs (1)

Mar 8  Fiat-Shamir Transformation and OR proof (1)
Chapter 3: Cryptography in the real world

Mar 10

Confidential Transaction (1)


 Mar 15

 Mar 17

Distributed consensus protocols (2) 

  • Dolev-Strong protocol (1)
  • PBFT (1)

 Mar 22

Cryptocurrency: the Bitcoin consensus protocol (1)  


 Mar 24

Project meeting-II

 Apr 5

Pitfalls of crypto used in Bitcoin

 Apr 7

 Apr 12

 Apr 14

 Trusted hardware (3)


Chapter 4: Towards modular, reusable high-assurance cryptography libraries

Apr 19

Apr 26

Apr 28 

Simulation-based security and composition (3)

  • Failures of composability by example
  • Simulation based security definitions, universal composability
  • UC proofs by example
May 3 Guest lecture: Overview of formal verification tools* (1) 


 May 10


Final project presentations