[]Module signatory::digest

This crate provides traits which describe funcionality of cryptographic hash functions.

Traits in this repository can be separatedin two levels:

  • Low level traits: Input, BlockInput, Reset, FixedOutput, VariableOutput, ExtendableOutput. These traits atomically describe available functionality of hash function implementations.
  • Convinience trait: Digest, DynDigest. They are wrappers around low level traits for most common hash-function use-cases.

Additionally hash functions implement traits from std: Default, Clone, Write. (the latter depends on enabled-by-default std crate feature)

The Digest trait is the most commonly used trait.

Modules

generic_array

This crate implements a structure that can be used as a generic array type.use Core Rust array types [T; N] can't be used generically with respect to N, so for example this:

Macros

impl_write

Implements std::io::Write trait for implementator of Input

Structs

InvalidOutputSize

The error type for variable hasher initialization

Traits

BlockInput

Trait to indicate that digest function processes data in blocks of size BlockSize.

Digest

The Digest trait specifies an interface common for digest functions.

ExtendableOutput

Trait which describes extendable-output functions (XOF).

FixedOutput

Trait for returning digest result with the fixed size

Input

Trait for processing input data

Reset

Trait for resetting hash instances

VariableOutput

Trait for returning digest result with the varaible size

XofReader

Trait for decribing readers which are used to extract extendable output from XOF (extendable-output function) result.