Molto spesso vedo .NET class Random
utilizzato per la generazione di password.Come faccio a dimostrare che .NET class Random non è adatto alla generazione di password?
Da una parte, this question I asked earlier indica che la generazione di una serie di dati "segreti" utilizzando class Random
produce dati piuttosto prevedibili. D'altra parte, sto attualmente cercando di eseguire quella previsione esatta e il mio codice funziona alla velocità di circa sei milioni di tentativi di semi al giorno su un singolo core - non estremamente veloce, ci vorrà quasi un anno per enumerare tutti i possibili valori di seme a quel ritmo.
Esiste un modo più chiaro e veloce per mostrare che le password generate utilizzando i dati da class Random()
sono molto più deboli di quanto previsto in genere?
Perché non mostrare loro la risposta di Eric Lippert e la domanda che hai collegato? Mostra anche un esempio di generazione di numeri casuali crittografici: se stai cercando di convincere le menti degli affari, basta menzionare la parola crittografica che dovrebbe funzionare :-P –
Penso che tu abbia la logica nel modo sbagliato. Se esiste un'applicazione che è cruciale per la sicurezza, l'onere grava su coloro che propongono una soluzione per dimostrare che la soluzione soddisfa i requisiti di sicurezza. Dubito che qualcuno potrebbe farlo per la classe Random di .NET. I PRNG utilizzati nelle applicazioni crittografiche hanno definito le proprietà di sicurezza, quindi è possibile mostrare che soddisfano i requisiti definiti. –