security cryptography

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