From 9c34ecc1305d1160a8ccb24caeb13b532ed2b983 Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Fri, 22 Jan 2021 12:51:21 +1000 Subject: [PATCH] ECDSA: don't modify the e mp_int (hash) value Multiple loops of generating signatures require the same e value. --- wolfcrypt/src/ecc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index f625e09d5..92986edbd 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -5564,12 +5564,12 @@ int wc_ecc_sign_hash_ex(const byte* in, word32 inlen, WC_RNG* rng, if (err != MP_OKAY) break; /* e = e/k.b */ - err = mp_mulmod(&pubkey->k, e, curve->order, e); + err = mp_mulmod(&pubkey->k, e, curve->order, &pubkey->k); if (err != MP_OKAY) break; /* s = e/k.b + x.r/k.b = (e + x.r)/k.b */ - err = mp_add(e, s, s); + err = mp_add(&pubkey->k, s, s); if (err != MP_OKAY) break; /* s = b.(e + x.r)/k.b