[][src]Crate schnorr

Re-exports

pub use signature::Signature;
pub use signature::SIGNATURE_LENGTH;
pub use crate::keys::*;

Modules

feldman_vss

Fast Multiparty Threshold ECDSA with Fast Trustless Setup In a verifiable secret sharing scheme, auxiliary information is published that allows players to check that their shares are consistent and define a unique secret. Feldman’s VSS is an extension of Shamir secret sharing in which the dealer also publishes vi=gai inGforalli∈[1,t]andv0=gσ inG. If the check does not hold for any player, it raises a complaint and the protocol terminates. Note that this is different than the way Feldman VSS was originally presented as it assumed an honest majority and could recover if a dishonest player raised a complaint. However, since we assume dishonest majority in this paper, the protocol will abort if a complaint is raised.

keys

Keys to the kingdom Schnorr signatures on the 2-tortsion free subgroup of ed25519, as provided by the Ristretto point compression.s

signature

A Rust implementation of Schnorr signing

threshold

Structs

BatchVerifier

Batch signature verifier for use with Signature::verify_batched.

Multimessage

MuSig multimessage context

Signer

Entry point to multi-party signing protocol.

SignerAwaitingCommitments

State of the party when awaiting nonce commitments from other parties.

SignerAwaitingPrecommitments

State of the party when awaiting nonce precommitments from other parties.

SignerAwaitingShares

State of the party when awaiting signature shares from other parties.

SigningContext

A Signing Context Provides an abstraction for signature protocol Merlin Transcript

SingleVerifier

Single signature verifier that implements batching interface.

Enums

SchnorrError

Internal errors. Most application-level developers will likely not need to pay any attention to these.

Traits

BatchVerification

Trait for a batch verification of signatures. If you are only verifying signatures, without other proofs, you can use concrete implementation BatchVerifier without rolling out your own.

MuSigContext

The context for signing - can either be a Multikey or Multimessage context.

Multisignature

Extension trait for schnorr::Signature.

Functions

diffie_hellman

Perform a Diffie-Hellman key agreement to produce a SharedSecret.

Type Definitions

SharedSecret

Alias type for a shared secret after ECDH