>> The single user case, a lot less confident, yes, PLL's tend to be noisy >> devices, and may well be behaving like a real entropy source here, however >> my EE background is 20 years old, and things may have changed - plus, you >> don't really know what the source of the noise is, that'd require access to >> the underlying hardware design, and probably quite a lot of time. >> I suspect that simply checking the distribution is going to be as effective >> in practice as having more knowledge in any case - I think I'd also be >> resetting the machine, grabbing a sample (repeat) and and running multiple >> samples through cross-correlation functions, just to ensure it isn't >> effectively just a sequence generator initialized at boot. > > Just as quick-n-dirty test to acquire a taste. Attached are > cross-correlation vector for C6455, whole picture and "zoom-in", and > "random input" of same size. It's cross-correlation between two halves > of same 131072-samples set, so it's essentially auto-correlation. I've > chosen to process two halves exclusively because I wanted to get rid of > spike in the middle indicating perfect correlation with itself. "random > input" is uniformly distributed pseudo-random sequence and presented > solely as something to compare with.
For for reference. How does a "bad" cross-correlation vector look like? I.e. for a periodic signal? For sine it looks like this: /\ / \ / \ / \ / \ \ / \ / \ / \ / \/ with maximum at 1 and minimum at -1. Recall that cross-correlation vector for pseudo-random sequence was an "oval" with "height" of ~0.03, while for OPENSSL_instrument_bus output "Rorschach inkblot" with "height" of ~0.2. It's somewhat educational to look at cross-correlation vectors from systems with timer interrupt. Consider attached picture. The "jagged pyramid" is manifestation of system timer. If interrupts are "suppressed" it looks more like ~0.05 "high" "fish".
<<inline: core2_autocorr.jpg>>