Cipher Feedback (CFB)
[Back] Normally we think of the encryption process as taking plain text and using an encryption key to create the cipher text, and then applying the same key with a decryption process. The problem with this type of process is that an error in the cipher text will cause problems in decrypting.
So we apply Cipher Feedback (CFB), which basically converts our cipher block into a bit stream, and we can this encrypt and decrypt each bit at a time. This method is defined as self-synchronising. For this we do not encrypt and decrypt, but we encrypt the IV (Initialisation Vector) or a previous cipher block with the key, and EX-OR that with the data (on the sending side) or with the cipher stream. After the first block of data, we use encrypt the previous cipher block (Figure 2), and on the receiver we do the same. So the process on either side is almost identical, apart from the data which is used, where the sender uses data blocks (such as 128-bit blocks) and the receiver uses the cipher stream to build the data blocks.
If you are interested, here is the process for CFB (where P are the data blocks and C are the re-built cipher blocks):
With ECB we do not get variation in the cipher blocks, so in CFB we use the IV, so, along with the shared key, we must pass the IV value in order to decipher the cipher stream.
Figure 1: Cipher feedback (CFB)
Figure 2: CFB process
To see the full range of methods used ... try [here]