Generador de números aleatorios - Un pseudo-RNG
Un generador de números aleatorios (RNG) es un generador de números pseudoaleatorios. Es una herramienta utilizada para generar una secuencia de números que tienen una propiedad de aleatoriedad, es decir, cada número de la secuencia es independiente de los demás y, por lo tanto, también de los números anteriores y posteriores. Tal secuencia es adecuada para la generación de una gran cantidad de números aleatorios en la práctica.
Para tener una buena oportunidad de obtener un número aleatorio, el RNG debe ser impredecible y no repetible. No debe ser predecible. Sin embargo, la secuencia generada por el RNG no es necesariamente una serie de números aleatorios. Por lo tanto, es importante tener una manera de distinguir una secuencia verdaderamente aleatoria de una serie que no es verdaderamente aleatoria. Un generador de números aleatorios basado en fenómenos físicos se llama generador de números aleatorios verdadero, o TRNG. Dicho generador se basa en fenómenos que no están sujetos al control humano y, por tanto, la secuencia generada por dicho generador es verdaderamente aleatoria.
La generación de números aleatorios en escenarios del mundo real no es una tarea fácil. Por ejemplo, se necesita un objeto físico para generar el número aleatorio para hacer tiradas de dados. Si se utiliza un ordenador, se puede utilizar un TRNG, que genera la secuencia de números utilizando las propiedades de un fenómeno físico como el ruido térmico u otros fenómenos cuánticos. Un TRNG no debe confundirse con un generador de números pseudoaleatorios. El primero no genera números a partir de un número limitado de posibilidades, mientras que el segundo sí. Un generador de números pseudoaleatorios se basa en propiedades matemáticas y, por lo tanto, es más fácil generar una secuencia de números.