Le GPU sono veloci solo quando puoi eseguire molte operazioni in parallelo. Hash 'stretching' alimentando un risultato di un singolo round di un hash in un'altra iterazione come un sale, rende sicuramente l'intero processo più lento. Non solo per impostazione predefinita puoi fare 1000 round di MD5, ma non puoi eseguirli in parallelo, poiché il round 2 deve attendere il round 1 per essere completato.
Le password salate sono un altro "ostacolo" al cracking della GPU. Se hai uno schema di hashing senza sale, l'hash calcolato può essere confrontato con TUTTI i diversi hash che stai cercando di crackare. Con un sale adeguato (alta entropia), se calcoli un hash, tutto ciò che puoi confrontare è l'hash con lo stesso sale che hai appena usato per calcolare il tuo hash. Di solito è solo uno, a meno che tu non sia fortunato (o abbia una serie di password molto grande, o brevi sali), e no puoi confrontare il tuo valore con alcuni hash, non con uno solo.
Un altro aspetto del cracking della GPU che non ho mai visto è il cracking della password singola rispetto a molti. Per farla breve, crackare molte password può essere MOLTO più veloce che se si cerchi di crearne una sola, dato che si sta usando il software giusto per questo. Quindi, prima di eseguire un crack, fare prima una breve analisi dei dati, osservare la velocità. Se è molto più lento del solito, probabilmente devi usare un programma diverso o modificare i parametri per migliorare le prestazioni.