This syllabus is subject to update.

Week Foundational Concepts Interesting Application/Story-time Homework
 8/26, 8/28

Introduction to the course

Introduction to encryption, one-time pad

Historical aspects

Bonus project ideas

  • Watch "The Imitation Game"  (optional)
  • Think about/sign up for bonus projects, and project team formation (optional)
8/31, 9/2, 9/4 Encryption, one-time pad, perfect secrecy

Coin flipping (various topics)

  • Break a Vigenère cipher and a substitution cipher
  • Required Reading: Section 1 of the textbook
  • Optional: Talk to Elaine about your intended bonus project direction. We will use a combination of office hours and part of class time on Friday for this (15 min per group). Elaine may assign you a grad-student mentor for your bonus project. Schedule a meeting with your grad-student mentor if you have one.

 

9/7 (labor day, no class), 9/9, 9/11 Computational Hardness and one-way functions

Private coin protocols (pepsi or coke?)

 

Zero-knowledge proofs

  • Required Textbook Reading: Chapter 2 (Computational Hardness); Chapter 4 (Zero-knowledge Proofs)
  • Break a Vigenère cipher and a substitution cipher
9/14, 9/16, 9/18 One-way functions, basic number theory

Secret sharing

  • Required Textbook Reading: Chapter 2 (One-way functions); Section 6.1 Secret Sharing
  • Implement secret sharing
9/21, 9/23, 9/25 Indistinguishability and Pseudorandomness

Wiki introduction to Euler's Totient Function

Secure dating, i.e., "he loves me, he loves me not"

Reading: Rafael Pass and abhi shelat "A course in cryptography", page 9
  • Required Textbook Reading: Chapter 2
  • Implement secret sharing
9/28, 9/30, 10/2 Encryption

Secure voting with a PEZ machine

  • Required Textbook Reading: Chapter 3
  • Written homework 1
10/5, 10/7, 10/9 Encryption

Cryptography pitfalls

Reading:

  • Written homework 1
10/12 (fall break, no class), 10/14, 10/16 Review  

 

10/14 was a review session for the midterm. No new material was covered.

10/19, 10/21, 10/23

Oblivious RAM

(slides link)

Oblivious RAM
  • Midterm (Monday 10/19 in class)
  • Implement Path ORAM
10/26, 10/28, 10/30 Public-key Encryption

 

 

  • Implement Path ORAM
  • Required Reading: Textbook Section 3.10.0 (Public Key Encryption)
  • Optional Reading: Proof in Textbook Section 3.10.1
11/2, 11/4, 11/6

Public-key Encryption and Authentication Code

 
  • Required Reading: 3.11 (El-Gamal Public Key Encryption Scheme)
  • Implement Path ORAM
  • Bonus mini-research project
11/9, 11/11, 11/13 Digital Signatures Merkle-hash trees
  • Implement Path ORAM
  • Slides deck: link
11/16, 11/18, 11/20 (recitation no scribe) Consensus Protocol (Byzantine Agreement) Garbled circuits
  • Written homework 2
11/23 (pre-thanksgiving, no class), 11/25 (thanksgiving, no class), 11/27 (thanksgiving, no class)  

Thanksgiving

 
11/30, 12/2, 12/4(recitation no scribe)

Bitcoin and Review

Bonus project presentations
  • Written homework 2
12/17 (Final)     
  •  Final (9:00AM 12/17 Gates Hall G01)