pub struct SigningContext(/* private fields */);Expand description
Schnorr signing context
We expect users to have separate SigningContexts for each role
that signature play in their protocol. These SigningContexts
may be global lazy_static!s, or perhaps constants in future.
To sign a message, apply the appropriate inherent method to create a signature transcript.
You should use merlin::Transcripts directly if you must do
anything more complex, like use signatures in larger zero-knowledge
protocols or sign several components but only reveal one later.
We declare these methods #[inline(always)] because rustc does
not handle large returns as efficiently as one might like.
https://github.com/rust-random/rand/issues/817
Implementations§
Source§impl SigningContext
impl SigningContext
Sourcepub fn new(context: &[u8]) -> SigningContext
pub fn new(context: &[u8]) -> SigningContext
Initialize a signing context from a static byte string that identifies the signature’s role in the larger protocol.
Sourcepub fn bytes(&self, bytes: &[u8]) -> Transcript
pub fn bytes(&self, bytes: &[u8]) -> Transcript
Initialize an owned signing transcript on a message provided as a byte array.
Avoid this method when processing large slices because it
calls merlin::Transcript::append_message directly and
merlin is designed for domain seperation, not performance.
Sourcepub fn xof<D: ExtendableOutput>(&self, h: D) -> Transcript
pub fn xof<D: ExtendableOutput>(&self, h: D) -> Transcript
Initialize an owned signing transcript on a message provided as a hash function with extensible output mode (XOF) by finalizing the hash and extracting 32 bytes from XOF.
Sourcepub fn hash256<D: FixedOutput<OutputSize = U32>>(&self, h: D) -> Transcript
pub fn hash256<D: FixedOutput<OutputSize = U32>>(&self, h: D) -> Transcript
Initialize an owned signing transcript on a message provided as a hash function with 256 bit output.
Sourcepub fn hash512<D: FixedOutput<OutputSize = U64>>(&self, h: D) -> Transcript
pub fn hash512<D: FixedOutput<OutputSize = U64>>(&self, h: D) -> Transcript
Initialize an owned signing transcript on a message provided as a hash function with 512 bit output, usually a gross over kill.
Trait Implementations§
Source§impl Clone for SigningContext
impl Clone for SigningContext
Source§fn clone(&self) -> SigningContext
fn clone(&self) -> SigningContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more