Visual RFC.
ALL RFCs / RFC 7516
Read the RFC ↗

RFC 7516 / START HERE

JWE, before the details

JWE: JSON Web Encryption

JWE is a format for carrying encrypted content and the information needed by an intended recipient to decrypt it.

The idea in one picture

  1. A sender encrypts content

  2. JWE packages the protected payload

  3. An intended recipient decrypts it

A simplified picture of the idea; the chapters explain the actual mechanisms.

Why it exists

Some messages need confidentiality as well as integrity. A standard envelope lets different implementations exchange protected content.

A familiar example

A service encrypts a sensitive payload for a recipient with the appropriate decryption key.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Five compact partsA compact JWE represents a protected header, encrypted key, IV, ciphertext, and authentication tag.
  2. Content keys and recipient keysA content-encryption key protects the payload; a selected key-management mode establishes that key.
  3. Associated data is checked tooAuthenticated encryption binds protected metadata as well as the encrypted content.
  4. Several recipients, one ciphertextThe general JSON representation can carry recipient-specific key material for one encrypted message.
  5. Decryption must authenticateRecovering candidate plaintext is not enough: the authenticated-encryption check must succeed.
Start with chapter one →

This introduction explains RFC 7516 (2015). Read the original RFC ↗