]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Use rsa_compute_root_tr also in rsa_decrypt_tr.
authorNiels Möller <nisse@lysator.liu.se>
Mon, 14 Sep 2015 19:13:37 +0000 (21:13 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Mon, 14 Sep 2015 19:13:37 +0000 (21:13 +0200)
ChangeLog
rsa-decrypt-tr.c

index 0959eb6f35f75bb6fd29fe104ca6d8ddcaf9b483..d199a7024e355815c2cb421ff883f2a13e27a14a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2015-09-14  Niels Möller  <nisse@lysator.liu.se>
 
+       * rsa-decrypt-tr.c (rsa_decrypt_tr): Use rsa_compute_root_tr.
+       Mainly for simplicity and consistency, I'm not aware of any CRT
+       fault attacks on RSA decryption.
+
        * testsuite/rsa-encrypt-test.c (test_main): Added test with
        invalid private key.
 
index d28badd6c076cadfde303aba82fe48e9417ad41a..e4fbc5fef3a5eeb522618a0b367f7d04a2fcf6e6 100644 (file)
@@ -48,18 +48,14 @@ rsa_decrypt_tr(const struct rsa_public_key *pub,
               size_t *length, uint8_t *message,
               const mpz_t gibberish)
 {
-  mpz_t m, ri;
+  mpz_t m;
   int res;
 
   mpz_init_set(m, gibberish);
-  mpz_init (ri);
 
-  _rsa_blind (pub, random_ctx, random, m, ri, m);
-  rsa_compute_root(key, m, m);
-  _rsa_unblind (pub, m, ri, m);
-  mpz_clear (ri);
+  res = (rsa_compute_root_tr (pub, key, random_ctx, random, m, gibberish)
+        && pkcs1_decrypt (key->size, m, length, message));
 
-  res = pkcs1_decrypt (key->size, m, length, message);
   mpz_clear(m);
   return res;
 }