Researchers have built a true random number generator that they say could improve the security of printed and flexible electronics. They made it from a static random-access memory cell printed with a special ink containing carbon nanotubes. The memory cell uses fluctuations in thermal noise to generate random bits.
Generating random numbers within an electronic device is critically important because random numbers are the basis for encryption keys that keep personal devices secure. Many electronics contain hardware components designed for this exact purpose.
It’s also possible to generate random numbers through software. But software-based random number generators are considered “pseudorandom.” They start with an original number, or seed, and apply a mathematical equation to generate a string. The resulting pattern is not entirely random, and hackers can replicate it if they figure out the seed.
Hardware-based “true” random number generators are therefore considered the gold standard for security, but they can be bulky, rigid, and expensive to manufacture. Oftentimes, they rely on lasers and photon detectors to produce random bits based on physical phenomena that cannot be predicted. That means they’re not a great fit for flexible and printed electronics, which lag behind other gadgets in security.
Mark Hersam, an expert in nanomaterials at Northwestern University, says the new carbon nanotube generator that his team built could be integrated into wearables, tiny sensors and tags, disposable labels on products like milk cartons, or even smart clothing. It could also be printed directly onto packaging with standard inkjet printers to encrypt data or validate that products have not been tampered with.
To develop their generator, Hersam’s group started with semiconducting single-walled carbon nanotubes, which became an early crowd favorite, along with graphene, in scientists’ ongoing search for novel semiconducting materials. Silicon transistors are approaching the end of their charmed existence under Moore’s Law; one recent report suggests that could come as soon as 2021.
Hersam’s group used a nanotube solution—a type of ink that contains high purity semiconducting carbon nanotubes—to create a static random-access memory (SRAM) cell that generates random bits. Printing SRAM cells with nanotube ink (which one company boldly markets as “Nink”) is a relatively inexpensive process that Hersam says could turn out large volumes for consumer electronics.
However, Mario Stipcevic, a researcher at Ruđer Bošković Institute in Croatia, points out that quantum random number generators, which he has worked on in the past, can already fit into an area as small as 20 by 20 micrometers, which is tiny enough to sew into clothing or squeeze into a connected device.
Once Hersam’s team had printed their SRAM cell, they needed to actually generate a string of random bits with it. To do this, they exploited a pair of inverters found in every SRAM cell. During normal functioning, the job of an inverter is to flip any input it is given to be the opposite, so from 0 to 1, or from 1 to 0.
Typically, two inverters are lined up so the results of the first inverter are fed into the second. So, if the first inverter flips a 0 into a 1, the second inverter would take that result and flip it back into a 0. To manipulate this process, Hersam’s group shut off power to the inverters and applied external voltages to force the inverters to both record 1s.
Then, as soon as the SRAM cell was powered again and the external voltages were turned off, one inverter randomly switched its digit to be opposite its twin again. “In other words, we put [the inverter] in a state where it's going to want to flip to either a 1 or 0,” Hersam says.
Under these conditions, Hersam’s group had no control over the actual nature of this switch, such as which inverter would flip, and whether that inverter would represent a 1 or a 0 when it did. Those factors hinged on a phenomenon thought to be truly random—fluctuations in thermal noise, which is a type of atomic jitter intrinsic to circuits.
There’s no known way to predict this noise, and the amount and type of noise at a particular moment determines which bit the inverters will spit out. The first bit that results from this process then becomes the first number in a sequence. “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,” Hersam says. His team recently described their work in the journal Nano Letters.
Using this method, which is inspired by the technique that Intel uses to generate random numbers in silicon, it’s possible to generate a string of random bits from a single cell, or run multiple cells in parallel to produce a string more rapidly. Hersam’s team did not optimize for speed in their trials, so the SRAM cell they printed generated only a few bits per second.
To Stipcevic, that speed (or lack thereof) is a major problem. But Hersam is confident his team can hasten the process. “I think a million-fold improvement is there for the taking once we've actually optimized for that parameter,” he says.
Overall, his group has produced 61,411 bits with its generator. To evaluate its randomness, they divided that stream into 56 smaller sequences of 1,096 bits, and put those sequences through statistical tests created by the National Institute of Standards and Technology (NIST) to determine true randomness. The generator passed nine of those tests.
Stipcevic points out that NIST offers a total of 15 randomness tests, and that many researchers use strings with a million or more bits to complete them. Hersam says his team consulted with NIST representatives to choose the tests that would deliver meaningful results based on the number of bits they’d collected.
Stipcevic raises other concerns with Hersam’s work. He says the research group can’t really say whether thermal noise is truly random, or if the nanotube generator would operate successfully if repeatedly bent in a flexible device, such as a wearable. And Stipcevic says it would be important for the group to guarantee that all charge was removed from the inverters between each run to avoid creating a nonrandom pattern.
Hersam says his team avoided any leftover charge by increasing the time that each SRAM cell spent in its resetting phase and adds that, “the measurement and quantification of thermal noise as a source of randomness is a well-documented phenomenon.”