awesome-mpc

MPC resource hub

A curated collection of resources and materials for learning and researching multi-party computation.

A curated list of multi party computation resources and links.

GitHub

2k stars
106 watching
257 forks
last commit: almost 2 years ago
Linked from 1 awesome list

cryptomultiparty-computationsecure-computation

awesome-mpc / Theory / Books

A Pragmatic Introduction to Secure Multi-Party ComputationA 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 ComputationCollection of MPC protocols for several real-world tasks such as statistics
Efficient Secure Two-Party ProtocolsComprehensive 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 SharingComprehensive treatment of unconditionally secure techniques for multiparty computation (MPC) and secret sharing

awesome-mpc / Theory / Courses

Cryptographic Computing CourseCourse 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 ComputationSecure 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 ScaleBoston University course that covers mathematical and algorithmic foundations of MPC, with an additional focus on deployment of state-of-the-art MPC technologies

awesome-mpc / Theory / Tutorials

Getting Started with MPCLight compilation of basic resources for getting started in MPC study and research
How To Simulate ItA Tutorial on the Simulation Proof Technique
OSU BibliographyAn Annotated Bibliography of Practical Secure Computation
TinySMPC (tutorial)87over 3 years ago– A tiny, educational, Pythonic library for SMPC. The tutorial notebook runs in your browser
UC SecurityVideo lectures on UC security delivered by Ran Canetti

awesome-mpc / Misc

ePrint papersFrequently updated list of secure computation papers appearing on IACR eprint

awesome-mpc / Software / Frameworks

ABY465over 4 years ago2PC with secret sharing and garbled circuits; secure against semi-honest adversaries. |
ABY3205over 2 years ago3PC with secret sharing for privacy preserving machine learning and database joins (PSI, Union, etc.); secure against semi-honest adversaries. | ,
BatchDualEx14about 9 years ago2PC with garbled circuits; secure against malicious adversaries. | eprint:
Carbyne StackMPC cloud platform that combines state-of-the-art MPC with cloud-native technology like Kubernetes, Istio, and Knative to enable MPC deployments at scale
CrypTen1,554almost 2 years agoMPC with secret sharing; secure against semi-honest adversary; focused on building PyTorch applications. | documentation:
EMP-toolkit2PC 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: , ,
EzPC406over 2 years agoOffers a suite of tools for secure machine learning using semi-honest MPC protocols. It includes a language for secure machine learning, compilers for TensorFlow/Onnx to various MPC protocols, and frameworks for training and inference on deep neural networks. It provides an end-to-end solution for secure machine learning. | documentation: . End-to-End Platform:
Fancy-Garbling34over 6 years ago2PC with arithmetic garbled circuits; secure against semi-honest adversaries. | eprint:
FRESCOMPC supporting TinyTables or SPDZ protocols; secure against semi-honest or malicious adversaries. |
HoneyBadgerMPC135about 5 years agoRobust MPC-based confidentiality layer for blockchains with guaranteed output delivery; secure against up to t < n/3 malicious parties
JIFF262almost 2 years agoJavaScript client and server libraries for building web-based applications that employ general purpose MPC; secure against semi-honest adversaries. | documentation:
libTMCG21over 5 years agoC++ framework with various primitives and tools for implementing multiparty games; secure against semi-honest adversaries. | documentation:
Moose59over 2 years ago3PC with secret sharing; secure against semi-honest adversaries; focused on data processing and machine learning
MOTION86about 3 years agoMixed-Protocol MPC framework supporting full-threshold boolean and arithmetic GMW and BMR; secure against semi-honest adversaries. | eprint:
MP-SPDZ958almost 2 years agoMPC with garbled circuits or secret sharing; secure against malicious or semi-honest adversaries with dishonest or honest majority. | | eprint:
MPyCBGW honest majority multi-party protocol; secure against semi-honest adversaries. |
Obliv-C2PC with garbled circuits; secure against semi-honest adversaries. | eprint:
Obliv-Java4about 5 years agoFaithful reimplementation of Java using Obliv-C. | eprint:
Rosetta566over 4 years ago3PC with secret sharing; secure against semi-honest adversaries; focused on reusing the APIs of TensorFlow and allowing to transfer traditional TensorFlow codes into a privacy-preserving manner with minimal changes
SecretFlow-SPU246almost 2 years agoA domain-specific compiler and runtime suite, that aims to provide a secure computation service with provable security. SPU compiler uses XLA as its front-end Intermediate Representation (IR) and SPU runtime implements various MPC protocols. |
Sharemind2PC or 3PC with secret sharing; secure against semi-honest adversaries. |
swanky283almost 2 years agoA suite of rust libraries for secure multi-party computation (currently includes oblivious transfer, garbled circuits, and private set intersection)
Tandem182almost 2 years ago2PC with garbled circuits written in Rust; secure against malicious adversaries
TF Encrypted3over 4 years ago3PC with secret sharing; secure against semi-honest adversaries; focused on TensorFlow-based applications
TNO-MPCCollection of MPC generic software components, procedures, functionalities, and solutions based on secret sharing and (partially) homomorphic encryption developed in Python and Go. | Blogs and principles:

