Los algoritmos de hashing bcrypt y scrypt están diseñados para aumentar los recursos requeridos durante el cálculo. Hashear contraseñas con estos algoritmos puede ser beneficioso, ya que dificulta la tarea de un atacante sin conexión.
El tiempo requerido para hash de una contraseña se puede aumentar al aumentar el número de iteraciones en bcrypt. El atacante debe ejecutar estas iteraciones de manera secuencial, ya que no se supone un acceso directo.
La memoria requerida para hash de una contraseña se puede aumentar en scrypt. Por lo tanto, el atacante necesitará una gran cantidad de memoria para montar ataques paralelos.
Como entiendo, ambos algoritmos intentan frustrar los ataques paralelos.
Mi pregunta es: ¿podemos hacer que SHA-x o cualquier algoritmo hash seguro sea iterativo e intensivo en memoria, y lograr la misma funcionalidad que bcrypt y scrypt?