{
  "slug": "envelope-encryption",
  "term": "Envelope encryption",
  "aliases": [],
  "definition": "Envelope encryption protects data with a data-encryption key and protects that key with a separate key-encryption key.",
  "note": "Key hierarchy: the data-encryption key (DEK) encrypts the payload; the key-encryption key (KEK) wraps the DEK. Storage retains ciphertext and a wrapped DEK, while decryption needs an authorized path to unwrap the DEK. A KEK can protect many DEKs. [envelope-guide]\n\nWrapping protects the key's confidentiality and integrity. Wrapping the DEK alone does not authenticate payload bytes or an object identifier outside the protected input; the application must provide that binding. [key-wrap]\n\nArchitectural consequence: rewrapping the same DEK under a new KEK changes its encrypted representation, not the payload key. The existing payload ciphertext can remain unchanged. Re-encrypting the payload with a new DEK is a separate migration. [envelope-guide] [reencrypt-guide]\n\nRecovery dependency: losing the only usable unwrapping path can make retained ciphertext unreadable. Rotation alone leaves prior versions usable in the cited key-version lifecycle; it is not evidence of cryptographic erase. [rotation-guide]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "key-rotation",
    "cryptographic-erase",
    "authenticated-encryption"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "envelope-guide",
      "title": "Google Cloud KMS: Envelope encryption, data keys and key-encryption keys",
      "url": "https://docs.cloud.google.com/kms/docs/envelope-encryption",
      "accessed": "2026-11-14"
    },
    {
      "id": "rotation-guide",
      "title": "Google Cloud KMS: Key rotation, after you rotate keys",
      "url": "https://docs.cloud.google.com/kms/docs/key-rotation",
      "accessed": "2026-11-14"
    },
    {
      "id": "key-wrap",
      "title": "NIST SP 800-38F (2012): Methods for Key Wrapping, sections 3.1, 5.2 and Appendix B.2",
      "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf",
      "accessed": "2026-11-14"
    },
    {
      "id": "reencrypt-guide",
      "title": "Google Cloud KMS: Re-encrypting data, workflow",
      "url": "https://docs.cloud.google.com/kms/docs/re-encrypt-data",
      "accessed": "2026-11-14"
    }
  ],
  "updated": "2026-11-14",
  "provenance": [
    "Google Cloud KMS supplies the example hierarchy and key-version lifecycle; these are not guarantees about every storage device.",
    "NIST SP 800-38F is used for wrapping semantics, not to recommend every legacy algorithm in its 2012 edition."
  ]
}
