Random numbers
This article begins a series of articles on the topic of cryptography. These articles will touch on all of the major areas of this complicated subject that are relevant to entrepreneurs. At the base of many implementations of cryptography that we use are random numbers – so we will begin there. There are random numbers and pseudorandom numbers – the second one is what we most typically leverage. An acronym you see related to random numbers is RNG or PRNG, which stand for random number generator or pseudorandom number generator respectively. A generator is a process that produces the desired output – in our case a random or pseudorandom number.
Random numbers are numbers which cannot be predicted with more accuracy than by chance. Meaning, if you try to determine the next number in a sequence, you will be no more successful than someone guessing.
Random numbers are generated by hardware devices, not by software, and these devices produce randomness using information that comes from the physical world – information that is impossible to predict. The physical world is the source of entropy which we then use to create random numbers.
Random numbers are great, but they are harder than pseudorandom numbers to generate at scale. The most familiar random number generator is a set of dice. Dice are fine for gaming use but not for systems that need to support worldwide activities such as encrypting data for transmission over the internet.
An example hardware random number generator is OneRNG, which collects entropy “from an avalanche diode circuit and optionally an RF circuit” – very cool device.
Next we will discuss pseudorandom number generators, or PRNGs.