Discover and explore top open-source AI tools and projects—updated daily.
MPC framework for secure multi-party computation protocol benchmarking
Top 35.2% on SourcePulse
MP-SPDZ is a comprehensive framework for benchmarking and executing secure multi-party computation (MPC) protocols. It supports a wide array of security models (semi-honest, covert, malicious) and computation domains (modulo prime, modulo 2^k, binary circuits), catering to researchers and developers exploring the performance trade-offs of different MPC techniques. The framework enables direct comparison of protocols like MASCOT, SPDZ2k, Yao's Garbled Circuits, and various secret sharing schemes.
How It Works
MP-SPDZ employs a virtual machine that executes programs compiled into a specific bytecode. It supports separate bytecode sets for arithmetic and boolean circuits, with a Python-based compiler that optimizes for communication rounds or AES-NI pipelining. The core advantage lies in its unified interface for diverse protocols, allowing users to run the same high-level Python program across different MPC paradigms and security assumptions, facilitating direct performance comparisons.
Quick Start & Requirements
Scripts/tldr.sh
.make setup
on Ubuntu/macOS.docker build --tag mpspdz:mascot-party --build-arg machine=mascot-party.x
then docker run ...
.Highlighted Details
Maintenance & Community
The project originated from the SPDZ protocol and integrates previous work from SPDZ-2
, SPDZ-BMR-ORAM
, and SPDZ-Yao
repositories. Contact is primarily via GitHub issues or mp-spdz@googlegroups.com
.
Licensing & Compatibility
The repository does not explicitly state a license in the README. Compatibility for commercial use or closed-source linking is not specified.
Limitations & Caveats
The README states the software has not undergone a security review and should not be used for critical production code. Some protocols require specific hardware features (e.g., AVX for libOTe). Compilation on macOS may require specific compiler configurations.
20 hours ago
1 day