¿Es posible el verdadero RNG?

Un requisito clave para los generadores de números aleatorios es que proporcionan una distribución uniforme de probabilidades en un rango determinado, por lo que la posibilidad de obtener ‘1’ debería ser la misma probabilidad que obtener cualquier otro número. Mi conocimiento sobre el tema no es extenso, pero a mi entender, los sistemas más antiguos generalmente sembraron sus generadores de números aleatorios en función del reloj del sistema, por lo que los números y las secuencias no eran realmente aleatorios.

Los procesadores Intel recientes, como mínimo, utilizan una fuente de entropía para sembrar y generar números aleatorios. Según la Guía de software DRNG de Intel, la fuente de entropía de sus CPU de 64 bits es el ruido térmico del semiconductor de silicio muestreado a una velocidad de 3 GHz. También he visto esto en esquemas de sus arquitecturas recientes para los chips i3, i5 e i7, que es lo que me motivó a responder esta pregunta.

Esta fuente física de ruido térmico debería ser verdaderamente aleatoria ya que parte del ruido es generado por interacciones de nivel cuántico. Por supuesto, los estados cuánticos por su naturaleza no son predecibles.

El verdadero RNG tiene que pasar pruebas mucho más estrictas que el “porcentaje constante”.

True RNG no es posible desde un programa de computadora, precisamente porque es un programa . Si conoce la semilla y el algoritmo, puede obtener el siguiente número (después de todo, ¡la computadora lo sabe!) Sin embargo, los pseudo-RNG que se implementan en muchos programas son muy, muy buenos.

Para un verdadero RNG tenemos que usar dispositivos analógicos (como con las loterías que eligen bolas de una bola giratoria). Esto está bien cuando solo necesita unos pocos números (como con las loterías) pero no funciona para aplicaciones informáticas.