Don't map back to affine in wc_ecc_mulmod. It is done in ecc_map later.

This commit is contained in:
Juliusz Sosinowicz
2020-08-10 12:33:18 +02:00
parent cbd9b3717f
commit da190b8177

View File

@ -33329,12 +33329,12 @@ int wolfSSL_EC_POINT_add(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r,
if (ecc_projective_add_point(montP1, montP2, (ecc_point*)r->internal, if (ecc_projective_add_point(montP1, montP2, (ecc_point*)r->internal,
&a, &prime, mp) != MP_OKAY) { &a, &prime, mp) != MP_OKAY) {
WOLFSSL_MSG("wc_ecc_mulmod nqm error"); WOLFSSL_MSG("ecc_projective_add_point error");
goto cleanup; goto cleanup;
} }
if (ecc_map((ecc_point*)r->internal, &prime, mp) != MP_OKAY) { if (ecc_map((ecc_point*)r->internal, &prime, mp) != MP_OKAY) {
WOLFSSL_MSG("ecc_map nqm error"); WOLFSSL_MSG("ecc_map error");
goto cleanup; goto cleanup;
} }
@ -33428,14 +33428,14 @@ int wolfSSL_EC_POINT_mul(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r,
goto cleanup; goto cleanup;
} }
/* r = generator * n */ /* r = generator * n */
if (wc_ecc_mulmod((mp_int*)n->internal, result, result, &a, &prime, 1) if (wc_ecc_mulmod((mp_int*)n->internal, result, result, &a, &prime, 0)
!= MP_OKAY) { != MP_OKAY) {
WOLFSSL_MSG("wc_ecc_mulmod nqm error"); WOLFSSL_MSG("wc_ecc_mulmod nqm error");
goto cleanup; goto cleanup;
} }
/* tmp = q * m */ /* tmp = q * m */
if (wc_ecc_mulmod((mp_int*)m->internal, (ecc_point*)q->internal, if (wc_ecc_mulmod((mp_int*)m->internal, (ecc_point*)q->internal,
tmp, &a, &prime, 1) != MP_OKAY) { tmp, &a, &prime, 0) != MP_OKAY) {
WOLFSSL_MSG("wc_ecc_mulmod nqm error"); WOLFSSL_MSG("wc_ecc_mulmod nqm error");
goto cleanup; goto cleanup;
} }