From 2fd0eb16c8a99d4660631e40e30466b98ebfbdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Wed, 27 Feb 2013 15:15:53 +0100 Subject: [PATCH] Fixed bug in 64-bit ecc_384_modp. --- ChangeLog | 3 +++ ecc-384.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6171c7a1..7829ae3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2013-02-27 Niels Möller <nisse@lysator.liu.se> + * ecc-384.c (ecc_384_modp): Fixed typo which broke carry handling + in the 64-bit version. + * examples/ecc-benchmark.c (bench_add_jjj): Typo fix, benchmark the right function. diff --git a/ecc-384.c b/ecc-384.c index dc91f320..6595b152 100644 --- a/ecc-384.c +++ b/ecc-384.c @@ -114,7 +114,7 @@ ecc_384_modp (const struct ecc_curve *ecc, mp_limb_t *rp) /* Reduce from 9 to 6 limbs */ tp[0] = 0; mpn_copyi (tp + 1, rp + 6, 2); - tp[3] = rp[8] -= mpn_sub_n (tp, tp, rp + 6, 3); + tp[3] = rp[8] - mpn_sub_n (tp, tp, rp + 6, 3); tp[4] = mpn_lshift (tp, tp, 4, 32); cy = mpn_add_n (rp, rp, rp + 6, 3); -- GitLab