Has hecho varias preguntas secundarias, por lo que solo abordaré un par. Todo el tema de la generación de números aleatorios de hardware es un gran tema multidisciplinario, así que también lo restringiré aún más a los diodos (*) y al concepto de entropía.
Entropía es impredictivo o por sorpresa. Viene de sistemas caóticos y de mecánica cuántica. Puedes pensar que es como tirar un dado donde el único punto es en realidad una pieza de plomo en lugar de pintura. Caerá un solo punto hacia abajo la mayor parte del tiempo. Pero de vez en cuando aterrizará lo contrario. Esta es una fuente de entropía con un sesgo considerable, ya que principalmente lee un "6". La mayoría de las fuentes de entropía en la naturaleza están sesgadas o tienen distribuciones de probabilidad no uniformes. La entropía luego se convierte en un conjunto de números distribuidos uniformemente a través del procesamiento posterior y usted tiene su verdadero generador de números aleatorios (TRNG). Como ERNIE.
El diodo aleatorio es perfecto para la generación de números aleatorios de baja tasa de aficionados y profesionales. La unión se rompe cuando se invierte y crea un ruido eléctrico totalmente impredecible. A continuación, puede procesar esta entropía para extraer números aleatorios. Maxim tiene una buena aplicación circuito basado en un diodo Zener 1N759. Aquí hay un extracto: -
Han medido el ruido a 100 MHz. Si se tomara una muestra de esto a, digamos, 4 bits a través de un ADC flash, podría esperar números aleatorios del orden de 100 Mbits / s. Esto es en gran medida un límite superior, ya que nunca he visto un TRNG comercial basado en diodos en ningún lugar a esta velocidad. Estoy bastante contento de lograr 100 kbits / s.
ERNIE 1 usó un dispositivo similar a un diodo llamado válvula termoiónica que se usa típicamente para estabilizar el voltaje.
Podría indicar que un TRNG produce números aleatorios al azar que un generador de números pseudoaleatorios (PRNG), pero esto es un argumento semántico / filosófico. Algunos dicen que un TRNG es en realidad lo mismo que un PRNG ya que sus salidas respectivas serán computacionalmente indistinguibles de las aleatorias. Sin embargo, un PRNG se siembra con un punto de inicio y luego manipula algebraicamente este valor inicial para producir la salida. Si conoces la semilla, puedes predecir totalmente la salida. Un TRNG no tiene semilla. La semilla es el diodo físico en sí mismo y nuestro nivel actual de comprensión significa que no podemos predecir su salida entrópica. John von Neumann dijo que "cualquiera que considere métodos aritméticos para producir dígitos al azar está, por supuesto, en un estado de pecado".
TRNGs suena sexy. La ERNIE actual (5) es extremadamente lenta, pero se comercializa como un maravilloso sistema verdaderamente impredecible que se basa en décadas de nostalgia y antropomorfismo.
* Nota: Algunos dicen que la unión de la base del emisor en un transistor es un diodo que se puede usar para propósitos de aleatoriedad similares. Me gustaría llamar su atención sobre esta pregunta por qué no debería.