Plaintext / bytes
exact inputKey material
PassphraseAdditional authenticated data (AAD)
authenticated · not encryptedGCM decryption requires the exact same AAD. The envelope stores it as Base64URL so byte identity is preserved.
Raw components
Security audit
Encrypted envelope
WaitingDecryption secret
Envelope inspector
Encrypt a local file
Uses AES-GCM and the key settings from the Encrypt tab. The result is a portable .ofpaes.json file containing encrypted bytes and metadata.
Decrypt an .ofpaes file
Select an envelope file created by this tool. The secret comes from the Decrypt tab, so you can inspect exactly which key material is being used.
Node.js · AES-GCM
Envelope contract
Portable design rule
The envelope records algorithm, IV, ciphertext, authentication tag, optional AAD and KDF parameters. It deliberately excludes the secret. Keep the envelope and secret separate.
Use GCM for new designs
AES-GCM combines encryption and authentication. Reusing an IV with the same key is dangerous, so this tool generates fresh random IVs automatically.
AAD is authenticated metadata
AAD is not hidden, but any modification causes GCM authentication failure. It is useful for protocol versions, record IDs or contextual metadata.
Passphrases need a KDF
Human passwords are not AES keys. The passphrase workflow derives a fixed-length key with PBKDF2-SHA-256 and a fresh random salt stored in the envelope.
CBC compatibility mode
AES-CBC is included for interoperability only and does not provide integrity by itself. Pairing CBC with authentication is protocol work; do not invent a new CBC construction.
Privacy
Encryption, decryption and file processing are performed locally using the browser Web Crypto API. The package contains no analytics or network dependencies.
Key recovery
There is no recovery mechanism. If you lose the raw key or passphrase, the tool cannot decrypt your data.