5.2 开源工具与框架


5.2 开源工具与框架

本节摘要:PETs 用什么工具落地?本节梳理主流开源库和框架——HE(SEAL/OpenFHE/HElib)、MPC(MP-SPDZ/CrypTen)、ZKP(Circom/Noir)、DP(OpenDP/Opacus)、FL(PySyft/FATE/Flower)、TEE(Gramine/Occlum)。读完你能选对工具。

一、HE 工具

1. Microsoft SEAL

  • 最流行的 HE 库,C++/Python/C# 接口。
  • 支持 BFV(整数)、CKKS(实数)。
  • 文档好,社区活跃,工业落地多。
  • 适合:入门 HE、隐私 ML(CKKS)、整数计算(BFV)。

2. OpenFHE(前身 PALISADE)

  • 全方案 HE 库,支持 BGV/BFV/CKKS/TFHE。
  • C++/Python,模块化设计。
  • 适合:需多种方案、研究、生产。

3. HElib

  • IBM 开源,BGV/CKKS,最早 HE 库之一。
  • 性能好但接口低层,学习曲线陡。
  • 适合:研究、深度定制。

4. TFHElib/Concrete

  • TFHElib:TFHE 原版,比较和非线性强。
  • Concrete(Zama):TFHE 工具链,Python 友好,编译器支持 Python 转 TFHE 电路。
  • 适合:需要比较/分支、ML 激活函数。

5. Lattigo

  • Go 语言 HE 库,CKKS/BFV。
  • 适合:Go 生态、区块链。

选 HE 工具:

  • 入门/通用 → SEAL
  • 多方案/研究 → OpenFHE
  • TFHE/比较 → Concrete
  • Go → Lattigo

二、MPC 工具

1. MP-SPDZ

  • 多协议 MPC 框架,支持半诚实/恶意、多种秘密共享、混淆电路。
  • C++/Python,研究/工业用。
  • 适合:研究、多协议对比、生产。

2. CrypTen

  • Meta 开源,PyTorch 风格,ML 友好。
  • Python,支持多方秘密共享。
  • 适合:隐私 ML、PyTorch 用户。

3. TF-Encrypted

  • TensorFlow 隐私 ML,MPC+HE。
  • 适合:TF 用户、隐私 ML。

4. Concrete-ML

  • Zama,结合 HE(TFHE)和 MPC,Python。
  • 适合:隐私 ML,HE+MPC 混合。

5. Sharemind

  • 商用 MPC 平台,有开源版。
  • 适合:生产部署、企业。

6. Privy/ABY

  • ABY:混淆电路+算术+布尔混合。
  • Privy:多方隐私计算。
  • 适合:研究、混合协议。

选 MPC 工具:

  • 多协议/研究 → MP-SPDZ
  • PyTorch ML → CrypTen
  • TF ML → TF-Encrypted
  • HE+MPC → Concrete-ML
  • 生产 → Sharemind

三、ZKP 工具

1. Circom + SnarkJS

  • Circom:写电路 DSL,配 SnarkJS 验证。
  • 支持 Groth16/PLONK,Web 生态。
  • 适合:入门 ZKP、区块链、Web。

2. Noir

  • Aztec,高级语言,隐私智能合约。
  • 适合:隐私区块链、Aztec 生态。

3. Leo

  • Aleo,隐私区块链编程语言。
  • 适合:Aleo 生态。

4. Cairo

  • StarkWare,STARK 友好,图灵完备。
  • 适合:STARK、StarkNet。

5. Halo2

  • Zcash 开源,PLONK 变体,无信任设置(递归)。
  • 适合:区块链、递归证明。

6. gnark

  • Go ZKP,支持 Groth16/PLONK。
  • 适合:Go 生态。

7. zkSync/ZkEVM

  • 以太坊 zk-Rollup,EVM 兼容 ZKP。
  • 适合:以太坊扩容。

选 ZKP 工具:

  • 入门/Web → Circom+SnarkJS
  • 隐私合约 → Noir
  • STARK → Cairo
  • 递归 → Halo2
  • 以太坊扩容 → zkSync

四、DP 工具

1. Google DP 库

  • C++/Java/Go,生产级,Google 内部用。
  • 适合:生产、Google 生态。

2. OpenDP

  • 哈佛开源,Python/R,研究友好。
  • 适合:研究、数据分析。

3. PipelineDP

  • Google 开源,分布式 DP(Beam/Spark)。
  • 适合:大数据、分布式。

4. TF-Privacy

  • TensorFlow DP-SGD,机器学习。
  • 适合:TF 隐私 ML。

5. Opacus

  • PyTorch DP-SGD,Meta 开源。
  • 适合:PyTorch 隐私 ML。

6. IBM DP Library

  • 企业级 DP,Python。
  • 适合:企业。

选 DP 工具:

  • 生产/Google → Google DP
  • 研究/分析 → OpenDP
  • 大数据 → PipelineDP
  • TF ML → TF-Privacy
  • PyTorch ML → Opacus

五、FL 工具

1. TensorFlow Federated(TFF)

  • Google 开源,TF 生态,FL 完整栈(含安全聚合)。
  • 适合:TF 用户、Google 生态。

