From 58aa025deca628dabf381fe57bda38dd690bfa59 Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Fri, 21 Oct 2005 13:45:23 +0000 Subject: [PATCH] * rijndael-api-fst.c: Fix bugs in CBC mode for more than one block. --- lib/ChangeLog | 5 +++++ lib/rijndael-api-fst.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index ac565678a..08fd08779 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,10 @@ 2005-10-21 Simon Josefsson + * rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. + +2005-10-21 Simon Josefsson + * gc-gnulib.c: Support ARCTWO in CBC mode. 2005-10-21 Simon Josefsson diff --git a/lib/rijndael-api-fst.c b/lib/rijndael-api-fst.c index b7053a5b7..41f58a163 100644 --- a/lib/rijndael-api-fst.c +++ b/lib/rijndael-api-fst.c @@ -244,7 +244,7 @@ rijndaelBlockEncrypt (rijndaelCipherInstance *cipher, ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ ((uint32_t *) iv)[3]; rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); - iv = outBuffer; + memcpy (cipher->IV, outBuffer, 16); input += 16; outBuffer += 16; } @@ -327,7 +327,7 @@ rijndaelPadEncrypt (rijndaelCipherInstance *cipher, ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ ((uint32_t *) iv)[3]; rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); - iv = outBuffer; + memcpy (cipher->IV, outBuffer, 16); input += 16; outBuffer += 16; } @@ -342,6 +342,7 @@ rijndaelPadEncrypt (rijndaelCipherInstance *cipher, block[i] = (char) padLen ^ iv[i]; } rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + memcpy (cipher->IV, outBuffer, 16); break; default: -- 2.11.0