Creating true random numbers requires considerably more effort than pseudo-random ones. You need to build a peripheral that is a true random number source. This would be useful for creating one-time cryptography pads, and also in various simulations. Here are several ways it could work:
sells the RM-60 model for . The RM-60 produces a down-going 75-90us pulse each time it detects a radioactive decay particle. The times between clicks follow a Poisson distribution. You could expect about 300 counts per second with that exposed bit of Americium. If you buy one, ask them to throw in a free copy of Aw-rand.exe to use their Geiger counters to create files of random numbers. Intel and AMD are buying them to generate random numbers.
You could use System. nanoTime to measure the time between clicks. The trick then it to convert this into uniformly distributed bytes with no bias. Crudely, you could just use the low order 8-bits. You would discard ticks that came too soon on the heels of the previous one. You can use XOR to scramble the high and low bytes of a number together to create a more random byte that depends on both high and low byte. Any bias or patterns in the generated gibberish could be exploited by the code cracker.
There is a mathematical effect to watch out for too. There are more measurements beginning with 1 in the universe than there are that begin with 9.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.58] | |||
| You are visitor number 19,511. | |||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | ||
| http://mindprod.com/jgloss/truerandom.html | J:\mindprod\jgloss\truerandom.html | ||