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.
- frost
std
- The distributed key generation protocol described in the FROST paper.
- musig
- MuSig-style key aggregation.
- promote
std
- Promote keys between ciphersuites.
- tests
tests
- Tests for application-provided curves and algorithms.
Structs§
- Participant
- The ID of a participant, defined as a non-zero u16.
- Threshold
Core std
- 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 std
- Threshold keys usable for signing.
- Threshold
Params std
- Parameters for a multisig.
- Threshold
View std
- View of keys, interpolated and offset for usage.
Enums§
- DkgError
- Various errors possible during key generation.
Functions§
- lagrange
std
- Calculate the lagrange coefficient for a signing set.