SMPC is roughly divided into the following genres:
- Yao's GC (garbled circuit), a series of confusing circuits created by Academician Yao Qizhi
- SPDZ (arithmetic circuit), a series of encryption based on secret sharing and limited homomorphism created by Ivan Damgard
- GMW (boolean circuit), the pioneering paper of boolean sharings
- ABY (including share conversion of arithmetic, Boolean and confusion circuits), including ABY and ABY3 5.
- MHE, based on FHE series
Garbled Circuit
- Protocols for Secure Computations (Extended Abstract)
- Improved Garbled Circuit: Free XOR Gates and Applications
- FairplayMP – A System for Secure Multi-Party Computation
- Two Halves Make a Whole Reducing Data Transfer in Garbled Circuits using Half Gates
- Fast and Secure Three-party Computation: The Garbled Circuit Approach
Arithmetic Circuit
- Multiparty Computation from Somewhat Homomorphic Encryption
- Practical Covertly Secure MPC for Dishonest Majority Or: Breaking the SPDZ Limits
- SPDZ2k: Efficient MPC mod 2k for Dishonest Majority
Boolean Circuit
Mix
- ABY – A Framework for Effificient Mixed-Protocol Secure Two-Party Computation
- ABY3 : A Mixed Protocol Framework for Machine Learning
- BLAZE: Blazing Fast Privacy-Preserving Machine Learning
- [Trident: Efficient 4PC Framework for Privacy Preserving Machine Learning)
- MOTION – A Framework for Mixed-Protocol Multi-Party Computation
MFHE
- Threshold Cryptosystems From Threshold Fully Homomorphic Encryption
- Multiparty Homomorphic Encryption: From Theory to Practice
- Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference
Coming Soon...
Coming Soon...
- BaRK-OPRF - Private Set Intersection. | 2016/799.
- LibPSI - Various protocols for performing private set intersection.
- PSI - Private Set Intersection. | 2014/447.
Coming Soon...
Coming Soon...
- Blockchain-Crypto-MPC - Multiparty ECDSA signing in the cryptocurrency setting, includes an optimized GC library, OT, and more. | CCS'18.
- MPECDSA - Threshold multiparty ECDSA from ECDSA assumptions. | S&P'19.
- ORAM (Obliv-C) - Oblivous RAM. | S&P'16.
Coming Soon...
Coming Soon...
Coming Soon...
Coming Soon
- Yehuda Lindell. Secure Multiparty Computation (MPC), Communications of the ACM, January 2021. This is a general and friendly introduction to secure multiparty computation - what it is, how it works, and what it is used for.
- Yehuda Lindell. How to Simulate It - A Tutorial on the Simulation Proof Technique, 2016. The simulation paradigm is fundamental to secure computation. However, many have difficulties in understanding how to write simulation proofs. This tutorial explains this proof technique in great detail.
- Manoj Prabhakaran and Amit Sahai (Eds.). Secure Multi-Party Computation, IOS Press, 2013. This is a compilation of surveys on the topic of multiparty computation. It focuses on theoretical aspects and is highly useful for those wishing to study the theory of MPC.
-
A Pragmatic Introduction to Secure Multi-Party Computation -The book emphazises the intuition and ideas behind the protocols rather than rigorous proofs.
-
Applications of Secure Multiparty Computation - Collection of MPC protocols for several real-world tasks such as statistics.
-
Efficient Secure Two-Party Protocols - Comprehensive study of efficient protocols and techniques for secure two-party computation – both general constructions that can be used to securely compute any functionality, and protocols for specific problems of interest.
-
Secure Multiparty Computation and Secret Sharing - Comprehensive treatment of unconditionally secure techniques for multiparty computation (MPC) and secret sharing.
-
Foundations of Cryptography Vol. 2 - Cambridge University Press, 2004. Chapter 7 of the book introduces two-party and multiparty computation, contains a thorough and comprehensive definitional treatment, provides a full and detailed proof of the GMW construction, and surveys advanced topics. The book's formal and rigorous treatment makes it a must-read for the MPC researcher.
-
Engineering Secure Two-Party Computation Protocols - Springer, 2012. This book focuses specifically tools for optimizing secure computation in practice, including circuit optimizations, frameworks for constructing protocols, and more. The book provides a very good overview of different techniques and tools that MPC researchers should be familiar with.
Coming Soon...
Coming Soon...
Coming Soon...
- Cryptographic Computing Course - Course on MPC, Homomorphic Encryption and related topics given by Claudio Orlandi at Aarhus University.
- FHE-MPC Advanced Grad Course - 'Informal grad course' in FHE and MPC.
- Secure Computation - Secure Computation course offered by Indian Institute of Science covering secret sharing schemes, oblivious transfer to impossiblity results and zero-knowledge proofs.
- Secure Multi-Party Computation at Scale - Boston University course that covers mathematical and algorithmic foundations of MPC, with an additional focus on deployment of state-of-the-art MPC technologies.
- The 1st BIU Winter School on Secure Computation and Efficiency, 2011. This series of lectures covers the very basics of secure computation and as such is a useful tool.
- The 5th BIU Winter School on Advances in Practical Multiparty Computation, 2015. This series of lectures begins with tutorials and includes many more advanced techniques.
- The Universal Composability Framework, 2016. This series of tutorials introduces the universal composability framework in detail.
- https://people.eecs.berkeley.edu/~sanjamg/classes/cs276-fall14/
- ABY - 2PC with secret sharing and garbled circuits; secure against semi-honest adversaries. | NDSS'15.
- ABY3 - 3PC with secret sharing for privacy preserving machine learning and database joins (PSI, Union, etc.); secure against semi-honest adversaries. | CCS'18, 2019/518.
- BatchDualEx - 2PC with garbled circuits; secure against malicious adversaries. | eprint: 2016/632.
- CrypTen - MPC with secret sharing; secure against semi-honest adversary; focused on building PyTorch applications. | documentation: link
- EMP-toolkit - 2PC and MPC with garbled circuits; secure against semi-honest adversaries (emp-sh2pc). There are also ones resistant against malicious parties (emp-[ag2pc|m2pc|agmpc]) | eprint: 2017/189, 2016/762, 2017/030.
- Fancy-Garbling - 2PC with arithmetic garbled circuits; secure against semi-honest adversaries. | eprint: 2016/969.
- FRESCO - MPC supporting TinyTables or SPDZ protocols; secure against semi-honest or malicious adversaries. | Practice'15.
- HoneyBadgerMPC - Robust MPC-based confidentiality layer for blockchains with guaranteed output delivery; secure against up to t < n/3 malicious parties.
- JIFF - JavaScript client and server libraries for building web-based applications that employ general purpose MPC; secure against semi-honest adversaries. | documentation: link.
- MP-SPDZ - MPC with garbled circuits or secret sharing; secure against malicious or semi-honest adversaries with dishonest or honest majority. | documentation | eprint: 2020/512
- MPyC - BGW honest majority multi-party protocol; secure against semi-honest adversaries. | TPMPC'18.
- Obliv-C - 2PC with garbled circuits; secure against semi-honest adversaries. | eprint: 2015/1153.
- SCALE-MAMBA - General MPC with secret sharing; secure against various adversaries including malicious with a dishonest majority. Software closer to a production system. | documentation: link.
- Sharemind - 2PC or 3PC with secret sharing; secure against semi-honest adversaries. | Cyber'13.
- swanky - A suite of rust libraries for secure multi-party computation (currently includes oblivious transfer, garbled circuits, and private set intersection).
- Tf-encrypted - 3PC with secret sharing; secure against semi-honest adversaries; focused on TensorFlow-based applications.
- MOTION-MOTION - A Framework for Mixed-Protocol Multi-Party Computation.
- SecMML - SecMML, a branch of FudanMPL (Multi-Party Computation + Machine Learning) , is a scalable and efficient MPC framework for training machine learning models based on BGW protocol.
- OpenPEGASUS - Pegasus: Bridging Polynomial and Non-polynomial Evaluations in Homomorphic Encryption.
- Drynx - Drynx: Decentralized, Secure, Verifiable System for Statistical Queries and Machine Learning on Distributed Datasets.
- [MK-TFHE](Multi-Key Homomophic Encryption from TFHE) - MK-TFHE is a proof-of-concept implementation of a multi-key version of TFHE. The code is written on top of the TFHE library (https://tfhe.github.io/tfhe/).
Single Instruction Multiple Data (SIMD) not only drastically reduces the memory footprint but also the required communication, since sending 1-bit values has significant overhead. This optimization results in a much better amortized efficiency and throughput, which we detail in §8. SIMD instructions are especially relevant for the outsourcing setting, where the outsourcing servers often simultaneously process data of many users.
SIMD instructions have been used for
- Sharemind: A Framework for Fast Privacy-Preserving Computations. ESORICS’08.
- ABY – A Framework for Effificient Mixed-Protocol Secure Two-Party Computation
- GMW vs. Yao? Efficient Secure Two-Party Computation with Low Depth Circuits
- MOTION – A Framework for Mixed-Protocol Multi-Party Computation
Circuit evaluation in MPC happens in one of two modes: sequential or interleaved (‘pipelined’). The sequential mode runs the input-dependent online phase only after the input-independent setup has completed. This allows precise measurements of the setup and online phase communication and computation requirements, or full precomputation ahead of the online phase.
Frameworks like ABY support only this evaluation mode. The interleaved mode, on the other hand, runs both phases in parallel and facilitates possibly more efficient evaluation of the circuit in terms of load balancing, since the gates that otherwise would have been waiting for the setup phase to finish can be evaluated faster, thus improving the protocol latency.
This method is supported in the following frameworks:
MOTION is the first MPC framework, whose communication is completely serialized. The most important benefit of the communication serialization is that our framework neither needs to own a separate TCP connection, nor does it rely on TCP (or similar protocols) as transport protocol, as it was the case for all previous MPC frameworks.
MOTION – A Framework for Mixed-Protocol Multi-Party Computation