Struct schnorrkel::context::SigningContext
source · pub struct SigningContext(/* private fields */);
Expand description
Schnorr signing context
We expect users to have separate 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-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 moreAuto Trait Implementations§
impl Freeze for SigningContext
impl RefUnwindSafe for SigningContext
impl Send for SigningContext
impl Sync for SigningContext
impl Unpin for SigningContext
impl UnwindSafe for SigningContext
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)