Also see cryptography.
Ciphertext feedback (CFB) is a mode of operation for a block cipher. In contrast to the cipher block chaining (CBC) mode, which encrypts a set number of bits of plaintext at a time, it is at times desirable to encrypt and transfer some plaintext values instantly one at a time, for which ciphertext feedback is a method. Like cipher block chaining, ciphertext feedback also makes use of an initialization vector (IV). CFB uses a block cipher as a component of a random number generator. In CFB mode, the previous ciphertext block is encrypted and the output is XORed (see XOR) with the current plaintext block to create the current ciphertext block. The XOR operation conceals plaintext patterns. Plaintext cannot be directly worked on unless there is retrieval of blocks from either the beginning or end of the ciphertext.
The entropy that results can be implemented as a stream cipher. In fact, CFB is primarily a mode to derive some characteristics of a stream cipher from a block cipher. In common with CBC mode, changing the IV to the same plaintext block results in different output. Though the IV need not be secret, some applications would see this desirable. Chaining dependencies are similar to CBC, in that reordering ciphertext block sequences alters decryption output, as decryption of one block depends on the decryption of the preceding blocks.