summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2021-06-08 21:31:39 +0200
committerNiels Möller <nisse@lysator.liu.se>2021-06-08 21:31:39 +0200
commitcd6059aebdd3059fbcf674dddb850b821c13b6c2 (patch)
tree9c4ae17d18ae64c2351bebbdab2925dddf5bf10c /testsuite
parent401e0bddb11d1e740da403934084a9b14feae0d0 (diff)
downloadnettle-cd6059aebdd3059fbcf674dddb850b821c13b6c2.tar.gz
Change _rsa_sec_compute_root_tr to take a fix input size.
Improves consistency with _rsa_sec_compute_root, and fixes zero-input bug. (cherry picked from commit 485b5e2820a057e873b1ba812fdb39cae4adf98c)
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/rsa-encrypt-test.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/testsuite/rsa-encrypt-test.c b/testsuite/rsa-encrypt-test.c
index 87525f78..d3bc374b 100644
--- a/testsuite/rsa-encrypt-test.c
+++ b/testsuite/rsa-encrypt-test.c
@@ -19,6 +19,7 @@ test_main(void)
uint8_t after;
mpz_t gibberish;
+ mpz_t zero;
rsa_private_key_init(&key);
rsa_public_key_init(&pub);
@@ -101,6 +102,17 @@ test_main(void)
ASSERT(decrypted[decrypted_length] == after);
ASSERT(decrypted[0] == 'A');
+ /* Test zero input. */
+ mpz_init_set_ui (zero, 0);
+ decrypted_length = msg_length;
+ ASSERT(!rsa_decrypt(&key, &decrypted_length, decrypted, zero));
+ ASSERT(!rsa_decrypt_tr(&pub, &key,
+ &lfib, (nettle_random_func *) knuth_lfib_random,
+ &decrypted_length, decrypted, zero));
+ ASSERT(!rsa_sec_decrypt(&pub, &key,
+ &lfib, (nettle_random_func *) knuth_lfib_random,
+ decrypted_length, decrypted, zero));
+ ASSERT(decrypted_length == msg_length);
/* Test invalid key. */
mpz_add_ui (key.q, key.q, 2);
@@ -112,6 +124,6 @@ test_main(void)
rsa_private_key_clear(&key);
rsa_public_key_clear(&pub);
mpz_clear(gibberish);
+ mpz_clear(zero);
free(decrypted);
}
-