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 3-5pm in MCS 180
Participation and grading
Students will be evaluated in this class on the following metrics.
- Attendance at lectures
- Participation in the discussion about assigned material to read/watch outside of class. Each student shall lead the in-class discussion at least once.
- 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
- Participation in the discussion about assigned material to read/watch outside of class. Each student shall lead the in-class discussion at least once.
- 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). Also, 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 net security (covered in CS-538 or CS-558).
Undergraduate students must obtain permission of the instructors.
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 net security (covered in CS-538 or CS-558).
Undergraduate students must obtain permission of the instructors.
Name | Office Hours | |
---|---|---|
Andrei Lapets | When? Where? | |
Azer Bestavros | When? Where? | |
Ran Canetti | When? Where? | |
Nikolaj Volgushev | When? Where? | |
Mayank Varia | When? Where? | |
Emily Shen | When? Where? |
Textbooks
Textbooks
Videos
Videos
MPC Frameworks
MPC Frameworks