Module sign

Source
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:

  1. Pre-signing phase: Generates a pre-signature that can be completed later
  2. 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
RecoveryId
Recovery IDs, a.k.a. “recid”.

Enums§

DsgVariant
Variants of the Distributed Signature Generation protocol
SignError
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)
VerifyingKey
ECDSA/secp256k1 verification key (i.e. public key)