awesome-mpc / Software / Primitives

aes-prng9about 2 years agoRust pseudo-random number generator based on AES
APRICOT16almost 10 years agoOT Extension secure against malicious adversaries. |
Distributed Vector-OLE28over 5 years agoA two-party generator for Vector-OLE correlations.
LibOTe444almost 2 years agoLibrary with various OT Extensions
OT Extension126almost 6 years agoOT Extension secure against malicious adversaries. |
SCAPI182about 3 years agoVarious secure computation API's carefully documented with a clean code design in mind. |
SplitCommit10over 9 years agoAdditively homomorphic commitment scheme. |
TSS159almost 8 years agoA pure-Rust implementation of various threshold secret sharing schemes

awesome-mpc / Software / Protocols

BaRK-OPRF79almost 4 years agoPrivate Set Intersection. |
Blockchain-Crypto-MPC459about 4 years agoMultiparty ECDSA signing in the cryptocurrency setting, includes an optimized GC library, OT, and more. |
LibPSI177over 3 years agoVarious protocols for performing private set intersection
Linreg32over 7 years agoPrivacy preserving linear regression. |
Geppetri16almost 9 years agoVerifiable 3PC. |
MPECDSAThreshold multiparty ECDSA from ECDSA assumptions. |
ORAM (Obliv-C)Oblivous RAM. |
Prio79almost 6 years agoPrivate aggregation with SNIPs (secret-shared non-interactive proofs). |
PSI177about 4 years agoPrivate Set Intersection. |
ROOM5over 6 years agoRead-Only Oblivious Maps and applications to secure machine learning on sparse data. |

awesome-mpc / Software / Tools

CBMC-GCCreates Boolean circuits from ANSI-C code optimized for secure computation. |
CipherCompute26about 5 years agoCreate generic MPC programs using . Works on top of the engine. Enterprise software that provides UIs for participants handshaking, computations approval, datasources connections, auditing etc
Conclave99about 6 years agoBig Data query compiler that combines cleartext processing with Spark and MPC protocols. |
Garble-Lang38almost 2 years agoProgramming language for MPC with Garbled Circuits. Garble is statically typed, low-level, purely functional and uses a syntax heavily inspired by Rust
HyCCOptimizes circuits for hybrid MPC from ANSI-C. |
MPC-SoK491almost 2 years agoBuild environments for many MPC frameworks using Docker containers. |
Private Benchmarking7about 2 years agoProvides an End to End platform to perform Private Benchmarking using MPC and GPU-based Confidential Computing on LLMs/CNNs/Vision Models using framework. |
Tiny-Garble119almost 3 years agoLogic Synthesis and Sequential Descriptions for Yao's Garbled Circuits. |
UC Compiler39over 5 years agoValiant's Universal Circuit Compiler. |

awesome-mpc / Software / Retired software

Duplo22over 9 years ago2PC with garbled circuits; secure against malicious adversaries
FairPlayMP45over 11 years agoGMW based multi-party protocol secure against semi-honest adversaries |
FrigateC-style compiler for optimizing boolean circuits. |
Myst35about 6 years agoSecure Multiparty Key Generation, Signature and Decryption JavaCard applet and host application |
SCALE-MAMBAGeneral MPC with secret sharing; secure against various adversaries including malicious with a dishonest majority. Software closer to a production system. | documentation:
SDA56over 9 years agoSecure distributed aggregation of high-dimensional vectors |
SPDZGeneral MPC with secret sharing; secure against malicious adversaries | eprint:
SPDZ-Yao10almost 8 years ago2PC with garbled circuits; high-level language similar to SPDZ; secure against semi-honest adversaries
Semi-honest BMR5almost 9 years agoBMR protocol secure against semi-honest adversaries |
Tasty10almost 10 years ago2PC with garbled circuits and homomorphic encryption |
TinyLEGO16over 9 years ago2PC with garbled circuits; secure against malicious adversaries | eprint:
VIFF3+PC with secret sharing; secure against semi-honest adveraries
WysteriaMultparty computation with GMW, written in a functional PL; secure against semi-honest adversaries |

awesome-mpc / Workshops

IIT Bombay MPC schoolCovers basic and advanced topics related to the theory of MPC aimed at CS students and researchers interested in cryptography
Securing ComputationConducted at Simons institute for Theory of Computing
The 1st BIU Winter SchoolIntroductory lectures for basic secure computation constructions
The 5th BIU Winter SchoolTutorials and recent advances in secure computation delivered in video format
TPMPCYearly workshop that started in Aarhus 2012. It has now become one of the biggest workshops for MPC people

Backlinks from these awesome lists:

0