Zama 团队发布了一个基于阈值密码学的阈值密钥管理系统 (TKMS),旨在解决同态加密 (FHE) 应用中的密钥管理问题。该系统将密钥分成多个片段分发给多个参与方,且在密码学操作期间不进行重组,类似于区块链中的多方计算 (MPC) 钱包。Zama 同时开源了 MPC 库,并发布了详细的密码学报告,以促进 FHE 领域的合作和进步。
本文由 Kelong Cong、Morten Dahl、Daniel Demmler、Frederic Egmorte、Tore Frederiksen、Nigel Smart、Maksym Surzhynskyi 和 Titouan Tanguy 共同撰写。
Zama 的技术通过全同态加密(FHE)实现对加密数据的私有计算。然而,任何应用中的一个主要问题是密钥管理——特别是,如何保护和管理用于解密数据的密钥。
为了解决这个问题,我们在 Zama 的团队构建了一个由门限密码学驱动的 门限密钥管理系统(TKMS)。也就是说,密钥不是依赖单个方持有完整的解密密钥,而是将密钥分成片段并分发给多个方。在密码学操作期间,这些片段永远不会被重新组合——类似于多方计算 (MPC) 钱包在区块链世界中的工作方式。
TKMS 构建于安全 MPC 协议之上,该协议支持几乎任何 FHE 方案的密钥管理。虽然我们的实现针对 TFHE 进行了优化(将与 fhEVM 一起用于私有智能合约),但底层的 MPC 系统具有足够的通用性,可以进行调整以用于其他类型的 FHE 密钥,例如 BGV 和 BFV 方案中使用的密钥。
本周,Zama 将提供两个关键资源,这些资源是我们的 TKMS 技术的基础:
threshold-fhe 仓库 是一个 Rust 库,它实现了 Zama 产品中使用的 TFHE 方案的 MPC 算法,包括:
此外,它还包括实现 公共参考字符串 (CRS) 生成协议的代码,用于 Zama 的 TFHE-rs 库中的 零知识证明 (ZKPoKs),以及用于 BGV和 BFV 加密方案的简单版本的门限解密和密钥生成的代码——即使它没有在 Zama 的产品中使用。
适应性与性能
该库根据参与方的数量和相关的门限值,为此 MPC 系统实现了各种选项(出于可行性和效率的原因):
这里,t 代表协议可以容忍的恶意参与方的数量。
MPC 协议基于 Shamir 秘密共享 和 伽罗华环,并提供强大的协议,即提供有保证的输出交付的协议。用外行的话来说,如果小于或等于 t 个参与方是恶意的,其他诚实的参与方将始终恢复正确的输出结果。
有趣的是,当参与方的总数较少时,我们的门限解密协议只需要一轮通信,使其适合在广域网 (WAN) 上工作,其中各方之间的往返时间可能很长。例如,当协议由十个参与方运行时,门限解密最多 2048 个密文需要不到一秒钟。
到目前为止,整个协议套件中最昂贵的部分是密钥生成(仅在协议设置阶段发生一次)。但是,Zama 的实现是高度并行化的,因此如果需要,可以水平扩展。
最后,构成门限密钥生成和门限解密的不同构建块可以独立重用,例如用于研究目的。在存储库中,用户将找到有关如何运行我们的软件并为其自己的安装生成基准的说明。
与该库一起,我们发布了一份 250 多页的技术报告,该报告正式描述了我们 MPC 堆栈背后的数学和协议。这包括:
为了使文档易于理解,我们专注于 THFE、BGV 和 BFV 方案的简化版本。
在 Zama,我们坚信开源创新。通过分享我们的代码和研究,我们旨在促进 FHE 领域的协作、透明度和进步。
我们邀请研究人员、开发人员和密码学家探索和试验这些资源,并与我们分享任何反馈:
未找到任何项目。
- 原文链接: zama.ai/post/introducing...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!