X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=src%2Fec%2Fecdsa_i15_sign_raw.c;h=39b2e1d7ea1b75ad824354f91c2c14b84744094f;hp=87b2f3367569d6565ea93ca788840201e4b5d94f;hb=c1d1306e276005428778c669a149f2a4cbc50c85;hpb=28e4e120b84dacdf53963639f1a8a6fec2793662 diff --git a/src/ec/ecdsa_i15_sign_raw.c b/src/ec/ecdsa_i15_sign_raw.c index 87b2f33..39b2e1d 100644 --- a/src/ec/ecdsa_i15_sign_raw.c +++ b/src/ec/ecdsa_i15_sign_raw.c @@ -133,18 +133,8 @@ br_ecdsa_i15_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_i15_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_i15_zero(r, n[0]); br_i15_decode(r, &eU[1], ulen >> 1); r[0] = n[0];