Подборка ресурсов Zama по полностью гомоморфному шифрованию: конфиденциальный блокчейн-протокол, библиотека TFHE-rs, научные статьи и руководства.
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
Собрать Docker-образ для бинарного файла mascot-party.x
docker build --tag mpspdz:mascot-party --build-arg machine=mascot-party.x . - 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 через одноразовые ссылки с ограничением по времени или числу просмотров и журналом аудита.
Браузерное веб-приложение для шифрования, кодирования, сжатия, хеширования и анализа данных — его часто называют швейцарским армейским ножом для кибербезопасности.
OpenSSL — универсальный набор инструментов для TLS, DTLS и QUIC с полноценной криптографической библиотекой и консольной утилитой openssl.
CLI и библиотека на Rust для обнаружения и декодирования закодированного или зашифрованного текста без ключа и названия шифра, в том числе цепочек из нескольких слоёв.
Мессенджер со сквозным шифрованием и сетью без пользовательских идентификаторов, с клиентами для iOS, Android, компьютеров и терминала.