If you’re a geek with an interest in cryptography, you know that one of the hardest problems in practical cryptography is random number generation. A weak PRG (pseudorandom number generator) is one of the surest ways to get a cryptographic protocol compromised. Most PRGs depend on random events such as mouse activity, disk latency, and other such non-deterministic events to seed the PRG with the required randomness.
You may also know that lava lamps, that refuge from the 1960s, can also produce random numbers1 but if you’re like me, you’ve probably always considered that a (geek) cocktail party factoid of no particular use. It turns out I couldn’t have been more wrong. Cloudflare, which handles about 10% of international Internet Web traffic, uses lava lamps to generate their random numbers. They have a wall with over 100 lava lamps that are busily bubbling away. A video camera captures the action and sends it to a computer for conversion into random numbers. This is an elegant and relatively low cost way of producing the large amount of random numbers that an operation like Cloudflare requires.
Oddly, the 53 year old fad remains strong to this day and you can still get a lava lamp. It makes me wonder what the Hippies would have thought of their beloved lava lamps being used as an integral part of computer communications.
Footnotes:
If you’re interested in the details, here’s a nice explanation. It’s a lot simpler than you might think.