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::*;
pub use tweak::*;
Modules§
- block
- Traits used to define functionality of block ciphers and modes of operation.
- consts
- stream
- Traits which define functionality of stream ciphers.
- tweak
- Traits used to define functionality of tweakable block ciphers.
Macros§
- block_
cipher_ test dev
- Define block cipher test
- block_
decryptor_ bench dev
- Define block decryptor benchmark
- block_
encryptor_ bench dev
- Define block encryptor benchmark
- block_
mode_ dec_ test dev
- Define block mode decryption test
- block_
mode_ enc_ test dev
- Define block mode encryption test
- iv_
state_ test dev
- Define
IvState
test - stream_
cipher_ bench dev
- Create stream cipher benchmarks
- stream_
cipher_ seek_ test dev
- Test stream synchronous stream cipher seeking capabilities
- stream_
cipher_ test dev
- Test core functionality of synchronous stream cipher
Structs§
- Array
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.- InOut
- Custom pointer type which contains one immutable (input) and one mutable (output) pointer, which are either equal or non-overlapping.
- InOut
Buf - 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.
- Invalid
Length - The error type returned when key and/or IV used in the
KeyInit
,KeyIvInit
, andInnerIvInit
slice-based methods had an invalid length.
Traits§
- Algorithm
Name - Trait which stores algorithm name constant, used in
Debug
implementations. - Block
Size User - Types which process data in blocks.
- Inner
IvInit - Types which can be initialized from another type and additional initialization vector/nonce.
- IvSize
User - Types which use initialization vector (nonce) for initialization.
- IvState
- Trait for loading current IV state.
- KeyInit
- Types which can be initialized from key.
- KeyIv
Init - Types which can be initialized from key and initialization vector (nonce).
- KeySize
User - Types which use key for initialization.
- ParBlocks
Size User - Types which can process blocks in parallel.
Type Aliases§
- Block
- Block on which
BlockSizeUser
implementors operate. - Iv
- Initialization vector (nonce) used by
IvSizeUser
implementors. - Key
- Key used by
KeySizeUser
implementors. - ParBlocks
- Parallel blocks on which
ParBlocksSizeUser
implementors operate.