Crate aead[][src]

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.


pub use generic_array;
pub use heapless;
pub use rand_core;


Type aliases for many constants.


Development-related functionality


Streaming AEAD support.


Implement the decrypt_in_place method on AeadInPlace and [AeadMutInPlace], using a macro to gloss over the &self vs &mut self.

Define AEAD test


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.



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