Skip to main content

Cryptography & Ciphers

AES Decryption

Apply AES Decrypt with explicit key, format, and algorithm settings. Enter the data and key material, choose the parameters, then review the result.

Tool workspace

Your input stays in this browser.

Add the required input to continue.

Needs input

Run the tool when your input is ready.

For GCM, paste the complete JSON envelope. Legacy modes use the selected ciphertext format.

Options

Enter a key with exactly 16, 24, or 32 bytes in the selected format.

GCM authenticates encrypted data. Legacy modes do not authenticate data. Use them only for compatibility.

Your result appears here

Apply AES Decrypt with explicit key, format, and algorithm settings. Enter the data and key material, choose the parameters, then review the result.

This tool runs open-source code from CyberChef by GCHQ (Apache License 2.0). See open-source credits.

AES Decryption opens the JSON envelope that AES Encryption creates in GCM mode. It checks the 16-byte authentication tag before it returns any plaintext. A wrong key, a changed field, or edited associated data stops decryption with an error. Legacy modes decrypt bare ciphertext with an explicit IV.

A valid envelope and key return the original plaintext. Any mismatch returns “AES-GCM authentication failed. Check the key and encrypted data.” and no partial output.

  • Recover a value you encrypted earlier with AES Encryption.
  • Prove that tampering is detected by editing one hex digit and decrypting again.
  • Decrypt CBC or CTR data from another system when you know the key and IV.

Sources: NIST SP 800-38D: GCM authenticated encryption; OWASP cryptographic storage guidance

Instructions

  1. Paste the complete JSON envelope into Encrypted data. Keep Mode at GCM.
  2. Enter the same key with the same Key format. Its length must match keyBits in the envelope.
  3. Select Decrypt. The plaintext comes back as text or hex, following the envelope's plaintextEncoding field.
  4. For a legacy mode, paste the ciphertext, choose the mode, and enter the 16-byte IV or the IV position.

Example

Input: 60e541edae5816c353d97f91a5c605a5

Settings: Key format Hex, Key 000102030405060708090a0b0c0d0e0f, IV format Hex, IV 101112131415161718191a1b1c1d1e1f, IV Length 16, Mode CBC (legacy, unauthenticated), Input Hex, Output Raw, IV from input Off

Result: Hello, world!

CBC has no authentication tag. It cannot detect changed ciphertext.

Limits

  • Only envelopes in this site's format work in GCM mode. GCM output from other tools needs its IV, tag, and associated data rebuilt into that format.
  • Legacy modes have no tag. A wrong key or IV can return garbage instead of an error.
  • The envelope is limited to 3 MiB of JSON input.
  • Authentication proves the data was not changed. It does not show who created it.