summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec2_smpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec2_smpl.c')
-rw-r--r--src/lib/libcrypto/ec/ec2_smpl.c30
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: 235err:
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: 263err:
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: 309err:
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: 401err:
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: 435err:
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: 552err:
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: 644err:
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: 696err:
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: 737err:
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);