Module musig

Source
Expand description

This module implements high-level Rust bindings for a Schnorr-based multi-signature scheme called MuSig2 paper. It is compatible with bip-schnorr.

The documentation in this module is for reference and may not be sufficient for advanced use-cases. A full description of the C API usage along with security considerations can be found in C-musig.md.

Structs§

AggregatedNonce
Musig aggregated nonce computed by aggregating all individual public nonces
AggregatedSignature
The aggregated signature of all partial signatures.
InvalidTweakErr
Musig tweaking related error.
KeyAggCache
Cached data related to a key aggregation.
PartialSignature
A Musig partial signature.
PublicNonce
An individual MuSig public nonce. Not to be confused with AggregatedNonce.
SecretNonce
Musig Secret Nonce.
Session
A musig Signing session.
SessionSecretRand
Session Id for a MuSig session.

Enums§

ParseError
Musig parsing errors

Constants§

AGGNONCE_SERIALIZED_SIZE
Serialized size (in bytes) of the aggregated nonce. The serialized form is used for transmitting or storing the aggregated nonce.
PART_SIG_SERIALIZED_SIZE
Serialized size (in bytes) of a partial signature. The serialized form is used for transmitting partial signatures to be aggregated into the final signature.
PUBNONCE_SERIALIZED_SIZE
Serialized size (in bytes) of an individual public nonce. The serialized form is used for transmission between signers.

Functions§

new_nonce_pair
Low level API for starting a signing session by generating a nonce.