πŸŒ‹ Chaos Encryptor

Browser-first file encryption powered by video-based entropy

Encryption
AES-256-GCM
Post-Quantum
ML-KEM-768
Privacy
Client-Only

πŸ“‹ How It Works

Three security levels available: Basic (AES only), Quantum-Safe (AES + Kyber key wrapping), or πŸŒ‹ Maximum Security (Quantum-Safe + 100% video-based entropy)

πŸ” Understanding the Three Security Levels (click to expand)

Several major organizationsβ€”most famously Cloudflareβ€”use lava lamps as a real-world source of randomness to generate cryptographic entropy. In Cloudflare's San Francisco headquarters, a wall of hundreds of lava lamps is continuously filmed, and the constantly changing, unpredictable motion of the wax inside each lamp is converted into digital data. This randomness, derived from physical chaos, helps seed encryption keys used to secure internet traffic for millions of users.

The key reason this method is so valuable is that true randomness cannot be simulated by a computer alone. Software-based "random number generators" are actually pseudo-randomβ€”they rely on mathematical algorithms that, given the same input, will always produce the same output. Lava lamps, on the other hand, embody natural entropy: fluid dynamics, heat, light, and chaos that are impossible to precisely replicate or predict. By anchoring digital security in real-world unpredictability, systems like these protect cryptography from deterministic weaknesses and ensure genuinely secure encryption.

πŸ” Level 1: Basic (AES-256 Only)

Your file is encrypted with military-grade AES-256-GCM. You receive an encryption key that you must keep safe.

⚠️ Consideration: AES-256 itself remains strong even against quantum computers, but the bare encryption key is stored/transmitted without quantum-resistant protection. If you need to protect the key itself with post-quantum cryptography, use Level 2 or 3.


πŸ›‘οΈ Level 2: Quantum-Safe (AES + Kyber Key Wrapping)

Your file is still encrypted with AES-256-GCM, but here's the critical difference: the AES encryption key is wrapped (protected) inside a quantum-resistant ML-KEM-768 (Kyber) envelope.

πŸ’‘ How is this quantum-safe if the file is still AES-encrypted?

The encrypted file itself uses AES-256 (which remains strong against quantum attacks). The critical protection is that the AES key is never stored directly. Instead:

  1. The AES key is encapsulated using your ML-KEM public key
  2. The wrapped key is saved in a .mlkem.json file
  3. To decrypt, you need your Kyber private key to unwrap the AES key
  4. ML-KEM (Kyber) is designed to resist quantum computer attacks

Result: The AES key is protected by a quantum-resistant wrapper. Without your Kyber private key, no one (including quantum computers) can extract the AES key from the .mlkem.json file.

πŸ“¦ What you keep: Encrypted file + .mlkem.json file + Your Kyber private key (or the displayed AES key as backup)


πŸŒ‹ Level 3: Maximum Security (Quantum-Safe + Video Entropy)

This is Level 2 (Quantum-Safe) with an additional layer of paranoia: all randomness comes from your video source instead of browser/system random number generators.

When you enable "πŸŒ‹ Maximum Security" mode, the system collects approximately 24 frames total:

  • 12 frames for AES key derivation (entropy seed)
  • 12 frames for Kyber encapsulation randomness

πŸ”₯ Why use video entropy for Kyber?

Browser random number generators (crypto.getRandomValues) are generally secure, but some security-critical applications worry about potential backdoors or weaknesses in hardware/software RNGs. By using physical chaos (lava lamps, flowing water, etc.) for all randomness, you ensure complete independence from potentially compromised system generators. This is the highest level of paranoia for maximum-security scenarios.

πŸŽ₯ Trade-off: Takes ~2-3 seconds longer to collect extra entropy, but provides 100% physical randomness for both encryption layers.

  1. 1 Before you start: Set up your entropy source (lava lamps, flowing water, traffic, trees in wind, etc.). If using quantum protection, generate your Kyber keys first β€” you'll paste the public key during encryption and save the private key securely for later decryption
  2. 2 Enable your camera and point it at your chaos source. The system captures visual entropyTrue randomness from unpredictable physical chaos - continuously changing patterns create unguessable cryptographic material from the continuous motion
  3. 3 Choose your file to encrypt. Optionally add a passphrase to modify key derivation, or paste a Kyber public key for quantum-resistant protection
  4. 4 Click Encrypt. The system extracts entropy using BLAKE3Fast cryptographic hash function (falls back to SHA-256 if unavailable), derives your encryption key via HKDFGenerates strong keys from raw entropy, and encrypts with AES-256-GCMMilitary-grade authenticated encryption. Camera stops automatically when done.
  5. 5 Download your encrypted file (.enc) and copy the encryption key (hidden by default - click the eye icon πŸ‘οΈ to view, or copy directly). With Kyber: also download the .mlkem.json file. Without these keys, your file cannot be decrypted!
πŸ“Ή
βœ“
Video Entropy Source

Point your camera at chaotic motion: lava lamps, flowing water, traffic, trees in wind, or anything unpredictable.

πŸ’‘ More motion = better entropy. Avoid static scenes. Camera stops automatically after collecting entropy.

1 2 3 4
1
Choose File
πŸ“
Click or drag file here

Add an extra layer of security by mixing your own passphrase into the encryption key The passphrase is combined with video entropy during key derivation, making the final AES key dependent on both sources .

Protect your encryption key with post-quantum cryptography ML-KEM-768 (Kyber) wraps the AES key in a quantum-resistant envelope designed to protect against future quantum computer attacks on the key .

Ready to encrypt! The meter below shows current motion quality.

1 / 6