Technology

Researchers Built A Printable Random Number Generator

Here's something you may not know: the most powerful computers in the world can't generate a truly random number. That's because at the end of the day, computer software just follows instructions, which means its actions are predictable (and therefore hackable). But little by little, researchers have found ways to achieve the holy grail of true randomness. Some use quantum physics, an area of science that has randomness at its core. Others, like a team of engineers from Northwestern University, use carbon nanotubes. One benefit to using that wildly popular super-material? It means you can print their creation on virtually anything. That means things as simple as the bar code on a carton of milk could one day be unhackable.

A circuit diagram of the SRAM cell created by Mark Hersam's research group.

A Series Of Tubes

Carbon nanotubes — so hot right now. These cutting-edge structures are at least 100 times stronger than steel with a sixth of the weight, and can conduct electricity and heat better than copper. To picture them, imagine a sheet of chicken wire coiled into a tube and shrunken to a size many thousands of times smaller than a human hair. Some carbon nanotubes are single layers, others have as many as 100 more tubes coiled around the first. They were discovered in 1991, but they were so difficult to manipulate that they proved frustrating for more than a decade.

Around 2006, however, researchers did something amazing: they dispersed multi-walled carbon nanotubes into water and applied them to different materials using a run-of-the-mill desktop printer. This "Nink" turned carbon nanotube technology from difficult and time consuming to quick and cheap.

So Random

That carbon nanotube ink is what the Northwestern University team used to create their true random number generator. They used it to print a static random-access memory (SRAM) cell, not wildly different in function from the RAM in your computer.

There's a part of every SRAM cell called an inverter, which has the simple job of flipping inputs to their opposite: you give it an 0, it flips it to a 1, and vice versa. Usually, inverters are lined up in pairs so that whatever the first inverter flips, the second one flips again. The researchers shut off power to a pair of inverters, then applied external voltages to force them into both choosing the same number. When they turned the power back on and the voltage off, one of the inverters randomly switched its digit to the opposite of its companion.

That randomness came from something called thermal noise, a sort of electron jitter that happens within a circuit. Importantly, thermal noise is unpredictable, which means its effects on the inverters is unpredictable too. "If we keep resetting the cell and have the thermal noise force it to take a stand, the series of bits that come out will be a random strand of 1s and 0s," researcher Mark Hersam told IEEE Spectrum.

They generated more than 61,411 numbers with their chip, then put those numbers through a series of randomness tests created by the National Institute of Standards and Technology. It passed nine of those tests, establishing its output as truly random. This could be huge. Because the technology is small and inexpensive, it could be incorporated into the sensors, tags, and labels that grace everything from clothing to milk cartons. It could even be printed directly on packaging. If this becomes widespread, the future may very well be unhackable.

Random Numbers

Share the knowledge!
Written By Ashley Hamer September 2, 2017