Yes, they very nearly are. To a man with a memory of 30 minutes or so,
every new year is unrelated to the old one. To a statistical test that
only looks back on the last 30 bytes or so of history for a
low-probability event, something that changes every few MB won't affect it.
This distinguisher works on samples of any four bytes of output from any
RC4 stream regardless of keying. (But it needs less data if you're give
it slightly longer sequences.) Which is the key property of an RNG:
every output value is the same until you look at it.
Which is why I'm wondering what exactly, this 'multi-consumer' design
feature is all about. Is it simply that more userland stuff is pinging
the kernel at unpredictable times resulting in more timestamps feeding
into the central entropy pool? It seems like you could accomplish that
with any syscall. Or is there some other effect being claimed?
- Marsh