Quali sono le insidie durante la generazione di un numero casuale da un set di dati casuali?

0

Sono relativamente nuovo al sistema di chiavi GPG e ho imparato a conoscere il sistema attraverso la sperimentazione. Ora so che mentre si genera un seed casuale per la generazione della chiave, il numero casuale viene preso dall'entropia del kernel ( /dev/random ) o dal generatore di numeri pseudo-casuali (%codice%). Il generatore pseudo casuale genera un seme di casualità di 1 in 2 ^ 160 come indicato qui mentre / dev / random sta bloccando .

Stavo pensando se sarebbe stato possibile generare un numero casuale prima e poi inviarlo al mio programma di generatore di chiavi? Nello specifico, posso prendere una certa quantità di file (immagini, testo, pagine web, ecc.) Da ciascun PC nel mio laboratorio e poi rimescolarli / interfogli. Posso crittografare i file separatamente utilizzando password diverse, intercalarli e decrittografarli utilizzando un'altra password e così via. Questi metodi sono buoni o hanno qualche difetto che non è ovvio?

    
posta Community 13.04.2012 - 20:14
fonte

2 risposte

2

I file che useresti (se usato come è ) non sarebbero casuali, perché i file di testo e le pagine web hanno una distribuzione non uniforme: le lettere appariranno molto più di ogni altra cosa .

Per evitare ciò, hai detto che avresti crittografato, decodificato, mixato, ecc. i tuoi file. Quindi, avresti un sacco di lavoro per generare alcuni valori che saranno casuali. Bene, perché non usare qualche generatore di numeri pseudo casuali per generarli? Blum Blum Shub è buono per generare tali numeri e ha anche un nome divertente.

Alcuni altri sono elencati nella wikipedia ...

Ed è meglio usare un algoritmo già testato quindi provare a ricreare i tuoi numeri con qualcosa che non puoi garantire che finirà per avere una distribuzione casuale. Diciamo, cosa succede se tutti i file sono simili o in qualche modo distorti ad alcuni valori? o scegli un algoritmo di crittografia che, in qualche modo, produce un risultato distorto?

    
risposta data 13.04.2012 - 20:50
fonte
1

No, probabilmente la tua proposta non è una buona idea.

È improbabile che la tua procedura finisca per essere più sicura di /dev/urandom , e molto probabilmente che almeno una volta, la tua procedura sarà significativamente meno sicura di /dev/urandom . Almeno una parte del tempo, i file potrebbero essere prevedibili. Inoltre, la tua proposta implica uno sforzo umano, quindi è più un dolore per l'utente. E, se si richiede all'utente di fare qualcosa in più, molti utenti potrebbero provare a fare il meno possibile, riducendo ulteriormente la sicurezza fornita. In generale, gli umani tendono a essere una scarsa fonte di casualità . Ad esempio, quando chiedi agli umani di generare password, spesso le password risultanti sono fragilizzabili per la ricerca nel dizionario.

Qual è il problema che stai cercando di risolvere? Non dici perché trovi l'attuale comportamento di GPG insoddisfacente. Hai avuto una brutta esperienza con questo?

    
risposta data 14.04.2012 - 04:47
fonte

Leggi altre domande sui tag