Creo que las vulnerabilidades de SHA-1 no son de ninguna manera relevantes aquí, lo que es relevante es que es una operación simple, rápida y vergonzosamente paralelizable.
Las vulnerabilidades en SHA-1 son los ataques de colisión, que son dolorosos con las firmas, pero sin sentido para las contraseñas. Los ataques de preimagen serían realmente aterradores en el contexto del hash de contraseñas, pero ninguno existe, que yo sepa.
Ahora, ¿por qué es un problema que SHA-1 sea una operación simple, rápida y vergonzosamente paralelizable? El artículo al que has vinculado lo explica: No hay ventana .
¿Qué significa eso, qué ventana? La consecuencia de que el hash sea rápido es que prácticamente todas las contraseñas de los usuarios (de las cuales incluso la mayoría de las "mejores" son aún algo de baja entropía) son craqueables en cuestión de segundos. Bases de datos completas con decenas de miles de contraseñas se pueden abrir en un solo día, y ni siquiera necesita ser la NSA para lograrlo.
En la práctica, esto significa que cada la brecha de seguridad es siempre el mayor desastre que se pueda imaginar, mientras que si solo hubiera usado algo como bcrypt, que es una operación deliberadamente lenta, habría tenido un par de días (o semanas) para informar a sus usuarios y hacer que cambien sus contraseñas. Esto convierte a "desaster total" en "vergonzoso, pero tolerable" . Consulte ¿Cómo hacer hash de forma segura las contraseñas? para obtener información más detallada de lo que hace un hash adecuado de contraseña (a diferencia de un hash criptográfico "normal").
Algunos usuarios con contraseñas particularmente estúpidas ("password", "fuckyou", "letmein"), por supuesto, tendrán sus cuentas comprometidas porque incluso con bcrypt puedes descifrar las 100 contraseñas más estúpidas en ... . Un par de segundos. Si tiene, por ejemplo, 10,000 contraseñas de usuario con sal individualmente, la prueba de las 100 contraseñas más estúpidas solo requiere un millón de iteraciones. Incluso con un algoritmo lento, eso es cuestión de segundos.
Pero la diferencia importante es que las otras contraseñas que están no en la lista de los 100 principales no se pondrán en peligro tan fácilmente. Esos usuarios tienen una buena oportunidad de cambiar su contraseña a tiempo.