CSIC 3907-83/6907-81 - Advanced Cryptography

Wednesdays, 12:45-3:15
1957 E St. 211

Instructor Information

Name: Arkady Yerukhimovich
Email: arkady@gwu.edu
Office: SEH4570
Office hours: By appointment

Course description

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.

Grading

Participation20%
Homework20%
Presentation20%
Research Project40%

Class Schedule: (Note this is tentative and subject to change)

DateLecture Topic(s)VideoReadingHomework
Jan. 15Intro to MPC: Basic protocols and definitions
Jan. 22Overview of secret sharing, Multiplication triples, Malicious [GRW18] protocol HW1 (due January 29)
Jan. 29Damgard-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. 5SPDZ, 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. 12Garbled circuit optimizations, Cut and choose HW2 (due February 26)
Feb. 19Review of MPC protocols, MPC applications, Mixed-Mode conversions
Feb. 26MPC Frameworks, Secure K-means
Mar. 4Student Presentations
Mar. 11Student Presentations Project descriptions
Mar. 18SPRING BREAK - NO CLASS
Mar. 25Student Presentations Revised Project descriptions
Apr. 1Student Presentations

Reading List:

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:

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.
  • Research Project:

    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.

    References on MPC:

  • Resources for getting started with MPC
  • Announcements:

  • NEW: Class will be online for the remainder of the semester. See my email for Zoom meeting instructions.
  • NEW: Papers that will be presented on March 25 are posted above.
  • Next week is Spring Break, so no class on 03/18.
  • Papers that will be presented on March 11 are posted above. Also, remember that research project descriptions are due in class on the 11th.
  • Next week we will have two student presentation, see schedule above. Remember to post question by Monday.
  • 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