No, it actually and literally is truly random. You’d need to know everything about the hardware itself and the environment around it in incredible detail (incl. the temperature of every individual small patch of material, air flow and the state of air in and around the case) to reliably predict the initial entropy for a given modern system, since tiny changes in e.g. temperature will completely change the input.
It’s only a small bit of entropy, but enough to kick-start the RNG in a way that can reliably create high-quality entropy.
KairuByte@lemmy.dbzer0.com 1 year ago
So you’re literally arguing that knowable inputs, however unlikely knowing those inputs might be, run through known deterministic calculations, results in a guaranteed unknowable output?
FooBarrington@lemmy.world 1 year ago
No, I’m arguing that the inputs aren’t knowable to the required degree in the general case, which defines their entropy, and that entropy isn’t mathematically lost, it’s improved through deterministic calculations.
KairuByte@lemmy.dbzer0.com 1 year ago
The same was thought about previous iterations on random number generators. The first I am aware of used an extremely precise time stamp, and ran the calculations on that. On the assumption that no one could possibly know the exact timestamp used. That was obviously untrue, which can be verified by the fact that such systems have been broken before.
Just because you can’t conceive of a way to know the values, does not make them unknowable. It just makes it improbable to happen.
And again, I’m not saying the random numbers we can produce now are currently breakable. But that doesn’t mean that a decade from now, or even a century, they will remain unbroken.
FooBarrington@lemmy.world 1 year ago
Say I’m restarting my phone, and it uses details like temperature fluctuations in CPU sensors as entropy. How would you know all the required values? Since I’m holding the phone in my hand, the temperature of my hand (and consequently body temperature) are relevant, not to mention the air around my phone. How would you find those values at the exact time the sensors are read?