diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2022-05-08 22:02:30 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2022-05-11 20:14:33 +0300 |
commit | a9700956361d280746f2bffe94cbdb72c95eb3ed (patch) | |
tree | 2904eeba74f056890b54578097a17493107d0c69 /cipher/twofish.c | |
parent | 9ab61ba24b72bc109b7578a7868716910d2ea9d1 (diff) | |
download | libgcrypt-a9700956361d280746f2bffe94cbdb72c95eb3ed.tar.gz |
cipher: move CBC/CFB/CTR self-tests to tests/basic
* cipher/Makefile.am: Remove 'cipher-selftest.c' and 'cipher-selftest.h'.
* cipher/cipher-selftest.c: Remove (refactor these tests to
tests/basic.c).
* cipher/cipher-selftest.h: Remove.
* cipher/blowfish.c (selftest_ctr, selftest_cbc, selftest_cfb): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/camellia-glue.c (selftest_ctr_128, selftest_cbc_128)
(selftest_cfb_128): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/cast5.c (selftest_ctr, selftest_cbc, selftest_cfb): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/des.c (bulk_selftest_setkey, selftest_ctr, selftest_cbc)
(selftest_cfb): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/rijndael.c (selftest_basic_128, selftest_basic_192)
(selftest_basic_256): Allocate context from stack instead of heap and
handle alignment manually.
(selftest_ctr_128, selftest_cbc_128, selftest_cfb_128): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/serpent.c (selftest_ctr_128, selftest_cbc_128)
(selftest_cfb_128): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/sm4.c (selftest_ctr_128, selftest_cbc_128)
(selftest_cfb_128): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* cipher/twofish.c (selftest_ctr, selftest_cbc, selftest_cfb): Remove.
(selftest): Remove CTR/CBC/CFB bulk self-tests.
* tests/basic.c (buf_xor, cipher_cbc_bulk_test, buf_xor_2dst)
(cipher_cfb_bulk_test, cipher_ctr_bulk_test): New.
(check_ciphers): Run cipher_cbc_bulk_test(), cipher_cfb_bulk_test() and
cipher_ctr_bulk_test() for block ciphers.
---
CBC/CFB/CTR bulk self-tests are quite computationally heavy and
slow down use cases where application opens cipher context once,
does processing and exits. Better place for these tests is in
`tests/basic`.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/twofish.c')
-rw-r--r-- | cipher/twofish.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/cipher/twofish.c b/cipher/twofish.c index 4ae5d5a6..b300715b 100644 --- a/cipher/twofish.c +++ b/cipher/twofish.c @@ -46,7 +46,6 @@ #include "cipher.h" #include "bufhelp.h" #include "cipher-internal.h" -#include "cipher-selftest.h" #include "bulkhelp.h" @@ -1527,46 +1526,6 @@ _gcry_twofish_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, return nblocks; } - - -/* Run the self-tests for TWOFISH-CTR, tests IV increment of bulk CTR - encryption. Returns NULL on success. */ -static const char * -selftest_ctr (void) -{ - const int nblocks = 16+1; - const int blocksize = TWOFISH_BLOCKSIZE; - const int context_size = sizeof(TWOFISH_context); - - return _gcry_selftest_helper_ctr("TWOFISH", &twofish_setkey, - &twofish_encrypt, nblocks, blocksize, context_size); -} - -/* Run the self-tests for TWOFISH-CBC, tests bulk CBC decryption. - Returns NULL on success. */ -static const char * -selftest_cbc (void) -{ - const int nblocks = 16+2; - const int blocksize = TWOFISH_BLOCKSIZE; - const int context_size = sizeof(TWOFISH_context); - - return _gcry_selftest_helper_cbc("TWOFISH", &twofish_setkey, - &twofish_encrypt, nblocks, blocksize, context_size); -} - -/* Run the self-tests for TWOFISH-CFB, tests bulk CBC decryption. - Returns NULL on success. */ -static const char * -selftest_cfb (void) -{ - const int nblocks = 16+2; - const int blocksize = TWOFISH_BLOCKSIZE; - const int context_size = sizeof(TWOFISH_context); - - return _gcry_selftest_helper_cfb("TWOFISH", &twofish_setkey, - &twofish_encrypt, nblocks, blocksize, context_size); -} /* Test a single encryption and decryption with each key size. */ @@ -1577,7 +1536,6 @@ selftest (void) TWOFISH_context ctx; /* Expanded key. */ byte scratch[16]; /* Encryption/decryption result buffer. */ cipher_bulk_ops_t bulk_ops; - const char *r; /* Test vectors for single encryption/decryption. Note that I am using * the vectors from the Twofish paper's "known answer test", I=3 for @@ -1627,13 +1585,6 @@ selftest (void) if (memcmp (scratch, plaintext_256, sizeof (plaintext_256))) return "Twofish-256 test decryption failed."; - if ((r = selftest_ctr()) != NULL) - return r; - if ((r = selftest_cbc()) != NULL) - return r; - if ((r = selftest_cfb()) != NULL) - return r; - return NULL; } |