Unformatted text preview: current plaintext block before encryption (or after decryption) (see Figure 9.15). Ci = EK(Pi • Ci-1 • Pi-1) Pi = Ci-1 • Pi-1 • DK(Ci) PCBC was used in Kerberos version 4 (see Section 24.5) to perform both encryption and integrity checking in one pass. In PCBC mode, an error in the ciphertext will result in incorrect decryption of all blocks that follow. This means that checking a standard block at the end of a message will ensure the integrity of the entire message. Unfortunately, there is a problem with this mode . Swapping two ciphertext blocks results in the incorrect decryption of the two corresponding plaintext blocks, but due to the nature of the XOR with the plaintext and the ciphertext, the errors cancel. So if the integrity checker looks only at the last few blocks of the decrypted plaintext, it could be fooled into accepting a partially garbled message. Although no one has figured out how to exploit this weakness, Kerberos version 5 switched to CBC mode after the flaw was discovered. Cipher Block Chaining with Checksum
Cipher block chaining with checksum (CBCC) is a CBC variant . Keep a running XOR of all the plaintext blocks, and XOR that with the last plaintext block before encryption. CBCC ensures that any change made to any ciphertext block changes the decrypted output of the last block. If the last block contains any sort of integrity check or a constant, then the integrity of the decrypted plaintext can be checked with very little additional overhead. Figure 9.15 Propagating cipher block chaining mode. Output Feedback with a Nonlinear Function
Output feedback with a nonlinear function (OFBNLF)  is a variant of both OFB and ECB where the key changes with every block: Ci = EKi(Pi); Ki = EK(Ki-1) Pi = DKi(Ci); Ki = EK(Ki-1) A single bit error in the ciphertext propagates to only one plaintext block. However, if a single bit is lost or added, then there is infinite error extension. With a block algorithm that has a complicated key scheduling algorithm, like DES, this mode is slow. I know...
View Full Document
This note was uploaded on 10/18/2010 for the course MATH CS 301 taught by Professor Aliulger during the Fall '10 term at Koç University.
- Fall '10