logo
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:

  • High-level convenience traits: Digest, DynDigest, [Mac]. Wrappers around lower-level traits for most common use-cases. Users should usually prefer using these traits.
  • Mid-level traits: Update, FixedOutput, FixedOutputReset, ExtendableOutput, ExtendableOutputReset, XofReader, VariableOutput, Reset, [KeyInit], and [InnerInit]. These traits atomically describe available functionality of an algorithm.
  • Marker traits: HashMarker, [MacMarker]. Used to distinguish different algorithm classes.
  • Low-level traits defined in the core_api module. These traits operate at a block-level and do not contain any built-in buffering. They are intended to be implemented by low-level algorithm providers only. Usually they should not be used in application-level code.

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 block_buffer;
pub use crypto_common;
pub use crypto_common::generic_array;
pub use crypto_common::typenum;

Modules

Type aliases for many constants.

Low-level traits operating on blocks and wrappers around them.

digest 🔒

Structs

Buffer length is not equal to hash output size.

The error type used in variable hash traits.

Traits

Convinience 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 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

Output array of OutputSizeUser implementors.