Metodo forza bruta: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Addbot (discussione | contributi)
m migrazione di 15 interwiki links su Wikidata - d:q850362
Riga 6:
In ambito crittanalitico questo metodo si utilizza in genere per trovare la [[chiave crittografica|chiave]] di un sistema che impiega un [[cifrario]] per individuare il quale non si conosca alcun attacco migliore, ed è noto appunto come '''attacco di forza bruta'''. Questo fu ad esempio il metodo utilizzato dal controspionaggio polacco e poi inglese per decifrare i messaggi tedeschi della macchina [[Enigma (crittografia)|Enigma]], ideata da [[Arthur Scherbius]]. Per ottenere il risultato infatti, essi utilizzarono la famosa ''[[Bomba (calcolatore)|Bomba]]'' ideata da [[Marian Rejewski]], una speciale macchina calcolatrice in grado di sottoporre il messaggio cifrato ad un attacco di forza bruta, fino a trovare la soluzione. La macchina venne poi perfezionata dagli inglesi, grazie al contributo del grande matematico [[Alan Turing]]. Questi primi rudimentali e mastodontici calcolatori erano lentissimi, se paragonati agli attuali computer, e potevano impiegare interi mesi per decifrare un breve messaggio. In tempi più recenti, per supplire alla sempre maggiore velocità dei computer disponibili in commercio, divenne necessario utilizzare [[chiave crittografica|chiavi]] di sempre maggiore [[Dimensione chiave|dimensione]]. Questa crescita delle dimensioni della chiave è sostenibile, dato che mentre lo [[spazio delle chiavi]] (e quindi il tempo necessario per un attacco forza bruta) aumenta esponenzialmente con la lunghezza della chiave (come O(2<sup>n</sup>), per la precisione) il tempo di cifratura e decifrazione in genere ha poca dipendenza dalla lunghezza della chiave (per fare un esempio, [[Advanced Encryption Standard|AES]], utilizzando chiavi di 256 [[Bit (informatica)|bit]], è più veloce del [[Data Encryption Standard]] (DES), che può utilizzare solamente chiavi da 56 [[Bit (informatica)|bit]]).
 
Un esempio pratico di attacco di forza bruta è quello di tentare di aprire una valigetta con serratura a combinazione provando tutte le possibili combinazioni delle rotelle numerate, che in genere sono solo tre e contengono ognuna una cifra da 0 a 9: le combinazioni totali, ossia i numeri da 000 a 999, sono in tutto 1.000, e altrettanti sono i tentativi massimi necessari per trovare la combinazione esatta. Per aumentare la protezione della valigetta da questo tipo di attacchi è possibile aumentare il numero di ruote numerate; siccome il numero di combinazioni in questo caso cresce secondo le potenze di dieci, con una ruota in più le possibili combinazioni passano da 1.000 a 10.000. Un altro esempio è nella risoluzione di un'equazione, avendo "X+2=5" nel caso in cui non si riesca ad eseguire l' equazione si utilizza la forza bruta: "1+2=5? no" "2+2=5? no" "3+2=5 si".
 
Bisogna prestare attenzione però al ''trade off'', cioè il rapporto tra tempo-memoria e tempo-processori: come spiegato da [[Daniel J. Bernstein]] nell'articolo riportato, un calcolatore con 2<sup>32</suP> processori è incomparabilmente più veloce del corrispondente calcolatore seriale di pari costo.