The application of RNGs, or random number generators, is seldom considered when one thinks of how the complex technologies around us deliver algorithmic and seemingly randomized solutions. What’s more, few realize that RNGs come in a range of forms that, dependent on the situation, deliver distinct and meaningful results unique to their modalities.
What are RNGs?
RNGs are tools that generate random numbers to be used in a range of processes from sophisticated encryption protocols, to everyday activities like playing a game.
Although it may seem like RNGs do an insignificant job, choosing a random number and nothing more, when done incorrectly, it can be as grave as costing a business their client or causing legal trouble. For example, when businesses aren’t completely compliant with cybersecurity measures that are largely built on RNGs, it’s easy for customer information to be made public or sold.
While there are several different versions of RNGs, what clearly defines the difference between them is whether they are true or pseudo RNGs. Basically, this comes down to a difference between hard vs. software.
On the one hand, true RNGs are hardware tools that produce random numbers in real-time. They do not, when compared to pseudo-RNGs, have to rely on an algorithm to artificially select a number to mimic randomness. True RNGs are typically used in scientific data collection in fields as diverse as medicine and physics.
Obviously, there isn’t one RNG that is better than the other, but instead, each is necessary for different cases. For example, when working with a large group of people at once, it’s necessary to use a pseudo-RNG because it is able to produce a much bigger number than a true RNG, which because it is a piece of hardware, is far more limited.
In any case, here are a few examples of where both true and pseudo-RNGs are employed.
While true RNGs are used to determine questions of physics, like the measuring of atmospheric noise, pseudo-RNGs use algorithms to generate the numbers. Algorithms are used in daily life in ways most people couldn’t even imagine, but one of the most illustrative examples of their application can be found in online versions of casino titles such as roulette. Whereas a physical example of the title would derive its randomized gameplay by way of a true RNG process, necessarily the online variant of roulette relies on algorithms to generate its outcomes. Of course, for those playing the game the effect, or difference, is both indistinguishable and immaterial.
The easiest example of a true RNG is something simple such as dice, or a deck of cards. By tossing the dice or shuffling the deck of cards, it is easy to produce a random number. In the case of a game, a smaller number from 1-10 is much more applicable to the subject at hand, probably a board game of some kind, than a ridiculously large number that would have little utility for players. The appeal of true RNGs is the fact that they are “truly” random, which, in cases of cybersecurity, makes encrypted information harder to exploit than Pseudo-RNGs. As such, even game providers of online casino titles security harden their services with layers of true RNG safeguards. However, the issue with true RNGs is the fact that they take a much longer time to generate numbers. This is the appeal of pseudo-RNGs, which take much less time to generate random numbers.
While pseudo-RNGs are able to generate numbers much faster than true RNGs, they do not guarantee the same degree of unfalsifiable randomness of true RNGs. While in most cases the difference from a human perspective between the two is negligible. As such, most RNGs we encounter when interacting with software rely on algorithmic solutions. Not only as these less resource intensive, but they’re quicker and can have their variables adjusted more readily for specific use-cases.