Understanding AES-256-CBC
AES-256-CBC is a powerful symmetric encryption standard. CBC stands for Cipher Block Chaining, which ensures that each block of plaintext depends on the previous block's ciphertext, making patterns invisible to attackers.
1. The Initialization Vector (IV)
The IV is essential for ensuring that encrypting the same message twice results in different ciphertext. In OpenSSL, this is derived alongside the key from your password and a random 8-byte salt.
2. Key Derivation Logic
Your password is converted into a binary key using a Key Derivation Function (KDF). This tool implements the standard OpenSSL EVP_BytesToKey method, allowing for seamless compatibility with files generated via the command line.
3. Mobile-First Security
We use the Web Crypto API, a built-in browser feature that provides high-performance, secure cryptographic operations without external dependencies, making it perfect for both desktop and mobile web environments.