È stata stabilita la saggezza di password hash più volte con un salt per aumentare il tempo necessario per l'iterazione della forza bruta . Allo stesso tempo (a meno che l'algoritmo non garantisca diversamente) c'è una possibilità minuscola ma non nulla di finire con un punto fisso o ciclo , per cui (ad esempio)
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)
ecc.
Identità o cicli brevi * sarebbero buchi neri di sicurezza - più iterazioni non significherebbero più difficili da decifrare - e un algoritmo in cui tali cicli sono comuni sarebbe peggio che inutile, portando a un paio di domande ovvie:
- Le lunghezze medie e medie del ciclo sono note per algoritmi comuni come MD * e SHA - *?
- Esistono algoritmi utili * che garantiscono che il ciclo più piccolo sia l'intero spazio di output?
* AFAICT, qualsiasi algoritmo di hashing utile (output finito, deterministico) avrebbe almeno un ciclo "banale", quando lo spazio di output è stato esaurito.