In cryptography, a block cipher mode of operation is an algorithm that uses a block cipher to provide information security such as confidentiality or authenticity. A block cipher by itself is only suitable for the secure cryptographic transformation (encryption or decryption) of one fixed-length group of bits called a block. A mode of operation describes how to repeatedly apply a cipher's single-block operation to securely transform amounts of data larger than a block.
- Most modes require a unique binary sequence, often called an initialization vector (IV), for each encryption operation.
- The IV has to be non-repeating and, for some modes, random as well.
- The initialization vector is used to ensure distinct ciphertexts are produced even when the same plaintext is encrypted multiple times independently with the same key.
- Block ciphers may be capable of operating on more than one block size, but during transformation, the block size is always fixed.
- Block cipher modes operate on whole blocks and require that the last part of the data be padded to a full block if it is smaller than the current block size.
- There are, however, modes that do not require padding because they effectively use a block cipher as a stream cipher.
Historically, encryption modes have been studied extensively in regard to their error propagation properties under various scenarios of data modification. Later development regarded integrity protection as an entirely separate cryptographic goal. Some modern modes of operation combine confidentiality and authenticity in an efficient way, and are known as authenticated encryption modes.