Is AES-256 encryption secure?
Yes. AES-256 is the cryptographic standard mandated by NIST and approved globally for securing sensitive government, military, and financial communications.
What is an Initialization Vector (IV)?
An IV is a cryptographically random data block that seeds the cipher. It ensures that encrypting the same text twice with the same passphrase produces entirely different ciphertexts.
How does the tool bundle the salt and IV?
To allow seamless decryption later, the output string combines the randomly generated Salt (16 bytes), IV (12 or 16 bytes), and Ciphertext into a unified Base64 or Hex string.
Why does decryption fail when using the correct passphrase?
Ensure that the Algorithm Mode (GCM vs CBC) and Format (Base64 vs Hex) match the exact settings selected during encryption. Any mismatch causes decryption to fail.
What is PBKDF2 key derivation?
PBKDF2 (Password-Based Key Derivation Function 2) applies 100,000 iterations of SHA-256 to stretch your text passphrase into a secure 256-bit binary encryption key.
Are my passphrases or data sent to external servers?
No. All cryptographic operations run 100% locally in your browser using the native Web Cryptography API (`window.crypto.subtle`).
What is the difference between AES-128, AES-192, and AES-256?
AES-256 uses a 256-bit key length with 14 rounds, providing maximum computational resistance against quantum and brute-force attacks compared to 128-bit or 192-bit keys.
Why is GCM mode preferred over CBC mode?
AES-GCM provides Authenticated Encryption (AEAD). It verifies that the payload has not been modified or tampered with, whereas CBC only provides confidentiality and is susceptible to padding oracle attacks if unauthenticated.
Can I recover encrypted data if I lose my passphrase?
No. AES-256 is a mathematically secure standard with no backdoors. If the secret passphrase is lost, the encrypted data cannot be recovered.
Is there a limit to the size of the text I can encrypt?
The Web Cryptography API handles text files and payloads up to 50MB smoothly inside browser memory.
What is the difference between Base64 and Hexadecimal output encoding?
Base64 uses 64 characters to represent binary data in a shorter string format, while Hexadecimal uses 16 characters (0-9, a-f) resulting in slightly longer strings. Both represent identical binary cipher data.
Can I use AES-256 to encrypt JSON API payloads?
Yes! You can stringify any JSON object and encrypt it with AES-256 to securely transmit sensitive payloads over untrusted networks.
Is this tool compatible with Node.js crypto module?
Yes. The PBKDF2 salt, IV, and AES parameters match Node.js `crypto.createCipheriv()` standards.
Are there keyboard shortcuts?
Press `Ctrl+L` (or `Cmd+L` on Mac) to reset all fields instantly.