Come stimiamo il tempo necessario per rompere un hash usando tecniche di forza bruta

2

Un hacker tedesco è riuscito a crack di forza bruta un hash SHA1 a 160 bit con password tra 1 e 6 cifre in 49 minuti. Ora mantenendo tutto costante (hardware, tecnica di cracking - qui forza bruta, lunghezza della password ecc.) Diciamo che ci vuole 1 ora per decifrare un algoritmo SHA2-256 bit (il tempo impiegato è solo un esempio, so che non è il caso al momento ) quindi come stimiamo il tempo necessario per rompere l'hash SHA-512 o gli hash SHA2-384 o SHA2-224?

Anche il tipo di hash è un esempio, un altro modo di porre questa domanda è se ci vuole 1 ora per craccare un hash di 128 bit, come si arriva a una formula per stimare il tempo per rompere lo stesso tipo di hash ma di un po 'di forza diversa, tutto il resto è costante?

    
posta dozer 19.05.2014 - 10:21
fonte

1 risposta

2

Per gli hash senza attacchi oltre la forza bruta, il tempo di cracking è:

keyspace / hashrate

Una password di sei cifre o meno ha uno spazio delle chiavi di 81111 valori possibili, quindi un hashrate di 377 hash al secondo è sufficiente per decifrare. Ora, per un computer moderno, questo è eccezionalmente lento (il tipo di tasso di hash che ci si potrebbe aspettare da un Apple II), e non sarebbe degno di nota. L'articolo riguarda in realtà le password da 1 a 6 caratteri : supponendo i caratteri alfanumerici, questo è 6,2 * 10 ^ 10 valori possibili per un più impressionante 21 Mhash / sec; se è byte , questo è 93 Ghash / sec.

SHA-512, SHA2-384 e SHA-224 non sono molto più lenti da calcolare rispetto a SHA1 o SHA-256, quindi se si può forzare bruta-forza una password con hash SHA1 in un'ora, si può usare la forza bruta in circa un'ora se viene utilizzato uno degli altri hash SHA. Questo è il motivo per cui le password dovrebbero essere sottoposte a hash utilizzando un algoritmo intrinsecamente lento come bcrypt .

    
risposta data 19.05.2014 - 10:33
fonte

Leggi altre domande sui tag