diff options
author | Niels Möller <nisse@lysator.liu.se> | 2021-06-08 21:31:39 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2021-06-08 21:31:39 +0200 |
commit | cd6059aebdd3059fbcf674dddb850b821c13b6c2 (patch) | |
tree | 9c4ae17d18ae64c2351bebbdab2925dddf5bf10c /testsuite | |
parent | 401e0bddb11d1e740da403934084a9b14feae0d0 (diff) | |
download | nettle-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.c | 14 |
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); } - |