fwiw, I'm a programmer but don't know anything about random number generation (other than I'm not supposed to rely on the built-in random functions of most languages/libraries for security purposes because they're not truly random).
fwiw, I'm a programmer but don't know anything about random number generation (other than I'm not supposed to rely on the built-in random functions of most languages/libraries for security purposes because they're not truly random).
A similar circuit is explained in more technical detail here: http://www.nutsvolts.com/magazine/article/bipolar_transistor... (look for the "WHITE NOISE GENERATORS" chapter title)
[1]: https://en.wikipedia.org/wiki/Noise_generator#Zener_diode
Here's some information I had from a while ago. (Not all of this is about hardware RNGs) https://news.ycombinator.com/item?id=6060636
https://en.wikipedia.org/wiki/Noise_generator
http://holdenc.altervista.org/avalanche/
http://freenrg.info/Physics/Scalar_Vector_Pot_And_Rick_Ander...
You don't usually want to use truly random numbers for cryptography though; /dev/random is more appropriate. I've never understood why, exactly, but that's generally the advice.
On most systems, urandom and random are the exact same thing. Only Linux does this weird "blocking random" thing, based on some weird estimate of "running out of entropy" which is not an actual thing.
(u)random is powered by a CSPRNG which is seeded by "truly random numbers" gathered from multiple hardware sources.
There's no reason why you wouldn't want to use truly random numbers for cryptography. That's what /dev/random is supposed to provide.