Cipher Block Chaining (CBC) Mode

CBC mode of operation provides message dependence for generating ciphertext and makes the system non-deterministic.

Operation

The operation of CBC mode is depicted in the following illustration. The steps are as follows −

  • Load the n-bit Initialization Vector (IV) in the top register.
  • XOR the n-bit plaintext block with data value in top register.
  • Encrypt the result of XOR operation with underlying block cipher with key K.
  • Feed ciphertext block into top register and continue the operation till all plaintext blocks are processed.
  • For decryption, IV data is XORed with first ciphertext block decrypted. The first ciphertext block is also fed into to register replacing IV for decrypting next ciphertext block.
CBC Mode

Analysis of CBC Mode

In CBC mode, the current plaintext block is added to the previous ciphertext block, and then the result is encrypted with the key. Decryption is thus the reverse process, which involves decrypting the current ciphertext and then adding the previous ciphertext block to the result.

Advantage of CBC over ECB is that changing IV results in different ciphertext for identical message. On the drawback side, the error in transmission gets propagated to few further block during decryption due to chaining effect.

It is worth mentioning that CBC mode forms the basis for a well-known data origin authentication mechanism. Thus, it has an advantage for those applications that require both symmetric encryption and data origin authentication.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *