We will explore cryptographic techniques for achieving secure computation. Namely, we will study suprisingly powerful advanced cryptographic techniques that allow mutually untrusting parties to work together to securely run programs on private data. We will discuss both the theory and the practice of this emerging technology. Our discussion will cover computing on private data, zero-knowledge proofs, oblivious RAM, function secret sharing, and more.
We will meet Tuesdays and Thursdays from 3:30 – 4:45pm in Siebel Center for Computer Science, Room 2406. Lectures will be recorded and made available here.
Office Hours will be held 3:00pm on Wednesdays in 4322 Siebel Center.
Homeworks will be made available here and submitted via Gradescope. Use code 5NXPGN to sign up.
A discussion board is available on Piazza.
Book (optional): A Pragmatic Introduction to Secure Multi-Party Computation by David Evans, Vladimir Kolesnikov, and Mike Rosulek. The book is available free of charge: https://securecomputation.org. This is mostly useful as a reference for surface-level course concepts, and it does not reach the technical depth you will need.
Research papers. This is an advanced topics class, and some of the topics are best (or only) documented by the research literature. The lecture schedule will include links to relevant research papers.
The main prerequisite is mathematical maturity. You will be expected to read, understand, and write formal definitions/proofs.
It is advised that you have basic familiarity with concepts in cryptography, such as having completed CS/ECE 407 or similar. More importantly, it is advised that you have a basic understanding of basic computer science theory, especially in terms of understanding computational models like state machines, RAM machines, circuits, etc.
Participation (\(10\%\)). Please show up to class, and participate in discussions in class and on Piazza.
Three-five homework assignments (\(30\%\)). Homework submissions must be typed. You may complete homeworks in any editor, but LaTeX submissions are preferred and templates will be provided.
Midterm Exam (\(30\%\)). The midterm is tentatively scheduled for Thursday, October 8, at the regular class time and place.
Class Project (\(30\%\)) In groups of one to three, you will take a deep dive on a topic related to secure computation. You will read research papers in the area and prepare a research-quality document of your findings. You will also give a brief presentation on your topic.
The class project is open-ended, though you must confirm your chosen research topic with me.
Some extra credit opportunities might be made available throughout the semester. Your first opportunity is to visit office hours within the first three weeks of class for \(1\%\) extra credit.
Homework assignments and LaTeX templates will be posted here throughout the semester.
Homeworks are to be completed and submitted individually. However, you may collaborate with up to one other student on homework assignments. On each homework submission, declare your collaborator (if any). In your collaboration you are expected to discuss the homework, not to copy answers. Plagiarism will not be tolerated (see Academic Integrity).
| Date | Topic | Notes | Video | Reading | |
|---|---|---|---|---|---|
| 8/25 | Course Overview and Introduction | Notes | Pragmatic MPC, Chapter 1 | ||
| 8/27 | Semi-Honest Security | Notes | Reading on Simulation |
Topics covered in the course include—but are not limited to—the following:
Formalizations of Security
Secret Sharing
Oblivious Transfer
Garbled Circuits
Malicious security
Oblivious RAM
Zero Knowledge Proofs
Function secret sharing
Private Information Retrieval
Oblivious Transfer Extension
Depending on time remaining, we will review previously discussed topics, and move on to other topics such as (but not limited to):
Private Set Intersection
Universal Circuits
Garbled RAM
MPC on Asynchronous Networks
Academic dishonesty is a serious offense. The University of Illinois Urbana-Champaign Student Code (https://studentcode.illinois.edu) is considered a part of this syllabus. If you are ever in doubt of what constitutes plagiarism or cheating, do not hesitate to ask me.
To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TTY), or e-mail a message to disability@illinois.edu.