Symmetric encryption converts a message from plain, readable characters into structured cipher text using mathematical permutations driven by a secret key. Because the operation is mathematically reversible only with that identical key, it lets two parties exchange information privately across everyday, insecure channels such as email threads or shared cloud notes.
This tool applies the principle by accepting your text, password, preferred cipher suite, and optional salt or initialisation vector, then executing the chosen algorithm entirely inside your browser. During encryption it derives a fixed-length key from the password, combines the key with a random or supplied vector, and outputs cipher text in Base-64 or hexadecimal form.
You might paste a short project update, choose AES-GCM 256-bit, and email the resulting cipher block to a colleague who already knows the shared password, preserving confidentiality without installing software or opening accounts. If you forget the password or discard the vector, the data remains inaccessible; always record those secrets securely.
Password-based symmetric cryptography relies on deriving a binary key from a human-readable passphrase and, optionally, a random salt. The derived key feeds an authenticated cipher such as AES-GCM or ChaCha20-Poly1305, which combines the key, a unique non-repeating initialisation vector, and the message to generate cipher text plus an authentication tag. The tag enables tamper detection, while vector reuse prevention guards against pattern leakage, making the scheme suitable for secure but friction-free text exchange.
Algorithm | Key Size | IV / Nonce |
---|---|---|
AES-GCM-128 | 16 bytes | 12 bytes |
AES-GCM-256 | 32 bytes | 12 bytes |
ChaCha20-Poly1305 | 32 bytes | 12 bytes |
XChaCha20-Poly1305 | 32 bytes | 24 bytes |
AES-ECB | 32 bytes | Not used |
Triple DES-ECB | 24 bytes | Not used |
Rabbit / RC4 family | Variable | Not used |
Authenticated modes provide built-in integrity; non-authenticated stream and block modes omit tamper detection and are suitable only for legacy compatibility.
Example (AES-GCM-256, “Hello, world!”):
Final output: v∥C∥T
encoded as Base-64.
AES-GCM mode: NIST SP 800-38D; ChaCha20-Poly1305: RFC 8439; SHA-256: FIPS 180-4; PKCS #7 padding specification for legacy block ciphers.
All operations run locally; the process handles no personally identifiable information under GDPR or HIPAA definitions.
Follow these steps to protect or reveal text using your chosen cipher suite.
No. Processing occurs entirely within your browser tab, and nothing is transmitted to any server.
AES-GCM-256 and XChaCha20-Poly1305 provide modern, authenticated encryption; choose one of these unless legacy compatibility is required.
No. The algorithms are designed to resist brute-force guessing; forgotten passwords render the data permanently unreadable.
A salt forces unique key derivation for identical passwords, thwarting pre-computed dictionary attacks.
Yes. AES-GCM requires a 12-byte vector; ChaCha20 uses 12 or 24 bytes. Reusing or truncating vectors defeats the cipher’s security guarantees.