pub struct PolyvalGeneric<const N: usize = 8> { /* private fields */ }Expand description
POLYVAL: GHASH-like universal hash over GF(2^128).
Parameterized on a constant that determines how many blocks to process at once: higher numbers use more memory, and require more time to re-key, but process data significantly faster.
(This constant is not used when acceleration is not enabled.)
Implementations§
Trait Implementations§
Source§impl<const N: usize> BlockSizeUser for Polyval<N>
impl<const N: usize> BlockSizeUser for Polyval<N>
Source§impl<const N: usize> Debug for PolyvalGeneric<N>
impl<const N: usize> Debug for PolyvalGeneric<N>
Source§impl<const N: usize> KeyInit for Polyval<N>
impl<const N: usize> KeyInit for Polyval<N>
Source§fn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
fn weak_key_test(_key: &Array<u8, Self::KeySize>) -> Result<(), WeakKeyError>
Check if the key might be considered weak.
Source§fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError>
fn new_checked(key: &Array<u8, Self::KeySize>) -> Result<Self, WeakKeyError>
Create new value from fixed size key after checking it for weakness.
Source§fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
Source§impl<const N: usize> KeySizeUser for Polyval<N>
impl<const N: usize> KeySizeUser for Polyval<N>
Source§impl<const N: usize> UniversalHash for Polyval<N>
impl<const N: usize> UniversalHash for Polyval<N>
Source§fn update_with_backend(
&mut self,
f: impl UhfClosure<BlockSize = Self::BlockSize>,
)
fn update_with_backend( &mut self, f: impl UhfClosure<BlockSize = Self::BlockSize>, )
Update hash function state using the provided rank-2 closure.
Source§fn update(&mut self, blocks: &[Array<u8, Self::BlockSize>])
fn update(&mut self, blocks: &[Array<u8, Self::BlockSize>])
Update hash function state with the provided block.
Source§fn update_padded(&mut self, data: &[u8])
fn update_padded(&mut self, data: &[u8])
Input data into the universal hash function. If the length of the
data is not a multiple of the block size, the remaining data is
padded with zeroes up to the
BlockSize. Read moreSource§fn finalize_reset(&mut self) -> Array<u8, Self::BlockSize>
fn finalize_reset(&mut self) -> Array<u8, Self::BlockSize>
Obtain the output of a
UniversalHash computation and reset it back
to its initial state.Auto Trait Implementations§
impl<const N: usize> Freeze for Polyval<N>
impl<const N: usize> RefUnwindSafe for Polyval<N>
impl<const N: usize> Send for Polyval<N>
impl<const N: usize> Sync for Polyval<N>
impl<const N: usize> Unpin for Polyval<N>
impl<const N: usize> UnwindSafe for Polyval<N>
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