Technology has always been a double-edged sword. As we open up new avenues of communication and storage, new vulnerabilities emerge. That’s why methods of encryption and cybersecurity are just as important as other innovations in the digital world.
True random number generators (TRNGs) are used primarily in cryptography for the purpose of creating keys needed to transmit data securely. They also happen to be endlessly fascinating when you learn how they work.
Infinite Noise is a TRNG that utilizes entropy from thermal noise, like many others, but it also implements a modular entropy multiplication technique that helps it stand out from the pack. This feature provides provable random data, while the SHA-3 (Keccak) hashing function in the software offers cryptographic strength.
So how does it all work? Thermal noise of resistors is amplified in an infinite loop, which generates data. This is not completely random yet, so by using the modular entropy multiplication there is some correlation of adjacent bits in the stream.
The device driver monitors the health of specific parameters in the raw data-stream. It then uses the SHA-3 hashing function to perform cryptographic whitening, which generates true random numbers.
Now, you may be wondering how you can verify that the entropy source isn’t spoofed when by the definition there are no patterns in random data. This is actually a key feature of Infinite Noise as the driver uses the foreseeable level of entropy to monitor the functionality of the device.
The device applies whitening only when this entropy is verified and the hardware is confirmed to be working properly. Many TRNGs are lacking this crucial feature, which is why the verification is such an important part of Infinite Noise’s design.