The modern, technological world we now live in is powered by numbers. Whether it is the binary digits of ones and zeroes that are used by the central processing units of PCs and laptops, or the complex codes used to encrypt data sent and received across the planet’s internet infrastructure, numbers are an incredibly important part of our lives that often go overlooked.
Random number generators, or RNGs, are an integral part of most computer systems, networks, and software, so much so that the microprocessor companies like Intel and AMD often produce dedicated RNG chips for their systems in order to help computer systems deal with the demand for randomly generated numbers for encryption and data processing.
But how do random number generators work, and what are they used for? Here we are going to take a closer look at this important little-understood yet important part of the devices, networks, and systems that we all use every day.
Random Number Generation has a Long History
The demand for random number generators goes back long before the advent of modern technology, as far back as the ancient Babylonian civilization that used random numbers for lotteries. Gambling and lotteries have used some form of random number generator to create a random number completely by chance. The most basic form of an RNG is probably a dice. Rolling a dice gives you a result that has been generated by chance, and people have been betting on these results for millennia.
As our civilizations have become more sophisticated, so have random number generators, leading to the creation of complex RNGs that can generate long strings of numbers for use in gaming, gambling, and even high-level data encryption.
What Methods are Used to Generate Random Numbers Today?
There are two basic methods for generating random numbers: physical methods such as rolling a dice; and ‘pseudorandom’ methods that rely on complex computer algorithms to generate numbers. Both methods can involve very complicated processes. Physical random number generation may use the decay of radioactive elements or cosmic background radiation to generate numbers outside of a computer. These methods are incredibly expensive and sometimes pose a danger to operators and are used primarily by militaries, governments, and some large corporations.
The most common form of RNG is a pseudorandom number generator that relies upon complex computer algorithms and numbers known as seeds or key values to produce seemingly, or pseudo, random numbers. The numbers produced will seem to the observer to be entirely random, yet the use of seed numbers or key values and algorithms can also be used to reproduce this exact number.
Why Use Pseudorandom Number Generators?
These types of number generators are relatively simple to create and don’t rely upon an external factor such as the decay of a radioactive isotope or the photoelectric effect to create numbers. This makes them cheaper to produce, and more importantly, cheap to mass produce.
Numbers generated by Pseudo Random Number Generators are more vulnerable to reproduction, however, as the seed or key values and the algorithms can be reproduced by a third-party to create the same number. This is not a problem for most applications but in encryption, this can make encrypted data accessible to third parties.
Many encryption protocols that use pseudo-RNGs will use seed or key values with a high number of digits, or ‘bits’, and use closely guarded algorithms to make cracking the code much more difficult. The truth is that any encryptions that are made using RNGs have the potential to be broken if a hacker or third party has enough time and copies of the original seed values and algorithms to work from. If you see an encryption software that uses 256-bit encryption, for example, this means that the seed value is a number made from 256 digits. This is an incredibly high value, which makes the encryption more secure and tougher to crack, but with enough time and determination, and computer power, any code can be decrypted.
The use of RNGs has become much more widespread as technology has developed. Anywhere encryption is used, from satellite and cable television broadcasts to your banking app on your phone, random number generators have had a part to play to help ensure your data is secure.
As more and more sensitive data is produced, random number generators are becoming more sophisticated and using higher and higher value seed values to help companies and governments protect themselves from competitors and adversaries. As we go further into the future, RNGs are going to become even more important and complicated to protect us from everyone, from cyber-criminals to terrorist organizations.