- Avalanche effect
:"This article is about
cryptography ; for other meanings, seesnowball effect andavalanche (disambiguation) ".In
cryptography , the avalanche effect refers to a desirable property of cryptographicalgorithm s, typicallyblock cipher s andcryptographic hash function s. The avalanche effect is evident if, when an input is changed slightly (for example, flipping a single bit) the output changes significantly (eg, half the output bits flip). In the case of quality block ciphers, such a small change in either the key or theplaintext should cause a drastic change in theciphertext . The actual term was first used byHorst Feistel (Feistel 1973), although the concept dates back to at least Shannon's "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, being given only the output. This may be sufficient to partially or completely break the algorithm. It is thus not a desirable condition from the point of view of the designer of the cryptographic algorithm or device.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 cipher s. It is also why hash functions have large data blocks. Both of these features allow small changes to propagate rapidly through iterations of the algorithm, such that everybit of the output should depend on every bit of the input before the algorithm terminates.Strict avalanche criterion
The Strict Avalanche Criterion (SAC) is a property of
boolean function s of relevance incryptography . A function is said to satisfy the strict avalanche criterion if, whenever a single input bit iscomplement ed, each of the output bits should change with a probability of one half. The SAC builds on the concepts of completeness and avalanche and was introduced by Webster and Tavares in 1985.Bit independence criterion
The Bit independence criterion (BIC) states that output bits "j" & "k" should change independently when any single input bit "i" is inverted, for all "i", "j" and "k".
See also
*
Confusion and diffusion References
*A. F. Webster and
Stafford E. Tavares , "On the design of S-boxes", Advances in Cryptology - Crypto '85 (Lecture Notes in Computer Science), vol. 219, pp. 523-534, 1985.
* [http://herbert.gandraxa.com/herbert/hsh.asp#toc92 Practical example] (32 bits), taken from the extensive justification of thehash function HSH 11/13
*Horst Feistel, "Cryptography and Computer Privacy." "Scientific American ", Vol. 228, No. 5, 1973. [http://www3.edgenet.net/dcowley/docs.html (JPEG format scanned)]
Wikimedia Foundation. 2010.