pub struct Polyval {
h: __m128i,
y: __m128i,
}
Expand description
POLYVAL: GHASH-like universal hash over GF(2^128).
Fields§
§h: __m128i
§y: __m128i
Implementations§
Trait Implementations§
source§impl BlockSizeUser for Polyval
impl BlockSizeUser for Polyval
source§impl KeyInit for Polyval
impl KeyInit for Polyval
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§fn generate_key(
rng: impl CryptoRng + RngCore,
) -> GenericArray<u8, Self::KeySize>
fn generate_key( rng: impl CryptoRng + RngCore, ) -> GenericArray<u8, Self::KeySize>
Generate random key using the provided
CryptoRng
.source§impl KeySizeUser for Polyval
impl KeySizeUser for Polyval
source§impl ParBlocksSizeUser for Polyval
impl ParBlocksSizeUser for Polyval
source§impl UhfBackend for Polyval
impl UhfBackend for Polyval
source§fn proc_block(&mut self, x: &Block)
fn proc_block(&mut self, x: &Block)
Process single block.
source§fn proc_par_blocks(
&mut self,
blocks: &GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocksSize>,
)
fn proc_par_blocks( &mut self, blocks: &GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocksSize>, )
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
.Auto Trait Implementations§
impl Freeze for Polyval
impl RefUnwindSafe for Polyval
impl Send for Polyval
impl Sync for Polyval
impl Unpin for Polyval
impl UnwindSafe for Polyval
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)