Forza brutale ruota attorno a indovinare il tipo di caratteri nella stringa. Assumiamo una password con 5 caratteri nelle seguenti classi:
- lettere inglesi minuscole (26)
- lettere inglesi maiuscole (26)
- Cifre da 0 a 9 (10)
Questo ci fornisce un totale di 62 opzioni per ogni posizione, ovvero:
62 x 62 x 62 x 62 x 62 = 916 132 832
916 132 832 Combinazioni possibili. Ora aggiungiamo un altro carattere:
62 x 62 x 62 x 62 x 62 x 62 = 56 800 235 584
Aumenta logaritmicamente con ogni carattere aggiunto. In questo caso non contiamo i simboli che renderebbero un salto ancora più ripido. Invece di avere bisogno di 10 ore per indovinare una password di 7 caratteri, potrebbero essere necessari 40 giorni per indovinare una password di 8 caratteri.
Quando indovini una password per mezzo della forza bruta di solito non conosci la lunghezza, o le classi coinvolte, quindi devi cercare anche i simboli (e, si spera, caratteri non accentuati). Anche con la potenza di elaborazione di oggi, su un computer desktop, il tempo impiegato per provare tutte queste combinazioni è in genere troppo. (Ho pubblicato ulteriori informazioni su password cracking qui se sei interessato).
L'hashing di una password più volte aumenterà il tempo impiegato per round, ad esempio invece di richiedere 1 secondo per password ci vorrebbe 1.5 (di nuovo, questo è solo un esempio), quindi attenua efficacemente l'attacco. Tuttavia, aggiunge anche i consumi di risorse al sistema, in un servizio occupato potrebbe essere abbastanza considerevole da accettare il rischio di implementare un meccanismo di autenticazione inferiore.