Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-mpc
https://github.com/Eleven-Z/awesome-mpc
- A Pragmatic Introduction to Secure Multi-Party Computation - A broad introduction to the field of secure multi-party computation, covering both the fundamental constructions and many of the recent improvements. 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.
- 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.
- Getting Started with MPC - Light compilation of basic resources for getting started in MPC study and research.
- How To Simulate It - A Tutorial on the Simulation Proof Technique.
- OSU Bibliography - An Annotated Bibliography of Practical Secure Computation.
- UC Security - Video lectures on UC security delivered by Ran Canetti.
- ePrint papers - Frequently updated list of secure computation papers appearing on IACR eprint.
- ABY - 2PC with secret sharing and garbled circuits; secure against semi-honest adversaries. | [NDSS'15](http://encrypto.de/papers/DSZ15.pdf).
- ABY3 - 3PC with secret sharing for privacy preserving machine learning and database joins (PSI, Union, etc.); secure against semi-honest adversaries. | [CCS'18](https://eprint.iacr.org/2018/403.pdf), [2019/518](https://eprint.iacr.org/2019/518.pdf).
- BatchDualEx - 2PC with garbled circuits; secure against malicious adversaries. | eprint: [2016/632](https://eprint.iacr.org/2016/632).
- CrypTen - MPC with secret sharing; secure against semi-honest adversary; focused on building PyTorch applications. | documentation: [link](https://crypten.ai/)
- 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](https://eprint.iacr.org/2017/189), [2016/762](https://eprint.iacr.org/2016/762), [2017/030](https://eprint.iacr.org/2017/030).
- Fancy-Garbling - 2PC with arithmetic garbled circuits; secure against semi-honest adversaries. | eprint: [2016/969](https://eprint.iacr.org/2016/969).
- FRESCO - MPC supporting TinyTables or SPDZ protocols; secure against semi-honest or malicious adversaries. | [Practice'15](http://practice-project.eu/downloads/publications/D22.1-State-of-the-art-analysis-PU-V1.1.pdf).
- 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](https://multiparty.org/jiff/).
- MP-SPDZ - MPC with garbled circuits or secret sharing; secure against malicious or semi-honest adversaries with dishonest or honest majority. | [documentation](https://mp-spdz.readthedocs.io/en/latest/) | eprint: [2020/512](https://eprint.iacr.org/2020/521)
- MPyC - BGW honest majority multi-party protocol; secure against semi-honest adversaries. | [TPMPC'18](https://www.win.tue.nl/~berry/mpyc/TPMPC2018.pdf).
- Obliv-C - 2PC with garbled circuits; secure against semi-honest adversaries. | eprint: [2015/1153](http://eprint.iacr.org/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](https://homes.esat.kuleuven.be/~nsmart/SCALE/Documentation.pdf).
- Sharemind - 2PC or 3PC with secret sharing; secure against semi-honest adversaries. | [Cyber'13](https://cyber.ee/research/theses/roman_jagomagis_msc.pdf).
- 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.
- APRICOT - OT Extension secure against malicious adversaries. | [2015/546](http://eprint.iacr.org/2015/546).
- Distributed Vector-OLE - A two-party generator for Vector-OLE correlations. [CCS'19](https://eprint.iacr.org/2019/1084.pdf).
- LibOTe - Library with various OT Extensions.
- OT Extension - OT Extension secure against malicious adversaries. | [2015/061](https://eprint.iacr.org/2015/061).
- SCAPI - Various secure computation API's carefully documented with a clean code design in mind. | [2012/629](http://eprint.iacr.org/2012/629).
- SplitCommit - Additively homomorphic commitment scheme. | [2015/694](http://eprint.iacr.org/2015/694).
- TSS - A pure-Rust implementation of various threshold secret sharing schemes.
- BaRK-OPRF - Private Set Intersection. | [2016/799](https://eprint.iacr.org/2016/799).
- Blockchain-Crypto-MPC - Multiparty ECDSA signing in the cryptocurrency setting, includes an optimized GC library, OT, and more. | [CCS'18](https://eprint.iacr.org/2018/987).
- LibPSI - Various protocols for performing private set intersection.
- Linreg - Privacy preserving linear regression. | [2016/892](https://eprint.iacr.org/2016/892).
- Geppetri - Verifiable 3PC. | [2017/013](https://eprint.iacr.org/2017/013).
- MPECDSA - Threshold multiparty ECDSA from ECDSA assumptions. | [S&P'19](https://eprint.iacr.org/2019/523.pdf).
- ORAM (Obliv-C) - Oblivous RAM. | [S&P'16](http://oblivc.org/docs/sqoram.pdf).
- PSI - Private Set Intersection. | [2014/447](https://eprint.iacr.org/2014/447).
- ROOM - Read-Only Oblivious Maps and applications to secure machine learning on sparse data. | [CCS'19](https://eprint.iacr.org/2019/281.pdf).
- CBMC-GC - Creates Boolean circuits from ANSI-C code optimized for secure computation. | [ShallowCC](http://www.seceng.informatik.tu-darmstadt.de/assets/buescher/ShallowCC16.pdf).
- Conclave - Big Data query compiler that combines cleartext processing with Spark and MPC protocols. | [EuroSys19](https://arxiv.org/abs/1902.06288).
- HyCC - Optimizes circuits for hybrid MPC from ANSI-C. | [CCS'18](https://thomaschneider.de/papers/BDKKS18.pdf).
- MPC-SoK - Build environments for many MPC frameworks using Docker containers. | [S&P19](https://marsella.github.io/static/mpcsok.pdf).
- Tiny-Garble - Logic Synthesis and Sequential Descriptions for Yao's Garbled Circuits. | [S&P'15](http://aceslab.org/sites/default/files/TinyGarble.pdf).
- UC Compiler - Valiant's Universal Circuit Compiler. | [2016/093](https://eprint.iacr.org/2016/093).
- Duplo - 2PC with garbled circuits; secure against malicious adversaries.
- FairPlayMP - GMW based multi-party protocol secure against semi-honest adversaries | [CCS'08](http://www.cs.huji.ac.il/project/Fairplay/FairplayMP/FairplayMP.pdf).
- Frigate - C-style compiler for optimizing boolean circuits. | [Euro S&P'16](https://www.cise.ufl.edu/~traynor/papers/mood-eurosp16.pdf).
- Myst - Secure Multiparty Key Generation, Signature and Decryption JavaCard applet and host application | [CCS'17](https://acmccs.github.io/papers/p1583-mavroudisA.pdf).
- SDA - Secure distributed aggregation of high-dimensional vectors | [2017/643](https://eprint.iacr.org/2017/643).
- SPDZ - General MPC with secret sharing; secure against malicious adversaries | eprint: [2017/1230](https://eprint.iacr.org/2017/1230).
- SPDZ-Yao - 2PC with garbled circuits; high-level language similar to SPDZ; secure against semi-honest adversaries.
- Semi-honest BMR - BMR protocol secure against semi-honest adversaries | [2016/1066](https://eprint.iacr.org/2016/1066).
- Tasty - 2PC with garbled circuits and homomorphic encryption | [2010/365](https://eprint.iacr.org/2010/365).
- TinyLEGO - 2PC with garbled circuits; secure against malicious adversaries | eprint: [2015/309](http://eprint.iacr.org/2015/309).
- VIFF - 3+PC with secret sharing; secure against semi-honest adveraries.
- Wysteria - Multparty computation with GMW, written in a functional PL; secure against semi-honest adversaries | [S&P'14](http://www.cs.umd.edu/~aseem/wysteria.pdf).
- IIT Bombay MPC school - Covers basic and advanced topics related to the theory of MPC aimed at CS students and researchers interested in cryptography.
- Securing Computation - Conducted at Simons institute for Theory of Computing.
- The 1st BIU Winter School - Introductory lectures for basic secure computation constructions.
- The 5th BIU Winter School - Tutorials and recent advances in secure computation delivered in video format.
- TPMPC - Yearly workshop that started in Aarhus 2012. It has now become one of the biggest workshops for MPC people.
- ![CC0
Keywords
secure-computation
6
garbled-circuits
4
mpc
4
secret-sharing
4
encrypto
3
cryptography
3
multiparty-computation
3
homomorphic-encryption
2
privacy-enhancing-technologies
2
oblivious-transfer
2
ot-protocols
1
ot-extension
1
oblivious-transfer-extension
1
delta-ot
1
threshold-cryptography
1
smpc
1
secure-multiparty-computation
1
secure-multi-party-computation
1
multi-party-computation
1
confidential-computing
1
circuit
1
hybrid
1
statistics
1
privacy
1
machine-learning
1
signature
1
schnorr
1
javacard
1
elgamal
1
decryption
1
verilog
1
security-protocol
1
circuit-description
1
smc
1
multiparty
1
cybersecurity
1
oprf
1
2psi
1
rust
1
ot
1