Si tengo dos imágenes de máquina virtual de Linux idénticas, ¿generarán números aleatorios idénticos?

15

Una pregunta realmente noob, lo sé, pero algo sobre lo que me estaba preguntando esta mañana. Si este fuera el caso, ¿cifrarían las cosas de manera idéntica?

¿O tal vez alguien podría dirigirme a una investigación útil sobre cómo Linux genera entropía y encripta las cosas? Google me está dando resultados tangenciales, pero nada especialmente útil.

    
pregunta user1209326 01.05.2012 - 15:47
fuente

3 respuestas

17

Las imágenes idénticas del sistema generarán datos diferentes cuando se extraigan de su grupo de aleatoriedad, a menos que esté trabajando en una configuración muy estéril para moverlas sincrónicamente un ciclo de reloj a la vez.

La actividad en el sistema afecta el grupo de aleatoriedad basado en eventos que incluyen interrupciones de hardware. La realidad dice que las unidades de disco, las tarjetas de red y el momento en que presionó el botón de encendido variarán. Incluso un reloj bien disciplinado tendrá algunas variaciones entre las máquinas y aumentará con el tiempo.

Algunas buenas lecturas incluyen un documento académico sobre Linux RNG y el archivo random.c del núcleo actual fuente (intencionalmente desvinculada).

    
respondido por el Jeff Ferland 01.05.2012 - 16:15
fuente
0

No.

El Linux RNG utiliza fuentes ambientales de entropía real al recopilar el ruido de fuentes como el tiempo de interrupción activado por un hardware externo: disco duro, mouse, red, etc. De hecho, podría argumentar que Linux usa un "verdadero azar" el generador de números "no es un" generador de números pseudoaleatorios "porque la salida es realmente impredecible a menos que pueda echar un vistazo a la fuente de entropía, como lo sería para cualquier otro TRNG.

Sin embargo, hay un período de tiempo después de que una máquina arranca desde un estado conocido antes de que haya tenido la oportunidad de recopilar cualquier entropía del entorno durante la cual la salida de /dev/urandom sería predecible.

enlace es instructivo y fácil de entender.

    
respondido por el tylerl 02.05.2012 - 08:56
fuente
0

La pregunta se basa en la suposición falsa de que puede tener dos sistemas idénticos. Eso no es posible en este universo. Por ejemplo, como mínimo, tendrían que estar en diferentes lugares. Esos diferentes lugares tendrán diferentes variaciones de temperatura de la zona microscópica. Y esas variaciones afectan la relación de fase entre los osciladores de cuarzo que controlan el reloj de la CPU y el reloj de la red.

De manera similar, los defectos de la superficie microscópica en los discos y en el interior de la caja del disco duro afectan la cizalladura turbulenta del aire. Esto afecta la velocidad de rotación de los platos. No hay forma posible de tener dos discos duros con propiedades idénticas de cizallamiento turbulento.

Incluso utilizando los mismos relojes y el mismo disco duro, cada uno emitirá sus propias solicitudes. Todavía recibirán sus propios paquetes de red. Aún así, cada uno seguirá su propio camino por separado.

Tendrías que imaginar un universo muy diferente al nuestro para que la pregunta se formule. Y sí, el algoritmo RNG de Linux usa este tipo de cosas.

    
respondido por el David Schwartz 02.05.2012 - 09:39
fuente

Lea otras preguntas en las etiquetas