Robustezza della password: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Folto82 (discussione | contributi)
Folto82 (discussione | contributi)
Riga 61:
 
=== Decrittazione a 64 e 72 bit ===
Nel 1976 la [[Electronic Frontier Foundation]] (EFF) creò DES ("[[Data Encryption Standard]]") soprannominato “Deep Crack”, un algoritmo di cifratura che usava una chiave a 64 bit (56 bit utili e 8 [[bit di parità]] o controllo) in grado di decriptare fino a 2^56 differenti chiavi, ovvero, circa 72 quadrilioni.<br />
 
Nel 1999, DES in collaborazione con [[distributed.net]], riuscì a decriptare una chiave a 56 bit in 22 ore e 15 minuti.<br />
Nel 1999, DES in collaborazione con [[distributed.net]], riuscì a decriptare una chiave a 56 bit in 22 ore e 15 minuti. Nel 2002 la distributed.net riuscì a rompere una chiave di cifratura a 64 bit effettivi in circa 4 anni.<ref name=bit64>{{Cita news|url= http://stats.distributed.net/projects.php?project_id=5 |titolo= 64 bit, statistiche e tempi |data= distributed.net URL consultato il 9 luglio 2017}}</ref><br />
 
RFC4028,“Randomness Requirements for Security”, ha presentato nel 2005 alcuni studi su come misurare l’entropia di una chiave. I risultati variano da 29 bit di casualità, ovvero 2^29, circa 500.000.000 di tentativi necessari se si prevedono solo attacchi online, a 128 bit in output, ricavati da 384 bit di ingresso composti da 128 bit di dati e 256 bit di chiave, per le chiavi di crittografia che fanno riferimento a funzioni di miscelazione per bit multipli più forti.<ref name="Randomness Requirements for Security">{{Cita news|url= https://tools.ietf.org/html/rfc4086 |titolo= Randomness Requirements for Security 4028 |autore=J. Schiller, MIT, S. Crocker |data= giugno 2005}}</ref><br />
A partire dal 2007 la distributed.net apre il progetto di decrittazione RC5-72, l'approccio del progetto era quello di decrittare un messaggio a 72 bit provando tutte chiavi possibili ([[brute force]]) fino a trovare quella corretta. Per far questo l'intera area di lavoro è stata divisa in blocchi, ogni pacchetto consiste in <math>2^{32}</math> (circa 4,2 miliardi) combinazioni possibili. L'hardware di partenza del progetto è stato [[NVidia CUDA]], che riusciva a calcolare fino a 600 milioni di chiavi al secondo.<br />
 
A partire dal 2007 la distributed.net apre il progetto di decrittazione RC5-72, l'approccio del progetto era quello di decrittare un messaggio a 72 bit provando tutte chiavi possibili ([[brute force]]) fino a trovare quella corretta. Per far questo l'intera area di lavoro è stata divisa in blocchi, ogni pacchetto consiste in <math>2^{32}</math> (circa 4,2 miliardi) combinazioni possibili. L'hardware di partenza del progetto è stato [[NVidia CUDA]], che riusciva a calcolare fino a 600 milioni di chiavi al secondo.<br />
 
Nel 2008 iniziarono le modifiche [[hardware]] per aumentare i [[core (informatica)|core]] di lavoro di RC5-72 progettati per funzionare anche su [[ATI Technologies|ATI]]. Verso la fine del 2008 vennero concluse le modifiche e introdotti i processori [[AMD Radeon HD 6000 series]] e [[ATI Radeon HD 5000 series]] con una velocità di calcolo di 1,8 miliardi di chiavi al secondo.<br /><ref name=velocità>{{Cita news |url= http://stats.distributed.net/speed/ |titolo= Confronti di velocità del client |data= distributed.net URL consultato il 14 luglio 2017 |urlmorto= sì }}</ref>
Gli ultimi aggiornamenti rilasciati dalla distributed.net del 2017 mostrano che, ad oggi, le tempistiche per decrittare un messaggio a 72 bit, avendo a disposizione 129.586 partecipanti al progetto, sono di 5.337 giorni, ovvero circa 124 anni.<ref name=bit72>{{Cita news|url= http://stats.distributed.net/projects.php?project_id=8 |titolo= 72 bit, statistiche e tempi | data= distributed.net URL consultato il 9 luglio 2017}}</ref>
 
A causa dei limiti riconosciuti dalla fisica fondamentale, non c’è nessuna aspettativa per quanto riguarda la decrittazione di chiavi maggiori o uguali a 256 bit tramite un attacco di brute force.
 
===Password casuali===
Le password casuali consistono in stringe di lunghezza già specificata composte da simboli presenti in alcuni set già esistenti come, ad esempio, il codice ASCII.