Crate universal_hash
source ·Expand description
Traits for Universal Hash Functions.
§About universal hashes
Universal hash functions provide a “universal family” of possible hash functions where a given member of a family is selected by a key.
They are well suited to the purpose of “one time authenticators” for a sequence of bytestring inputs, as their construction has a number of desirable properties such as pairwise independence as well as amenability to efficient implementations, particularly when implemented using SIMD instructions.
When combined with a cipher, such as in Galois/Counter Mode (GCM) or the Salsa20 family AEAD constructions, they can provide the core functionality for a Message Authentication Code (MAC).
Re-exports§
pub use crypto_common;
pub use crypto_common::generic_array;
pub use crypto_common::typenum;
Modules§
- Type aliases for many constants.
Structs§
- Error type used by the
UniversalHash::verify
method to indicate that UHF output is not equal the expected value.
Traits§
- Types which can be initialized from key.
- Resettable types.
- Trait implemented by UHF backends.
- Trait for
UhfBackend
users. - The
UniversalHash
trait defines a generic interface for universal hash functions.
Functions§
- Split message into slice of blocks and leftover tail.
Type Aliases§
- Block on which
BlockSizeUser
implementors operate. - Key used by
KeySizeUser
implementors. - Parallel blocks on which
ParBlocksSizeUser
implementors operate.