Cloudflare's Lava Lamp Random Number Generator
-
Instead of relying on code to generate random numbers for cryptographic purposes, the lava lamps and the random lights, swirling blobs and movements are recorded and photographs are taken. This footage is then turned into a stream of random, unpredictable bytes which are used to help create the keys that encrypt the traffic that flows through Cloudflare's network.
-
I'm calling it, the next huge thing in cryptography will be farts as an entropy source. *runs like hell to the patent office*
-
@blek said in Cloudflare's Lava Lamp Random Number Generator:
I'm calling it, the next huge thing in cryptography will be farts as an entropy source. *runs like hell to the patent office*
Quick! Buy up those bean futures! I'm gonna be rich!
-
@blek
I would think that having the runs on the way to the patent office would be super uncomfortable and embarrassing.
-
@el_heffe it strikes me like a not very great idea - the naive idea of just streaming the bitmap bytes in would result in clusters of similar values, and image processing might attenuate patterns in the image (related eg. to the CCD properties).
You can hash the image with a strong enough crypto hash, I guess? But then you don't need the lava lamps, since even a pixel's worth of change will be good enough, so you might as well point it at the wall.
-
-
@blek said in Cloudflare's Lava Lamp Random Number Generator:
I'm calling it, the next huge thing in cryptography will be farts as an entropy source. *runs like hell to the patent office*
-
@maciejasjmj said in Cloudflare's Lava Lamp Random Number Generator:
You can hash the image with a strong enough crypto hash, I guess? But then you don't need the lava lamps, since even a pixel's worth of change will be good enough
He makes that exact point in the video, that even a single pixel change will result in a completely different byte stream. Yes, the CCD noise figures into the entropy.
-
@hardwaregeek said in Cloudflare's Lava Lamp Random Number Generator:
@maciejasjmj said in Cloudflare's Lava Lamp Random Number Generator:
You can hash the image with a strong enough crypto hash, I guess? But then you don't need the lava lamps, since even a pixel's worth of change will be good enough
He makes that exact point in the video, that even a single pixel change will result in a completely different byte stream. Yes, the CCD noise figures into the entropy.
So, you could just film your pet lizard in a tank and use that?
-
@xaade said in Cloudflare's Lava Lamp Random Number Generator:
@hardwaregeek said in Cloudflare's Lava Lamp Random Number Generator:
@maciejasjmj said in Cloudflare's Lava Lamp Random Number Generator:
You can hash the image with a strong enough crypto hash, I guess? But then you don't need the lava lamps, since even a pixel's worth of change will be good enough
He makes that exact point in the video, that even a single pixel change will result in a completely different byte stream. Yes, the CCD noise figures into the entropy.
So, you could just film your pet lizard in a tank and use that?
You could film an empty room and get enough noise to generate cryptographically secure random numbers.
-
-
You could indeed film anything and rely on the noise, but I guess that once they had the idea (or stole it from someone else, they do also mention Lavarand in the video that was posted somewhere else?), the cost of the lamps themselves is negligible and the idea is too cool and fun to not do it.
Also, this gives them a nice PR boost, since they've got something that looks nice in their office, that they can show around, that even non-computer scientists can relatively easily imagine (more so than white noise) etc. (in the video they were mentioning that other offices use other means of getting their entropy, which are less photogenic and easy to show).
Also also, with white noise there would be the potential worry that their noise isn't actually white. It's unlikely to matter with the hash afterwards, but it doesn't cost much to entirely remove this concern by using real physically chaotic objects rather than a blank wall.
-
@remi said in Cloudflare's Lava Lamp Random Number Generator:
Also also, with white noise there would be the potential worry that their noise isn't actually white.
That's why they use an object containing very obvious blobs of uniform color.
It's more of a PR thing - technically yes, they use the lava lamps, but the actual chaotic properties of the lava lamps aren't really contributing much to the entropy. It's like claiming "we use dice to generate random numbers" and then shoving them under a microscope - you'll probably get different results depending on which side they're on, but other factors play a much bigger part.
-
@maciejasjmj Yes, that's exactly what I was saying.
-
There was a thread about something similar here, some time ago: Fluid Random Number Generator.
-
@cvi You could do it easily with video/optical feedback https://www.youtube.com/watch?v=XVR_9PmhL6g
-
Why not use the chaotic properties of a fish tank?
-
@pie_flavor said in Cloudflare's Lava Lamp Random Number Generator:
Why not use the chaotic properties of a fish tank?
Or a really hot cup of tea
-
@jaloopa That should get you some geek cred. But you use that by dropping a wire in it, which only lets you get temperature, which may not yield enough random entropy?
-
@pleegwat It's a good source of finite improbability
-
@jaloopa said in Cloudflare's Lava Lamp Random Number Generator:
@pleegwat It's a good source of finite improbability
Don't you need a piece of fairy cake for that? Or is that only for the infinite perspective vortex...it's been too long since I read those books.
-
@benjamin-hall said in Cloudflare's Lava Lamp Random Number Generator:
@jaloopa said in Cloudflare's Lava Lamp Random Number Generator:
@pleegwat It's a good source of finite improbability
Don't you need a piece of fairy cake for that? Or is that only for the infinite perspective vortex...it's been too long since I read those books.
Well, even that can be fooled by creating a new universe. As one is wont to do when trying to fnagle pass-by-value in C++.
-
@pleegwat You also measure the Brownian motion by monitoring the dissolving sugar crystals and homogenization of the cream through the cup sidewall.
@Benjamin-Hall The fairy cake is for the Total Perspective Vortex, which shows you are a microscopic dot on a microscopic dot within a microscopic cluster of dots. The one thing we can't ever afford is a sense of perspective.
-
@twelvebaud said in Cloudflare's Lava Lamp Random Number Generator:
@pleegwat You also measure the Brownian motion by monitoring the dissolving sugar crystals and homogenization of the cream through the cup sidewall.
@Benjamin-Hall The fairy cake is for the Total Perspective Vortex, which shows you are a microscopic dot on a microscopic dot within a microscopic cluster of dots. The one thing we can't ever afford is a sense of perspective.
I thought it was so, but it's been years since I read those.