Is randomness important to nature

Random Numbers in Information Technology

Random numbers are widely used in areas such as cryptography, statistical sampling, fully random design, computer simulation, and other applications. In order to understand why not all random numbers are really randomly generated and what threat so-called pseudo random numbers pose, you should first know a little about the random numbers themselves and their use in secure systems.

What are random numbers and a random number generator in computer science?

Random numbers have been used for many thousands of years. Whether a coin is tossed or a die is rolled, the end result must be left to chance. Software- or hardware-based random number generators are basically similar to this process. Here, too, an attempt is made to produce a random and unpredictable result.

A random number is a number that is generated using a large number of numbers and a mathematical algorithm that gives all numbers in the given distribution the same probability. Random numbers are most often generated with the help of a random number generator. Random numbers have important applications, especially in cryptography, where they are used as part of encryption mechanisms.

One of the most important requirements for a random number is its absolute independence from other randomly generated numbers. This ensures that no correlation can be established between consecutive numbers. It is also very important that the frequency of occurrence of all random numbers is about the same. As a result, it is theoretically not easy to generate a long random number.

How are random numbers generated?

Random numbers can be generated using software and hardware. You may be wondering how a computer can actually generate a random number. Where does this randomness come from? Isn't it possible that the computer generated numbers could be predictable if it was just an algorithm that generated those random numbers? As a rule, random numbers are therefore divided into two groups. depending on how they are generated. A distinction is made between real random numbers and so-called pseudo-random numbers.

Computer generated random numbers are sometimes referred to as pseudorandom numbers. There are many methods of generating random numbers, such as the linear congruence method for generating pseudo-random numbers. Random numbers generated by hardware or physical phenomena are considered truly random numbers.
True random numbers

To generate a true random number, the computer measures some kind of physical phenomenon that occurs outside the computer. The entropy is a measure of the randomness in a system. A source of entropy is a process by which the randomness in a physical system is obtained.

For example, the radioactive decay of an atom could be measured by a computer. According to the laws of quantum theory, it is not possible to know exactly when and how this radioactive decay will proceed. So this is essentially a pure randomness that occurs in nature. In this case, even a hacker would not be able to predict the course of the radioactive decay of an atom. It can therefore not determine a random value based on this process.



In a more mundane example, the computer could rely on ambient noise or simply use the exact time you press keys on your keyboard for unpredictable dates or entropies. For example, in this scenario, your computer detects that you pressed a key at exactly 0.2671982 seconds after 2:00 p.m. From this, an entropy source can be created over a longer observation period, with which a true coincidence can be generated. A human user is not a machine that takes predictable actions. Therefore, a hacker can never predict exactly when a key will be pressed by a human user.
Generating random numbers is a science in itself, entire courses of study deal with this topic to a large extent.

Pseudo random numbers

Pseudo random numbers are an alternative to true random numbers. They are generated using software that is based on an algorithm. So, in this case, a computer can use a seed and an algorithm to generate numbers that appear random but are actually predictable. The computer does not collect any random data from the environment.
Particularly powerful algorithms are required in cryptography and in financially significant games. In the latter case, for example, the Merkur software for casino players is a milestone in the use of random numbers.

Generating pseudorandom numbers is not necessarily a disadvantage in every situation. For example, if you're playing a video game, it doesn't matter whether the occurrence of events in the game is based on true random numbers or pseudo-random numbers. If, on the other hand, you use encryption, ideally no pseudo-random numbers should be used that a hacker could crack in an attack.

Pseudorandom number generators use algorithms to generate sequences of numbers that look random. However, if a hacker knows the underlying algorithm and seed that a pseudo-random number generator uses, the random numbers it produces are completely predictable.

An encryption algorithm receives a pseudo-random number from an algorithm and uses it to generate encryption without adding additional randomness. If an attacker knows enough, they can draw conclusions from this information and determine the pseudo-random number that the encryption algorithm chooses to break the encryption.

What are random numbers used for in information technology?

Random number generators are useful in information technology for many different purposes. Among the first and most obvious uses is that of generating random numbers for games of chance or generating unpredictable results in a computer game. The range of applications of random numbers in information technology is wider than many people assume. TCP / IP sequence numbers, TLS nonces, ASLR offsets, password encryptions, and DNS source port numbers are all based on random numbers. Today, randomness plays a crucial role, especially in the field of cryptography. So random numbers are fundamental to almost all secure computer systems.

Cryptography requires numbers that attackers cannot determine by drawing inferences from a sequence of numbers. The same numbers cannot be used over and over again here. The numbers used in an encryption must be generated in a very unpredictable way so that hackers cannot determine them in an attack. Such random numbers are essential for secure encryption, regardless of whether you use them to encrypt your own data or call up an SSL-encrypted website on the Internet.

In cryptography, the quality of the random numbers used directly determines the security strength of the system. The quality of the random number generator affects how difficult it is to break into the system without authorization. Modern security algorithms and protocols have their cryptographic strength expressed in the number of bits (keys) that an attacker must determine before he can damage the system.

Where is the development of random numbers going in the future? - An outlook

Research has made good progress in recent years in developing technologies that can be used to generate and distribute true random numbers. This means that the technology is finally approaching one of the greatest puzzles in cryptography and is on the way to realizing absolutely secure encryption. What is needed for this is a source of true randomness that is fast enough and can be used by any device. This is where quantum mechanics comes in.

In contrast to classical physics, quantum physics is basically random. It is the only theory in modern physics that incorporates true randomness. By measuring the unpredictable properties of subatomic particles, these random number generators can use the rules of quantum mechanics to securely encrypt messages and information.

Subatomic particles such as electrons and photons naturally behave in such a way that their behavior cannot be predicted. Two photons emitted by the same atom at different times but under the same conditions can exhibit different behaviors and there is no way to predict these behaviors in advance. This means that the result of the behavior of these photons cannot be predicted. This unpredictability is critical to the development of a random number generator.

Quantum random number generators use these quantum random properties to generate true random numbers. In addition, the so-called Quantum Random Number Generators (QRNG) have the advantage that they are insensitive to environmental disturbances compared to conventional random sources and enable the status to be checked in real time.