About this site

building it

Well, it’s coming along. This well known cryptographer’s parable nicely sums up our site’s philosophy:-

“Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime.”

The site is an evolving collection of so called entropic primitives, how to use them and perhaps the odd actual TRNG. These primitives produce only entropy. Entropy yes. Uniformly distributed random numbers? No. The more we experiment and find out, the more we’ll add. It might be slow progress though. Our oscilloscopes are old and the soldering irons under powered.

We won’t however be publishing entire designs here. Think of it as a collection of hardware and software based building blocks that you can put together as you see fit. There are quite a few noise generator and TRNG circuits on line. Some have extensive operational details and performance figures, but others just feature a label saying Noise out. We intend to provide more detailed analysis than that.

You have to realise that actually there is no such thing as a hardware random number generator, unless you’re thinking of a roulette wheel. This can be easily proven with a simple experiment. Take a commercial USB flash drive sized TRNG. Cradle it in palm of your hand. Caress it with your thumb and then squeeze gently. Do random bits spurt out of the end in a stream of unpredictable ones and zeros? No?

More specifically, unless you’re operating a roulette wheel or bits are delivered to you from above carved on stone tablets, all random numbers are software generated. After all a bit is software so has to be made by software. As hardware begets hardware, so software begets software. Like Bird Flu, one’s not crossed over to the other (yet). It’s just a question of the relative proportions of software and hardware. So there will also be some code snippets on this site to distil raw entropy into useful (and cryptographically secure) random numbers.