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;
dev
pub use crypto_common;
pub use crypto_common::rand_core;
rand_core
pub use inout;
pub use inout::block_padding;
block-padding
pub use zeroize;
zeroize
pub 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
IvState
test - Create stream cipher benchmarks
- Test stream synchronous stream cipher seeking capabilities
- Test core functionality of synchronous stream cipher
Structs§
Array
is a newtype for an inner[T; N]
array whereN
is determined by a genericArraySize
parameter, which is a marker trait for a numeric value determined by ZSTs that impl thetypenum::Unsigned
trait.- 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
, andInnerIvInit
slice-based methods had an invalid length.
Traits§
- Trait which stores algorithm name constant, used in
Debug
implementations. - 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
BlockSizeUser
implementors operate. - Initialization vector (nonce) used by
IvSizeUser
implementors. - Key used by
KeySizeUser
implementors. - Parallel blocks on which
ParBlocksSizeUser
implementors operate.