Se ha establecido la sabiduría de hash de la contraseña varias veces con una sal para aumentar el tiempo que toma la iteración de fuerza bruta . Al mismo tiempo (a menos que el algoritmo garantice lo contrario) hay una posibilidad mínima pero no nula de terminar con un punto fijo o ciclo , donde (por ejemplo)
hash(hash(hash_so_far + salt) + salt) = hash(hash_so_far + salt)
o
hash(hash(hash(hash_so_far + salt) + salt) + salt) = hash(hash_so_far + salt)
etc.
Tales identidades o ciclos cortos * serían agujeros negros de seguridad (más iteraciones no significarían más difíciles de descifrar) y un algoritmo donde estos ciclos son comunes sería peor que inútil, lo que lleva a un par de preguntas obvias:
- ¿Se conocen las duraciones media y media de los ciclos para algoritmos comunes como MD * y SHA- *?
- ¿Existen algoritmos * útiles que garanticen que el ciclo más pequeño es todo el espacio de salida?
* AFAICT, cualquier algoritmo de hashing útil (salida finita, determinista) tendrá al menos un ciclo "trivial", cuando se haya agotado el espacio de salida.