From: Niels Möller Date: Fri, 19 Nov 2021 21:01:26 +0000 (+0100) Subject: Delete function mpz_limbs_read_n. X-Git-Tag: nettle_3.8_release_20220602~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2e4e5311a84f2ca6144378aaa8d3b8a6d76dd5e;p=thirdparty%2Fnettle.git Delete function mpz_limbs_read_n. --- diff --git a/ChangeLog b/ChangeLog index cac37f2e..45259369 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * gmp-glue.c (mpz_limbs_cmp): Deleted function. Usage replaced with mpz_roinit_n and mpz_cmp. + (mpz_limbs_read_n): Deleted function. Usage in tests only, + replaced with mpz_limbs_copy. 2021-11-15 Niels Möller diff --git a/gmp-glue.c b/gmp-glue.c index 08f5b255..e75d678b 100644 --- a/gmp-glue.c +++ b/gmp-glue.c @@ -115,25 +115,6 @@ sec_zero_p (const mp_limb_t *ap, mp_size_t n) /* Additional convenience functions. */ -/* Get a pointer to an n limb area, for read-only operation. n must be - greater or equal to the current size, and the mpz is zero-padded if - needed. */ -const mp_limb_t * -mpz_limbs_read_n (mpz_ptr x, mp_size_t n) -{ - mp_size_t xn = mpz_size (x); - mp_ptr xp; - - assert (xn <= n); - - xp = mpz_limbs_modify (x, n); - - if (xn < n) - mpn_zero (xp + xn, n - xn); - - return xp; -} - void mpz_limbs_copy (mp_limb_t *xp, mpz_srcptr x, mp_size_t n) { diff --git a/gmp-glue.h b/gmp-glue.h index eaeed6c2..bc6dbf16 100644 --- a/gmp-glue.h +++ b/gmp-glue.h @@ -35,7 +35,6 @@ #include "bignum.h" -#define mpz_limbs_read_n _nettle_mpz_limbs_read_n #define mpz_limbs_copy _nettle_mpz_limbs_copy #define mpz_set_n _nettle_mpz_set_n #define sec_zero_p _nettle_sec_zero_p @@ -78,12 +77,6 @@ sec_zero_p (const mp_limb_t *ap, mp_size_t n); /* Convenience functions */ -/* Get a pointer to an n limb area, for read-only operation. n must be - greater or equal to the current size, and the mpz is zero-padded if - needed. */ -const mp_limb_t * -mpz_limbs_read_n (mpz_ptr x, mp_size_t n); - /* Copy limbs, with zero-padding. */ /* FIXME: Reorder arguments, on the theory that the first argument of an _mpz_* function should be an mpz_t? Or rename to _mpz_get_limbs, diff --git a/testsuite/ecdsa-sign-test.c b/testsuite/ecdsa-sign-test.c index ba031fbf..c79493ae 100644 --- a/testsuite/ecdsa-sign-test.c +++ b/testsuite/ecdsa-sign-test.c @@ -17,15 +17,18 @@ test_ecdsa (const struct ecc_curve *ecc, mpz_t k; mp_limb_t *rp = xalloc_limbs (ecc->p.size); mp_limb_t *sp = xalloc_limbs (ecc->p.size); + mp_limb_t *zp = xalloc_limbs (ecc->p.size); + mp_limb_t *kp = xalloc_limbs (ecc->p.size); mp_limb_t *scratch = xalloc_limbs (ecc_ecdsa_sign_itch (ecc)); dsa_signature_init (&ref); mpz_init_set_str (z, sz, 16); mpz_init_set_str (k, sk, 16); + mpz_limbs_copy (zp, z, ecc->p.size); + mpz_limbs_copy (kp, k, ecc->p.size); - ecc_ecdsa_sign (ecc, mpz_limbs_read_n (z, ecc->p.size), - mpz_limbs_read_n (k, ecc->p.size), + ecc_ecdsa_sign (ecc, zp, kp, h->length, h->data, rp, sp, scratch); mpz_set_str (ref.r, r, 16); @@ -49,6 +52,8 @@ test_ecdsa (const struct ecc_curve *ecc, free (rp); free (sp); + free (zp); + free (kp); free (scratch); dsa_signature_clear (&ref); diff --git a/testsuite/gostdsa-sign-test.c b/testsuite/gostdsa-sign-test.c index dc1154b4..119dccea 100644 --- a/testsuite/gostdsa-sign-test.c +++ b/testsuite/gostdsa-sign-test.c @@ -18,16 +18,19 @@ test_gostdsa (const struct ecc_curve *ecc, mpz_t k; mp_limb_t *rp = xalloc_limbs (ecc->p.size); mp_limb_t *sp = xalloc_limbs (ecc->p.size); + mp_limb_t *zp = xalloc_limbs (ecc->p.size); + mp_limb_t *kp = xalloc_limbs (ecc->p.size); mp_limb_t *scratch = xalloc_limbs (ecc_gostdsa_sign_itch (ecc)); dsa_signature_init (&ref); mpz_init_set_str (z, sz, 16); mpz_init_set_str (k, sk, 16); + mpz_limbs_copy (zp, z, ecc->p.size); + mpz_limbs_copy (kp, k, ecc->p.size); - ecc_gostdsa_sign (ecc, mpz_limbs_read_n (z, ecc->p.size), - mpz_limbs_read_n (k, ecc->p.size), - h->length, h->data, rp, sp, scratch); + ecc_gostdsa_sign (ecc, zp, kp, + h->length, h->data, rp, sp, scratch); mpz_set_str (ref.r, r, 16); mpz_set_str (ref.s, s, 16); @@ -50,6 +53,8 @@ test_gostdsa (const struct ecc_curve *ecc, free (rp); free (sp); + free (zp); + free (kp); free (scratch); dsa_signature_clear (&ref);