Las GPU son rápidas solo cuando puedes hacer muchas operaciones en paralelo. El "estiramiento" del hash al alimentar el resultado de una sola ronda de un hash en otra iteración como una sal definitivamente hace que todo el proceso sea más lento. No solo, por defecto, puedes hacer 1000 rondas de MD5, sino que no puedes hacerlo en paralelo, ya que la ronda 2 debe esperar a que se complete la ronda 1.
Las contraseñas con sal son otro "obstáculo" para el crackeo de GPU. Si tiene un esquema de hash sin sal, el hash calculado puede compararse con TODOS los hashes diferentes que intenta romper. Con una sal adecuada (alta entropía), si calcula un hash, todo lo que puede comparar es el hash con la misma sal que utilizó para calcular su hash. Por lo general, es solo uno, a menos que tenga suerte (o tenga un conjunto muy grande de contraseñas o sales cortas), y no puede comparar su valor con algunos hashes, no solo uno.
Otro aspecto del cracking de GPU que no he visto discutido es el cracking de una sola contraseña frente a muchos. Para resumir la historia, muchas de las contraseñas pueden ser MUCHO más rápidas que si intentas descifrar solo una, dado que estás usando el software adecuado para ella. Por lo tanto, antes de ejecutar un trabajo de crack, primero realice una breve ejecución de sus datos, observe la velocidad. Si es mucho más lento de lo habitual, es probable que necesites usar un programa diferente o modificar los parámetros para aumentar el rendimiento.