Crate aead

source ·
Expand description

Authenticated Encryption with Associated Data (AEAD) traits

This crate provides an abstract interface for AEAD ciphers, which guarantee both confidentiality and integrity, even from a powerful attacker who is able to execute chosen-ciphertext attacks. The resulting security property, ciphertext indistinguishability, is considered a basic requirement for modern cryptographic implementations.

See RustCrypto/AEADs for cipher implementations which use this trait.

Re-exports

pub use generic_array;
pub use rand_core;

Modules

Type aliases for many constants.

Structs

Error type.
AEAD payloads are a combination of a message (plaintext or ciphertext) and “additional associated data” (AAD) to be authenticated (in cleartext) along with the message.

Traits

Authenticated Encryption with Associated Data (AEAD) algorithm.
Authenticated Encryption with Associated Data (AEAD) algorithm core trait.
In-place stateless AEAD trait.
Stateful Authenticated Encryption with Associated Data algorithm.
In-place stateful AEAD trait.
In-place encryption/decryption byte buffers.
Instantiate either a stateless Aead or stateful AeadMut algorithm.

Type Definitions

Key for a NewAead algorithm
Nonce: single-use value for ensuring ciphertexts are unique
Result type alias with Error.
Tag: authentication code which ensures ciphertexts are authentic