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.
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
- Paste the complete JSON envelope into Encrypted data. Keep Mode at GCM.
- Enter the same key with the same Key format. Its length must match keyBits in the envelope.
- Select Decrypt. The plaintext comes back as text or hex, following the envelope's plaintextEncoding field.
- 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.