Add AES bulk CBC decryption selftest
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Wed, 22 May 2013 11:11:10 +0000 (14:11 +0300)
committerWerner Koch <wk@gnupg.org>
Wed, 22 May 2013 15:42:38 +0000 (17:42 +0200)
* cipher/rinjdael.c (selftest_cbc_128): New.
(selftest): Call selftest_cbc_128.
--

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
cipher/rijndael.c

index 6b16ce8..4c81688 100644 (file)
@@ -2020,6 +2020,21 @@ selftest_ctr_128 (void)
 }
 
 
+/* Run the self-tests for AES-CBC-128, tests bulk CBC decryption.
+   Returns NULL on success. */
+static const char*
+selftest_cbc_128 (void)
+{
+  const int nblocks = 8+2;
+  const int blocksize = BLOCKSIZE;
+  const int context_size = sizeof(RIJNDAEL_context);
+
+  return _gcry_selftest_helper_cbc_128("AES", &rijndael_setkey,
+           &rijndael_encrypt, &_gcry_aes_cbc_dec, nblocks, blocksize,
+          context_size);
+}
+
+
 /* Run all the self-tests and return NULL on success.  This function
    is used for the on-the-fly self-tests. */
 static const char *
@@ -2035,6 +2050,9 @@ selftest (void)
   if ( (r = selftest_ctr_128 ()) )
     return r;
 
+  if ( (r = selftest_cbc_128 ()) )
+    return r;
+
   return r;
 }