diff options
author | tb <> | 2018-11-06 06:59:25 +0000 |
---|---|---|
committer | tb <> | 2018-11-06 06:59:25 +0000 |
commit | 8920ada6f077f74fa71612e7cab28a0a06089296 (patch) | |
tree | 18bd4f279600c3d7244f18708e087e2cf789baff | |
parent | 0d8f73ccccab150253c882863ba7cdf06702da4c (diff) | |
download | openbsd-8920ada6f077f74fa71612e7cab28a0a06089296.tar.gz openbsd-8920ada6f077f74fa71612e7cab28a0a06089296.tar.bz2 openbsd-8920ada6f077f74fa71612e7cab28a0a06089296.zip |
Unset Z_is_zero after applying coordinate blinding and
re-enable coordinate blinding.
ok jsing
-rw-r--r-- | src/lib/libcrypto/ec/ecp_smpl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ec/ecp_smpl.c b/src/lib/libcrypto/ec/ecp_smpl.c index d3fcd99670..e379a74fb1 100644 --- a/src/lib/libcrypto/ec/ecp_smpl.c +++ b/src/lib/libcrypto/ec/ecp_smpl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecp_smpl.c,v 1.26 2018/11/06 02:16:13 tb Exp $ */ | 1 | /* $OpenBSD: ecp_smpl.c,v 1.27 2018/11/06 06:59:25 tb Exp $ */ |
2 | /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de> | 2 | /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de> |
3 | * for the OpenSSL project. | 3 | * for the OpenSSL project. |
4 | * Includes code written by Bodo Moeller for the OpenSSL project. | 4 | * Includes code written by Bodo Moeller for the OpenSSL project. |
@@ -1463,6 +1463,9 @@ ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx) | |||
1463 | if (!group->meth->field_mul(group, &p->Y, tmp, &p->Y, ctx)) | 1463 | if (!group->meth->field_mul(group, &p->Y, tmp, &p->Y, ctx)) |
1464 | goto err; | 1464 | goto err; |
1465 | 1465 | ||
1466 | /* Disable optimized arithmetics after replacing Z by lambda * Z. */ | ||
1467 | p->Z_is_one = 0; | ||
1468 | |||
1466 | ret = 1; | 1469 | ret = 1; |
1467 | 1470 | ||
1468 | err: | 1471 | err: |
@@ -1599,10 +1602,8 @@ ec_GFp_simple_mul_ct(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, | |||
1599 | * Apply coordinate blinding for EC_POINT if the underlying EC_METHOD | 1602 | * Apply coordinate blinding for EC_POINT if the underlying EC_METHOD |
1600 | * implements it. | 1603 | * implements it. |
1601 | */ | 1604 | */ |
1602 | #if 0 | ||
1603 | if (!ec_point_blind_coordinates(group, s, ctx)) | 1605 | if (!ec_point_blind_coordinates(group, s, ctx)) |
1604 | goto err; | 1606 | goto err; |
1605 | #endif | ||
1606 | 1607 | ||
1607 | /* top bit is a 1, in a fixed pos */ | 1608 | /* top bit is a 1, in a fixed pos */ |
1608 | if (!EC_POINT_copy(r, s)) | 1609 | if (!EC_POINT_copy(r, s)) |