Scientists have created the world's first nanophotonic electron accelerator, which speeds negatively charged particles with mini laser pulses and is small enough to fit on a coin.
But that’s my point: just because you apply deterministic steps to a truly random input doesn’t make the output not truly random. You use real entropy as your starting point, which is literally exactly what you call “true randomness”. This means the output has the same level of “true randomness” as your “truly random” input, because you mathematically don’t lose entropy along the way.
To put it more simply: you’re arguing from a philosophical perspective, not a mathematical one.
The input is not truly random though. If it was, we could just use that input, with no other steps, and have a truly random output. You’re confusing an unknown state with randomness.
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.
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?
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.
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.
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?
Yes, because 1) you’d need to know them with incredible precision, and 2) you can’t brute force, because you only have one chance. Otherwise you can also brute force anything that’s “truly random” as you put it.
That’s like asking “say I hit a button at a very specific time, how would you find that exact time?”
That’s the thing, it’s not like that. It’s more like “say I hit a button at a very specific time and roll hundreds of dice, how would I find that exact time and all the results of those dice”.
But that’s my point: just because you apply deterministic steps to a truly random input doesn’t make the output not truly random. You use real entropy as your starting point, which is literally exactly what you call “true randomness”. This means the output has the same level of “true randomness” as your “truly random” input, because you mathematically don’t lose entropy along the way.
To put it more simply: you’re arguing from a philosophical perspective, not a mathematical one.
The input is not truly random though. If it was, we could just use that input, with no other steps, and have a truly random output. You’re confusing an unknown state with randomness.
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.
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?
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.
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.
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?
You honestly think those values aren’t possible to estimate within a range then brute force?
That’s like asking “say I hit a button at a very specific time, how would you find that exact time?”
Yes, because 1) you’d need to know them with incredible precision, and 2) you can’t brute force, because you only have one chance. Otherwise you can also brute force anything that’s “truly random” as you put it.
That’s the thing, it’s not like that. It’s more like “say I hit a button at a very specific time and roll hundreds of dice, how would I find that exact time and all the results of those dice”.