Definition
Cascade Hashing
Cascade hashing (also called iterated hashing or key stretching) is a technique that makes password hash computation more expensive by applying a cryptographic hash function repeatedly.
For an iteration count , the hash is computed as
or, with the salt re-injected at each step,
Parameters
Iteration Count
The iteration count is typically chosen between and . This range is large enough to slow down an attacker by a factor of , yet small enough that a legitimate user experiences only a brief delay (under one second).
Effect on Attacks
Attack Slowdown
The computational cost for an attacker performing a dictionary or brute-force attack is increased by a factor of .
A single hash evaluation is fast; repeating it times multiplies the total attack time proportionally.
Examples
Pure Iteration
Salted Iteration