diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ec2_smpl.c')
-rw-r--r-- | src/lib/libcrypto/ec/ec2_smpl.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/lib/libcrypto/ec/ec2_smpl.c b/src/lib/libcrypto/ec/ec2_smpl.c index f1cbd3f3c4..c3fff56c44 100644 --- a/src/lib/libcrypto/ec/ec2_smpl.c +++ b/src/lib/libcrypto/ec/ec2_smpl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec2_smpl.c,v 1.17 2018/07/10 22:06:14 tb Exp $ */ | 1 | /* $OpenBSD: ec2_smpl.c,v 1.18 2018/07/15 05:38:48 jsg Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. | 3 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. |
4 | * | 4 | * |
@@ -107,11 +107,15 @@ EC_GF2m_simple_method(void) | |||
107 | .point_cmp = ec_GF2m_simple_cmp, | 107 | .point_cmp = ec_GF2m_simple_cmp, |
108 | .make_affine = ec_GF2m_simple_make_affine, | 108 | .make_affine = ec_GF2m_simple_make_affine, |
109 | .points_make_affine = ec_GF2m_simple_points_make_affine, | 109 | .points_make_affine = ec_GF2m_simple_points_make_affine, |
110 | .mul_generator_ct = ec_GFp_simple_mul_generator_ct, | 110 | |
111 | .mul_single_ct = ec_GFp_simple_mul_single_ct, | 111 | /* |
112 | .mul_double_nonct = ec_GFp_simple_mul_double_nonct, | 112 | * the following three method functions are defined in |
113 | * ec2_mult.c | ||
114 | */ | ||
115 | .mul = ec_GF2m_simple_mul, | ||
113 | .precompute_mult = ec_GF2m_precompute_mult, | 116 | .precompute_mult = ec_GF2m_precompute_mult, |
114 | .have_precompute_mult = ec_GF2m_have_precompute_mult, | 117 | .have_precompute_mult = ec_GF2m_have_precompute_mult, |
118 | |||
115 | .field_mul = ec_GF2m_simple_field_mul, | 119 | .field_mul = ec_GF2m_simple_field_mul, |
116 | .field_sqr = ec_GF2m_simple_field_sqr, | 120 | .field_sqr = ec_GF2m_simple_field_sqr, |
117 | .field_div = ec_GF2m_simple_field_div, | 121 | .field_div = ec_GF2m_simple_field_div, |
@@ -228,7 +232,7 @@ ec_GF2m_simple_group_set_curve(EC_GROUP * group, | |||
228 | group->b.d[i] = 0; | 232 | group->b.d[i] = 0; |
229 | 233 | ||
230 | ret = 1; | 234 | ret = 1; |
231 | err: | 235 | err: |
232 | return ret; | 236 | return ret; |
233 | } | 237 | } |
234 | 238 | ||
@@ -256,7 +260,7 @@ ec_GF2m_simple_group_get_curve(const EC_GROUP *group, | |||
256 | } | 260 | } |
257 | ret = 1; | 261 | ret = 1; |
258 | 262 | ||
259 | err: | 263 | err: |
260 | return ret; | 264 | return ret; |
261 | } | 265 | } |
262 | 266 | ||
@@ -302,7 +306,7 @@ ec_GF2m_simple_group_check_discriminant(const EC_GROUP * group, BN_CTX * ctx) | |||
302 | 306 | ||
303 | ret = 1; | 307 | ret = 1; |
304 | 308 | ||
305 | err: | 309 | err: |
306 | if (ctx != NULL) | 310 | if (ctx != NULL) |
307 | BN_CTX_end(ctx); | 311 | BN_CTX_end(ctx); |
308 | BN_CTX_free(new_ctx); | 312 | BN_CTX_free(new_ctx); |
@@ -394,7 +398,7 @@ ec_GF2m_simple_point_set_affine_coordinates(const EC_GROUP * group, EC_POINT * p | |||
394 | point->Z_is_one = 1; | 398 | point->Z_is_one = 1; |
395 | ret = 1; | 399 | ret = 1; |
396 | 400 | ||
397 | err: | 401 | err: |
398 | return ret; | 402 | return ret; |
399 | } | 403 | } |
400 | 404 | ||
@@ -428,7 +432,7 @@ ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP *group, | |||
428 | } | 432 | } |
429 | ret = 1; | 433 | ret = 1; |
430 | 434 | ||
431 | err: | 435 | err: |
432 | return ret; | 436 | return ret; |
433 | } | 437 | } |
434 | 438 | ||
@@ -545,7 +549,7 @@ ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, | |||
545 | 549 | ||
546 | ret = 1; | 550 | ret = 1; |
547 | 551 | ||
548 | err: | 552 | err: |
549 | BN_CTX_end(ctx); | 553 | BN_CTX_end(ctx); |
550 | BN_CTX_free(new_ctx); | 554 | BN_CTX_free(new_ctx); |
551 | return ret; | 555 | return ret; |
@@ -637,7 +641,7 @@ ec_GF2m_simple_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX | |||
637 | if (!BN_GF2m_add(lh, lh, y2)) | 641 | if (!BN_GF2m_add(lh, lh, y2)) |
638 | goto err; | 642 | goto err; |
639 | ret = BN_is_zero(lh); | 643 | ret = BN_is_zero(lh); |
640 | err: | 644 | err: |
641 | if (ctx) | 645 | if (ctx) |
642 | BN_CTX_end(ctx); | 646 | BN_CTX_end(ctx); |
643 | BN_CTX_free(new_ctx); | 647 | BN_CTX_free(new_ctx); |
@@ -689,7 +693,7 @@ ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT *a, | |||
689 | goto err; | 693 | goto err; |
690 | ret = ((BN_cmp(aX, bX) == 0) && BN_cmp(aY, bY) == 0) ? 0 : 1; | 694 | ret = ((BN_cmp(aX, bX) == 0) && BN_cmp(aY, bY) == 0) ? 0 : 1; |
691 | 695 | ||
692 | err: | 696 | err: |
693 | if (ctx) | 697 | if (ctx) |
694 | BN_CTX_end(ctx); | 698 | BN_CTX_end(ctx); |
695 | BN_CTX_free(new_ctx); | 699 | BN_CTX_free(new_ctx); |
@@ -730,7 +734,7 @@ ec_GF2m_simple_make_affine(const EC_GROUP * group, EC_POINT * point, BN_CTX * ct | |||
730 | 734 | ||
731 | ret = 1; | 735 | ret = 1; |
732 | 736 | ||
733 | err: | 737 | err: |
734 | if (ctx) | 738 | if (ctx) |
735 | BN_CTX_end(ctx); | 739 | BN_CTX_end(ctx); |
736 | BN_CTX_free(new_ctx); | 740 | BN_CTX_free(new_ctx); |