CSCI 3907-83/6907-83 - Advanced Cryptography

Wednesdays, 12:45-3:15
Online (via Blackboard and Zoom)

Instructor Information

Name: Arkady Yerukhimovich
Email: arkady@gwu.edu
Office hours: By appointment
Office hours will be held via Zoom. Students must email me for link if they want to attend.

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.

Technology for Online Instruction

This will be an entirely online class for the Spring 2021 semester. Since all interactions (both synchronous and asynchronous) will be virtual, it is critical that all students abide by the Online Social Contract to ensure civil, and productive discourse. The course material will be accessible as follows:

Lectures:

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.

Grading

Participation in class discussions20%
Homework20%
Paper presentation20%
Research project40%

Homework policy:

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.

Paper Presentations:

A big part of this course will involve students reading and presenting to the class 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:

    The course will include a research project in which students will get experience with hands-on development of an MPC application. Students can choose the exact application they would like to investigate, develop an MPC implementation, and perform experiments to evaluate correctness and performance. Students will present their findings to the class at the end of the semester. Additionally, students will produce a report describing their findings.

    You may work alone or in groups of at most two students.

    Tentative schedule

    This is a tentative schedule for the class. The updated schedule will be on Blackboard.

    Date(s)Lecture Topic(s)
    Jan. 13Introductions, Syllabus review, What is MPC
    Jan. 20NO CLASS -- inauguration
    Jan. 27 - Feb. 24Lectures on MPC protocols, applications, and development
    Mar. 3Final lecture and sample paper presentation (by the professor)
    Mar. 10Student presentations
    Mar. 17NO CLASS -- spring break
    Mar. 24 - Apr. 7Student Presentations
    Apr. 14 - Apr. 21Lectures on advanced topics in MPC
    Apr. 28Final Project Presentations