Crate key_share

Crate key_share 

Source
Expand description

Key share of Threshold Signature Scheme (TSS)

TSS protocols often share the same structure of key share. Having a separate crate with definition of the key share struct help reusing the code, keeping different implementations compatible and interopable.

The crate provides DirtyCoreKeyShare that contains data such as: secret share, other signers commitments, public key and etc.

DirtyCoreKeyShare may contain any data, not necessarily consistent. TSS protocol implementations typically don’t want to handle inconsistent key shares and would rather assume that it’s valid. Valid<T> is a type-guard stating that the value T it holds was validated. So, Valid<DirtyCoreKeyShare> (or CoreKeyShare type alias) can be used to express that only valid key shares are accepted.

Modules§

trusted_dealerspof
Trusted dealer

Structs§

DirtyCoreKeyShare
Dirty (unvalidated) core key share
DirtyKeyInfo
Public Key Info
InvalidCoreShare
Error indicating that key share is not valid
ReconstructErrorspof
Error indicating that key reconstruction failed
Valid
Validated value
ValidateError
Validation error
VssSetup
Secret sharing setup of a key

Enums§

HdError
Error related to HD key derivation

Traits§

Validate
Represents a type that can be validated
ValidateFromParts
Represents a type that can be constructed and validated from Parts

Functions§

reconstruct_secret_keyspof
Reconstructs a secret key from set of at least min_signers key shares

Type Aliases§

CoreKeyShare
Core key share
KeyInfo
Public Key Info