Tal como lo entiendo, al usar el cifrado unidireccional podemos proteger los datos de contraseña almacenados en caso de que sean robados. En términos generales, los datos de las contraseñas generalmente se pueden descifrar al adivinar, de modo que la solidez de la protección de las contraseñas se pueda medir como el tiempo de la computadora que esperaríamos que tomara un ataque de fuerza bruta.
Sin embargo, el tiempo de cálculo no es una buena métrica en sí misma porque los ataques se pueden paralelizar y, lo que es más importante, algunos métodos de cifrado se pueden paralelizar más fácilmente que otros. "10 años" tiene un significado muy diferente dependiendo de si un ataque es vergonzosamente fácil de paralelizar o si es muy resistente a un ataque paralelo.
Suponiendo que sabemos todo lo que podemos saber (algoritmo, calidad de sal, política de contraseñas, número de iteraciones, cantidad de contraseñas, etc.) y solucionamos nuestras suposiciones acerca de las técnicas disponibles para un atacante, entonces, ¿hay una ¿Indicador razonable de qué tan bien protegidos están los datos de la contraseña en manos de un atacante (incluso si solo fuera 'preciso' para un par de órdenes de magnitud)?
Por ejemplo, ¿Es el costo financiero una métrica razonable? ¿Podría una indicación de "$ 1,000 por contraseña resquebrajada" estimar de manera muy general la protección de una contraseña? P.ej. un atacante con recursos masivos puede romper uno cada segundo, mientras que otro puede romper uno cada mes pero (dentro de un par de órdenes de magnitud) cuesta cada $ 1,000 por contraseña.
Si el costo no es bueno en absoluto, ¿hay alguna métrica que se pueda usar para comunicar a los legos la fuerza relativa de los diseños de protección de contraseñas?