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
A sender encrypts content
JWE packages the protected payload
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.
- Five compact partsA compact JWE represents a protected header, encrypted key, IV, ciphertext, and authentication tag.→
- Content keys and recipient keysA content-encryption key protects the payload; a selected key-management mode establishes that key.→
- Associated data is checked tooAuthenticated encryption binds protected metadata as well as the encrypted content.→
- Several recipients, one ciphertextThe general JSON representation can carry recipient-specific key material for one encrypted message.→
- Decryption must authenticateRecovering candidate plaintext is not enough: the authenticated-encryption check must succeed.→
This introduction explains RFC 7516 (2015). Read the original RFC ↗