CSIC 3907-83/6907-81 - Advanced Cryptography
1957 E St. 211
Name: Arkady Yerukhimovich
Office hours: By appointment
This course will introduce students to the topic of secure multi-party 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 half-semester 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.
Class Schedule: (Note this is tentative and subject to change)
|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||Damgard-Nielsen protocol, large-field protocol of Chida et al.||
- Lindell, Nof (Protocol B.4 for Damgard-Nielsen protocol, Protocol B.2 for generating random shares.)
- Chida et al. (Section 4)
|Feb. 5||SPDZ, Introduction to Garbled Circuits ||
- SPDZ protocol Part 1 (This covers the online phase of the SPDZ protocol that we covered in class), Part 2
(this mostly covers the offline phase which we didn't cover.)
- Yao's Garbled Circuits (first 5:00 minutes)
|Feb. 12||Garbled circuit optimizations, Cut and choose ||
||HW2 (due February 26)|
|Feb. 19||Review of MPC protocols, MPC applications, Mixed-Mode conversions ||
|Feb. 26||MPC Frameworks, Secure K-means ||
|Mar. 4||Student Presentations ||
We will focus on reading papers on applications of MPC.
A list of papers to choose from for presentations is available here.
Students are welcome to add to this list if they find a paper that they find interesting, even if they do not want to present it.
Reading List Instructions:
- Students must choose a paper to present at least 1 week before their presentation. To choose a paper put your name in the "Claimed by" column.
- By Monday before a paper presentation, each student must enter at least 2 questions about each of the papers to be presented that week. Questions should be entered into the corresponding worksheet.
- Presenters should try to answer the posted questions in their presentations. Be prepared to discuss.
Some resources for finding papers include:
ePrint - many recent crypto papers
arXiv crypto - paper repository, use search to find relevant papers
Recent conferences in security, crypto, ML, etc.
For your research project, you are expected to implement an MPC application of your choice. You can choose the application and the framework for implementing that application. See my slides for
help with choosing a framework. You may work alone or in groups of at most two students. The following is a schedule for deliverables.
- Feb. 26 -- Start thinking about MPC application you would like to investigate.
- Mar. 11 -- 1-2 page project proposal describing your project team, your application, what you plan to investigate, and which framework you will use and why.
- Apr. 8 -- Project status check - By now you should have started with your implementation, and I will meet with each of you to see where you stand.
- Apr. 22 -- Final project presentations.
References on MPC:
Resources for getting started with MPC
NEW: Next week we will have two student presentation, see schedule above. Remember to post question by Monday.
NEW: Research project deadlines are now given up above.
There is a bug in the second part of Problem 2 in HW2. Please only answer the question in the first paragraph.
On Wednesday, Feb. 26, I will present this paper. Make sure to enter questions about this paper by Monday. Instructions for the reading list are given above.
Homework 2 is posted, due before class on February 26th.
Homework 1 is posted, due before class on January 29th.
Welcome to Advanced Crypto