From 0276b45a2e6079bb2e7bbd2912af48a5cdd9e658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Thu, 28 Aug 2014 11:54:28 +0200 Subject: [PATCH] ecc_25519_modq: Access q via the ecc struct. --- ChangeLog | 2 ++ ecc-25519.c | 8 +++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index b8e8a40d..96fffc0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2014-08-28 Niels Möller <nisse@lysator.liu.se> + * ecc-25519.c (ecc_25519_modq): Access q via the ecc struct. + * ecc-eh-to-a.c (ecc_eh_to_a): Analogous change as for ecc_j_to_a. The modulo q case (op == 2) is hardcoded for curve25519. diff --git a/ecc-25519.c b/ecc-25519.c index 3c004668..bf27b1c7 100644 --- a/ecc-25519.c +++ b/ecc-25519.c @@ -86,20 +86,18 @@ ecc_25519_modq (const struct ecc_curve *ecc, mp_limb_t *rp) /* n is the offset where we add in the next term */ for (n = ECC_LIMB_SIZE; n-- > 0;) { - mp_limb_t cy; - cy = mpn_submul_1 (rp + n, ecc->Bmodq_shifted, ECC_LIMB_SIZE, rp[n + ECC_LIMB_SIZE]); /* Top limb of mBmodq_shifted is zero, so we get cy == 0 or 1 */ assert (cy < 2); - cnd_add_n (cy, rp+n, ecc_q, ECC_LIMB_SIZE); + cnd_add_n (cy, rp+n, ecc->q, ECC_LIMB_SIZE); } - cy = mpn_submul_1 (rp, ecc_q, ECC_LIMB_SIZE, + cy = mpn_submul_1 (rp, ecc->q, ECC_LIMB_SIZE, rp[ECC_LIMB_SIZE-1] >> (GMP_NUMB_BITS - QHIGH_BITS)); assert (cy < 2); - cnd_add_n (cy, rp, ecc_q, ECC_LIMB_SIZE); + cnd_add_n (cy, rp, ecc->q, ECC_LIMB_SIZE); } /* Needs 2*ecc->size limbs at rp, and 2*ecc->size additional limbs of -- GitLab