Entiendo que uno de los pilares fundamentales de la computadora programable es que debemos implementar características con software en lugar de hardware, siempre que sea posible & más eficiente (o menos eficiente, pero en un grado en el que podamos lidiar); pero creo que la generación de números aleatorios debería ser una excepción. Hay muchas cosas que, en teoría, se ven socavadas por los PRNG (por ejemplo, en 1949, Claude Shannon demostró que cualquier método de cifrado "irrompible" debe utilizar TRNG para la generación de claves).
Por alguna razón, a las personas les gusta decir que los TRNG tienen tiempos de generación más prolongados ( enlace ) ¡pero eso está mal! Algunas arquitecturas de TRNG solo están limitadas por la frecuencia de muestreo & la velocidad de su ADC (si aún son demasiado lentos, puede ejecutarlos en paralelo). Los PRNG son más lentos porque requieren pasos de cálculo. Con los TRNG, la "computación" es realizada por el ambiente (aproximadamente a la velocidad de la luz). Lo único que los PRNG tienen a su favor es que son intrínsecamente más eficientes en el uso de la energía que los TRNG ...
Entonces, mi pregunta es: ¿por qué los circuitos TRNG nunca encontraron su lugar en la arquitectura de computadora estándar? Desde mi perspectiva, cada computadora de hoy en día debería tener un circuito TRNG & deberían utilizarse en lugar de PRNG en la mayoría de las situaciones.