RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 4880, "OpenPGP Message Format", November 2007

Source of RFC: openpgp (sec)

Errata ID: 2243
Status: Held for Document Update
Type: Editorial

Reported By: Constantin Hagemeier
Date Reported: 2010-04-28
Held for Document Update by: Sean Turner
Date Held: 2010-07-20

Section 13.9. says:

   OpenPGP CFB mode uses an initialization vector (IV) of all zeros, and
   prefixes the plaintext with BS+2 octets of random data, such that
   octets BS+1 and BS+2 match octets BS-1 and BS.  It does a CFB
   resynchronization after encrypting those BS+2 octets.

   Thus, for an algorithm that has a block size of 8 octets (64 bits),
   the IV is 10 octets long and octets 7 and 8 of the IV are the same as
   octets 9 and 10.  For an algorithm with a block size of 16 octets
   (128 bits), the IV is 18 octets long, and octets 17 and 18 replicate
   octets 15 and 16.  Those extra two octets are an easy check for a
   correct key.

It should say:

   OpenPGP CFB mode uses an initialization vector (IV) of all zeros, and
   prefixes the plaintext with BS+2 octets of random data, such that
   octets BS+1 and BS+2 match octets BS-1 and BS.  It does a CFB
   resynchronization after encrypting those BS+2 octets.

   Thus, for an algorithm that has a block size of 8 octets (64 bits),
   the virtual IV is 10 octets long and octets 7 and 8 of the virtual IV
   are the same as octets 9 and 10.  For an algorithm with a block size
   of 16 octets (128 bits), the virtual IV is 18 octets long, and octets
   17 and 18 replicate octets 15 and 16. Those extra two octets are an
   easy check for a correct key."

Notes:

'IV' is used in a contradicting manner.

Changed to editorial.

From Jon. C.: This is a marvelous re-wording of a confusing process. I really like the “virtual IV” mentioned. However, the suggested change omitted the final sentence, which is the whole reason for the virtual IV. I have restored that sentence.

Report New Errata