Avalanche Effect happened when a slight change of input or key bit (plaintext) results in a significant change on the output bits (ciphertext, approximately half or more of them). It is a key desirable property of #encryption #algorithm.
Avalanche Effect
- TNS3131 Chapter 2: Conventional Encryption and Message Confidentiality
- TAC3121 Chapter 5: Symmetric Cryptography
-
Message Authentication Code (MAC)
MAC should depend equally on all bits of the message (Avalanche Effect)
-
Data Encryption Standard (DES)
DES is an encryption standard that adheres to #Symmetric Cryptography. It utilises Feistel Cipher Structure#, by doing 16 rounds of encrypting, where the underlying encryption method also exhibits Avalanche Effect# (34 bits and 35 bits difference for the plaintext and the key). Both 64-bit plaintext and the 64-bit key will undergo permutation before going through the Feistel cipher structure where only 56 bits of the key selected. The key will be left circular shifted in order to produce subkeys (in 48 bits), which will be done 16 rounds like the main encryption process. After 16 rounds, a 32-bit swap follows by an inverse initial permutation will produce a 64-bit ciphertext.
-
Cipher Block Chaining (CBC)
The message the was broken into blocks will be chained together (ciphertext block used to XOR the next plaintext block) in encryption algorithm, which is one of its strength, as little change to a block will affect the all the following blocks (Avalanche Effect#). At the end of the message, there is a need to handle the short blocks using either padding with non-data values such as nulls or pads the last block as the count of the pad size. It uses initialisation vector (IV) to start the process, as shown in the following equation: