Descargo de responsabilidad: noté varias preguntas en este sitio, pero ninguna responde realmente a estas dos preguntas directamente. Por lo tanto, no considero este duplicado.
Personalmente, me gusta mucho el artículo llamado Algunas palabras sobre uso de contraseña, salado y estiramiento de Michael Anders explicando por qué el estiramiento es importante.
Para el usuario legítimo, no importa si el programa necesita un microsegundo para verificar la contraseña o una décima de segundo. Él no notará la diferencia. Para el atacante puede ser la diferencia entre 1 día para una búsqueda exhaustiva o el tiempo de 100 mil veces de 300 años.
Me pregunto si el estiramiento extenso aumenta el riesgo de una denegación de servicio (DoS) causada por el agotamiento de los recursos. Es probable que sea más fácil usar más recursos del servidor cuando se realizan múltiples intentos de inicio de sesión (no con el propósito de iniciar sesión, forzar la fuerza bruta, sino con el propósito de causar un DoS).
En segundo lugar, ¿una simple protección de fuerza bruta que impida que la contraseña llegue a la función de comprobación de contraseña (incluido el hashing y el estiramiento) después de una cantidad X de intentos fallidos de inicio de sesión, posiblemente evitaría este tipo de DoS (por agotamiento de recursos)? / p>