Expand description
This crate defines a set of traits which describe the functionality of block ciphers, block modes, and stream ciphers.
Re-exports§
pub use blobby;devpub use crypto_common;pub use crypto_common::rand_core;rand_corepub use inout;pub use inout::block_padding;block-paddingpub use zeroize;zeroizepub use crypto_common::array;pub use crypto_common::typenum;pub use block::*;pub use stream::*;
Modules§
- Traits used to define functionality of block ciphers and modes of operation.
- Type aliases for many constants.
- Traits which define functionality of stream ciphers.
Macros§
- Define block cipher test
- Define block decryptor benchmark
- Define block encryptor benchmark
- Define block mode decryption test
- Define block mode encryption test
- Define
IvStatetest - Create stream cipher benchmarks
- Test stream synchronous stream cipher seeking capabilities
- Test core functionality of synchronous stream cipher
Structs§
Arrayis a newtype for an inner[T; N]array whereNis determined by a genericArraySizeparameter, which is a marker trait for a numeric value determined by ZSTs that impl thetypenum::Unsignedtrait.- Custom pointer type which contains one immutable (input) and one mutable (output) pointer, which are either equal or non-overlapping.
- Custom slice type which references one immutable (input) slice and one mutable (output) slice of equal length. Input and output slices are either the same or do not overlap.
- The error type returned when key and/or IV used in the
KeyInit,KeyIvInit, andInnerIvInitslice-based methods had an invalid length.
Traits§
- Trait which stores algorithm name constant, used in
Debugimplementations. - Types which process data in blocks.
- Types which can be initialized from another type and additional initialization vector/nonce.
- Types which use initialization vector (nonce) for initialization.
- Trait for loading current IV state.
- Types which can be initialized from key.
- Types which can be initialized from key and initialization vector (nonce).
- Types which use key for initialization.
- Types which can process blocks in parallel.
Type Aliases§
- Block on which
BlockSizeUserimplementors operate. - Initialization vector (nonce) used by
IvSizeUserimplementors. - Key used by
KeySizeUserimplementors. - Parallel blocks on which
ParBlocksSizeUserimplementors operate.