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.
All lectures will be held synchronously (over Zoom) during the scheduled class time. The lectures will be recorded and will be made available for those students unable to attend lecture during this time. The goal is for the lecures to be interactive. As we have a small class, I encourage questions and discussion during the lectures.Slack discussions:
To enable asynchronous discussion for the course, we will use Slack (instructions for access will be provided in Blackboard). The goal is to supplement discussion during the lectures and to ask questions about any of the presented material, further reading, or any topics students wish to discuss.Homework:
All homework will be posted, collected, and graded via Blackboard.Office Hours:
Office hours will be held via Zoom.
|Participation in class discussions||20%|
During the first half of the course, homework will be assigned approximately every two weeks. Homework is due before class (by 12:45PM) on the due date. They must be submitted via Blackboard by this time to receive credit. Homeworks can be typed using your favorite tool (I am happy to help anybody interested in learning LaTex) or handwritten and scanned. But, make sure that what you submit is legible as it is what will be graded. No late homeworks will be accepted!
Students are welcome to work together on homeworks, however each student must write up and submit their own solutions. If you work on the homework with someone else, you MUST acknowledge them on your submitted homework.
Additionally, you may use outside resources (e.g., web search, other text books, lecture notes) to help with the homework. However, if you use any such resource, you MUST cite them appropriately. Moreover, the solutions you submit MUST be your own. Make sure to write-up your own answers and that you understand them, copying and pasting solutions is not acceptable. Submitted homeworks violating these guidelines will be considered in breach of the academic integrity code and will be prosecuted accordingly.Class Participation:
While the class will be entirely online, there is still an expectation of class participation. Students should make an effort to attend, and participate in discussion, during the synchronous sessions. However, the main avenue for participation will be via Slack. The expectation is that students will use Slack to ask and answer questions about the week’s lectures, ask about related reading, and/or further topics that they find interesting. I am looking for this to be a discussion among students, so interaction is encouraged. Invitation and further instructions for using Slack will be provided in Blackboard.
Reading List Instructions:
Some resources for finding papers include:
You may work alone or in groups of at most two students.
|Jan. 13||Introductions, Syllabus review, What is MPC|
|Jan. 20||NO CLASS -- inauguration|
|Jan. 27 - Feb. 24||Lectures on MPC protocols, applications, and development|
|Mar. 3||Final lecture and sample paper presentation (by the professor)|
|Mar. 10||Student presentations|
|Mar. 17||NO CLASS -- spring break|
|Mar. 24 - Apr. 7||Student Presentations|
|Apr. 14 - Apr. 21||Lectures on advanced topics in MPC|
|Apr. 28||Final Project Presentations|