La capacidad de calcular muchos hashes muy rápido con hardware dedicado es un problema para los hashes de contraseña, pero no un problema nuevo . Antes de la llegada de ASIC especializada en SHA-256, ya estábamos tomando FPGA en cuenta (ver, por ejemplo, esta máquina de investigación , desde hace ya cinco años). Un ASIC se puede sincronizar aproximadamente dos o tres veces la frecuencia del FPGA equivalente; La producción en masa reduce aún más los costos. Esto no cualitativamente cambia la situación, pero sí da un impulso al atacante, algo así como, por ejemplo, 3 bits o entropía.
Por supuesto, un SHA-256 simple para el hashing de contraseña no es una buena idea; es demasiado rápido incluso cuando el atacante tiene "solo" PC clásica; Supongo que estamos hablando de PBKDF2 , una construcción para el hashing lento que se basa en un PRF subyacente, generalmente HMAC , que se construye sobre una función hash como SHA-256.
La teoría ya dice que, en igualdad de condiciones, el hash de contraseña debe usar la función hash subyacente que es más eficiente en el hardware que la procesará en el "sistema honesto", es decir, una PC. Ese es el punto de las funciones de hashing como bcrypt o scrypt. Si quieres mantenerte en PBKDF2, usar SHA-512 sería una buena idea, porque SHA-512 usa muchas operaciones aritméticas de 64 bits, algo en lo que una PC moderna es muy buena, pero a la que la GPU apesta. ASIC especializado en SHA-256 no cambia esa recomendación.