Struct schnorrkel::context::SigningContext
source · pub struct SigningContext(_);
Expand description
Schnorr signing context
We expect users to have seperate SigningContext
s for each role
that signature play in their protocol. These SigningContext
s
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::Transcript
s directly if you must do
anything more complex, like use signatures in larger zero-knoweldge
protocols or sign several components but only reveal one later.
We declare these methods #[inline(always)]
because rustc does
not handle large returns as efficently 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
Initalize 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
Initalize 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
Initalize 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
Initalize 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