Browser-first file encryption powered by video-based entropy
Three security levels available: Basic (AES only), Quantum-Safe (AES + Kyber key wrapping), or π Maximum Security (Quantum-Safe + 100% video-based entropy)
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.
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.
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:
.mlkem.json file
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)
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:
π₯ 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.
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.