summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec_lib.c')
-rw-r--r--src/lib/libcrypto/ec/ec_lib.c56
1 files changed, 55 insertions, 1 deletions
diff --git a/src/lib/libcrypto/ec/ec_lib.c b/src/lib/libcrypto/ec/ec_lib.c
index 8cea0bb95b..3db1ca2f07 100644
--- a/src/lib/libcrypto/ec/ec_lib.c
+++ b/src/lib/libcrypto/ec/ec_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_lib.c,v 1.62 2023/07/03 07:26:40 tb Exp $ */ 1/* $OpenBSD: ec_lib.c,v 1.63 2023/07/07 13:54:45 beck Exp $ */
2/* 2/*
3 * Originally written by Bodo Moeller for the OpenSSL project. 3 * Originally written by Bodo Moeller for the OpenSSL project.
4 */ 4 */
@@ -110,6 +110,7 @@ EC_GROUP_new(const EC_METHOD *meth)
110 } 110 }
111 return ret; 111 return ret;
112} 112}
113LCRYPTO_ALIAS(EC_GROUP_new);
113 114
114 115
115void 116void
@@ -128,12 +129,14 @@ EC_GROUP_free(EC_GROUP *group)
128 freezero(group->seed, group->seed_len); 129 freezero(group->seed, group->seed_len);
129 freezero(group, sizeof *group); 130 freezero(group, sizeof *group);
130} 131}
132LCRYPTO_ALIAS(EC_GROUP_free);
131 133
132void 134void
133EC_GROUP_clear_free(EC_GROUP *group) 135EC_GROUP_clear_free(EC_GROUP *group)
134{ 136{
135 EC_GROUP_free(group); 137 EC_GROUP_free(group);
136} 138}
139LCRYPTO_ALIAS(EC_GROUP_clear_free);
137 140
138int 141int
139EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src) 142EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
@@ -188,6 +191,7 @@ EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
188 191
189 return dest->meth->group_copy(dest, src); 192 return dest->meth->group_copy(dest, src);
190} 193}
194LCRYPTO_ALIAS(EC_GROUP_copy);
191 195
192 196
193EC_GROUP * 197EC_GROUP *
@@ -202,6 +206,7 @@ EC_GROUP_dup(const EC_GROUP *a)
202 } 206 }
203 return t; 207 return t;
204} 208}
209LCRYPTO_ALIAS(EC_GROUP_dup);
205 210
206 211
207const EC_METHOD * 212const EC_METHOD *
@@ -209,6 +214,7 @@ EC_GROUP_method_of(const EC_GROUP *group)
209{ 214{
210 return group->meth; 215 return group->meth;
211} 216}
217LCRYPTO_ALIAS(EC_GROUP_method_of);
212 218
213 219
214int 220int
@@ -216,6 +222,7 @@ EC_METHOD_get_field_type(const EC_METHOD *meth)
216{ 222{
217 return meth->field_type; 223 return meth->field_type;
218} 224}
225LCRYPTO_ALIAS(EC_METHOD_get_field_type);
219 226
220/* 227/*
221 * If there is a user-provided cofactor, sanity check and use it. Otherwise 228 * If there is a user-provided cofactor, sanity check and use it. Otherwise
@@ -349,6 +356,7 @@ EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,
349 356
350 return 1; 357 return 1;
351} 358}
359LCRYPTO_ALIAS(EC_GROUP_set_generator);
352 360
353 361
354const EC_POINT * 362const EC_POINT *
@@ -356,6 +364,7 @@ EC_GROUP_get0_generator(const EC_GROUP *group)
356{ 364{
357 return group->generator; 365 return group->generator;
358} 366}
367LCRYPTO_ALIAS(EC_GROUP_get0_generator);
359 368
360int 369int
361EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx) 370EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
@@ -365,6 +374,7 @@ EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
365 374
366 return !BN_is_zero(order); 375 return !BN_is_zero(order);
367} 376}
377LCRYPTO_ALIAS(EC_GROUP_get_order);
368 378
369const BIGNUM * 379const BIGNUM *
370EC_GROUP_get0_order(const EC_GROUP *group) 380EC_GROUP_get0_order(const EC_GROUP *group)
@@ -377,6 +387,7 @@ EC_GROUP_order_bits(const EC_GROUP *group)
377{ 387{
378 return group->meth->group_order_bits(group); 388 return group->meth->group_order_bits(group);
379} 389}
390LCRYPTO_ALIAS(EC_GROUP_order_bits);
380 391
381int 392int
382EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx) 393EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
@@ -386,6 +397,7 @@ EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
386 397
387 return !BN_is_zero(&group->cofactor); 398 return !BN_is_zero(&group->cofactor);
388} 399}
400LCRYPTO_ALIAS(EC_GROUP_get_cofactor);
389 401
390 402
391void 403void
@@ -393,6 +405,7 @@ EC_GROUP_set_curve_name(EC_GROUP *group, int nid)
393{ 405{
394 group->curve_name = nid; 406 group->curve_name = nid;
395} 407}
408LCRYPTO_ALIAS(EC_GROUP_set_curve_name);
396 409
397 410
398int 411int
@@ -400,6 +413,7 @@ EC_GROUP_get_curve_name(const EC_GROUP *group)
400{ 413{
401 return group->curve_name; 414 return group->curve_name;
402} 415}
416LCRYPTO_ALIAS(EC_GROUP_get_curve_name);
403 417
404 418
405void 419void
@@ -407,6 +421,7 @@ EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag)
407{ 421{
408 group->asn1_flag = flag; 422 group->asn1_flag = flag;
409} 423}
424LCRYPTO_ALIAS(EC_GROUP_set_asn1_flag);
410 425
411 426
412int 427int
@@ -414,6 +429,7 @@ EC_GROUP_get_asn1_flag(const EC_GROUP *group)
414{ 429{
415 return group->asn1_flag; 430 return group->asn1_flag;
416} 431}
432LCRYPTO_ALIAS(EC_GROUP_get_asn1_flag);
417 433
418 434
419void 435void
@@ -422,6 +438,7 @@ EC_GROUP_set_point_conversion_form(EC_GROUP *group,
422{ 438{
423 group->asn1_form = form; 439 group->asn1_form = form;
424} 440}
441LCRYPTO_ALIAS(EC_GROUP_set_point_conversion_form);
425 442
426 443
427point_conversion_form_t 444point_conversion_form_t
@@ -429,6 +446,7 @@ EC_GROUP_get_point_conversion_form(const EC_GROUP *group)
429{ 446{
430 return group->asn1_form; 447 return group->asn1_form;
431} 448}
449LCRYPTO_ALIAS(EC_GROUP_get_point_conversion_form);
432 450
433 451
434size_t 452size_t
@@ -449,6 +467,7 @@ EC_GROUP_set_seed(EC_GROUP *group, const unsigned char *p, size_t len)
449 467
450 return len; 468 return len;
451} 469}
470LCRYPTO_ALIAS(EC_GROUP_set_seed);
452 471
453 472
454unsigned char * 473unsigned char *
@@ -456,6 +475,7 @@ EC_GROUP_get0_seed(const EC_GROUP *group)
456{ 475{
457 return group->seed; 476 return group->seed;
458} 477}
478LCRYPTO_ALIAS(EC_GROUP_get0_seed);
459 479
460 480
461size_t 481size_t
@@ -463,6 +483,7 @@ EC_GROUP_get_seed_len(const EC_GROUP *group)
463{ 483{
464 return group->seed_len; 484 return group->seed_len;
465} 485}
486LCRYPTO_ALIAS(EC_GROUP_get_seed_len);
466 487
467int 488int
468EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, 489EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
@@ -488,6 +509,7 @@ EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
488 509
489 return ret; 510 return ret;
490} 511}
512LCRYPTO_ALIAS(EC_GROUP_set_curve);
491 513
492int 514int
493EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, 515EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b,
@@ -513,6 +535,7 @@ EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b,
513 535
514 return ret; 536 return ret;
515} 537}
538LCRYPTO_ALIAS(EC_GROUP_get_curve);
516 539
517int 540int
518EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, 541EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
@@ -520,6 +543,7 @@ EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
520{ 543{
521 return EC_GROUP_set_curve(group, p, a, b, ctx); 544 return EC_GROUP_set_curve(group, p, a, b, ctx);
522} 545}
546LCRYPTO_ALIAS(EC_GROUP_set_curve_GFp);
523 547
524int 548int
525EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, 549EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b,
@@ -527,6 +551,7 @@ EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b,
527{ 551{
528 return EC_GROUP_get_curve(group, p, a, b, ctx); 552 return EC_GROUP_get_curve(group, p, a, b, ctx);
529} 553}
554LCRYPTO_ALIAS(EC_GROUP_get_curve_GFp);
530 555
531int 556int
532EC_GROUP_get_degree(const EC_GROUP *group) 557EC_GROUP_get_degree(const EC_GROUP *group)
@@ -537,6 +562,7 @@ EC_GROUP_get_degree(const EC_GROUP *group)
537 } 562 }
538 return group->meth->group_get_degree(group); 563 return group->meth->group_get_degree(group);
539} 564}
565LCRYPTO_ALIAS(EC_GROUP_get_degree);
540 566
541 567
542int 568int
@@ -562,6 +588,7 @@ EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx_in)
562 588
563 return ret; 589 return ret;
564} 590}
591LCRYPTO_ALIAS(EC_GROUP_check_discriminant);
565 592
566 593
567int 594int
@@ -637,6 +664,7 @@ EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx)
637 BN_CTX_free(ctx); 664 BN_CTX_free(ctx);
638 return -1; 665 return -1;
639} 666}
667LCRYPTO_ALIAS(EC_GROUP_cmp);
640 668
641/* 669/*
642 * Coordinate blinding for EC_POINT. 670 * Coordinate blinding for EC_POINT.
@@ -682,6 +710,7 @@ EC_POINT_new(const EC_GROUP *group)
682 } 710 }
683 return ret; 711 return ret;
684} 712}
713LCRYPTO_ALIAS(EC_POINT_new);
685 714
686void 715void
687EC_POINT_free(EC_POINT *point) 716EC_POINT_free(EC_POINT *point)
@@ -694,12 +723,14 @@ EC_POINT_free(EC_POINT *point)
694 723
695 freezero(point, sizeof *point); 724 freezero(point, sizeof *point);
696} 725}
726LCRYPTO_ALIAS(EC_POINT_free);
697 727
698void 728void
699EC_POINT_clear_free(EC_POINT *point) 729EC_POINT_clear_free(EC_POINT *point)
700{ 730{
701 EC_POINT_free(point); 731 EC_POINT_free(point);
702} 732}
733LCRYPTO_ALIAS(EC_POINT_clear_free);
703 734
704int 735int
705EC_POINT_copy(EC_POINT *dest, const EC_POINT *src) 736EC_POINT_copy(EC_POINT *dest, const EC_POINT *src)
@@ -716,6 +747,7 @@ EC_POINT_copy(EC_POINT *dest, const EC_POINT *src)
716 return 1; 747 return 1;
717 return dest->meth->point_copy(dest, src); 748 return dest->meth->point_copy(dest, src);
718} 749}
750LCRYPTO_ALIAS(EC_POINT_copy);
719 751
720EC_POINT * 752EC_POINT *
721EC_POINT_dup(const EC_POINT *a, const EC_GROUP *group) 753EC_POINT_dup(const EC_POINT *a, const EC_GROUP *group)
@@ -736,12 +768,14 @@ EC_POINT_dup(const EC_POINT *a, const EC_GROUP *group)
736 } else 768 } else
737 return t; 769 return t;
738} 770}
771LCRYPTO_ALIAS(EC_POINT_dup);
739 772
740const EC_METHOD * 773const EC_METHOD *
741EC_POINT_method_of(const EC_POINT *point) 774EC_POINT_method_of(const EC_POINT *point)
742{ 775{
743 return point->meth; 776 return point->meth;
744} 777}
778LCRYPTO_ALIAS(EC_POINT_method_of);
745 779
746int 780int
747EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point) 781EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point)
@@ -756,6 +790,7 @@ EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point)
756 } 790 }
757 return group->meth->point_set_to_infinity(group, point); 791 return group->meth->point_set_to_infinity(group, point);
758} 792}
793LCRYPTO_ALIAS(EC_POINT_set_to_infinity);
759 794
760int 795int
761EC_POINT_set_Jprojective_coordinates(const EC_GROUP *group, EC_POINT *point, 796EC_POINT_set_Jprojective_coordinates(const EC_GROUP *group, EC_POINT *point,
@@ -831,6 +866,7 @@ EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
831{ 866{
832 return EC_POINT_set_Jprojective_coordinates(group, point, x, y, z, ctx); 867 return EC_POINT_set_Jprojective_coordinates(group, point, x, y, z, ctx);
833} 868}
869LCRYPTO_ALIAS(EC_POINT_set_Jprojective_coordinates_GFp);
834 870
835int 871int
836EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, 872EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group,
@@ -838,6 +874,7 @@ EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group,
838{ 874{
839 return EC_POINT_get_Jprojective_coordinates(group, point, x, y, z, ctx); 875 return EC_POINT_get_Jprojective_coordinates(group, point, x, y, z, ctx);
840} 876}
877LCRYPTO_ALIAS(EC_POINT_get_Jprojective_coordinates_GFp);
841 878
842int 879int
843EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point, 880EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point,
@@ -875,6 +912,7 @@ EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point,
875 912
876 return ret; 913 return ret;
877} 914}
915LCRYPTO_ALIAS(EC_POINT_set_affine_coordinates);
878 916
879int 917int
880EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point, 918EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
@@ -882,6 +920,7 @@ EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
882{ 920{
883 return EC_POINT_set_affine_coordinates(group, point, x, y, ctx); 921 return EC_POINT_set_affine_coordinates(group, point, x, y, ctx);
884} 922}
923LCRYPTO_ALIAS(EC_POINT_set_affine_coordinates_GFp);
885 924
886int 925int
887EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point, 926EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point,
@@ -911,6 +950,7 @@ EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point,
911 950
912 return ret; 951 return ret;
913} 952}
953LCRYPTO_ALIAS(EC_POINT_get_affine_coordinates);
914 954
915int 955int
916EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point, 956EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point,
@@ -918,6 +958,7 @@ EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point
918{ 958{
919 return EC_POINT_get_affine_coordinates(group, point, x, y, ctx); 959 return EC_POINT_get_affine_coordinates(group, point, x, y, ctx);
920} 960}
961LCRYPTO_ALIAS(EC_POINT_get_affine_coordinates_GFp);
921 962
922int 963int
923EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, 964EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
@@ -948,6 +989,7 @@ EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
948 989
949 return ret; 990 return ret;
950} 991}
992LCRYPTO_ALIAS(EC_POINT_add);
951 993
952int 994int
953EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, 995EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
@@ -977,6 +1019,7 @@ EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
977 1019
978 return ret; 1020 return ret;
979} 1021}
1022LCRYPTO_ALIAS(EC_POINT_dbl);
980 1023
981int 1024int
982EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx_in) 1025EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx_in)
@@ -1005,6 +1048,7 @@ EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx_in)
1005 1048
1006 return ret; 1049 return ret;
1007} 1050}
1051LCRYPTO_ALIAS(EC_POINT_invert);
1008 1052
1009int 1053int
1010EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *point) 1054EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *point)
@@ -1019,6 +1063,7 @@ EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *point)
1019 } 1063 }
1020 return group->meth->is_at_infinity(group, point); 1064 return group->meth->is_at_infinity(group, point);
1021} 1065}
1066LCRYPTO_ALIAS(EC_POINT_is_at_infinity);
1022 1067
1023int 1068int
1024EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, 1069EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point,
@@ -1048,6 +1093,7 @@ EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point,
1048 1093
1049 return ret; 1094 return ret;
1050} 1095}
1096LCRYPTO_ALIAS(EC_POINT_is_on_curve);
1051 1097
1052int 1098int
1053EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, 1099EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b,
@@ -1077,6 +1123,7 @@ EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b,
1077 1123
1078 return ret; 1124 return ret;
1079} 1125}
1126LCRYPTO_ALIAS(EC_POINT_cmp);
1080 1127
1081int 1128int
1082EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx_in) 1129EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx_in)
@@ -1105,6 +1152,7 @@ EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx_in)
1105 1152
1106 return ret; 1153 return ret;
1107} 1154}
1155LCRYPTO_ALIAS(EC_POINT_make_affine);
1108 1156
1109int 1157int
1110EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], 1158EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[],
@@ -1137,6 +1185,7 @@ EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[],
1137 1185
1138 return ret; 1186 return ret;
1139} 1187}
1188LCRYPTO_ALIAS(EC_POINTs_make_affine);
1140 1189
1141int 1190int
1142EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, 1191EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
@@ -1178,6 +1227,7 @@ EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
1178 1227
1179 return ret; 1228 return ret;
1180} 1229}
1230LCRYPTO_ALIAS(EC_POINTs_mul);
1181 1231
1182int 1232int
1183EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar, 1233EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
@@ -1239,18 +1289,21 @@ EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
1239 1289
1240 return ret; 1290 return ret;
1241} 1291}
1292LCRYPTO_ALIAS(EC_POINT_mul);
1242 1293
1243int 1294int
1244EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx_in) 1295EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx_in)
1245{ 1296{
1246 return 1; 1297 return 1;
1247} 1298}
1299LCRYPTO_ALIAS(EC_GROUP_precompute_mult);
1248 1300
1249int 1301int
1250EC_GROUP_have_precompute_mult(const EC_GROUP *group) 1302EC_GROUP_have_precompute_mult(const EC_GROUP *group)
1251{ 1303{
1252 return 0; 1304 return 0;
1253} 1305}
1306LCRYPTO_ALIAS(EC_GROUP_have_precompute_mult);
1254 1307
1255int 1308int
1256ec_group_simple_order_bits(const EC_GROUP *group) 1309ec_group_simple_order_bits(const EC_GROUP *group)
@@ -1283,3 +1336,4 @@ ECParameters_dup(EC_KEY *key)
1283 1336
1284 return dup; 1337 return dup;
1285} 1338}
1339LCRYPTO_ALIAS(ECParameters_dup);