Avalanche effect

As an avalanche effect is referred to in cryptography, the property of an algorithm to produce a completely different output at a minimum change in the input. This property is a formalization of the requirement that when a block cipher or cryptographic hash function of each bit of the output will depend on the entire input. Thus, the avalanche effect causes a good diffusion.

Strict Avalanche Criterion

The Strict Avalanche Criterion (SAC, engl. " Strict avalanche criterion ") is a formalization of the avalanche effect, which was introduced in 1985 by Webster and Tavares. This criterion requires that upon a change of input bits, each bit of the output with a probability of 50 % changes. The performance of SAC is now a standard requirement for cryptographic systems, it was, for example, fulfilled by all finalists in the AES competition.

Examples

The following examples are given cryptographic approaches and assessed their avalanche effect.

SHA-1

The SHA-1 checksum indicates a strong avalanche effect.

Demonstration by exemplary generation of two SHA-1 checksum (160 -bit) and their comparison:

Input: aaaaaaaaaaaaaaa   Edition: 7e13c003 a8256cd4 21,055,563 c5da6571 d50713c9   Input: aaaaaaaaaaaaaab   Edition: da5f09bc 23d63778 ebf88521 ac5df8aa 2f7298ce The number of different bits ( Hamming distance ): 89 Rate in this example: 55.6 % bit difference.

Both editions are significantly different despite mimimal different inputs.

AES

The AES encryption algorithm shows a strong avalanche effect.

Encryption of 128 -bit words by AES: In both cases, AES -256 is used in Electronic Code Book mode with the alternate key 010101 ... 01.

Input: aaaaaaaaaaaaaaaa   Edition: 0a561d9e 30bb09db 47f8e83d 443865cf   Input: aaaaaaaaaaaaaaab   Edition: c1e768d3 9177e9ef debee33a b92b4450 Number of different bits ( Hamming distance ): 62 Rate in this example: 48.4 % bit difference.

Both editions are significantly different despite mimimal different inputs.

Monoalphabetic substitution

An encryption by monoalphabetic substitution shows no avalanche effect.

In both cases, the following excerpt from a substitution table is used: a → r; b → z

Input: aaaaaaaaaaaaaaa   Edition: rrrrrrrrrrrrrrr   Input: aaaaaaaaaaaaaab   Edition: rrrrrrrrrrrrrrz Both editions are nearly identical.

501821
de