Cipher FeedBack (CFB)
message is treated as a stream of bits
added to the output of the block cipher
result is feed back for next stage (hence name)
standard allows any number of bits (1,8, 64 or
128 etc) to be feed back
denoted CFB-1, CFB-8, CFB-64, CFB-128, etc.
most efficient to use all bits in block (64 or 128)
Ci = Pi XOR EK(Ci-1)
C-1 = IV
uses: stream data encryption, authentication
s-bit
Cipher
FeedBack
(CFB-s)
Advantages and Limitations of
CFB
most common stream mode
appropriate when data arrives in bits/bytes
limitation is need to stall while do block
encryption after every s-bits
note that the block cipher is used in
encryption mode at both ends (XOR)
errors propagate for several blocks after
the error ... how many?
Output FeedBack (OFB)
message is treated as a stream of bits
output of cipher is added to message
output is then feed back (hence name)
Oi = EK(Oi-1)
Ci = Pi XOR Oi
O-1 = IV
feedback is independent of message
can be computed in advance
uses: stream encryption on noisy channels
Why noisy channels?
Output
FeedBack
(OFB)
Advantages and Limitations of
OFB
needs an IV which is unique for each use
if ever reuse attacker can recover outputs...
OTP
can pre-compute
bit errors do not propagate
more vulnerable to message stream modification...
change arbitrary bits by changing ciphertext
sender & receiver must remain in sync
only use with full block feedback
subsequent research has shown that only full block
feedback (ie CFB-64 or CFB-128) should ever be used