Module keygen

Source
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 protocol
  • types - Common types used across the protocol
  • utils - Utility functions and helpers
  • key_refresh - Protocol for refreshing existing keys
  • keyshare - Key share management and related definitions
  • constants - Protocol constants and configuration
  • migration - Migration utilities to DKLS23 protocol
  • quorum_change - Protocol for changing the quorum of participants

Re-exports§

pub use keyshare::Keyshare;
pub use dkg::*;
pub use types::*;

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.