Se ho due identiche immagini di macchine virtuali linux, genereranno numeri casuali identici?

15

Una domanda davvero noob, lo so, ma qualcosa di cui mi stavo chiedendo stamattina. Se questo fosse il caso, crittograferebbero le cose in modo identico?

O forse qualcuno potrebbe indirizzarmi verso una ricerca utile su come linux genera entropia e crittografa le cose? Google mi sta dando risultati tangenziali ma nulla di particolarmente utile.

    
posta user1209326 01.05.2012 - 15:47
fonte

3 risposte

17

Le immagini di sistema identiche generano dati diversi quando si estraggono dal loro pool di casualità a meno che non si stia lavorando su un'impostazione molto sterile per spostarle lungo un ciclo di clock contemporaneamente.

L'attività nel sistema influisce sul pool di casualità in base agli eventi inclusi gli interrupt hardware. La realtà dice che le unità disco, le schede di rete e il momento in cui si preme il pulsante di accensione varieranno. Anche un orologio ben disciplinato avrà una certa differenza tra le macchine e questo crescerà nel tempo.

Alcune buone letture includono un documento accademico sull'RNG Linux e il file random.c dal kernel corrente fonte (intenzionalmente scollegata).

    
risposta data 01.05.2012 - 16:15
fonte
0

No.

L'RNG di Linux utilizza fonti ambientali di entropia reale raccogliendo il rumore proveniente da fonti come il tempo di interrupt attivato da hardware esterno: hard disk, mouse, rete, ecc. In realtà, si potrebbe sostenere che Linux usa un "vero casuale" generatore di numeri "non è un" generatore di numeri pseudo casuali "perché l'output è veramente imprevedibile a meno che non si possa dare un'occhiata alla fonte di entropia, proprio come sarebbe per qualsiasi altro TRNG.

C'è un periodo di tempo, tuttavia, dopo che una macchina si avvia da uno stato conosciuto prima che abbia avuto la possibilità di raccogliere qualsiasi entropia dall'ambiente durante il quale l'output di /dev/urandom sarebbe prevedibile.

Il link è istruttivo e facile da capire.

    
risposta data 02.05.2012 - 08:56
fonte
0

La domanda si basa sulla falsa ipotesi che tu possa avere due sistemi identici. Questo non è possibile in questo universo. Ad esempio, come minimo, dovrebbero trovarsi in posti diversi. Questi diversi luoghi avranno diverse variazioni di temperatura della zona microscopica. E queste variazioni influenzano la relazione di fase tra gli oscillatori al quarzo che guidano l'orologio della CPU e l'orologio di rete.

Allo stesso modo, i microscopici difetti di superficie nei piatti del disco e all'interno del case del disco rigido influenzano il taglio turbolento dell'aria. Questo influenza la velocità di rotazione dei piatti. Non è possibile avere due dischi rigidi con proprietà di taglio turbolente identiche.

Anche usando gli stessi orologi e lo stesso disco rigido, emetteranno comunque le loro richieste. Ognuno riceverà comunque i propri pacchetti di rete. Continueranno a eseguire ognuno il proprio percorso separato.

Dovresti immaginare un universo molto diverso dal nostro per la domanda che potrebbe essere fatta. E sì, l'algoritmo RNG di Linux utilizza questo tipo di cose.

    
risposta data 02.05.2012 - 09:39
fonte

Leggi altre domande sui tag