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
sourceimpl 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
sourceimpl Clone for SigningContext
impl Clone for SigningContext
sourcefn clone(&self) -> SigningContext
fn clone(&self) -> SigningContext
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl RefUnwindSafe for SigningContext
impl Send for SigningContext
impl Sync for SigningContext
impl Unpin for SigningContext
impl UnwindSafe for SigningContext
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more