This course will introduce students to the topic of secure multiparty computation (MPC). MPC allows parties to perform joint computation on their private inputs without disclosing those inputs to each other or using a trusted party. The course will cover the definitions and classical constructions of MPC, and then will introduce students to modern research in this topic. As part of this course, students will learn how to read recent research papers on MPC, and be expected to present and lead discussion about the papers they read. Additionally, there will be a halfsemester long research project that will require students to use an existing MPC framework to implement and experiment with an MPC application.
See syllabus for additional details.
Participation  20% 
Homework  20% 
Presentation  20% 
Research Project  40% 
Date  Lecture Topic(s)  Video  Reading  Homework 
Jan. 15  Intro to MPC: Basic protocols and definitions 

 
Jan. 22  Overview of secret sharing, Multiplication triples, Malicious [GRW18] protocol 
 HW1 (due January 29)  
Jan. 29  DamgardNielsen protocol, largefield protocol of Chida et al. 
 
Feb. 5  SPDZ, Introduction to Garbled Circuits 

 
Feb. 12  Garbled circuit optimizations, Cut and choose 


HW2 (due February 26) 
Feb. 19  Review of MPC protocols, MPC applications, MixedMode conversions 


Feb. 26  MPC Frameworks, Secure Kmeans 


Mar. 4  Student Presentations 


Mar. 11  Student Presentations 

Project descriptions  
Mar. 18  SPRING BREAK  NO CLASS  
Mar. 25  Student Presentations 

Revised Project descriptions  
Apr. 1  Student Presentations 


Apr. 8  Last Student Presentation, OT Extension 


Apr. 15  Oblivious RAM 


Apr. 22  Final Project Presentations 
Reading List Instructions:
Some resources for finding papers include: