Module core_api

Source
Expand description

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

Usage of traits in this module in user code is discouraged. Instead use core algorithm wrapped by the wrapper types, which implement the higher-level traits.

Structs§

CoreWrapper
Wrapper around BufferKindUser.
CtVariableCoreWrapper
Wrapper around VariableOutputCore which selects output size at compile time.
RtVariableCoreWrapper
Wrapper around VariableOutputCore which selects output size at run time.
XofReaderCoreWrapper
Wrapper around XofReaderCore implementations.

Enums§

TruncSide
Type which used for defining truncation side in the VariableOutputCore trait.

Traits§

AlgorithmName
Trait which stores algorithm name constant, used in Debug implementations.
BlockSizeUser
Types which process data in blocks.
BufferKindUser
Types which use BlockBuffer functionality.
CoreProxy
A proxy trait to a core type implemented by CoreWrapper
ExtendableOutputCore
Core trait for hash functions with extendable (XOF) output size.
FixedOutputCore
Core trait for hash functions with fixed output size.
OutputSizeUser
Types which return data with the given size.
Reset
Resettable types.
UpdateCore
Types which consume data in blocks.
VariableOutputCore
Core trait for hash functions with variable output size.
XofReaderCore
Core reader trait for extendable-output function (XOF) result.

Type Aliases§

Block
Block on which BlockSizeUser implementors operate.
Buffer
Buffer type used by type which implements BufferKindUser.