des_cbc_encrypt / des_ncbc_encrypt issue.
authorBodo Möller <bodo@openssl.org>
Wed, 9 Jun 1999 18:01:49 +0000 (18:01 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 9 Jun 1999 18:01:49 +0000 (18:01 +0000)
CHANGES
crypto/des/des.h

diff --git a/CHANGES b/CHANGES
index f09222f1ca72534d604f37d8f3fdbbc4b76c4a79..32f6ff118171fff3ea88f7155fd7597f54f17c6b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
   *) DES CBC did not update the IV. Weird.
      [Ben Laurie]
 #else
-     Look at des.c, cbc3_enc.c etc.: Those rely on that bevaviour of
-     des_cbc_encrypt and copy IVs themselves when they have to.
-     Either all those have to be changed too, or things must stay as they
-     are.
+     des_cbc_encrypt does not update the IV, but des_ncbc_encrypt does.
+     Changing the behaviour of the former might break existing programs --
+     where IV updating is needed, des_ncbc_encrypt can be used.
 #endif
 
   *) When bntest is run from "make test" it drives bc to check its
index 7c029e01ee8106da248a497634e25b82391625b7..141526ba05f0bdb5f85072e2691c78ec7984dddc 100644 (file)
@@ -151,6 +151,7 @@ void des_ecb3_encrypt(const_des_cblock *input, des_cblock *output,
 DES_LONG des_cbc_cksum(const unsigned char *input,des_cblock *output,
                       long length,des_key_schedule schedule,
                       const_des_cblock *ivec);
+/* des_cbc_encrypt does not update the IV!  Use des_ncbc_encrypt instead. */
 void des_cbc_encrypt(const unsigned char *input,unsigned char *output,
                     long length,des_key_schedule schedule,des_cblock *ivec,
                     int enc);