Electronic – Method of generating a random binary number using gates

digital-logicrandom number

I was wondering how a computer or any other device can generate random numbers. Is there a way to do this using only digital parts(non-programmable parts such as gates)? When I think of it, it seems like there has to be an "analog side" to generate random numbers. How can one make a multi-bit random number?

Best Answer

See this article

enter image description here

Uncertain Circuits: When transistor 1 and transistor 2 are switched on, a coupled pair of inverters force Node A and Node B into the same state [left]. When the clock pulse rises [yellow, right], these transistors are turned off. Initially the output of both inverters falls into an indeterminate state, but random thermal noise within the inverters soon jostles one node into the logical 1 state and the other goes to logical 0.

Also see the white paper (Respawned Fluff note: This is for an older Intel method, using two free-running oscillators, not the one described above.)