<a href="https://www.fourmilab.ch/hotbits/how3.html" rel="nofollow noreferrer">https://www.fourmilab.ch/hotbits/how3.html</a> is one algorithm I've seen before.<p>I'm just wondering with a very active source with this algorithm, could you potentially get a sequence of 0 - 15 being generated? (I could well be misunderstanding)<p>If a 'pulse' of activity from the source was detected at each interval
I'm not a math or a CS expert, but I naively "designed" a PRNG which was simply repeatedly doing hash(random_seed+counter).<p>Obviously you have to keep random_seed secure, and use a hashing algorithm that does not have easy collisions, but other than that, is there any actual downside to this method?
Not a crypto expert, but here's my understanding of the problem. The system just has to gain bits of entropy from the physical randomness source faster than the hardware and software leaks them. So one could feed the entropy into a stream cipher with the right characteristics.<p>What if one just counted the number of clicks, modulo 2? Then one could take the output of ChaCha20 or Salsa20 stream ciphers and every N outputs of the stream cipher, increment the stream cipher's counter bits 0 or 1 times. One would also have to re-key the stream cipher periodically. (Maybe after gathering 128 bits of output from the Geiger counter in another register, then using that.)
Have you tested how good the random numbers are?<p>I think they should be good, if the interval between clicks is much larger than the interval for the counter, but I may be missing something. Also, some source emit two particles and I don't know if there are interesting cascades of decompositions.<p>If two consecutive clicks are close enought, I expect an uneven distribution on increasing secuances like 13478AC023489BC...<p>Also, for very high click rates I expect missing double clicks.