Repolode
data61

data61/MP-SPDZ

다양한 보안 모델에서 여러 안전한 다자간 연산 프로토콜을 벤치마크하고 실행하는 C++ 프레임워크입니다.

스타
1,195
포크
371
열린 이슈
9
마지막 커밋
9일 전

어떤 프로젝트인가요?

MP-SPDZ는 안전한 다자간 연산(MPC) 프레임워크입니다. 여러 참여자가 각자의 비공개 입력을 서로 공개하지 않은 채 그 입력을 바탕으로 함수를 공동 계산할 수 있습니다. 주요 목적은 같은 계산을 여러 프로토콜로 실행해 성능을 비교하는 것입니다. 프로토콜은 부정직 다수 및 정직 다수 환경을 아우르며, 반정직(수동적) 모델부터 악의적(능동적) 손상 모델까지 다양한 보안 모델을 지원합니다.

프로그램은 Python과 유사한 고수준 언어로 작성해 바이트코드로 컴파일하고, 가상 머신이 네트워크를 통해 실행합니다. 구현은 소수 또는 2의 거듭제곱을 법으로 하는 산술 회로, 이진 회로, Yao의 가블드 회로를 지원합니다. 컴파일러는 비밀 공유 프로토콜에서 통신 라운드를 최소화하는 데 중점을 둡니다. 계산은 로컬에서, 여러 머신에 걸쳐 SSH로, 또는 Docker에서 실행할 수 있습니다.

프로젝트에는 튜토리얼을 포함한 예제 프로그램과 Read the Docs의 문서가 제공됩니다. README에는 보안 검토를 거치지 않았다고 명시되어 있으므로, 프로덕션 사용보다는 연구와 벤치마킹을 위한 프로젝트입니다.

핵심 기능

  • 01악의적·반정직 및 정직 다수·부정직 다수 보안 모델 전반에서 다양한 MPC 프로토콜을 지원합니다.
  • 02Python과 유사한 고수준 프로그램을 가상 머신용 바이트코드로 컴파일합니다.
  • 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

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트