Generating random numbers is a pretty useful thing. Having a string of numbers that cannot be easily predicted is needed for instances like computer simulations, cryptography, as well as security applications. While there is software out there that can generate a seemingly random set of numbers, these are not considered true random numbers but “pseudo-random” numbers, as these programs rely on computational algorithms to produce long sequences of these numbers. Yet, systems secured with such pseudo-random approaches can be hacked if someone is able to crack the underlying pattern.
In the search for true random number generators, people have experimented with harnessing the chaotic movements made by entropic phenomenon like radio noise, radioactive decay and even clock drift. Now researchers from Northwestern University have created a true random number generator (TRNG) that utilizes the fluctuations of thermal noise to generate these random bits, and is flexible as well.
In a paper published in Nano Letters, the team describes how they built their random number generator using a static random-access memory (SRAM) cell, printed with a semiconductive ink consisting of single-walled carbon nanotubes. The team says that this printed, random-number-generating SRAM cell could be incorporated into smart clothing, wearable electronics, sensors, tamper-evident labels and tags — items that due to their flexibility or disposability, present a unique challenge when it comes to outfitting them with conventional rigid hardware to make them more secure. In this case, a printed solution such as this one would be much cheaper and more scalable in terms of mass production.
“We have developed one of the most important building blocks for cryptography using a nontraditional semiconductor material, namely solution-processed semi conducting single-walled carbon nanotubes,” explained materials science professor and one of the paper’s authors, Mark Hersam, to Digital Trends. “This TRNG carries the advantages of its constituent solution-processed material, such as being able to be printed at a low cost on flexible plastic substrates, which makes it ideal for emerging flexible electronic applications such as wearables and sensors for the Internet of Things.”
Once the SRAM cell was printed, the team manipulated the SRAM’s inverters to produce random bits. Typically, the cross-coupled inverters in a SRAM cell will switch values from 1 to 0, or vice versa.
So to make the inverters function in a randomized way, alternating between these binary values in an unpredictable pattern, the team turned the power to the cell off. An electrical current is then used to zap the cell, forcing both inverters to output a series of 1s. Power is again turned on and the external current removed, and what happens is that one of the inverters will be put into a state where it will either flip to either a 1 or 0 in a random fashion — the first digital bit in what will be a random sequence of 1s and 0s. The cell will be continually reset to generate this random string of bits, with this randomness due to erratic changes in thermal noise, or the agitation of electrons inside a conductive material, whether there is voltage applied or not.
Granted, the team’s SRAM cell is relatively slow, flipping only a few bits per second, and managing so far to only produce a little over 61,000 bits. But on the bright side, when this string of numbers was statistically tested for its randomness using tests created by the National Institute of Standards and Technology (NIST), the results were encouraging.
The team is now working to optimize the speed of the process. When optimized, such random number-generating cells could operate alone or as a group to secure wearable electronics or other printed, flexible devices, without the need for high costs, power requirements or complex computational overhead. With flexible electronics and sensors becoming more widespread in the emerging Internet of Things, it will be imperative to find the most efficient and effective way to ensure that the data they send is safely encrypted.