Expand description
DKLs23 sign. Distributed Signature Generation (DSG) Protocol Implementation
This module implements a distributed signature generation protocol that allows multiple parties to collaboratively generate digital signatures without any single party knowing the complete private key.
§Protocol Overview
The DSG protocol consists of two main phases:
- Pre-signing phase: Generates a pre-signature that can be completed later
- Finish phase: Completes the signature using the pre-signature
§Security Properties
The protocol provides the following security guarantees:
- Threshold security: Signatures can only be generated with a sufficient number of parties
- Privacy: No information about the private key is leaked
- Verifiability: Signatures can be verified using standard ECDSA verification
Structs§
- PreSign
- Result of the pre-signature phase for a party
- Recovery
Id - Recovery IDs, a.k.a. “recid”.
Enums§
- DsgVariant
- Variants of the Distributed Signature Generation protocol
- Sign
Error - Error types that can occur during the Distributed Signature Generation protocol
Functions§
- finish
- Executes the finish phase of the DSG protocol
- message_
receivers - Generates a map of message receivers for the DSG protocol
- pre_
signature - Executes the pre-signature phase of the DSG protocol
- run
- Main entry point for the DSG protocol
Type Aliases§
- Signature
- ECDSA/secp256k1 signature (fixed-size)
- Verifying
Key - ECDSA/secp256k1 verification key (i.e. public key)