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

Minor suggestions for draft-metzger-esp-des-cbc-01.txt



Here are some changes I propose for -esp-des-cbc-01.

j'

diff draft-metzger-esp-des-cbc-01.txt draft-metzger-esp-des-cbc-01.txt.ala.jpp
177,179c177,179
<       The field may be longer or shorter than the 64-bits used by DES,
<       in multiples of 32-bits.  This allows alignment of the Encrypted
<       Data for in-place decryption.
---
>       Although the field must be a multiple of 32-bits long, it may be
>       longer or shorter than the 64-bits used by DES.  This allows
>       alignment of the Encrypted Data for in-place decryption.
[english]

189,190c189,194
<       When the size is negotiated to 32-bits, the inverse of the 32-bits
<       is appended to form a 64-bit value.
---
>       When the size is negotiated to 32-bits, the inverse of the 32-bit
>       field value is folowed by the 32-bit field value to form the
>       64-bit IV.  A fragment of C code which computes this function is
>       "iv64= ((~ iv32) << 32) | iv32;" Where iv32, and iv64 are
>       declared to be 64 (or more) bit integers, and the IV is the least
>       significant 64 bits of iv64.
[Be sure to spell it out clearly enough to be implemented.  For
convienience in the C code, I (might have (but I am not compleately
sure (see the problem?))) re-ordered the halves of the IV.]

191a196,201
>       When the size is negotiated to be 64-bits, the 64 bits field
>       value is used as the 64 bit initialization vector.  The vector is
>       created according to a "big-endian" convention; i.e. the first
>       octet becomes bits 1-8 of the IV, and the last octet becomes bits
>       57-64 of the IV.
> 
[still spelling the obvious out, just to be sure.  The big-endian
stuff should be stuck on each of the paragraphs, or factored out to a
final paragraph somehow.]

193,194c203,204
<       of the 64-bit value within this field is negotiated by an           |
<       additional parameter.  Unused octets are filled with unspecified    |
---
>       of the 64-bit IV within this field is negotiated by an additional   |
>       parameter.  Unused octets are filled with unspecified               |
[english -- keep the name of the IV consistent]

252,253c262,263
<    Append zero or more octets of padding to the plain text, to make       |
<    its length in octets modulo 8 equal to 6.                              |
---
>    Append zero or more octets of padding to the plain text, to make its   |
>    length in octets equal to 8i + 6, for some integer i greater than 0.   |
[I thought mathematicians would say "equal to 6 modulo 8", but
computer programmers would say "modulo 8 equal to 6".  I hope both can
read my version without confusion]

261,262c271
<    Encrypt the payload with DES in CBC mode, producing a cipher text of   |
<    the same length.                                                       |
---
>    Compute an initialization vector apropriate to the SAID.               |
263a273,275
>    Encrypt the payload with DES in CBC mode using the computed            |
>    initialization value, producing a cipher text of the same length.      |
> 
[Don't forget to make, and use, the IV]

308a321
>    [Are these last two correct for both IP-Mode and Transport-Mode?]
[re: changing the value of the IP length, and 'delivering' the result.]
341c354
<    a better choice for such purposes.
---
>    a better choice for such purposes.  [reference -esp-3des.txt perhaps?]
[Would be nice.  Would be nice to have such a doc. :) ]