From: Simon Josefsson Date: Fri, 21 Oct 2005 13:45:23 +0000 (+0000) Subject: * rijndael-api-fst.c: Fix bugs in CBC mode for more than one X-Git-Tag: cvs-readonly~2770 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=58aa025deca628dabf381fe57bda38dd690bfa59;p=gnulib.git * rijndael-api-fst.c: Fix bugs in CBC mode for more than one block. --- 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: