Quanto ci vorrà per rompere una password salata?

0

Diciamo che ho un sistema in cui tutte le password devono avere una lunghezza di 8 caratteri e ogni carattere può avere 32 valori diversi. Tutte le mie password sono state sottoposte a hash con un sale.

Posso testare 64 password al secondo e ho un dizionario di 2 ^ 30 password comuni con 1/4 di probabilità. Il file della password ha 256 password hash.

So che ho 32 ^ 8 password possibili, giusto? e che la probabilità di trovare una password nel dizionario è 1/4 e 3/4 di probabilità che non c'è.

Quindi ho questo: (2 ^ 29/4) + (3 * 2 ^ 39/4) cioè la quantità di lavoro necessaria per decifrare una password particolare. E per sapere quanto tempo impiegherò per decifrare, devo dividere quell'importo per 64, giusto?

Puoi dirmi se ho torto o no?

    
posta Luz A 24.03.2016 - 23:58
fonte

1 risposta

2

OK, procediamo lentamente.

Abbiamo 32 di possibili caratteri in ognuna delle 8 posizioni all'interno delle password. Questo produce 32^8=2^40 di password possibili nel complesso. Da questo insieme di password c'è un sottoinsieme di dimensioni 2^30 da cui la password sarà con probabilità di 1/4 e non con probabilità 3/4 . Ciò significa che proverai prima il piccolo sottoinsieme e otterrai un successo con la probabilità prevista di 1/4 e quindi avrai un carico di lavoro previsto per questo di 1/4 * 2^29 . Ora prova le password rimanenti che sono di dimensione 2^39-2^29 che è approssimativamente 2^39 . Ora prova quelli con una probabilità di 3/4 e quindi il tuo carico di lavoro complessivo diventa 2^27+3*2^37 . Se tutte le 256 password nel file di password hanno lo stesso sale, il carico di lavoro non aumenta e se hanno diversi sali, è necessario moltiplicare (2^27+3*2^37) con il numero di sali distinti s . Ora puoi testare 64 password al secondo e quindi dividi il tuo importo per quel numero e ottieni (2^22+3*2^32)*s secondi o circa 150k anni per sale distinto.

    
risposta data 25.03.2016 - 12:46
fonte

Leggi altre domande sui tag