pub struct TurboShake<const RATE: usize, const DS: u8> { /* private fields */ }Expand description
TurboSHAKE hasher generic over rate and domain separator.
Domain separator DS MUST be in the range 0x01..=0x7f.
Use DEFAULT_DS if you want the default value.
Rate MUST be either 168 or 136 for TurboSHAKE128 and TurboSHAKE256 respectively.
Trait Implementations§
Source§impl<const RATE: usize, const DS: u8> AlgorithmName for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> AlgorithmName for TurboShake<RATE, DS>
Source§impl<const RATE: usize, const DS: u8> Clone for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> Clone for TurboShake<RATE, DS>
Source§fn clone(&self) -> TurboShake<RATE, DS>
fn clone(&self) -> TurboShake<RATE, DS>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const RATE: usize, const DS: u8> ExtendableOutput for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> ExtendableOutput for TurboShake<RATE, DS>
Source§type Reader = TurboShakeReader<RATE>
type Reader = TurboShakeReader<RATE>
Reader
Source§fn finalize_xof(self) -> Self::Reader
fn finalize_xof(self) -> Self::Reader
Retrieve XOF reader and consume hasher instance.
Source§fn finalize_xof_into(self, out: &mut [u8])
fn finalize_xof_into(self, out: &mut [u8])
Finalize XOF and write result into
out.Source§impl<const RATE: usize, const DS: u8> ExtendableOutputReset for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> ExtendableOutputReset for TurboShake<RATE, DS>
Source§fn finalize_xof_reset(&mut self) -> Self::Reader
fn finalize_xof_reset(&mut self) -> Self::Reader
Retrieve XOF reader and reset hasher instance state.
Source§fn finalize_xof_reset_into(&mut self, out: &mut [u8])
fn finalize_xof_reset_into(&mut self, out: &mut [u8])
Finalize XOF, write result into
out, and reset the hasher state.impl<const RATE: usize, const DS: u8> HashMarker for TurboShake<RATE, DS>
Auto Trait Implementations§
impl<const RATE: usize, const DS: u8> Freeze for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> RefUnwindSafe for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> Send for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> Sync for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> Unpin for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> UnsafeUnpin for TurboShake<RATE, DS>
impl<const RATE: usize, const DS: u8> UnwindSafe for TurboShake<RATE, DS>
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