Authenticated encryption with associated data
Authenticated encryption with associated data is a cryptographic construction that encrypts plaintext while authenticating the ciphertext and optional unencrypted associated data.
Real-World Cryptography
Authenticated encryption with associated data is a cryptographic construction that encrypts plaintext, authenticates the ciphertext, and authenticates optional associated data that remains unencrypted.
- How it is used
- Protects communications by combining plaintext confidentiality, ciphertext integrity, and optional authenticated metadata.
- How deep it goes
- Explains inputs, outputs, verification behavior, AES-GCM components, and nonce requirements without developing formal proofs.
- Examples
- Uses sender metadata, Alice-and-Bob message exchange, AES-CBC-HMAC comparison, and JavaScript Web Crypto API code.
- What you can do after
- Apply AEAD via AES-GCM or ChaCha20-Poly1305 while preserving associated data and preventing nonce reuse.
Read how Real-World Cryptography explains authenticated encryption with associated data →
Secure APIs
Authenticated encryption is encryption that provides confidentiality and integrity for ciphertext and optionally associated unencrypted data.
- How it is used
- Protects confidential plaintext and the integrity of selected unencrypted data in encrypted tokens.
- How deep it goes
- Defines ciphertext, authentication tags, associated data, and JWE components without detailing encryption algorithms or implementation steps.
- Examples
- Uses a JWE object containing a protected header, encrypted key, initialization vector, ciphertext, and authentication tag.
- What you can do after
- Evaluate how encrypted token structures preserve confidentiality and authenticate ciphertext plus protected metadata.
Read how Secure APIs explains authenticated encryption with associated data →
Software Security for Developers
Authenticated encryption with associated data is an encryption technique that simultaneously protects ciphertext confidentiality and authenticates both ciphertext and associated plaintext data.
- How it is used
- Secures messages and stored records against disclosure, tampering, and swapping while leaving selected headers readable.
- How deep it goes
- Explains plaintext headers, encrypted bodies, authentication tags, IVs, and Java configuration, but avoids cryptographic internals.
- Examples
- Uses plaintext headers, encrypted message bodies, payment records, AES-GCM Java encryption, and matching decryption inputs.
- What you can do after
- Apply it via Java Cipher and AES-GCM while binding associated data and avoiding IV reuse.
Read how Software Security for Developers explains authenticated encryption with associated data →
Related concepts
- Galois/Counter Modeincludes · Galois/Counter Mode is an authenticated-encryption mode that combines counter-mode encryption with authentication of ciphertext and associated data.
- Noise protocol frameworkused by · The Noise protocol framework is a framework for specifying secure communication protocols as fixed message patterns and cryptographic choices without runtime negotiation.
- ChaCha20-Poly1305includes · ChaCha20-Poly1305 is an authenticated-encryption-with-associated-data construction combining the ChaCha20 stream cipher with the Poly1305 message authentication code.
- JSON Web Encryptionused by · JSON Web Encryption is a JOSE standard for representing encrypted content and the information needed to decrypt and authenticate it.
- TLSused by · Transport Layer Security (TLS) is a cryptographic protocol that protects network communications through confidentiality, integrity, and authentication of communicating endpoints.
- PGPcontrasts with · PGP is a cryptographic standard for protecting messages and files with public-key encryption, digital signatures, and key management.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


