cryptography

Definition

Cipher Block Chaining Mode

Cipher Block Chaining (CBC) is a mode of operation for a block cipher in which each plaintext block is XORed with the encryption of the previous block before being encrypted. The first block is XORed with a randomly generated initialisation vector (IV).

Encryption

For plaintext blocks and a randomly chosen IV:

Encryption is non-deterministic: the same pair (plaintext, key) might produce different ciphertexts due to the random IV.

1

Decryption

1

Properties

Parallelisation

Parallelisation of decryption and random read access are possible. Encryption cannot be parallelised due to the dependency on the previous ciphertext block.

Error Propagation

A bit flip in a ciphertext block produces random errors in the corresponding plaintext block and a bit flip at the same position in the next plaintext block. A bit flip in the IV causes a flip of the corresponding bit in the first plaintext block.

Footnotes

  1. 192.019 Introduction to Security 2