This section describes a fast encryption mode using IDEA in a mode I call modified CFB mode. PGP uses the IDEA block cipher for bulk data encryption. There are functions in the PGP package which implements IDEA in a special CFB mode, which uses all 8 bytes generated by IDEA. The functions in PGP is optimized for operation on blocks of data, and also ``resyncs'' (throws away unused bytes of the IDEA computation) between each block being encrypted.
The main idea behind this is to run the IDEA algorithm, not once for each byte, but once for each group of 8 bytes. Thereby effectively speeding up the CFB mode eight times. Since the receiver does not know on what group of bytes the sender has done the encryption, the PGP CFB functions can not be used. But the IDEA algorithm implemented in PGP can be used in a ``modified CFB mode,'' illustrated in figure 3.4. In this mode all IDEA output bytes are used. Each byte of cipher-text is shifted into the shift register at the top. When all 8 bytes has been XOR'ed into the data stream the IDEA algorithm is run again.
Cryptanalysing this mode is equal to cryptanalysing the Cipher-Block-Chaining mode. All the bits produced by the block cipher is XOR'ed with the plain-text and the resulting 64 bits of cipher-text is fed back to the block-cipher input.
The initialization vector can be the zero vector, since we use a different key for each session.