技术开源|Safeheron 正式发布基于 C++ 的 Lindell 17 MPC 协议实现

Safeheron 今日正式宣布:开源两方 MPC ECDSA 协议 Lindell 17 的完整 C++ 实现,在“开源即信任”的技术路径中完成又一里程碑。
尽管近年来 MPC 领域涌现出多种通用的门限签名协议,但在特定应用场景下,经典的 Lindell 17 协议依然具备很高的工程价值。我们希望通过此次开源,为密码学研究者与工程开发者提供一份清晰、规范、可审计的协议实现参考。
什么是 Lindell 17 协议
Lindell 17 协议源自 Lindell 的论文《Fast SecureTwo-Party ECDSA Signing》,是一种专门面向两方计算(2PC)场景设计的阈值 ECDSA 签名方案。
与需要处理复杂多方交互的通用门限协议(t-of-n)不同,Lindell 17 针对 2-of-2 签名模型做了高度针对性的优化,其核心优势体现在:
- 签名阶段交互轮次少
- 计算与通信开销低
- 工程实现相对简洁、可控
因此,在“用户端 + 服务端”协同签名双因素控制等应用场景中,Lindell 17 依然是一个高效且具竞争力的轻量级选择。
Safeheron 开源实现的协议变体
此次 Safeheron 开源的是应用价值更加广泛的基于加性密钥分片(Additive secret sharing) 的 Lindell 17 协议变体。针对该变体协议,Safeheron 在工程实现之外,同步给出了必要的安全性分析与证明说明,以明确其安全假设与适用边界。
我们为什么要开源
此次 Safeheron 开源的 Lindell 17 协议实现具备以下关键特性:
- 完全采用 C++ 原生开发
- 原生支持 Secp256k1 等主流标准椭圆曲线
- 完整覆盖协议核心流程,包括
- 密钥生成(KeyGen)
- 签名(Signing)
在实现过程中,我们引入了论文 《Attacks on Implementations of Lindell 17 and its Variants》 中提出的安全补丁,有效修复了已知依赖 nonce 操纵的实现层攻击漏洞。
在完成安全加固的同时,该实现在计算复杂度与通信复杂度上与原始 Lindell 17 协议保持基本一致,在显著提升实现安全性的前提下,未引入额外的性能负担,体现了协议安全性与工程效率之间的良好平衡。
我们希望通过这次开源实现什么
- 践行安全透明
以研究与交流为目的,将典型 MPC 协议的工程实现公开于社区,接受同行的审阅与讨论,为协议理解与实现安全性提供可验证的参考。
- 连接学术与工程
提供一份面向研究与学习的 Lindell 17 协议实现,帮助开发者更直观地理解论文中的设计细节,缩短从理论到工程实践之间的认知距离。
- 丰富开源生态
不同应用场景对 MPC 协议有不同取舍。通过开源这一经典协议的实现,我们希望为社区提供更多可对比、可研究的实现样本,促进协议选型与实现层面的讨论。
本项目以研究和技术交流为主要目标,是 Safeheron 在开源路线上的一次持续探索。我们欢迎密码学研究者与开发者前往 GitHub 查阅代码、提出问题并参与讨论,共同推动 MPC 开源生态的完善。
GitHub:https://github.com/Safeheron/multi-party-sig-cpp

让我们共同建设更加安全、开放的加密基础设施。