11

A variation of the CBC mode is the Infinite Garble Extension.

I can neither find a block diagram of it, nor the formulas for encryption and decryption. I would really like to learn more about it but there is not much online information available which helps.

What is the main difference between "normal" CBC and the CBC Infinite Garble Extension if I decrypt blocks ?

Sadeq Dousti
  • 1,073
  • 9
  • 20
userkir
  • 403
  • 5
  • 12

1 Answers1

12

The infinite garble extension makes sure that if a ciphertext block is changed that this block and each block after it doesn't decrypt correctly. The way that additional plaintext is affected when the ciphertext is changed is called error propagation. Error propagation over large parts of the plaintext is mainly interesting if you want to combine it with some MDC: Manipulation Detection Code. Then the MDC can be used to verify integrity of the plaintext.

Nowadays we simply encrypt-and-authenticate using CBC + MAC or an authenticated cipher. Error propagation is of little use if you're already verified the ciphertext for integrity and authenticity. Hence you won't find too many mentions of these (computationally intensive) modes of operation; they are mainly used for niche problems where using an authentication tag isn't the right solution.


With most other modes there is a limited amount of error propagation. With CBC and CBF only the same plaintext block and the next plaintext block will not be the original plaintext. With CTR mode only the modified bits are affected; there is no error propagation.


There is also Bi-IGE which does the same, but in two directions: every plaintext block will be changed even if just one bit of ciphertext is changed. So each bit of plaintext is flipped with a 50% possibility (and at least 1 bit with 100% certainty, but that's inconsequential).


More information can be found in my question and the resulting answer about MDC / IGE.

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323