[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ECB, CBC, CFB, OFB




At 11:35 PM 12/20/97 +0100, Anonymous wrote:
>Can somebody more experienced than I am explain the strengths and weaknesses
>of these encryption modes as applied to CAST, IDEA, DES, and Blowfish?
>
>>       -m mode
>>              Set the transfer mode.
>>
>>              Valid ENCRYPTION modes are:
>>
>>              ecb    Electronic codebook mode
>>                     c[i] = f1(K, p[i])
>>                     p[i] = f2(K, c[i])
>>
>>              cbc    Ciphertext block chaining mode
>>                     c[i] = f1(K, p[i] ^ c[i-1])
>>                     p[i] = f2(K, c[i]) ^ c[i-1]
>>
>>              cfb    Ciphertext feeback mode
>>                     c[i] = f1(K, c[i-1]) ^ p[i]
>>                     p[i] = f2(K, c[i-1]) ^ c[i]
>>
>>              ofb    Output feeback mode
>>                     h[i] = f1(K, h[i-1])
>>                     c[i] = p[i] ^ h[i]
>>                     p[i] = c[i] ^ h[i]
>
>

A partial answer on why feedback is better than codebook mode: 
consider a video signal, with large amounts of uniform background.  Encrypted
with a codebook mode cipher, silhouettes will be visible since the uniform
background
will map to the same cipher value.  NB: the "uniformity" must span a block,
e.g., 64 bits for BF.

The tradeoff is 1. slightly increased latency & complexity 2. an error in
your output stream mangles
more data than in ECB mode.

Feeding a stream of zeros into a feedback-mode cipher produces a
pseudo-random output stream...in a good cipher.



------------------------------------------------------------
      David Honig                   Orbit Technology
     [email protected]                  Intaanetto Jigyoubu

"Windows 95 is a technologically complex product that is best left alone by
the government..."
 ---MSFT Atty B. Smith