Struct schnorrkel::context::SigningContext [−][src]
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
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]
pub 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,
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,