3 ms·
Deterministic perfect random generation requires infinite memory. One way to see it is this: a perfect bit generator should output a 1 half the time on average
by espadrine 7y ago
Deterministic perfect random generation requires infinite memory.
One way to see it is this: a perfect bit generator should output a 1 half the time on average. (Let’s not talk about variance for this.)
Out of all sequences of two bits, it should output 11 a quarter of the time. It should output 111 an eighth of the time.
Assume you have N bits of state, and some computation on it produces N random bits and changes the state. Then, at best, a single initial state will give you a sequence of N consecutive ones. (If multiple initial states give you that output, then some other output of N bits cannot be output, which is a deviation from true random output.)
So the longest consecutive sequence of ones you can output is 3×N-2 (with the previous output being zero followed by N-1 ones, and the next output being the reverse).
Therefore, you cannot output a sequence of 3×N-1 consecutive ones, which is a deviation from true random generation that can be statistically detected, given a long enough output.
In some sense, physical processes that output true randomness rely on the large amount of information stored in the environment, and that environment’s diffuse state scrambling, that is presumably extremely hard for an attacker to detect.
For instance, the fine trajectory of electrons attracted from atom to atom through an electrical circuit causing minuscule delays, or the chaotic motion of gaseous atoms, or stronger yet, quantum behavior of particles.