The Development Of A Hardware Random Number Generator

rng

[Ian] had a need for a lot of random numbers. There are dozens of commercial offerings when it comes to RNGs, but there are also hundreds of different ways for an electronics hobbyist to shoot random bits at a serial port. One of these methods is an RNG based on the avalanche breakdown noise in a PN junction. As with any circuit in hobbyist electronics, there are dozens of prototypes floating out there on the web, but not too many finished projects. [Ian] decided he would build one of these RNGs as a prototype and bring it to something resembling a finished project.

An avalanche noise RNG takes advantage of the fact that a strongly reverse-biased PN junction, like one found in a transistor, will create a condition where one electron knocks another electron out of place, leading to a sustained chain reaction. It’s quantum, it’s chaotic, it makes for a great source for a random number generator, and there are already dozens of prototype circuits around the Internet.

[Ian] took one of these circuit designs by [Will Ware] and started the iterations that would lead to a finished design. Round one was a simple PCB with the basic circuit and a power supply. Just a few transistors, resistors, and a DC/DC boost converter. Confirming the circuit was generating noise, the next iteration brought in an ADC and an ARM micro with a USB interface. Iterating over this again with an improved ADC – 20 megasamples per second – the design finally reached a point where a final PCB could be designed.

In the end, [Ian] turned a simple circuit that could have been built on a breadboard into a USB device that throws 9kB/s of random data into a computer. The data are actually good, too: the project passed most of the Dieharder test suite, making it very useful for whatever crypto or gaming application [Ian] has in mind.

Avalanche pulse generator design

avalanche-pulse-generator

This avalanche pulse generator is a great way to test your mettle as an Electronics Engineer. The challenge is to truly understand how each part of the design works. We certainly got a failing grade when first studying the schematics more than a week ago. But we’re slowly beginning to understand what’s going on under the hood.

The concept of an avalanche transistor is some wicked voodoo from the analog side of the street which leverages a transistor’s breakdown voltage to achieve a predictable result. In laymen’s terms it (mis)uses a transistor to produce a really fast pulse. The write-up linked above references several previous avalanche pulse generator designs, but this one is a bit different in how it produces about 50V from a pair of AAA batteries using a multivibrator circuit.

Even if you have no idea what’s going on here you may be interested in the last few paragraphs where the circuit is measured using a cutting-edge Teledyne LeCroy Wavemaster 820Zi-A. That’s a 20 GHz scope with a 15.3″ screen which you’ll never ever own.

Follow

Get every new post delivered to your Inbox.

Join 92,339 other followers