I have a need for true random number generation. I've been looking at a number of hardware solutions. Does anybody have any solid experiences with these? Any recommendations?

I don't think I can make a convincing argument for a lava lamp hack. ;)

  • Not that I don't think there will be some good answers here, but SO's tag on the subject has some goodies stackoverflow.com/questions/658622/… Jun 18, 2009 at 20:15
  • If you can't convince them that the lava lamp hack is not awesome, then you're obviously working for the wrong people. ;-)
    – MathewC
    Jun 18, 2009 at 20:23
  • Bah, I should have checked stackoverflow as well. I've toyed with the LavaRND solution, but I don't think the lavalamp in the DC will fly. ;) It'd make for some fun nights, though.
    – dr.pooter
    Jun 18, 2009 at 20:27

9 Answers 9


We once bought a Protego SG100, but they hadn't released the Linux driver when we needed it so we never got around to using it. It looks like they have some newer products with various drivers now.

  • Very cool. I've taken a look at the Protegos and Linux support seems to be there, but I'm not sure on reliability. I've also been looking at a solution from Comscire. Thanks!
    – dr.pooter
    Jun 18, 2009 at 20:22
  • This was 10 years ago. It looks like they have Linux support now. Jun 18, 2009 at 20:33

Is there such a thing as a true random number generator? Random.org uses atmospheric noise to generate a random number, just need a really really long antenna.


Here is one idea:

"True random numbers from Wi-Fi background noise"


  • Great link. I'd missed this in my googling apparently.
    – dr.pooter
    Jun 18, 2009 at 20:24

Unless you need hundreds of billions of random #s, the easiest thing to do is just use random.org. You can purchase blocks from them if you go over the free allotment.

People have come up with some rather unique solutions to gain "street cred" with their random # generators (particularly online gaming sites). This random dice roller is my personal favorite ... generates 1.3 Million random dice rolls per day.

  • +1 for the dice roller, I was going to post that haha
    – Element
    Jun 19, 2009 at 0:48

If you want some scientific background here is the Random Number Generator homepage of the at the Department of Mathematics of the University of Salzburg in Austria.

We present results and links for this fundamental tool in stochastic simulation and in applied cryptography, some of them due to our own research in this field. Enjoy the data and allow for necessary incompleteness and subjectivity.

Here is another interesting page about REG design in a project at Princton University:

The Global Consciousness Project uses three different random event generators (REG or RNG). These are the PEAR portable REG, the Mindsong Microreg, and the Orion RNG. All three use quantum-indeterminate electronic noise.

They are designed for research applications and are widely used in laboratory experiments. They are subjected to calibration procedures based on large samples, typically a million or more trials, each the sum of 200 bits. In the GCP application, an unbiased mean is guaranteed by XOR logic. Although they have different fundamental noise sources, they all provide high-quality random sequences that are functionally equivalent.


The Via C3 processor has a hardware random number generator based on two units built from several . Drivers are available in the Linux kernel.

There's a detailed analysis available and the results seem quite favorable. It wouldn't be hard or expensive to buy a few C3 boards and rack them in your DC.


Your question makes me think of the truerand library from... what was it, 1999? The idea there was getting true randomness from measuring clock drift. If I recall correctly, the idea was that that's subject to quantum phenomena, so whatever entropy it gives you is really, really good entropy.


Take a look at http://www.fourmilab.ch/onetime/. It's a one-time pad generator package that contains the source code to a separate, software-based pRNG. At the very least, it will provide some insight on the complexities of generating randomness on a computer.


Applied brownian motion or weibull distribution.

  • IANAMM (I am not a math major). But I play one on ServerFault. To the best of my knowledge, each of these has deficiencies when considering true randomness. Right?
    – dr.pooter
    Jun 18, 2009 at 22:29
  • 7 generators are Lehmer, Rotenberg, GGL, Neave Oakenfull (2) and Wichmann-Hill docs.python.org/library/random.html Weibull function or Brownian motion are also wellknown randomnesses: import random print random.weibullvariate(2,2) output: 1.85255758863 Nov 29, 2009 at 5:54

Not the answer you're looking for? Browse other questions tagged .