concepto para generadores de números aleatorios verdaderos

0

Tengo una idea. Digamos que tenemos un flip-flop TTL sin alimentación con dos entradas vinculadas a 5v (lógica alta). Cuando aplicamos energía al flip flop, entra en un estado de inactividad, por lo que no se sabe cuál será la salida. Básicamente, tenemos un generador de números aleatorios de un bit.

Ahora mi pregunta. Los procesadores y microcontroladores modernos tienen la capacidad de generar números pseudoaleatorios. Por supuesto, estos no son realmente aleatorios. Pero si mi escenario de flip flop genera números aleatorios verdaderos, ¿por qué los diseñadores no usan este concepto, pero con más flip flops?

    
pregunta Jaca

3 respuestas

5

No usan ese concepto porque, desafortunadamente, no funciona, el estado de inicio de un FF no será en absoluto aleatorio.

Cotización de "Hardware criptográfico y sistemas integrados - CHES 2003: 5º Taller Internacional Volumen 5"

Hacer un generador de números verdaderamente aleatorios no es fácil.

    
respondido por el Spehro Pefhany
1

Este problema ya ha sido resuelto. La radiación térmica no es perfectamente uniforme y fluctúa rápidamente a escalas extremadamente pequeñas. Muestra un espacio con suficiente precisión y tienes tu RNG: enlace

Intel te ganó también a ti, amigo. Espero que no hayas pagado la tasa de patente ya ...: P

    
respondido por el JRFerrell
0

Como han dicho otros: el comportamiento del FF después del encendido no es aleatorio en absoluto.

El comportamiento no es completamente determinístico (considerando los factores que tienes bajo control), pero no ser completamente determinístico no significa que pueda usarse como un buen generador aleatorio.

En este contexto, una historia sobre el estado de las FF después del apagado:
Recuerdo un caso en el que estaba buscando una manera de detectar si el reinicio más reciente de un microcontrolador era un reinicio en caliente (es decir, sin ciclo de energía) o un reinicio en frío (con ciclo de energía). Una solución de trabajo fue comprobar si una variable de memoria de 32 bits contenía un valor constante distinto (reinicio en caliente) o no (reinicio en frío). El valor constante distinto se inicializó después de restablecerse después de la verificación.
Sin embargo, el fabricante del microcontrolador no estaba dispuesto a garantizar ningún valor de probabilidad de que esos 32 bits de memoria no retengan el valor, incluso después de un apagado completo.

    
respondido por el Curd

Lea otras preguntas en las etiquetas