pub struct PolyvalGeneric<const N: usize = { FieldElement::DEFAULT_PARALLELISM }> { /* 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 PolyvalGeneric<N>
impl<const N: usize> BlockSizeUser for PolyvalGeneric<N>
Source§impl<const N: usize> Clone for PolyvalGeneric<N>
impl<const N: usize> Clone for PolyvalGeneric<N>
Source§fn clone(&self) -> PolyvalGeneric<N>
fn clone(&self) -> PolyvalGeneric<N>
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 N: usize> Debug for PolyvalGeneric<N>
impl<const N: usize> Debug for PolyvalGeneric<N>
Source§impl<const N: usize> Drop for PolyvalGeneric<N>
Available on crate feature zeroize only.
impl<const N: usize> Drop for PolyvalGeneric<N>
Available on crate feature
zeroize only.Source§impl<const N: usize> KeyInit for PolyvalGeneric<N>
impl<const N: usize> KeyInit for PolyvalGeneric<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 PolyvalGeneric<N>
impl<const N: usize> KeySizeUser for PolyvalGeneric<N>
Source§impl<const N: usize> ParBlocksSizeUser for PolyvalGeneric<N>
impl<const N: usize> ParBlocksSizeUser for PolyvalGeneric<N>
Source§impl<const N: usize> Reset for PolyvalGeneric<N>
impl<const N: usize> Reset for PolyvalGeneric<N>
Source§impl<const N: usize> UhfBackend for PolyvalGeneric<N>
impl<const N: usize> UhfBackend for PolyvalGeneric<N>
Source§fn proc_block(&mut self, block: &Block)
fn proc_block(&mut self, block: &Block)
Process single block.
Source§fn proc_par_blocks(&mut self, blocks: &ParBlocks<Self>)
fn proc_par_blocks(&mut self, blocks: &ParBlocks<Self>)
Process several blocks in parallel.
Source§fn blocks_needed_to_align(&self) -> usize
fn blocks_needed_to_align(&self) -> usize
Returns the number of blocks that should be passed to
Self::proc_block before
Self::proc_par_blocks can be used efficiently. This is always less than
Self::ParBlocksSize.Source§impl<const N: usize> UniversalHash for PolyvalGeneric<N>
impl<const N: usize> UniversalHash for PolyvalGeneric<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 PolyvalGeneric<N>
impl<const N: usize> RefUnwindSafe for PolyvalGeneric<N>
impl<const N: usize> Send for PolyvalGeneric<N>
impl<const N: usize> Sync for PolyvalGeneric<N>
impl<const N: usize> Unpin for PolyvalGeneric<N>
impl<const N: usize> UnwindSafe for PolyvalGeneric<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