Hardware True Random Number Generator design / concept
Jun 21, 2005
20 Replies
How many do you need? You can download a small batch anytime:
formatting link
A zener is even better. Its noise density swamps a decent amplifier's noise (which tends to have bad statistics.)
John
Whaddaya need random numbers for, you ask?
Well, there's this guy... Cellular Automata A user called Daniel writes, "First and foremost, thank you. Your web page is helpful and well made and your 10 meg files of random numbers are just what I needed. (I'm using them for a cellular automaton based very loosely on Buddhist cosmology. You can put that on your list of uses if you wish.) You are performing a good service."
-----------
Cheers! Rich
The thermal noise generated by any resistor is cryptographically strong. Just make sure that your amplifier is not picking up interference from predictable sources instead of just amplifying the resistor noise. A forward-biased diode might produce even more noise, making the job of amplification easier.
-Robert Scott Ypsilanti, Michigan
Take a look at:
formatting link
For genuine random numbers. They have schematics, code, theory of operation.
Namaste--
Or look at what VIA is doing, with one oscillator sampling another and the result being cleaned up cleverly. This is good if you need to do it on a CPU chip; other circumstances may favour other solutions.
Thomas
Actually, given that the VIA processors also do AES in hardware they may not be such a bad choice.
If you need just some randomness, think about a USB camera chip or some similar device. A TV card could do well, too.
Thomas
Oscillators are prone to locking on to small external signals. I would worry that predictable interference could make the outcome of the sampling process predictable.
-Robert Scott Ypsilanti, Michigan
I do not think that one oscillator sampling another would pass some of the tests.
I was going to suggest Tundra, but their website suggest that they no longer make the RNG part. I know they are still available because I know someone who has just done a production run using the tundra RNG. From memory. the part is an RBG1210.
Have you considered using a Psuedo RNG with hardware entropy for seeding? There is plenty of great information out there to do this, and it saves on having to buy hardware. Do a google for Mersenne Twister, very good algorithm, long cycle.
By the way, a good statistical package for testing is R. Its free and its very powerful.
Not exactly. Even if you understood the language, you had to understand the code words the talkers used for things like airplane, artillery, grenade, etc. A
Thermal noise, zener noise, particle detector driven from radiations source are all excellent candidates. Shift register (and equivalents) generators fail miserably, even if one uses 2E-9 of the full sequence. Many software "random number generators" fail in one or more aspects. One of the most ignored aspect is the *repetition* of numbers and/or patterns. A truly random sequence can and (eventually) will repeat anything previously generated, and does so randomly, and the number of repetitions is also random. You may randomly agree or disagree, depending which edge the coin lands on...
It is hard to beat the use of "citations" or pointers to pseudo random locations in texts that are unknown to "spies". But the code-talk used by a certain indian tribe during the war with Japan still remains virtually unbreakable, and it was in effect in CLEAR.
Twenty years ago (I'm sure the NDA has expired) our state lottery outfit commissioned a new micro-based system. The selected solution included thermal noise and a couple of PRG's and some correlation maths. That exceeded all the prescribed tests.
And, of course, don't forget its bastard son,
formatting link
. %-}
Cheers! Rich
BUZZ!!
WRONG ANSWER!!!
Nobody can crack a properly used one-time pad, even with infinite resources and infinite time. This is not an opinion or a guess; it is a mathematical certainty that they cannot be cracked.
That being said, there are any number of methods that are far more convenient and which require resources and time that, while not being infinite, are much larger than one could fit in the universe and which require more time than there is between the birth and death of the universe.
Guy Macon
Given any number of unlimited resources, one can crack any crytographic system. You need to dertime your requirements and then make a decision based on how much money you want to spend and how much development time you wish to put in and how secure you require the system to be.
The reason they state that MT is not cryptographically secure is because it is a linear RNG. This means after a finite amount of time the sequence will be restared and can become predictable.
A secure hahing algoritm can be used to circumvent this, but as with any PRNG, there will always be a finite cycle. >
See
formatting link
fro more detail. I have used MT many times, and usually randomly throw away numbers so that the sequence is less predictable.
I happen to agree.
The original idea was to use shift registers, but the predictability/repetition didn't satisfy the requirement. Adding the thermal noise remedied that.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required