Hardware random number generator

Hey all,

I’m looking for a cheap HWRNG IC. Any know of any?

I’ve found http://www.protego.se/r300a.htm, though its rather expensive (60 EUR).

That’s the only one I’ve found thus far.


Many years ago I made one from two electrodes, small tube, cotton wool and silver nitrate solution.

Put the cotton wool in the tube, add the electrodes and add enough solution to make the cotton wool damp.

The idea is that you bias it through a resistor with some voltage. The field causes dendrites to grow between the electrodes on the cotton wool. When they short together they fuse and give a voltage pulse across the cell. If you time the pulses it is a random number.

Depending on how random you actually need it, you can read an unconnected analog in pin to seed the random number generator in the Arduino.

Read this example:

You can get somewhat better results using that, coupled with micros() and I’ve seen a light sensor added to that yet. It’s not truly random, but combining 2 or 3 sources as the seed helps improve the result.

If you’re interested in building one, the folks at lavarnd.org used a CCD from a webcam…


At one time, they had a detailed description of how they built theirs. I think they even provided the source code for converting noise to a random bitstream.

The folks at random.org use radio receivers…


They used to have some details on their website.

Here, use your Arduino as a True Random Number Generator:

Uses avalanch noise from a transistor junction.
Schematic and sketch.

I’m really after just a single component for simplicity of implementation, wouldn’t need more than 4 pins.

Home baked solutions are full of issues, a look at RNG Version 2 or other DIY attempts demonstrates this.

Home baked solutions are full of issues

Yes not least of which is that electrical noise is not truly random but follows a distribution.

DIY attempts are no more or less accurate than commercial solutions based on the same physical phenomenon, however you will pay a lot for commercial solutions because there is not much call for this sort of thing and so there is no economy of scale.

Th UK premium bond system uses decay of a radio active isotope to work out it’s bond numbers.

Th UK premium bond system uses decay of a radio active isotope to work out it’s bond numbers

Sorry, no, it uses thermal noise.

OK so I looked at Wikipedia and they say thermal noise but I think they are wrong.
This is a thread that came from a designer working for the factory that made the unit:-

I think where they are going wrong is that the neon tubes that Wikipedia talks about were actually the output from a GM counter. There is also an Journal of Physics paper from 1970 that talks about it (from a google search) but I am not going to pay £18 to prove I am right, do you want to pay it to prove I am wrong? :wink:


It is also mentioned in a patent application:-