pub struct SigningTranscriptWithRng<T, R>where
    T: SigningTranscript,
    R: RngCore + CryptoRng,
{ /* private fields */ }
Expand description

Schnorr signing transcript with the default ThreadRng replaced by an arbitrary CryptoRng.

If ThreadRng breaks on your platform, or merely if your paranoid, then you might “upgrade” from ThreadRng to OsRng by using calls like keypair.sign( attach_rng(t,OSRng::new()) ). We recommend instead simply fixing ThreadRng for your platform however.

There are also derandomization tricks like attach_rng(t,ChaChaRng::from_seed([0u8; 32])) for deterministic signing in tests too. Although derandomization produces secure signatures, we recommend against doing this in production because we implement protocols like multi-signatures which likely become vulnerabile when derandomized.

Trait Implementations§

Extend transcript with some bytes, shadowed by merlin::Transcript.
Produce some challenge bytes, shadowed by merlin::Transcript.
Produce secret witness bytes from the protocol transcript and any “nonce seeds” kept with the secret keys. Read more
Produce secret witness bytes from the protocol transcript and any “nonce seeds” kept with the secret keys. Read more
Extend transcript with a protocol name
Extend the transcript with a compressed Ristretto point
Produce the public challenge scalar e.
Produce a secret witness scalar k, aka nonce, from the protocol transcript and any “nonce seeds” kept with the secret keys. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Real underlying SigningTranscript
Return the underlying SigningTranscript after addressing VRF output malleability, usually by making it non-malleable, Read more