跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

The list format was inspired from awesome list and after a fruitful lunch discussion at TPMPC. It is designed to have a central place where everyone can find open-source software designed for MPC as well as introductory material to this topic.

Moreover, the list is given alphabetically and divided into categories of libraries which are actively maintained or recently developed.

Please feel free to do a pull request with any MPC software or resource you know and it is not on the list. The current classification might not be most suitable one and I am open to any suggestions.

Contents

Theory

Books

Courses

  • Cryptographic Computing Course - Course on MPC, Homomorphic Encryption and related topics given by Claudio Orlandi at Aarhus University.
  • FHE-MPC Advanced Grad Course - 'Informal grad course' in FHE and MPC.
  • Secure Computation - Secure Computation course offered by Indian Institute of Science covering secret sharing schemes, oblivious transfer to impossiblity results and zero-knowledge proofs.
  • Secure Multi-Party Computation at Scale - Boston University course that covers mathematical and algorithmic foundations of MPC, with an additional focus on deployment of state-of-the-art MPC technologies.

Tutorials

  • Getting Started with MPC - Light compilation of basic resources for getting started in MPC study and research.
  • How To Simulate It - A Tutorial on the Simulation Proof Technique.
  • OSU Bibliography - An Annotated Bibliography of Practical Secure Computation.
  • TinySMPC (tutorial) – A tiny, educational, Pythonic library for SMPC. The tutorial notebook runs in your browser.
  • UC Security - Video lectures on UC security delivered by Ran Canetti.

Misc

  • ePrint papers - Frequently updated list of secure computation papers appearing on IACR eprint.

Software

Here I tried to reference the most recent article found on specific software since enumerating all changes including the original paper is too cumbersome.

Frameworks

  • ABY - 2PC with secret sharing and garbled circuits; secure against semi-honest adversaries. | NDSS'15.
  • ABY3 - 3PC with secret sharing for privacy preserving machine learning and database joins (PSI, Union, etc.); secure against semi-honest adversaries. | CCS'182019/518.
  • BatchDualEx - 2PC with garbled circuits; secure against malicious adversaries. | eprint: 2016/632.
  • Carbyne Stack - MPC cloud platform that combines state-of-the-art MPC with cloud-native technology like Kubernetes, Istio, and Knative to enable MPC deployments at scale.
  • CrypTen - MPC with secret sharing; secure against semi-honest adversary; focused on building PyTorch applications. | documentation: link
  • EMP-toolkit - 2PC and MPC with garbled circuits; secure against semi-honest adversaries (emp-sh2pc). There are also ones resistant against malicious parties (emp-[ag2pc|m2pc|agmpc]) | eprint: 2017/1892016/7622017/030.
  • Fancy-Garbling - 2PC with arithmetic garbled circuits; secure against semi-honest adversaries. | eprint: 2016/969.
  • FRESCO - MPC supporting TinyTables or SPDZ protocols; secure against semi-honest or malicious adversaries. | Practice'15.
  • HoneyBadgerMPC - Robust MPC-based confidentiality layer for blockchains with guaranteed output delivery; secure against up to t < n/3 malicious parties.
  • JIFF - JavaScript client and server libraries for building web-based applications that employ general purpose MPC; secure against semi-honest adversaries. | documentation: link.
  • MOTION - Mixed-Protocol MPC framework supporting full-threshold boolean and arithmetic GMW and BMR; secure against semi-honest adversaries. | eprint: 2020/1137.
  • MP-SPDZ - MPC with garbled circuits or secret sharing; secure against malicious or semi-honest adversaries with dishonest or honest majority. | documentation | eprint: 2020/512
  • MPyC - BGW honest majority multi-party protocol; secure against semi-honest adversaries. | TPMPC'18.
  • Obliv-C - 2PC with garbled circuits; secure against semi-honest adversaries. | eprint: 2015/1153.
  • Obliv-Java - Faithful reimplementation of Java using Obliv-C. | eprint: 2017/878
  • Rosetta - 3PC with secret sharing; secure against semi-honest adversaries; focused on reusing the APIs of TensorFlow and allowing to transfer traditional TensorFlow codes into a privacy-preserving manner with minimal changes.
  • SCALE-MAMBA - General MPC with secret sharing; secure against various adversaries including malicious with a dishonest majority. Software closer to a production system. | documentation: link.
  • Sharemind - 2PC or 3PC with secret sharing; secure against semi-honest adversaries. | Cyber'13.
  • swanky - A suite of rust libraries for secure multi-party computation (currently includes oblivious transfer, garbled circuits, and private set intersection).
  • Tf-encrypted - 3PC with secret sharing; secure against semi-honest adversaries; focused on TensorFlow-based applications.
  • TNO-MPC - Collection of MPC generic software components, procedures, functionalities, and solutions based on secret sharing and (partially) homomorphic encryption developed in Python and Go. | Blogs and principles: TNO MPC Lab.

