+2019-05-12 Niels Möller <nisse@lysator.liu.se>
+
+ * rsa-blind.c (_rsa_blind, _rsa_unblind): Delete file and
+ functions. RSA blinding is done differently, in rsa-sign-tr.c.
+ * rsa-internal.h: Delete declarations.
+ * Makefile.in (hogweed_SOURCES): Delete rsa-blind.c.
+
2019-05-11 Niels Möller <nisse@lysator.liu.se>
* NEWS: More updates for Nettle-3.5.
rsa-pss-sha512-sign-tr.c rsa-pss-sha512-verify.c \
rsa-encrypt.c rsa-decrypt.c \
rsa-sec-decrypt.c rsa-decrypt-tr.c \
- rsa-keygen.c rsa-blind.c \
- rsa2sexp.c sexp2rsa.c \
+ rsa-keygen.c rsa2sexp.c sexp2rsa.c \
dsa.c dsa-compat.c dsa-compat-keygen.c dsa-gen-params.c \
dsa-sign.c dsa-verify.c dsa-keygen.c dsa-hash.c \
dsa-sha1-sign.c dsa-sha1-verify.c \
+++ /dev/null
-/* rsa-blind.c
-
- RSA blinding. Used for resistance to timing-attacks.
-
- Copyright (C) 2001, 2012 Niels Möller, Nikos Mavrogiannopoulos
-
- This file is part of GNU Nettle.
-
- GNU Nettle is free software: you can redistribute it and/or
- modify it under the terms of either:
-
- * the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- or
-
- * the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- or both in parallel, as here.
-
- GNU Nettle is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received copies of the GNU General Public License and
- the GNU Lesser General Public License along with this program. If
- not, see http://www.gnu.org/licenses/.
-*/
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "rsa.h"
-#include "rsa-internal.h"
-
-#include "bignum.h"
-
-/* Blinds the c, by computing c *= r^e (mod n), for a random r. Also
- returns the inverse (ri), for use by rsa_unblind. */
-void
-_rsa_blind (const struct rsa_public_key *pub,
- void *random_ctx, nettle_random_func *random,
- mpz_t c, mpz_t ri)
-{
- mpz_t r;
-
- mpz_init(r);
-
- /* c = c*(r^e)
- * ri = r^(-1)
- */
- do
- {
- nettle_mpz_random(r, random_ctx, random, pub->n);
- /* invert r */
- }
- while (!mpz_invert (ri, r, pub->n));
-
- /* c = c*(r^e) mod n */
- mpz_powm_sec(r, r, pub->e, pub->n);
- mpz_mul(c, c, r);
- mpz_fdiv_r(c, c, pub->n);
-
- mpz_clear(r);
-}
-
-/* c *= ri mod n */
-void
-_rsa_unblind (const struct rsa_public_key *pub, mpz_t c, const mpz_t ri)
-{
- mpz_mul(c, c, ri);
- mpz_fdiv_r(c, c, pub->n);
-}
size_t
_rsa_check_size(mpz_t n);
-/* _rsa_blind and _rsa_unblind are deprecated, unused in the library,
- and will likely be removed with the next ABI break. */
-void
-_rsa_blind (const struct rsa_public_key *pub,
- void *random_ctx, nettle_random_func *random,
- mpz_t c, mpz_t ri) _NETTLE_ATTRIBUTE_DEPRECATED;
-void
-_rsa_unblind (const struct rsa_public_key *pub, mpz_t c, const mpz_t ri)
- _NETTLE_ATTRIBUTE_DEPRECATED;
-
/* side-channel silent root computation */
mp_size_t
_rsa_sec_compute_root_itch(const struct rsa_private_key *key);