From: Niels Möller Date: Mon, 7 Jul 2025 19:27:40 +0000 (+0200) Subject: Similar fix to 32-bit ecc_secp384r1_modp. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;p=thirdparty%2Fnettle.git Similar fix to 32-bit ecc_secp384r1_modp. --- diff --git a/ChangeLog b/ChangeLog index eac73881..0bd112cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-07-07 Niels Möller + + * ecc-secp384r1.c (ecc_secp384r1_modp) [GMP_NUMB_BITS == 32]: + Analogous change to use assert_maybe. Report and patch by Taketo + Kabe. + 2025-07-06 Niels Möller * ecc-secp192r1.c (ecc_secp192r1_modp) [GMP_NUMB_BITS == 32]: Use diff --git a/ecc-secp384r1.c b/ecc-secp384r1.c index bf5f402f..a0960d9b 100644 --- a/ecc-secp384r1.c +++ b/ecc-secp384r1.c @@ -76,10 +76,10 @@ ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp, mp_limb_t *xp) cy = sec_add_1 (xp + 15, xp + 15, 1, cy); cy += mpn_add_n (xp + 8, xp + 8, xp + 16, 8); - assert (bw <= cy); + assert_maybe (bw <= cy); cy -= bw; - assert (cy <= 2); + assert_maybe (cy <= 2); xp[16] = cy; /* Reduce from 17 to 12 limbs */ @@ -95,11 +95,11 @@ ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp, mp_limb_t *xp) cy += mpn_add_n (xp + 4, xp + 4, xp + 12, 5); cy = sec_add_1 (xp + 9, xp + 9, 3, cy); - assert (cy >= bw); + assert_maybe (cy >= bw); cy -= bw; - assert (cy <= 1); + assert_maybe (cy <= 1); cy = mpn_cnd_add_n (cy, rp, xp, p->B, ECC_LIMB_SIZE); - assert (cy == 0); + assert_maybe (cy == 0); } #elif GMP_NUMB_BITS == 64 /* p is 6 limbs, and B^6 - p = B^2 + 2^32 (B - 1) + 1. Eliminate 3