Trait schnorr_fun::nonce::NonceGen [−][src]
pub trait NonceGen { type Hash: Digest; fn begin_derivation(&self, secret: &Scalar<Secret, NonZero>) -> Self::Hash; }
Expand description
A trait for hash based nonce gneration.
A NonceGen
is a type that can repeatadly be asked to inititalize a hash
state with begin_derivation
that appear random for anyone who doesn’t
know the secret
.
There are two main implementations of this trait:
Deterministic
: just adds the secret to the hash and returns it.Synthetic
: adds randomness into the secret before hashing it.
In general it’s better to use the [derive_nonce
] macro than to call
begin_derivation
directly.
Associated Types
Required methods
Takes a secret Scalar
and outputs a hash. Before turining this hash into the nonce, you
must add a secret input and all the public inputs from the scheme into the hash. So for a
signature scheme for example you would add your secret key, the message and the public key.