MPC framework for secure multi-party computation protocol benchmarking
Top 36.4% 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.
6 days ago
1 day