Primitives

  • APRICOT - OT Extension secure against malicious adversaries. | 2015/546.
  • Distributed Vector-OLE - A two-party generator for Vector-OLE correlations. CCS'19.
  • LibOTe - Library with various OT Extensions.
  • OT Extension - OT Extension secure against malicious adversaries. | 2015/061.
  • SCAPI - Various secure computation API's carefully documented with a clean code design in mind. | 2012/629.
  • SplitCommit - Additively homomorphic commitment scheme. | 2015/694.
  • TSS - A pure-Rust implementation of various threshold secret sharing schemes.

Protocols

Tools

  • CBMC-GC - Creates Boolean circuits from ANSI-C code optimized for secure computation. | ShallowCC.
  • CipherCompute - Create generic MPC programs using Rust. Works on top of the SCALE engine. Enterprise software that provides UIs for participants handshaking, computations approval, datasources connections, auditing etc...
  • Conclave - Big Data query compiler that combines cleartext processing with Spark and MPC protocols. | EuroSys19.
  • HyCC - Optimizes circuits for hybrid MPC from ANSI-C. | CCS'18.
  • MPC-SoK - Build environments for many MPC frameworks using Docker containers. | S&P19.
  • Tiny-Garble - Logic Synthesis and Sequential Descriptions for Yao's Garbled Circuits. | S&P'15.
  • UC Compiler - Valiant's Universal Circuit Compiler. | 2016/093.

Retired software

  • Duplo - 2PC with garbled circuits; secure against malicious adversaries.
  • FairPlayMP - GMW based multi-party protocol secure against semi-honest adversaries | CCS'08.
  • Frigate - C-style compiler for optimizing boolean circuits. | Euro S&P'16.
  • Myst - Secure Multiparty Key Generation, Signature and Decryption JavaCard applet and host application | CCS'17.
  • SDA - Secure distributed aggregation of high-dimensional vectors | 2017/643.
  • SPDZ - General MPC with secret sharing; secure against malicious adversaries | eprint: 2017/1230.
  • SPDZ-Yao - 2PC with garbled circuits; high-level language similar to SPDZ; secure against semi-honest adversaries.
  • Semi-honest BMR - BMR protocol secure against semi-honest adversaries | 2016/1066.
  • Tasty - 2PC with garbled circuits and homomorphic encryption | 2010/365.
  • TinyLEGO - 2PC with garbled circuits; secure against malicious adversaries | eprint: 2015/309.
  • VIFF - 3+PC with secret sharing; secure against semi-honest adveraries.
  • Wysteria - Multparty computation with GMW, written in a functional PL; secure against semi-honest adversaries | S&P'14.

Workshops

  • IIT Bombay MPC school - Covers basic and advanced topics related to the theory of MPC aimed at CS students and researchers interested in cryptography.
  • Securing Computation - Conducted at Simons institute for Theory of Computing.
  • The 1st BIU Winter School - Introductory lectures for basic secure computation constructions.
  • The 5th BIU Winter School - Tutorials and recent advances in secure computation delivered in video format.
  • TPMPC - Yearly workshop that started in Aarhus 2012. It has now become one of the biggest workshops for MPC people.

原文:https://github.com/rdragos/awesome-mpc