pub struct TurboShake<Rate: BlockSizes, 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 U168 or U136 for TurboSHAKE128 and TurboSHAKE256 respectively.
Trait Implementations§
Source§impl<Rate: BlockSizes, const DS: u8> AlgorithmName for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> AlgorithmName for TurboShake<Rate, DS>
Source§impl<Rate: BlockSizes, const DS: u8> BlockSizeUser for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> BlockSizeUser for TurboShake<Rate, DS>
Source§impl<Rate: Clone + BlockSizes, const DS: u8> Clone for TurboShake<Rate, DS>
impl<Rate: Clone + BlockSizes, 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<Rate: BlockSizes, const DS: u8> Debug for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> Debug for TurboShake<Rate, DS>
Source§impl<Rate: BlockSizes, const DS: u8> Default for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> Default for TurboShake<Rate, DS>
Source§impl<Rate: BlockSizes, const DS: u8> Drop for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> Drop for TurboShake<Rate, DS>
Source§impl<Rate: BlockSizes, const DS: u8> ExtendableOutput for TurboShake<Rate, DS>
impl<Rate: BlockSizes, 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<Rate: BlockSizes, const DS: u8> ExtendableOutputReset for TurboShake<Rate, DS>
impl<Rate: BlockSizes, 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.Source§impl<Rate: BlockSizes, const DS: u8> Reset for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> Reset for TurboShake<Rate, DS>
Source§impl<Rate: BlockSizes, const DS: u8> Update for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> Update for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> HashMarker for TurboShake<Rate, DS>
impl<Rate: BlockSizes, const DS: u8> ZeroizeOnDrop for TurboShake<Rate, DS>
Available on crate feature
zeroize only.Auto Trait Implementations§
impl<Rate, const DS: u8> Freeze for TurboShake<Rate, DS>
impl<Rate, const DS: u8> RefUnwindSafe for TurboShake<Rate, DS>
impl<Rate, const DS: u8> Send for TurboShake<Rate, DS>
impl<Rate, const DS: u8> Sync for TurboShake<Rate, DS>
impl<Rate, const DS: u8> Unpin for TurboShake<Rate, DS>
impl<Rate, const DS: u8> UnsafeUnpin for TurboShake<Rate, DS>
impl<Rate, 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SmallBlockSizeUser for T
impl<T> SmallBlockSizeUser for T
Source§type _BlockSize = <T as BlockSizeUser>::BlockSize
type _BlockSize = <T as BlockSizeUser>::BlockSize
Helper associated type equal to
<Self as BlockSizeUser>::BlockSize.