Awesome Lists

awesome-mpc

by rdragos

awesome listpushed about 2 years ago

A curated list of multi party computation resources and links.

AI summary

MPC resource hub

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

stars
1.8K
forks
257
watching
106
awesome list
1
entries
84
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/rdragos/awesome-mpc/links.svg)](https://awesome.facts.dev/awesome/rdragos/awesome-mpc)
HTML
<a href="https://awesome.facts.dev/awesome/rdragos/awesome-mpc"><img src="https://awesome.facts.dev/shield/rdragos/awesome-mpc/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/rdragos/awesome-mpc/links.svg

What's in the list

84 links in 10 sections, with live GitHub stats.activeno commit in 2y

Theory / Books

Theory / Courses

  • 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

Theory / Tutorials

Misc

  • ePrint papers

    Frequently updated list of secure computation papers appearing on IACR eprint

Software / Frameworks

  • ABY

    2PC with secret sharing and garbled circuits; secure against semi-honest adversaries. |

  • ABY3

    3PC with secret sharing for privacy preserving machine learning and database joins (PSI, Union, etc.); secure against semi-honest adversaries. | ,

  • BatchDualEx

    2PC with garbled circuits; secure against malicious adversaries. | eprint:

  • Carbyne Stack

    MPC cloud platform that combines state-of-the-art MPC with cloud-native technology like Kubernetes, Istio, and Knative to enable MPC deployments at scale

  • CrypTen

    MPC with secret sharing; secure against semi-honest adversary; focused on building PyTorch applications. | documentation:

  • 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: , ,

  • EzPC

    Offers 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-Garbling

    2PC with arithmetic garbled circuits; secure against semi-honest adversaries. | eprint:

  • FRESCO

    MPC supporting TinyTables or SPDZ protocols; secure against semi-honest or malicious adversaries. |

  • 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:

  • libTMCG

    C++ framework with various primitives and tools for implementing multiparty games; secure against semi-honest adversaries. | documentation:

  • Moose

    3PC with secret sharing; secure against semi-honest adversaries; focused on data processing and machine learning

  • MOTION

    Mixed-Protocol MPC framework supporting full-threshold boolean and arithmetic GMW and BMR; secure against semi-honest adversaries. | eprint:

  • MP-SPDZ

    MPC with garbled circuits or secret sharing; secure against malicious or semi-honest adversaries with dishonest or honest majority. | | eprint:

  • MPyC

    BGW honest majority multi-party protocol; secure against semi-honest adversaries. |

  • Obliv-C

    2PC with garbled circuits; secure against semi-honest adversaries. | eprint:

  • Obliv-Java

    Faithful reimplementation of Java using Obliv-C. | eprint:

  • Rosetta

    3PC 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-SPU

    A 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. |

  • Sharemind

    2PC or 3PC with secret sharing; secure against semi-honest adversaries. |

  • swanky

    A suite of rust libraries for secure multi-party computation (currently includes oblivious transfer, garbled circuits, and private set intersection)

  • Tandem

    2PC with garbled circuits written in Rust; secure against malicious adversaries

  • TF Encrypted

    3PC with secret sharing; secure against semi-honest adversaries; focused on TensorFlow-based applications

  • TNO-MPC

    Collection 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:

Software / Primitives

  • aes-prng

    Rust pseudo-random number generator based on AES

  • APRICOT

    OT Extension secure against malicious adversaries. |

  • Distributed Vector-OLE

    A two-party generator for Vector-OLE correlations.

  • LibOTe

    Library with various OT Extensions

  • OT Extension

    OT Extension secure against malicious adversaries. |

  • SCAPI

    Various secure computation API's carefully documented with a clean code design in mind. |

  • SplitCommit

    Additively homomorphic commitment scheme. |

  • TSS

    A pure-Rust implementation of various threshold secret sharing schemes

Software / Protocols

  • BaRK-OPRF

    Private Set Intersection. |

  • Blockchain-Crypto-MPC

    Multiparty ECDSA signing in the cryptocurrency setting, includes an optimized GC library, OT, and more. |

  • LibPSI

    Various protocols for performing private set intersection

  • Linreg

    Privacy preserving linear regression. |

  • Geppetri

    Verifiable 3PC. |

  • MPECDSA

    Threshold multiparty ECDSA from ECDSA assumptions. |

  • ORAM (Obliv-C)

    Oblivous RAM. |

  • Prio

    Private aggregation with SNIPs (secret-shared non-interactive proofs). |

  • PSI

    Private Set Intersection. |

  • ROOM

    Read-Only Oblivious Maps and applications to secure machine learning on sparse data. |

Software / Tools

  • CBMC-GC

    Creates Boolean circuits from ANSI-C code optimized for secure computation. |

  • CipherCompute

    Create generic MPC programs using . Works on top of the engine. Enterprise software that provides UIs for participants handshaking, computations approval, datasources connections, auditing etc

  • Conclave

    Big Data query compiler that combines cleartext processing with Spark and MPC protocols. |

  • Garble-Lang

    Programming language for MPC with Garbled Circuits. Garble is statically typed, low-level, purely functional and uses a syntax heavily inspired by Rust

  • HyCC

    Optimizes circuits for hybrid MPC from ANSI-C. |

  • MPC-SoK

    Build environments for many MPC frameworks using Docker containers. |

  • Private Benchmarking

    Provides an End to End platform to perform Private Benchmarking using MPC and GPU-based Confidential Computing on LLMs/CNNs/Vision Models using framework. |

  • Tiny-Garble

    Logic Synthesis and Sequential Descriptions for Yao's Garbled Circuits. |

  • UC Compiler

    Valiant's Universal Circuit Compiler. |

Software / Retired software

  • Duplo

    2PC with garbled circuits; secure against malicious adversaries

  • FairPlayMP

    GMW based multi-party protocol secure against semi-honest adversaries |

  • Frigate

    C-style compiler for optimizing boolean circuits. |

  • Myst

    Secure Multiparty Key Generation, Signature and Decryption JavaCard applet and host application |

  • SCALE-MAMBA

    General MPC with secret sharing; secure against various adversaries including malicious with a dishonest majority. Software closer to a production system. | documentation:

  • SDA

    Secure distributed aggregation of high-dimensional vectors |

  • SPDZ

    General MPC with secret sharing; secure against malicious adversaries | eprint:

  • 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 |

  • Tasty

    2PC with garbled circuits and homomorphic encryption |

  • TinyLEGO

    2PC with garbled circuits; secure against malicious adversaries | eprint:

  • 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 |

Workshops

  • 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

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.