Repolode
data61

data61/MP-SPDZ

一个用于基准测试和运行多种安全多方计算协议的 C++ 框架,覆盖多种安全模型。

Star
1,195
Fork
371
未关闭 Issue
9
最近提交
9天前

这是什么?

MP-SPDZ 是一个安全多方计算(MPC)框架,多个参与方可以在不互相暴露私有输入的前提下共同计算一个函数。它的核心用途是在多种协议下运行同一份计算,以便比较性能。框架涵盖诚实多数与不诚实多数等设定,安全模型从半诚实(被动)到恶意(主动)敌手都有实现。

计算程序使用类似 Python 的高级语言编写,经编译器生成字节码后,由虚拟机通过网络执行。实现支持模素数和模 2^k 的算术电路、二进制电路以及 Yao 混淆电路。编译器针对基于秘密共享的协议优化通信轮数。用户可以在本机运行,也可以通过 SSH 跨多台机器运行,或使用 Docker 部署。

项目附带教程等示例程序,并提供 Read the Docs 文档。项目说明本身尚未经过安全审计,因此更适合科研和性能基准测试,而非直接用于生产环境。

核心功能

  • 01覆盖恶意、半诚实、诚实多数和不诚实多数等多种安全模型下的 MPC 协议。
  • 02将类 Python 的高级程序编译为虚拟机字节码。
  • 03支持模素数或模 2^k 的算术电路、二进制电路以及 Yao 混淆电路。
  • 04可在本机、通过 SSH 的远程主机或 Docker 中运行计算。
  • 05附带教程和示例 MPC 程序。

适用场景

  • 在同一计算任务上对比不同 MPC 协议的性能。
  • 开展安全计算协议及其权衡的学术研究。
  • 在多个互不串通的参与方之间原型化隐私保护计算。

快速上手

  1. 1

    构建 mascot-party.x 的 Docker 镜像

    docker build --tag mpspdz:mascot-party --build-arg machine=mascot-party.x .
  2. 2

    运行教程程序(两方、恶意安全模型)

    docker run --rm -it mpspdz:mascot-party ./Scripts/compile-run.py mascot tutorial

使用前须知

  • README 说明该软件未经过安全审计,不应直接用于生产环境中的敏感数据。
  • 元数据未能明确识别项目许可证,复用前请先核实仓库的许可证。
  • 从源码构建需要完整的 C++ 工具链和多个依赖库;Windows 用户需依赖 VirtualBox 等变通方案。

标签

常见问题

MP-SPDZ 是什么?
一个用于基准测试和运行多种安全多方计算协议的 C++ 框架,覆盖多种安全模型。 MP-SPDZ 是一个安全多方计算(MPC)框架,多个参与方可以在不互相暴露私有输入的前提下共同计算一个函数。它的核心用途是在多种协议下运行同一份计算,以便比较性能。框架涵盖诚实多数与不诚实多数等设定,安全模型从半诚实(被动)到恶意(主动)敌手都有实现。
MP-SPDZ 可以免费使用吗?用的什么许可证?
MP-SPDZ 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
MP-SPDZ 还在维护吗?
活跃维护中。MP-SPDZ 最近一次提交是在 2026年10月16日。
MP-SPDZ 适合用来做什么?
在同一计算任务上对比不同 MPC 协议的性能。 开展安全计算协议及其权衡的学术研究。 在多个互不串通的参与方之间原型化隐私保护计算。
MP-SPDZ 怎么安装和运行?
构建 mascot-party.x 的 Docker 镜像: docker build --tag mpspdz:mascot-party --build-arg machine=mascot-party.x . 运行教程程序(两方、恶意安全模型): docker run --rm -it mpspdz:mascot-party ./Scripts/compile-run.py mascot tutorial
在哪里获取 MP-SPDZ?
源代码和安装说明在 GitHub 上:https://github.com/data61/MP-SPDZ

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目