Repolode
data61

data61/MP-SPDZ

Фреймворк на C++ для запуска и сравнения производительности множества протоколов безопасных многосторонних вычислений с разными моделями безопасности.

Звёзды
1,195
Форки
371
Открытые issues
9
Последний коммит
9 дней назад

Что это?

MP-SPDZ — это фреймворк для безопасных многосторонних вычислений (MPC), в которых несколько участников совместно вычисляют функцию на основе своих закрытых входных данных, не раскрывая их друг другу. Его основная задача — запускать одни и те же вычисления с использованием разных протоколов, чтобы можно было сравнить их производительность. Протоколы охватывают сценарии с большинством недобросовестных и с большинством честных участников, а модели безопасности — от полу-честного (пассивного) до злонамеренного (активного) поведения скомпрометированных участников.

Программы пишут на языке высокого уровня, похожем на Python, а затем компилируют в байткод, который виртуальная машина выполняет по сети. Реализация поддерживает арифметические схемы по модулю простого числа или степени двойки, двоичные схемы и схемы с запутанными схемами Яо. Компилятор оптимизирует протоколы с разделением секрета, сокращая число раундов обмена данными. Вычисления можно запускать локально, на нескольких машинах через SSH или в Docker.

В проект входят примеры программ, в том числе обучающее руководство, а документация опубликована на Read the Docs. В README отмечено, что проект не проходил проверку безопасности, поэтому он предназначен для исследований и сравнения производительности, а не для использования в production.

Ключевые возможности

  • 01Поддерживает множество протоколов MPC с моделями безопасности для злонамеренных и полу-честных участников, а также для сценариев с большинством честных или недобросовестных участников.
  • 02Компилирует программы на языке высокого уровня, похожем на Python, в байткод для виртуальной машины.
  • 03Поддерживает арифметические схемы по модулю простого числа или 2^k, двоичные схемы и запутанные схемы Яо.
  • 04Запускает вычисления локально, на удалённых машинах через SSH или в Docker.
  • 05Содержит обучающее руководство и примеры программ MPC.

Сценарии использования

  • Сравнение производительности разных протоколов MPC на одних и тех же вычислениях.
  • Академические исследования протоколов безопасных вычислений и связанных с ними компромиссов.
  • Создание прототипов вычислений с сохранением конфиденциальности между несколькими не вступающими в сговор участниками.

Быстрый старт

  1. 1

    Собрать Docker-образ для бинарного файла mascot-party.x

    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 указано, что ПО не проходило проверку безопасности, поэтому его не следует использовать без изменений с секретами в production.
  • По метаданным нельзя однозначно определить лицензию проекта, поэтому перед повторным использованием проверьте лицензию в репозитории.
  • Для сборки из исходного кода нужны рабочая цепочка инструментов C++ и несколько библиотек; пользователям Windows предлагается обходной вариант с VirtualBox.

Темы

Частые вопросы

Что такое MP-SPDZ?
Фреймворк на C++ для запуска и сравнения производительности множества протоколов безопасных многосторонних вычислений с разными моделями безопасности. MP-SPDZ — это фреймворк для безопасных многосторонних вычислений (MPC), в которых несколько участников совместно вычисляют функцию на основе своих закрытых входных данных, не раскрывая их друг другу. Его основная задача — запускать одни и те же вычисления с использованием разных протоколов, чтобы можно было сравнить их производительность. Протоколы охватывают сценарии с большинством недобросовестных и с большинством честных участников, а модели безопасности — от полу-честного (пассивного) до злонамеренного (активного) поведения скомпрометированных участников.
MP-SPDZ можно использовать бесплатно? Какая у него лицензия?
MP-SPDZ распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
MP-SPDZ всё ещё поддерживается?
Активно поддерживается. Последний коммит в MP-SPDZ — 16 окт. 2026 г..
Для чего можно использовать MP-SPDZ?
Сравнение производительности разных протоколов MPC на одних и тех же вычислениях. Академические исследования протоколов безопасных вычислений и связанных с ними компромиссов. Создание прототипов вычислений с сохранением конфиденциальности между несколькими не вступающими в сговор участниками.
Как установить MP-SPDZ?
Собрать Docker-образ для бинарного файла mascot-party.x: 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Веб-приложение с открытым исходным кодом для обмена паролями, заметками, файлами и URL через одноразовые ссылки с ограничением по времени или числу просмотров и журналом аудита.

3,2 тыс.474RubyApache-2.0Обновлён 15 часов назад

Браузерное веб-приложение для шифрования, кодирования, сжатия, хеширования и анализа данных — его часто называют швейцарским армейским ножом для кибербезопасности.

36,2 тыс.+9 за неделю4,2 тыс.JavaScriptApache-2.0Обновлён позавчера

CLI и библиотека на Rust для обнаружения и декодирования закодированного или зашифрованного текста без ключа и названия шифра, в том числе цепочек из нескольких слоёв.

21,7 тыс.+1 за неделю1,4 тыс.RustMITОбновлён 12 дней назад