Block ciphers operate on fixed-length blocks but messages can be any length. Block cipher modes of operation allow encrypting arbitrary-length messages by combining the block cipher with an initialization vector and encryption of blocks in modes like electronic codebook (ECB), cipher block chaining (CBC), cipher feedback (CFB), and output feedback (OFB). CBC is the most commonly used mode and provides security by chaining blocks together through XOR operations.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Block ciphers operate on fixed-length blocks but messages can be any length. Block cipher modes of operation allow encrypting arbitrary-length messages by combining the block cipher with an initialization vector and encryption of blocks in modes like electronic codebook (ECB), cipher block chaining (CBC), cipher feedback (CFB), and output feedback (OFB). CBC is the most commonly used mode and provides security by chaining blocks together through XOR operations.
Block ciphers operate on fixed-length blocks but messages can be any length. Block cipher modes of operation allow encrypting arbitrary-length messages by combining the block cipher with an initialization vector and encryption of blocks in modes like electronic codebook (ECB), cipher block chaining (CBC), cipher feedback (CFB), and output feedback (OFB). CBC is the most commonly used mode and provides security by chaining blocks together through XOR operations.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Block ciphers operate on fixed-length blocks but messages can be any length. Block cipher modes of operation allow encrypting arbitrary-length messages by combining the block cipher with an initialization vector and encryption of blocks in modes like electronic codebook (ECB), cipher block chaining (CBC), cipher feedback (CFB), and output feedback (OFB). CBC is the most commonly used mode and provides security by chaining blocks together through XOR operations.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1of 14
Block cipher modes of
operation
A block cipher operates on blocks of fixed length, often
64 or 128 bits. Because messages may be of any length, and because encrypting the same plaintext under the same key always produces the same output Contents
All these modes (except ECB) require an initialization
vector, or IV -- a sort of 'dummy block' to kick off the process for the first real block, and also to provide some randomization for the process. There is no need for the IV to be secret, in most cases, but it is important that it is never reused with the same key. For CBC and CFB, reusing an IV leaks some information about the first block of plaintext, and about any common prefix shared by the two messages. For OFB , reusing an IV completely destroys security. In CBC mode, the IV must, in addition, be randomly generated at encryption time. Electronic codebook (ECB) The message is divided into blocks and each block is encrypted separately. The disadvantage of this method is that identical plaintext blocks are encrypted into identical ciphertext blocks; thus, it does not hide data patterns well. In some senses, it doesn't provide serious message confidentiality, and it is not recommended for use in cryptographic protocols at all. Cipher-block chaining (CBC) CBC mode of operation was invented by IBM in 1976. In the cipher-block chaining (CBC) mode, each block of plaintext is XORed with the previous ciphertext block before being encrypted. This way, each ciphertext block is dependent on all plaintext blocks processed up to that point. Also, to make each message unique, an initialization vector must be used in the first block. CBC Contd.. If the first block has index 1, the mathematical formula for CBC encryption is while the mathematical formula for CBC decryption is CBC has been the most commonly used mode of operation. Its main drawbacks are that encryption is sequential (i.e., it cannot be parallelized), and that the message must be padded to a multiple of the cipher block size. One way to handle this last issue is through the method known as ciphertext stealing. Note that a one-bit change in a plaintext affects all following ciphertext blocks, and a plaintext can be recovered from just two adjacent blocks of ciphertext. As a consequence, decryption can be parallelized, and a one-bit change to the ciphertext causes complete corruption of the corresponding block of plaintext, and inverts the corresponding bit in the following block of plaintext. Propagating cipher-block chaining (PCBC) The propagating cipher-block chaining mode was designed to cause small changes in the ciphertext to propagate indefinitely when decrypting, as well as when encrypting. Encryption and decryption routines are as follows: PCBC is used in Kerberos v4 and WASTE, most notably, but otherwise is not common. In fact when, on a message encrypted in PCBC mode, two adjacent blocks are exchanged, this does not affect the subsequent blocks and is thus no longer used in Kerberos v5. Cipher feedback (CFB) The cipher feedback (CFB) mode, a close relative of CBC, makes a block cipher into a self-synchronizing stream cipher. Operation is very similar; in particular, CFB decryption is almost identical to CBC encryption performed in reverse: Output feedback (OFB) The output feedback (OFB) mode makes a block cipher into a synchronous stream cipher: it generates key stream blocks, which are then XORed with the plaintext blocks to get the ciphertext. Just as with other stream ciphers, flipping a bit in the ciphertext produces a flipped bit in the plaintext at the same location. This property allows many error correcting codes to function normally even when applied before encryption. Because of the symmetry of the XOR operation, encryption and decryption are exactly the same: