From c2c397bedfe748472a3d1045f24a79a062e7fa5e Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 30 Aug 1999 18:48:57 +0000 Subject: See ChangeLog: Mon Aug 30 20:38:33 CEST 1999 Werner Koch --- cipher/ChangeLog | 6 ++++++ cipher/cipher.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'cipher') diff --git a/cipher/ChangeLog b/cipher/ChangeLog index 5c6f4a5e8..6c84bf5ab 100644 --- a/cipher/ChangeLog +++ b/cipher/ChangeLog @@ -1,3 +1,9 @@ +Mon Aug 30 20:38:33 CEST 1999 Werner Koch + + + * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using + in place encryption. Pointed out by Frank Stajano. + Mon Jul 26 09:34:46 CEST 1999 Werner Koch diff --git a/cipher/cipher.c b/cipher/cipher.c index 4a0e683d9..990671fc5 100644 --- a/cipher/cipher.c +++ b/cipher/cipher.c @@ -443,7 +443,7 @@ do_cbc_encrypt( CIPHER_HANDLE c, byte *outbuf, byte *inbuf, unsigned nblocks ) * bytes. Maybe it is a good idea to enhance the cipher backend * API to allow for CBC handling in the backend */ for(ivp=c->iv,i=0; i < blocksize; i++ ) - outbuf[i] ^= *ivp++; + outbuf[i] = inbuf[i] ^ *ivp++; (*c->encrypt)( &c->context.c, outbuf, outbuf ); memcpy(c->iv, outbuf, blocksize ); inbuf += c->blocksize; -- cgit v1.2.3