Introduction
-
This is the first release of libmpc - the Apache Milagro Crypto Multi-Party Computation Library.
-
This release is numbered 0.1 as, while usable and well tested, we expect more features to be developed and added to the core. As always, we strive to keep the API stable, but we want to wait for community feedback before committing to releasing version 1.0.
Library Description
- libmpc is a modern cryptographic C library that implements Multi-Party Computation, or MPC.
- This library implements the primitives necessary to instantiate the multi-party ECDSA signature scheme provided in Gennaro and Goldfeder’s “Fast Multiparty Threshold ECDSA with Fast Trustless Setup” (GG18) (https://eprint.iacr.org/2019/114.pdf).
- GG18 consists of a multiparty threshold signature scheme which enables distributed signing among n players such that any subgroup of size t + 1 can sign, whereas any group with t or fewer players cannot. This scheme is proven secure for any t <= n and provides significant reduction of computation and communication complexity comparing to other existing schemes.
- NCC Group has conducted a security assessment of libmpc (https://research.nccgroup.com/wp-content/uploads/2020/07/NCC_Group_Qredo_Apache_Milagro_MPC_Cryptographic_Review_2020-07-16_v1.3.pdf).
libmpc 0.1 Release Rationale
-
libmpc has been under development for several years now, and we consider it to be stable enough to have a first official release.
-
With this release, we also introduce a modernised docker-first build-system that we would like to extend to other Apache Milagro releases. We have taken this step to better support the most diverse development and deployment environments currently used by the community. Please provide feedback if there is anything you would like to see happening next.
-
As always, please see the README for build/test instructions, a list of contributors and guidelines on how to contribute yourself.
Disclaimer
Apache Milagro libmpc (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.