As a systems engineer, I understand the nuances where a conventional computer must follow the directions of it's master (or masters).

When it comes to random number generation, we encounter a bit of a paradox where we are attempting to tell the computer to just make something up, but in order to do so, we need to instruct it how to do it via fancy algorithms, 'seed' generation (more algorithms), which the result is never truly random, no matter how complex the algorithm may be.

Along comes a site like random.org which claims it uses atmospheric noise to generate it's 'random' values.

I have a couple of problems with this concept which are as follows :

  • Our atmosphere is filled with lots of non-random noise (radio waves, light noise, etc)
  • It still requires a computer to process the information, then convert it (via substition) to binary, and return the applicable bits representing characters or numbers.

For the second problem, this is more of a duplicity issue where there are more variations in "atmosphere noise" than there are characters to represent that information, thus some duplicity occurs (multiple values can translate to the same characters) or the quality of random is degraded by removal of all atmospheric noise values which do not have a direct translation to a character.

My question:

How can websites (or anyone) claim to be able to generate "true" random numbers/strings, when it is impossible to obtain a source which is truly random ?


Is this a "well, we are as close as we think we can get, so we will call it true random even though it's not" type of scenario ?

  • $\begingroup$ You are surely correct that our practical notions of "randomness" have limits. Given a supposed "random number generator" you can, of course, subject its output to a battery of tests. That provides some comfort, but of course it is not perfect. After all, I might have anticipated that you would do this and programmed your machine to output a precise set of numbers designed to pass your tests. $\endgroup$ – lulu Aug 17 '16 at 10:52
  • $\begingroup$ As long as the pseudo random numbers behavior observationally identically to true random numbers, then for all intents and purposes, they are good enough. E.g. uniform random numbers from MATLAB. Can we see a statistical difference between those and the theoretical uniform distribution on $(0,1)$ - the discrete distribution up to machine precision of course? $\endgroup$ – jdods Aug 17 '16 at 11:00
  • $\begingroup$ If you think the roll of a die is "truly" random, then you believe that a true random generator is possible. Whether atmospheric noise will do or not, that's another question. You might be interested in this Wikipedia article: en.wikipedia.org/wiki/Hardware_random_number_generator $\endgroup$ – awkward Aug 17 '16 at 11:26

Your problem seems to be a little more on the philosophical side than on the mathematical. First of all you should think about what you would consider truly random. How can anything be truly random (especially if you believe in a deterministic universe)?

The general consensus is to consider some specific processes to be truly random for example rolling a die, radioactive decay, cosmic background noise or as in your example atmospheric noise.

Now we would consider a random number generator(RNG) who uses these phenomenon to generate random numbers a "true" RNG. For example we take Bob, put him in a cubicle with a telephone and a die and everytime we need a random number we simply call him and ask him to roll the die and tell us the result. For all intents and purposes this would be considered a true RNG.

However this would come with many practical limitations, for example generating random numbers this way is very slow (because the union only lets Bob work from 9-5 and he can only roll the die so many times a day). Another drawback is that his results are non-reproducable. Most of these true number generators have these drawbacks in one way or another.

Instead of these true RNG we use pseudo RNG for most scientific/computational purposes, probably the most widely used are so called Mersenne Twisters. They do not generate truly random numbers as Bob would, but we can prove that their statistical properties are "good enough" as long as we do not try to generate too many of them with the same seed. We can generate roughly $2^{19937}$ many numbers before the statistical properties start to degrade noticeably. This is sufficient for most applications and we have the added benefit that pseudo RNG are very fast and the results are reproducable.

To conclude and answer your questions: Yes, as long as the websites do what they claim, i.e. read out random bits from natural phenomenon like atmospheric noise we can consider them to be true RNG.

After writing this I found that the site itself has a section dealing with this matter (also containing the famous Dilbert comic strip on randomness).


  • $\begingroup$ So it isn't "true" random, but merely our best interpretation of our closest attempt without any way to really verify if it is or isn't. I guess what I am saying, is that atmospheric noise can not be random if the noise is coming from our planet due to the large number of sustained signals (patterns) in that noise. If you know the patterns of these signals where they are obtaining their noise samples, then it is possible to determine the seeds for (at least their claim) those "true" random numbers. Close, but not the best we can do :) $\endgroup$ – Kraang Prime Aug 17 '16 at 19:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.