2. PySyft

  • OpenMined 开源,PyTorch,FL+MPC+HE。
  • 适合:研究、PyTorch、多 PETs。

3. FATE

  • 微众银行开源,纵向联邦强,企业级。
  • 适合:企业、纵向联邦、金融。

4. Flower

  • 轻量,移动端/边缘友好,框架无关。
  • 适合:移动端、IoT、轻量部署。

5. NVIDIA FLARE

  • 企业级,医疗/金融。
  • 适合:企业、医疗。

6. FedML

  • 移动端/边缘,跨平台。
  • 适合:移动端、边缘 AI。

选 FL 工具:

  • TF 生态 → TFF
  • PyTorch/多 PETs → PySyft
  • 纵向/企业 → FATE
  • 移动端/轻量 → Flower
  • 企业/医疗 → FLARE

六、TEE 工具

1. Gramine

  • Linux 基金会,SGX 友好,跑 Linux 应用。
  • 适合:SGX、Linux 应用。

2. Occlum

  • SGX LibOS,跑 Linux 应用。
  • 适合:SGX、传统应用。

3. OpenEnclave

  • 微软开源,跨 TEE(SGX/TrustZone)。
  • 适合:跨 TEE、企业。

4. Asylo

  • Google 开源,TEE 抽象层。
  • 适合:跨 TEE。

5. AWS Nitro Enclave SDK

  • AWS 云 TEE。
  • 适合:AWS 云。

6. Azure Confidential

  • 微软云 TEE(SGX/SEV)。
  • 适合:Azure 云。

选 TEE 工具:

  • SGX Linux → Gramine/Occlum
  • 跨 TEE → OpenEnclave/Asylo
  • AWS → Nitro
  • Azure → Confidential

七、组合/平台工具

1. Concrete-ML:Zama,HE+MPC,隐私 ML。
2. CrypTen:MPC+HE,隐私 ML。
3. TF-Encrypted:MPC+HE+TF。
4. PySyft:FL+MPC+HE,多 PETs。
5. FATE:FL+MPC+HE,企业。
6. Sharemind:MPC 商用平台。
7. Privy:多方隐私计算。

八、工具选型的建议

1. 从需求出发:先定场景(HE/MPC/ZKP/DP/FL/TEE),再选工具。
2. 生态匹配:选和你技术栈匹配的(PyTorch→Opacus/CrypTen,TF→TFF/TF-Privacy)。
3. 成熟度:生产用成熟工具(SEAL/MP-SPDZ/Opacus),研究可用前沿。
4. 社区:社区活跃的工具更新快、问题少。
5. 文档:文档好的工具学习成本低(SEAL/Opacus/FATE)。
6. 性能:性能敏感场景看基准(OpenFHE/Concrete 有基准)。
7. 组合:多 PETs 用组合工具(PySyft/Concrete-ML/FATE)。

⚠️ 常见误读:以为"用最先进的工具最好"。先进工具可能不成熟、文档少、社区小。生产用成熟工具,研究用前沿,按需求选。

💡 关键直觉:PETs 工具——HE(SEAL 最流行,OpenFHE 全方案,Concrete TFHE)、MPC(MP-SPDZ 多协议,CrypTen PyTorch ML)、ZKP(Circom+SnarkJS 入门,Noir/Cairo/Halo2 区块链)、DP(Google DP 生产,OpenDP 研究,Opacus PyTorch)、FL(TFF/PySyft/FATE/Flower)、TEE(Gramine/Occlum SGX)。选型从需求出发,生态匹配,成熟度优先,组合用 Concrete-ML/PySyft/FATE。

核心回顾

  • HE 工具:SEAL(最流行,BFV/CKKS)、OpenFHE(全方案)、HElib(IBM)、Concrete(TFHE,Zama)、Lattigo(Go)。
  • MPC 工具:MP-SPDZ(多协议)、CrypTen(PyTorch ML)、TF-Encrypted(TF)、Concrete-ML(HE+MPC)、Sharemind(商用)、ABY(混合)。
  • ZKP 工具:Circom+SnarkJS(入门/Web)、Noir(Aztec)、Leo(Aleo)、Cairo(STARK)、Halo2(递归)、gnark(Go)、zkSync(扩容)。
  • DP 工具:Google DP(生产)、OpenDP(研究)、PipelineDP(分布式)、TF-Privacy(TF ML)、Opacus(PyTorch ML)、IBM DP。
  • FL 工具:TFF(TF 生态)、PySyft(多 PETs)、FATE(纵向/企业)、Flower(移动端/轻量)、FLARE(企业/医疗)、FedML(边缘)。
  • TEE 工具:Gramine/Occlum(SGX Linux)、OpenEnclave/Asylo(跨 TEE)、AWS Nitro、Azure Confidential。
  • 组合/平台:Concrete-ML(HE+MPC)、CrypTen(MPC+HE)、PySyft(FL+MPC+HE)、FATE(FL+MPC+HE)、Sharemind。
  • 选型建议:从需求出发、生态匹配、成熟度优先、社区活跃、文档好、性能基准、组合用组合工具。

开源工具生态

开源工具生态


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U