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

Modules

  • Type aliases for many constants.
  • devdev
    Development-related functionality
  • streamstream
    Streaming AEAD support.

Macros

Structs

  • Error type.
  • OsRnggetrandom
    A random number generator that retrieves randomness from the operating system.
  • Payloadalloc
    AEAD payloads (message + AAD).

Traits

  • Aeadalloc
    Authenticated Encryption with Associated Data (AEAD) algorithm.
  • Authenticated Encryption with Associated Data (AEAD) algorithm core trait.
  • In-place stateless AEAD trait.
  • AeadMutalloc
    Stateful Authenticated Encryption with Associated Data algorithm.
  • In-place stateful AEAD trait.
  • In-place encryption/decryption byte buffers.
  • Types which can be initialized from key.
  • Types which use key for initialization.

Type Definitions

  • Key used by KeySizeUser implementors.
  • Nonce: single-use value for ensuring ciphertexts are unique
  • Result type alias with Error.
  • Tag: authentication code which ensures ciphertexts are authentic