[−][src]Struct schnorrkel::context::SigningContext
Schnorr signing context
We expect users to have seperate 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-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
Methods
impl SigningContext[src]
pub fn new(context: &[u8]) -> SigningContext[src]
Initialize a signing context from a static byte string that identifies the signature's role in the larger protocol.
pub fn bytes(&self, bytes: &[u8]) -> Transcript[src]
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.
pub fn xof<D: ExtendableOutput>(&self, h: D) -> Transcript[src]
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.
pub fn hash256<D: FixedOutput<OutputSize = U32>>(&self, h: D) -> Transcript[src]
Initalize an owned signing transcript on a message provided as a hash function with 256 bit output.
pub fn hash512<D: FixedOutput<OutputSize = U64>>(&self, h: D) -> Transcript[src]
Initalize an owned signing transcript on a message provided as a hash function with 512 bit output, usually a gross over kill.
Trait Implementations
impl Clone for SigningContext[src]
fn clone(&self) -> SigningContext[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
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
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,