Safeheron Launches Open-Source Implementation of the Lindell 17 MPC Protocol in C++

Safeheron today officially announces the open-source release of a complete C++ implementation of the two-party MPC ECDSA protocol, Lindell 17. This marks another significant milestone in our commitment to “Open Source as Trust.”
While various general threshold signature protocols have emerged in the MPC field in recent years, the classic Lindell 17 protocol retains high engineering value for specific application scenarios. Through this release, we aim to provide cryptography researchers and engineering developers with a clear, standardized, and auditable reference implementation.
What is the Lindell 17 Protocol?
The Lindell 17 protocol originates from Yehuda Lindell’s paper Fast Secure Two-Party ECDSA Signing. It is a threshold ECDSA scheme designed specifically for Two-Party Computation (2PC) scenarios.
Unlike general threshold protocols (t-of-n) that must handle complex multi-party interactions, Lindell 17 is highly optimized for the 2-of-2 signing model. Its core advantages include:
- Fewer interaction rounds during the signing phase
- Lower computational and communication overhead
- Simpler and more controllable engineering implementation
Therefore, in scenarios such as “Client + Server” co-signing (2-factor control), Lindell 17 remains an efficient and competitive lightweight choice.
The Variant Open-Sourced by Safeheron
The version open-sourced by Safeheron is a Lindell 17 protocol variant based on Additive Secret Sharing, which offers broader application value.
Beyond the engineering implementation, Safeheron has provided the necessary security analysis and proofs to clearly define the protocol’s security assumptions and applicability boundaries.
Why We Open Source?
This release features several key characteristics:
- Pure C++ Development
- Native Support for mainstream standard elliptic curves, including Secp256k1.
- Complete Coverage of core protocol workflows:
- Key Generation (KeyGen)
- Signing
During implementation, we incorporated security patches proposed in the paper Attacks on Implementations of Lindell 17 and its Variants. These patches effectively fix known implementation-level vulnerabilities related to nonce manipulation.
While achieving this security hardening, the implementation maintains computational and communication complexity consistent with the original Lindell 17 protocol. It significantly enhances security without introducing extra performance burdens, striking a good balance between protocol security and engineering efficiency.
Our Open Source Goals
- Practicing Security Transparency
With a focus on research and exchange, we are opening this typical MPC protocol implementation to the community for peer review and discussion, providing a verifiable reference for protocol understanding and security implementation.
- Bridging Academia and Engineering
By providing a research-oriented implementation of Lindell 17, we help developers intuitively understand the design details found in academic papers, shortening the cognitive distance between theory and engineering practice.
- Enriching the Open Source Ecosystem
Different application scenarios require different trade-offs in MPC protocols. By open-sourcing this classic protocol, we hope to provide the community with more samples for comparison and research, fostering deeper discussions on protocol selection and implementation.
This project aims primarily at research and technical exchange and represents Safeheron’s continuous exploration of the open-source path. We invite cryptography researchers and developers to visit our GitHub to review the code, raise issues, and join the discussion to jointly improve the MPC open-source ecosystem.
GitHub: https://github.com/Safeheron/multi-party-sig-cpp

Let’s build a safer, more open crypto infrastructure together.