3
$\begingroup$

I wonder how or why Avalanche Effect got its name.

Avalanche Effect is a desirable property of cryptographic algorithms, wherein if an input is changed slightly (for example, flipping a single bit), the output changes significantly (e.g., half the output bits flip). (source: Wikipedia)

But I feel like this definition has nothing to do with its name. If I asked what is avalanche/snowball effect, I would probably think of something which starts small but exponentially grow out of control.

$\endgroup$
1
  • 3
    $\begingroup$ This is the same "idea", something "small" becomes very "large" $\endgroup$
    – nir shahar
    Commented Mar 3, 2021 at 17:41

1 Answer 1

4
$\begingroup$

The term first described by Horst Feistel (1973)

As the input moves through successive layers the pattern of 1's generated is amplified and results in an unpredictable avalanche.

It is rather very good naming. Consider a bit flip in the AES's input; It enters the first Sbox, then according to the design of the Sboxes of AES the output is different since they are invertible (actually they are also designed to have avalanche effect). Now say we have at least two different output bits, then the Sub-Bytes and MixColums will distribute the changes. Therefore in the first round, you will have 2 changes, in the next round you will have 4,.. and so on. As you can see the minimum change becomes larger and larger in each round. That is how an avalanche is working.

Note that we have $2^{10}$ changes in the last round for AES-128. Contradictory, no, since some changes will cancel each other and that part together with the key's action is unpredictable for our computing capabilities!

The blow picture was drawn by Feistel, which should tell the idea; One small change at the beginning and it is a big effect on the output.

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.