The goal of this course is to introduce the students to the basic concepts of secure multiparty computation, the foundational MPC protocols and more advanced blockchains protocols.
Teaching and Learning Methods:
Lectures and homework.
Course Policies:
Final project and homework are mandatory
- A Pragmatic Introduction to Secure Multi-Party Computation. David Evans, Vladimir Kolesnikov and Mike Rosulek https://securecomputation.org/
- Secure Multiparty Computation and Secret Sharing. Cramer, Damgaard, Nielsen.
- Bitcoin and Cryptocurrency Technologies http://bitcoinbook.cs.princeton.edu/
- Slides and Scientific Papers
Students must have followed SecCom or equivalent prior to taking this course. Basic knowledge of probability, linear algebra is suggested.
The course will cover:
- The simulation paradigm, security models for MPC
- Garbled Circuits and 2PC, Oblivious Transfer, Commitment schemes
- Secret Sharing Schemes (SSS)
- honest-but-curiuos MPC based on SSS
- Cryptographic compilers
- maliciously secure MPC based on SSS
- Security proprerties of Blockchains as MPC protocols
- proof-of-work based Blockchains
- proof-of-stake based Blockchains
- privacy-preserving Blockchains
Learning outcomes:
The students will be able reason about the security requirements of crypotographic protocols, have a basic knowledge of the most known MPC and Blockchains protocols
Nb hours: 21
Hours for
Lecture: 20, Problem session: 1, Programmed personal work: 4
Grading Policy: Final Project with Oral Presentation (40%), Exam (60%)