The first question should be “does computer Generate Random numbers? For everything performed by computers, they generate random numbers ranging from cryptography to video games and gambling. When you then talk about computer random numbers, there are specifically two major categories of random numbers which are “True” random number and “pseudorandom” numbers.
They both have different security importance in the encryption system. Try to understand this topic by asking yourself what random numbers are used for? This question is very important because it will clear the mind of those who ask if Intel’s built-in hardware random number generate chip secure.
This is to show you how these two relate information. Sometimes, computers can generate truly random numbers via observation of some outside data like mouse movements which are not predictable and thereby creating data from it. However, this is otherwise known as entropy. On the other hand, they generate “pseudorandom” numbers by using an algorithm in order to give random results, even though they are not.
What are Random Numbers Used for?
Back to the track! What Random Numbers are used to answers the question o “when” also. Random numbers have been used for many thousands of years. No matter what you may do with the computer, its obligation is to leave you with an end result up to random chance.
This generator is very important for performing different purposes. Just like I mentioned earlier, aside from generating random numbers for the purpose of creating unpredictable results in compute games, you also require randomness in cryptography. This is because cryptography requires a whole lot of random numbers that attackers can’t guess. So have it in mind that we can’t use just the same numbers over and over time. So in order to avoid the attackers guessing the number, we require a very unpredictable number.
These random numbers are needed for secure encryption whether you are encrypting your personal files or you are just using the HTTPS website on the internet.
How True Random Numbers Work
This actually sounds weird that a computer can generate random numbers. For your information, this is just a piece of code and most of you will wonder why it is unpredictable. This is why it is grouped into two types depending on how there are generated “True numbers and pseudorandom numbers”.
Now when you talk about “true random number”, the computer makes use of some physical phenomenon that takes place outside of the computer. Now relate it with this “the computer could measure the radioactive decay of an atom.
Now according to the quantum theory, there is no way to detect when radioactive decay will occur. What this means is “pure randomness” from the universe. So, therefore, an attacker will not be able to predict when radioactive decay will occur and will not know the random value.
For instance, the computer can also depend on atmospheric noise or make use of the time you made a command with the keyboard keys as a source of entropy. At that time, your computer can use exactly the time you pressed a key to developing a random number.
When they grab enough keys with respect to specific times you will have a source of entropy which you can use to generate a “true” random number. So, therefore, we are not a predictable machine, an attacker can’t predict the instant moment you pressed these keys. A true example is the “/dev/random device on Linux” which likes to generate random numbers, blocks and does not give out the result until it gathers enough entropy to return a truly random number.
How Pseudorandom Numbers Works
This is regarded as an alternative to “true” random numbers. Over here, a computer can use a seed value and an algorithm to generate numbers that appear to be random but can be predictable. It does not need to get data from the environment. It is not really necessary in every situation especially when it involves video games because the attacker could guess the numbers.
For instance, if an attacker knows the algorithm and seed value a pseudorandom number generator uses and then an encryption algorithm gets a pseudorandom number from this algorithm in order to use it to generate an encryption key without adding any additional randomness. Then if an attacker knows enough, he can work backward to determine the pseudorandom number that the encryption algorithm chose in that case, thereby breaking the encryption.