Expand description
DKLs23 keygen. This module implements a distributed key generation protocol that allows multiple parties to collaboratively generate a shared secret key without any single party learning the complete secret. The protocol includes several sub-protocols for key refresh, quorum changes, and migration from other protocols.
§Submodules
dkg
- Core distributed key generation protocoltypes
- Common types used across the protocolutils
- Utility functions and helperskey_refresh
- Protocol for refreshing existing keyskeyshare
- Key share management and related definitionsconstants
- Protocol constants and configurationmigration
- Migration utilities to DKLS23 protocolquorum_change
- Protocol for changing the quorum of participants
Re-exports§
Modules§
- constants
- This module defines all the constants used throughout the DKG protocol, including message tags, labels for cryptographic operations, and protocol-specific identifiers. These constants ensure consistent message handling and cryptographic operations across all protocol participants.
- dkg
- This module implements the distributed key generation protocol based on Protocol 6.1 from the paper “Efficient Multi-Party Computation with Dispute Resolution” https://eprint.iacr.org/2022/374.pdf and OT parameters from here “Threshold ECDSA in Three Rounds” https://eprint.iacr.org/2023/765.pdf
- key_
refresh - Protocol for refreshing existing keyshares without changing the corresponding public key
- keyshare
- This module provides functionality for managing key shares in a distributed key generation protocol. A key share represents a party’s portion of a distributed secret key, along with associated metadata and cryptographic material needed for protocol operations.
- migration
- This module provides functionality for migrating existing key shares from the other threshold ECDSA protocols such as GG** to the DKLS23 protocol format. The migration process preserves the cryptographic properties of the original key shares while updating them to the new protocol format.
- quorum_
change - Module for implementing the Quorum Change Protocol. The protocol supports:
- types
- This module defines the error types and common types used throughout the DKG protocol. It includes error handling for various protocol operations and test utilities for polynomial operations used in the protocol.
- utils
- Misc reusable code This module provides utility functions used throughout the DKG protocol implementation, including polynomial operations, key generation setup, and protocol execution helpers. It also includes test utilities for protocol simulation and verification.
Functions§
- message_
receivers - Generates a map of message receivers for the DKG protocol.