The Generation of Random Numbers Is Too Important to Be Left to Chance

Randomness exists all around us: scientific experiments, military drafts, statistics, cryptography, video games, gambling, and even art! But what does it mean to be random? What is a random number, and why is it so difficult to generate? Let’s find out.

The Generation of Random Numbers Is Too Important to Be Left to Chance

In plain English, random numbers are data we receive in an unpredictable manner. Dice rolling is perhaps the key example of randomness because most people can only guess at the result. Random numbers are instrumental for different types of programmers. Most often, randomness is used in simulation modeling, numerical analysis, testing algorithms, simulating user input, and many other tasks related to programming.

Sets of digits arranged in random order are a big deal in IT technologies — especially when it comes to security-related systems. You can hardly find a piece of technology in this category that doesn’t need random numbers.

Randomness is widely used in cryptography. It is the basis of most schemes that try to provide a way to increase communications security. For example, we use random number generators to create keys for encryption. The selection must have high entropy to heighten the difficulty of online attacks.

Entropy is an important element of cryptography. For example, when you generate the Bitcoin address, randomness helps ensure that no one else can guess your private key. It is also crucial for the application of cryptography because it provides a way to generate information that a bad actor cannot get or predict.

People aren’t very good at picking random numbers. Computers handle this task much better. True random number services are a key part of web security. Here is a short list of their uses:

  • Generation PHP session IDs
  • Generation captcha text
  • Encrypting
  • Generating a random salt for storing passwords in an irreversible form
  • Generating passwords
  • Dealing cards in an online casino

Are Random Numbers Really Unpredictable?

Sorry to destroy your worldview, but randomness is an elusive concept.

Are Random Numbers Really Unpredictable?

Computers can’t produce random numbers on their own. They need the help of outsiders. Software-usable entropy sources may include, for example, user interaction via a mouse or the free memory. However, the generated number sets are not genuinely random. Detectable patterns and the predictable context of their generation are to blame. For cryptologists, the “predictable randomness” issue is an enormous problem. Much of what is purported to be random is actually pseudo-random.

Remember that random numbers are a cornerstone of up-to-date cryptology. They are critical for the security of all our cryptographic applications. Pseudo-random numbers can compromise an app that encrypts your internet traffic. AI can hack such a generator and mathematically determine cryptographic keys and passwords created for users or at a specific time. Sounds scary, doesn’t it?

It is well known that a high-quality and fair random number generators (RNGs) have not been invented yet. Every existing solution has obvious disadvantages that you don’t want to put up with. A computer cannot provide random results. A calculation with all the same original parts must deliver the same result every time, and that is all a computer is — an ultra-powerful number cruncher.

So, what do we do?

Blockchain to the Rescue

People have been trying to come to grips with the problem of pseudo-random numbers for a decade. The services of impossible-to-predict numbers operate in a centralized fashion on the basis of on-premises software or under the control of a group of individuals or organizations. A great many projects need to not only generate a random number in an unpredictable manner but also ensure the security of the information and protect themselves from fraud, data leakage, and manipulation techniques from the outside. There is nothing a traditional RNG can do about it.

As it turned out, blockchain can help. Since the invention of the revolutionary technology in 2009, software scientists have been trying to develop a high-quality RNG based on the blockchain. Cloudflare is already up to speed on this.

Cloudflare is a service that protects websites and web services by sitting in front of them as a gatekeeper. In short, it deals with a lot of encrypted internet traffic, so it needs a lot of random numbers. That is the very reason why a well-known company has introduced the world to the League of Entropy, a service that generates streams of random numbers. Unpredictable numbers can even be used by app and web developers for captchas to find out whether a system user is a person or a bot.

The collaborative project will work on five different and independent servers. Even if some of them are theoretically compromised, the rest will be able to provide numbers that are impossible to predict. This truly random beacon is unique because it generates randomness in a new, more decentralized way. Intrinsically random numbers are generated by independent parties, so you don’t need to trust anyone. Want to join the league? Go ahead, try it out!

A Quick Recap

If something is unpredictable and contains no recognizable patterns, we call it random. It is a disorienting claim, given that random numbers are absolutely predictable and, therefore, not suitable for sending encrypted information. Gone are the days when RNGs would mean a catastrophe for security. Things have changed, for the time being, thanks to the blockchain’s potential.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Blackfort Wallet & Exchange

Blackfort Wallet & Exchange

BlackFort Wallet & Exchange solutions make Cryptocurrency easy for individuals, corporate clients & parnters