X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=src%2Fec%2Fecdsa_i31_sign_raw.c;h=1df98fed2314442546774a90ff357020df41ecc0;hp=df20c244970d73bfd84fbf6e0c0a03903449f944;hb=d592e999329b4a661e5660d56e3226b73a2ad364;hpb=e8ccee8bcdae80cdf74c6d7327f1c7572589fae3 diff --git a/src/ec/ecdsa_i31_sign_raw.c b/src/ec/ecdsa_i31_sign_raw.c index df20c24..1df98fe 100644 --- a/src/ec/ecdsa_i31_sign_raw.c +++ b/src/ec/ecdsa_i31_sign_raw.c @@ -132,18 +132,8 @@ br_ecdsa_i31_sign_raw(const br_ec_impl *impl, * prime order, that reduction is only a matter of computing * a subtraction. */ - ulen = cd->generator_len; - memcpy(eU, cd->generator, ulen); br_i31_encode(tt, nlen, k); - if (!impl->mul(eU, ulen, tt, nlen, sk->curve)) { - /* - * Point multiplication may fail here only if the - * EC implementation does not support the curve, or the - * private key is incorrect (x is a multiple of the curve - * order). - */ - return 0; - } + ulen = impl->mulgen(eU, tt, nlen, sk->curve); br_i31_zero(r, n[0]); br_i31_decode(r, &eU[1], ulen >> 1); r[0] = n[0];