# Random Number Generator

This random number generator generates one or many random numbers. The range of the numbers, whether or not there can be duplicates, and the order of the result can be defined. This generator works for integers only. To use the generator, please provide a range of the numbers then click the "Calculate" button.

## About this random number generator

Random number generation is a process that produces a sequence of numbers that cannot be reasonably predicted more accurately than by random chance. This random number generator is a pseudorandom number generator. Random number generators are either true random number generators, or pseudorandom number generators. Most freely available random number generators, such as this one, are pseudorandom number generators. This is because, for a random number generator to be truly random, it must be based on some physical process that is truly random. This is in contrast to a pseudorandom number generator which generates random numbers using an algorithm, which is much more efficient (generates sequences of numbers much more quickly and cost effectively), as well as reproducible.

### Pseudorandom number generators:

Pseudorandom number generators (PRNG) are algorithms that generate sequences of numbers that approximate sequences of random numbers. They are referred to as PRNGs because the sequences generated are not truly random, since the sequences are entirely determined by an initial value, referred to as a seed, random seed, or seed state. This means that, given the same seed, a PRNG will generate the same sequence of random numbers. PRNGs are therefore entirely reproducible and periodic (will repeat in time), given that the seed is known, and are therefore not truly random.

Although PRNGs are only approximations of truly random sequences of numbers, significant research has been done surrounding PRNGs, and the sequences generated by PRNGs closely mimic true random number generators (TRNGs). Thus, for many purposes, a PRNG is sufficiently random, and it is not necessary to use a TRNG. However, in cases where true randomness is necessary, statistical analyses can prove that PRNGs are predetermined, not truly random; in a sense, the results of PRNGs can therefore be measured, and thereby "controlled."

PRNGs are commonly used in applications such as simulations, as part of procedural generation in video games, in cryptography, and more.

### True random number generators:

True random number generators (TRNGs), also referred to as hardware random number generators, generate sequences of numbers based on the measurement of physical phenomena such as atmospheric noise, thermal noise, radioactive decay measured over short scales of time, and more. All of these represent sources of natural entropy, and when measured, produce sequences of random numbers. As a result of being dependent on natural phenomena however, the rate at which a sequence of random numbers can be generated is limited by the physical phenomenon being measured. As such, in addition to having a more involved measurement process, the generation of the sequence itself is a significantly slower process. TRNGs are therefore far less cost effective and efficient than pseudorandom number generators (PRNGs), so PRNGs are typically used over TRNGs as a viable approximation except in cases where true randomness is necessary. One area in which TRNGs are used is cryptography, where they are used to generate cryptographic keys for safe data transmission. However, if well-designed and implemented, it is even possible to use PRNGs for these types of applications.