summaryrefslogtreecommitdiff
path: root/cipher/rijndael.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2013-05-22 14:11:10 +0300
committerWerner Koch <wk@gnupg.org>2013-05-22 17:42:38 +0200
commitb65281a1b76d7898eb7607932246b78277d8570b (patch)
treeab0da6f7990aa361c2aaaed67bf38447a7ced63f /cipher/rijndael.c
parent3637bdbb5f30a5e06745d448a6a8ad00e5cdd740 (diff)
downloadlibgcrypt-b65281a1b76d7898eb7607932246b78277d8570b.tar.gz
Add AES bulk CBC decryption selftest
* cipher/rinjdael.c (selftest_cbc_128): New. (selftest): Call selftest_cbc_128. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/rijndael.c')
-rw-r--r--cipher/rijndael.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/cipher/rijndael.c b/cipher/rijndael.c
index 6b16ce84..4c81688f 100644
--- a/cipher/rijndael.c
+++ b/cipher/rijndael.c
@@ -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;
}