Expand description
§Distributed Key Generation
A collection of implementations of various distributed key generation protocols.
All included protocols resolve into the provided Threshold
types, intended to
enable their modularity. Additional utilities around these types, such as
promotion from one generator to another, are also provided.
Currently, the only included protocol is the two-round protocol from the FROST paper.
This library was audited by Cypher Stack in March 2023, culminating in commit 669d2dbffc1dafb82a09d9419ea182667115df06. Any subsequent changes have not undergone auditing.
Re-exports§
pub use super::*;
Modules§
- encryption
std
Encryption types and utilities used to secure DKG messages. - MuSig-style key aggregation.
- pedpop
std
The PedPoP distributed key generation protocol described in the FROST paper, augmented to be verifiable. - promote
std
Promote keys between ciphersuites. - tests
tests
Tests for application-provided curves and algorithms.
Structs§
- The ID of a participant, defined as a non-zero u16.
- Keys and verification shares generated by a DKG. Called core as they’re expected to be wrapped into an Arc before usage in various operations.
- Threshold keys usable for signing.
- Parameters for a multisig.
- View of keys, interpolated and offset for usage.
Enums§
- Various errors possible during key generation.
Functions§
- lagrange
std
Calculate the lagrange coefficient for a signing set.