# Avalanche effect

*This article is about cryptography; for other meanings, see snowball effect*.

*diffusion*.

If a block cipher or cryptographic hash function does not exhibit the avalanche effect to a significant degree, then it has poor randomization, and thus a cryptanalyst can make predictions about the input given only the output. This may be sufficient to partially or completely break the algorithm. It is thus not a desirable condition -- at least from one point of view. Ciphers and hashes which do not exhibit an adequate avalanche effect exhibit patterns in their output, which cryptanalysis can often exploit.

Constructing a cipher or hash to exhibit a substantial avalanche effect is one of the primary design objectives. This is why most block ciphers are product ciphers. It is also why hash functions have large data blocks. Both these features allow small changes to propagate rapidly through iterations of the algorithm, such that every bit of the output should depend on every bit of the input before the algorithm terminates.

## See also

- Strict avalanche criterion
- Bit independence criterion