pub struct Signature<Mode: LmsMode> { /* private fields */ }
Expand description
Opaque struct representing a LMS signature
Trait Implementations§
Source§impl<Mode: LmsMode> From<Signature<Mode>> for Vec<u8>where
<Mode::OtsMode as LmsOtsMode>::PLen: Add<U1>,
<Mode::OtsMode as LmsOtsMode>::NLen: Mul<Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>,
Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>: Add<U4>,
Sum<Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>, U4>: ArrayLength<u8>,
impl<Mode: LmsMode> From<Signature<Mode>> for Vec<u8>where
<Mode::OtsMode as LmsOtsMode>::PLen: Add<U1>,
<Mode::OtsMode as LmsOtsMode>::NLen: Mul<Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>,
Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>: Add<U4>,
Sum<Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>, U4>: ArrayLength<u8>,
Source§impl<Mode: LmsMode> RandomizedSignerMut<Signature<Mode>> for SigningKey<Mode>
impl<Mode: LmsMode> RandomizedSignerMut<Signature<Mode>> for SigningKey<Mode>
Source§fn try_sign_with_rng(
&mut self,
rng: &mut impl CryptoRngCore,
msg: &[u8],
) -> Result<Signature<Mode>, Error>
fn try_sign_with_rng( &mut self, rng: &mut impl CryptoRngCore, msg: &[u8], ) -> Result<Signature<Mode>, Error>
Attempt to sign the given message, updating the state, and returning a
digital signature on success, or an error if something went wrong. Read more
Source§fn sign_with_rng(&mut self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S
fn sign_with_rng(&mut self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S
Sign the given message, update the state, and return a digital signature.
Source§impl<Mode: LmsMode> SignatureEncoding for Signature<Mode>where
<Mode::OtsMode as LmsOtsMode>::PLen: Add<U1>,
<Mode::OtsMode as LmsOtsMode>::NLen: Mul<Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>,
Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>: Add<U4>,
Sum<Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>, U4>: ArrayLength<u8>,
impl<Mode: LmsMode> SignatureEncoding for Signature<Mode>where
<Mode::OtsMode as LmsOtsMode>::PLen: Add<U1>,
<Mode::OtsMode as LmsOtsMode>::NLen: Mul<Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>,
Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>: Add<U4>,
Sum<Prod<<Mode::OtsMode as LmsOtsMode>::NLen, Sum<<Mode::OtsMode as LmsOtsMode>::PLen, U1>>, U4>: ArrayLength<u8>,
Auto Trait Implementations§
impl<Mode> Freeze for Signature<Mode>where
<<Mode as LmsMode>::HLen as ArrayLength<GenericArray<u8, <<Mode as LmsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: Freeze,
<<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: Freeze,
<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::PLen as ArrayLength<GenericArray<u8, <<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: Freeze,
impl<Mode> RefUnwindSafe for Signature<Mode>where
<<Mode as LmsMode>::HLen as ArrayLength<GenericArray<u8, <<Mode as LmsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: RefUnwindSafe,
<<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::PLen as ArrayLength<GenericArray<u8, <<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: RefUnwindSafe,
impl<Mode> Send for Signature<Mode>
impl<Mode> Sync for Signature<Mode>
impl<Mode> Unpin for Signature<Mode>where
<<Mode as LmsMode>::HLen as ArrayLength<GenericArray<u8, <<Mode as LmsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: Unpin,
<<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: Unpin,
<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::PLen as ArrayLength<GenericArray<u8, <<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: Unpin,
impl<Mode> UnwindSafe for Signature<Mode>where
<<Mode as LmsMode>::HLen as ArrayLength<GenericArray<u8, <<Mode as LmsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: UnwindSafe,
<<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
<<<Mode as LmsMode>::OtsMode as LmsOtsMode>::PLen as ArrayLength<GenericArray<u8, <<<Mode as LmsMode>::OtsMode as LmsOtsMode>::Hasher as OutputSizeUser>::OutputSize>>>::ArrayType: UnwindSafe,
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
Mutably borrows from an owned value. Read more