Skip to main content
This is unreleased documentation for the main (development) branch of crypto-glue.

Module block_api

Module block_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§

CtOutWrapper
Wrapper around VariableOutputCore which selects output size at compile time.
Eager
Eager block buffer kind, which guarantees that buffer position always lies in the range of 0..BlockSize.
Lazy
Lazy block buffer kind, which guarantees that buffer position always lies in the range of 0..=BlockSize.

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 the core block-level type.
EagerHash
Trait implemented by eager hashes which expose their block-level core.
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.
VariableOutputCoreCustomized
Trait adding customization string to hash functions with variable output.
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.