[go: up one dir, main page]

Crate cipher

Crate cipher 

Source
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
devdev
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 IvState test
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
Array is a newtype for an inner [T; N] array where N is determined by a generic ArraySize parameter, which is a marker trait for a numeric value determined by ZSTs that impl the typenum::Unsigned trait.
InOut
Custom pointer type which contains one immutable (input) and one mutable (output) pointer, which are either equal or non-overlapping.
InOutBuf
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.
InvalidLength
The error type returned when key and/or IV used in the KeyInit, KeyIvInit, and InnerIvInit slice-based methods had an invalid length.

Traits§

AlgorithmName
Trait which stores algorithm name constant, used in Debug implementations.
BlockSizeUser
Types which process data in blocks.
InnerIvInit
Types which can be initialized from another type and additional initialization vector/nonce.
IvSizeUser
Types which use initialization vector (nonce) for initialization.
IvState
Trait for loading current IV state.
KeyInit
Types which can be initialized from key.
KeyIvInit
Types which can be initialized from key and initialization vector (nonce).
KeySizeUser
Types which use key for initialization.
ParBlocksSizeUser
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.