Tool
Chaos image cipher
Upload any image; encrypt with a chaotic-map keystream + pixel permutation. Download the encrypted PNG. Re-upload it later with the same map, parameter and password to recover the original.
1. Choose a chaotic map
The seed and a perturbation are derived deterministically from this string.
2. Upload an image (PNG / JPEG)
Drag and drop, or click to choose a file.
Drop the encrypted output back here later (with the same key) to decrypt it.
3. Run
Drop an image to encrypt, or drop a previously-encrypted image and use the same key to decrypt.
How it works
1. Derive (seed, perturbation) from password via FNV-1a (fast non-cryptographic hash).
2. Iterate the chosen chaotic map starting from the seed; emit one byte per step.
3. XOR the keystream with each RGB byte of the input (alpha untouched).
4. (Optional) shuffle pixel positions via a Fisher-Yates permutation seeded by the same password.
5. Re-encode as PNG.
Encryption is symmetric: re-running with the same (map, parameter, password) on the
encrypted image reverses both stages exactly. PNG is used to avoid lossy re-compression.
Caveat: this is a chaos-crypto demo. For real cryptographic use, prefer AES-GCM or ChaCha20-Poly1305.See also the standalone PRNG at /tools/prng and the NIST randomness suite at /tools/nist. For the hash-function variant, see hash.suparnpatra.com/tools/image-encrypt.
FAQ