Trait universal_hash::UniversalHash [−][src]
The UniversalHash
trait defines a generic interface for universal hash
functions.
Associated Types
type BlockSize: ArrayLength<u8>
[src]
Size of the inputs to and outputs from the universal hash function
Required methods
fn update(&mut self, block: &Block<Self>)
[src]
Input a block into the universal hash function
fn reset(&mut self)
[src]
Reset UniversalHash
instance.
fn finalize(self) -> Output<Self>
[src]
Obtain the Output
of a UniversalHash
function and consume it.
Provided methods
fn update_padded(&mut self, data: &[u8])
[src]
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
.
This approach is frequently used by AEAD modes which use Message Authentication Codes (MACs) based on universal hashing.
fn finalize_reset(&mut self) -> Output<Self>
[src]
Obtain the Output
of a UniversalHash
computation and reset it back
to its initial state.
fn verify(self, other: &Block<Self>) -> Result<(), Error>
[src]
Verify the UniversalHash
of the processed input matches a given Output
.
This is useful when constructing Message Authentication Codes (MACs)
from universal hash functions.