Description
The ubiquity of big data along with modern distributed and cloud computing infrastructures makes it possible to leverage data assets from a variety of sources in order to compute large-scale analytics that serve decision-makers and the public good. A major hurdle to unleashing this potential is the need to trust the entity that gathers the data. Secure Multi-Party Computation (MPC) relies on cryptographic constructs to overcome this hurdle by allowing computation to be performed in a way that reveals only the output result, and reveals nothing about the input or intermediate values used in the computation other than what can be derived from the output. Secure MPC has been an active area of research for over 30 years, with many theoretical results and software artifacts. While fast enough to use today on small-scale data, MPC faces three key challenges that inhibit adoption at scale: the high learning curve of developing private analytics, the challenge of connecting private analytics to existing data stacks, and the inability to balance the privacy and performance provided by the analytic.
This team-taught course aims to prepare/recruit students interested in pursuing research that tackle these challenges by focusing on the deployment of state-of-the-art MPC technologies toward applications with important economic and social justice benefits, such as pay equity, economic stability of the banking system, market diversity to detect monopolies, and distributed network anomaly detection. The course leverages active research and real systems developed at BU by the team of instructors and their students.
We will first review in a lecture/reading group format the mathematical and algorithmic foundations of different MPC frameworks and systems. Next, we will also review some real-world instances of MPC deployment and the associated challenges. Finally, we will break up into project-oriented teams who will set up and deploy MPC systems by applying them to real-world or real-world-inspired data analysis problems. In particular, students will be expected to develop expertise in the use of one or more of the existing MPC libraries/APIs/systems that have been developed over the last few years, leading each student or small groups of students to a course project that will either use these existing MPC capabilities to tackle a large-scale big-data analytics problem, or else integrate these capabilities into the backend of popular big-data analytics platforms. Projects ideas from students that complement and/or augment those proposed by the instructors are welcome!
This team-taught course aims to prepare/recruit students interested in pursuing research that tackle these challenges by focusing on the deployment of state-of-the-art MPC technologies toward applications with important economic and social justice benefits, such as pay equity, economic stability of the banking system, market diversity to detect monopolies, and distributed network anomaly detection. The course leverages active research and real systems developed at BU by the team of instructors and their students.
We will first review in a lecture/reading group format the mathematical and algorithmic foundations of different MPC frameworks and systems. Next, we will also review some real-world instances of MPC deployment and the associated challenges. Finally, we will break up into project-oriented teams who will set up and deploy MPC systems by applying them to real-world or real-world-inspired data analysis problems. In particular, students will be expected to develop expertise in the use of one or more of the existing MPC libraries/APIs/systems that have been developed over the last few years, leading each student or small groups of students to a course project that will either use these existing MPC capabilities to tackle a large-scale big-data analytics problem, or else integrate these capabilities into the backend of popular big-data analytics platforms. Projects ideas from students that complement and/or augment those proposed by the instructors are welcome!
General Information
Lecture time and location
Mondays 2:30-5:15 PM in MCS 180.
Attendance after 4:30 PM is optional. In particular, this class does not conflict with Adam Smith's CS 591 S1 course on Adaptive Data Analysis.
Attendance after 4:30 PM is optional. In particular, this class does not conflict with Adam Smith's CS 591 S1 course on Adaptive Data Analysis.
Participation and grading
Students will be evaluated in this class on the following metrics.
* Attendance at lectures.
* Scribe notes for at least two lectures.
* Participation in the Piazza forums about assigned material to read outside of class.
* The majority of the grade shall come from the student's final project. Project deliverables shall include a report, presentation to the class, and source code.
* Attendance at lectures.
* Scribe notes for at least two lectures.
* Participation in the Piazza forums about assigned material to read outside of class.
* The majority of the grade shall come from the student's final project. Project deliverables shall include a report, presentation to the class, and source code.
Collaboration policy
You are welcome and encouraged to discuss your work on Piazza with your classmates, read publications or other resources on the web, and share code with others. But, always remember the following three rules:
1. Your submitted report must be your own writing.
2. Your work must cite all of the sources you consult, including personal conversations with people outside of your project! Be verbose: if you are uncertain whether an interaction is citation-worthy, please include it.
3. You will be graded on your novel contributions. So, while it's encouraged to build upon the work of others, make sure that your contribution is a substantial one!
Violations of this policy will result in a grade reduction. They may also be treated as plagiarism and referred to BU’s Academic Conduct Committee.
1. Your submitted report must be your own writing.
2. Your work must cite all of the sources you consult, including personal conversations with people outside of your project! Be verbose: if you are uncertain whether an interaction is citation-worthy, please include it.
3. You will be graded on your novel contributions. So, while it's encouraged to build upon the work of others, make sure that your contribution is a substantial one!
Violations of this policy will result in a grade reduction. They may also be treated as plagiarism and referred to BU’s Academic Conduct Committee.
Prerequisites
Required: basics of number theory, abstract algebra, and probability theory for CS applications (covered in CS 235 and CS 237); experience with building non-trivial multi-module applications in a modern programming language (such as Python, C, Java, and so on).
Not required, but good to have: familiarity with or interest in distributed/cloud systems (covered in CS 350 or CS 451) and basics of cryptography and network security (covered in CS 538 or CS 558).
Not required, but good to have: familiarity with or interest in distributed/cloud systems (covered in CS 350 or CS 451) and basics of cryptography and network security (covered in CS 538 or CS 558).
Name | Office Hours | |
---|---|---|
Mayank Varia | When? Where? | |
Andrei Lapets | When? Where? | |
Azer Bestavros | When? Where? | |
Ran Canetti | When? Where? | |
Malte Schwarzkopf | When? Where? |
Textbooks
Textbooks
Date
Videos
Videos
Date
MPC Frameworks
MPC Frameworks
Date