Crate digest

source ·
Expand description

This crate provides traits which describe functionality of cryptographic hash functions and Message Authentication algorithms.

Traits in this repository are organized into the following levels:

Additionally hash functions implement traits from the standard library: Default, Clone, Write. The latter is feature-gated behind std feature, which is usually enabled by default by hash implementation crates.

Re-exports

pub use crypto_common::rand_core;
pub use block_buffer;
pub use const_oid;
pub use crypto_common;
pub use crypto_common::generic_array;
pub use crypto_common::typenum;

Modules

Type aliases for many constants.
core_apicore-api
Low-level traits operating on blocks and wrappers around them.
devdev
Development-related functionality

Macros

Define Update impl benchmark
Implement dummy type with hidden docs which is used to “carry” hasher OID for CtVariableCoreWrapper.
new_mac_testdev and mac
Define MAC test
Define resettable MAC test
Define hash function test

Structs

Fixed size output value which provides a safe Eq implementation that runs in constant time.
Buffer length is not equal to hash output size.
The error type returned when key and/or IV used in the KeyInit, KeyIvInit, and InnerIvInit slice-based methods had an invalid length.
The error type used in variable hash traits.
Error type for when the Output of a Mac is not equal to the expected value.

Traits

Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
Modification of the Digest trait suitable for trait objects.
Trait for hash functions with extendable-output (XOF).
Trait for hash functions with extendable-output (XOF) able to reset themselves.
Trait for hash functions with fixed-size output.
Trait for hash functions with fixed-size output able to reset themselves.
Marker trait for cryptographic hash functions.
Types which can be initialized from another type (usually block ciphers).
Types which can be initialized from key.
Macmac
Convenience wrapper trait covering functionality of Message Authentication algorithms.
Marker trait for Message Authentication algorithms.
Types which return data with the given size.
Resettable types.
Types which consume data with byte granularity.
Trait for hash functions with variable-size output.
Trait for hash functions with variable-size output able to reset themselves.
Trait for reader types which are used to extract extendable output from a XOF (extendable-output function) result.

Type Definitions

Key used by KeySizeUser implementors.
Output array of OutputSizeUser implementors.