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::*;pub use tweak::*;
Modules§
- block
- Traits used to define functionality of block ciphers and modes of operation.
- consts
- dev
dev - Development-related functionality
- stream
- Traits which define functionality of stream ciphers.
- tweak
- Traits used to define functionality of tweakable block ciphers.
Macros§
- block_
cipher_ test - Define block cipher test
- block_
decryptor_ bench - Define block decryptor benchmark
- block_
encryptor_ bench - Define block encryptor benchmark
- block_
mode_ test - Define block mode test
- iv_
state_ test - Define
IvStatetest - stream_
cipher_ bench - Create stream cipher benchmarks
- stream_
cipher_ seek_ test - Test stream synchronous stream cipher seeking capabilities
- stream_
cipher_ test - Test core functionality of synchronous stream cipher
Structs§
- Array
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.- 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, andInnerIvInitslice-based methods had an invalid length.
Traits§
- Algorithm
Name - Trait which stores algorithm name constant, used in
Debugimplementations. - 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
BlockSizeUserimplementors operate. - Iv
- Initialization vector (nonce) used by
IvSizeUserimplementors. - Key
- Key used by
KeySizeUserimplementors. - ParBlocks
- Parallel blocks on which
ParBlocksSizeUserimplementors operate.