diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ecp_smpl.c')
-rw-r--r-- | src/lib/libcrypto/ec/ecp_smpl.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/lib/libcrypto/ec/ecp_smpl.c b/src/lib/libcrypto/ec/ecp_smpl.c index c9d73bd629..55fb46869d 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.35 2022/11/19 07:00:57 tb Exp $ */ | 1 | /* $OpenBSD: ecp_smpl.c,v 1.36 2022/11/19 07:29:29 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. |
@@ -131,7 +131,7 @@ EC_GFp_simple_method(void) | |||
131 | 131 | ||
132 | 132 | ||
133 | int | 133 | int |
134 | ec_GFp_simple_group_init(EC_GROUP * group) | 134 | ec_GFp_simple_group_init(EC_GROUP *group) |
135 | { | 135 | { |
136 | BN_init(&group->field); | 136 | BN_init(&group->field); |
137 | BN_init(&group->a); | 137 | BN_init(&group->a); |
@@ -142,7 +142,7 @@ ec_GFp_simple_group_init(EC_GROUP * group) | |||
142 | 142 | ||
143 | 143 | ||
144 | void | 144 | void |
145 | ec_GFp_simple_group_finish(EC_GROUP * group) | 145 | ec_GFp_simple_group_finish(EC_GROUP *group) |
146 | { | 146 | { |
147 | BN_free(&group->field); | 147 | BN_free(&group->field); |
148 | BN_free(&group->a); | 148 | BN_free(&group->a); |
@@ -151,7 +151,7 @@ ec_GFp_simple_group_finish(EC_GROUP * group) | |||
151 | 151 | ||
152 | 152 | ||
153 | void | 153 | void |
154 | ec_GFp_simple_group_clear_finish(EC_GROUP * group) | 154 | ec_GFp_simple_group_clear_finish(EC_GROUP *group) |
155 | { | 155 | { |
156 | BN_clear_free(&group->field); | 156 | BN_clear_free(&group->field); |
157 | BN_clear_free(&group->a); | 157 | BN_clear_free(&group->a); |
@@ -160,7 +160,7 @@ ec_GFp_simple_group_clear_finish(EC_GROUP * group) | |||
160 | 160 | ||
161 | 161 | ||
162 | int | 162 | int |
163 | ec_GFp_simple_group_copy(EC_GROUP * dest, const EC_GROUP * src) | 163 | ec_GFp_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src) |
164 | { | 164 | { |
165 | if (!BN_copy(&dest->field, &src->field)) | 165 | if (!BN_copy(&dest->field, &src->field)) |
166 | return 0; | 166 | return 0; |
@@ -176,8 +176,8 @@ ec_GFp_simple_group_copy(EC_GROUP * dest, const EC_GROUP * src) | |||
176 | 176 | ||
177 | 177 | ||
178 | int | 178 | int |
179 | ec_GFp_simple_group_set_curve(EC_GROUP * group, | 179 | ec_GFp_simple_group_set_curve(EC_GROUP *group, |
180 | const BIGNUM * p, const BIGNUM * a, const BIGNUM * b, BN_CTX * ctx) | 180 | const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
181 | { | 181 | { |
182 | int ret = 0; | 182 | int ret = 0; |
183 | BN_CTX *new_ctx = NULL; | 183 | BN_CTX *new_ctx = NULL; |
@@ -233,7 +233,7 @@ ec_GFp_simple_group_set_curve(EC_GROUP * group, | |||
233 | 233 | ||
234 | 234 | ||
235 | int | 235 | int |
236 | ec_GFp_simple_group_get_curve(const EC_GROUP * group, BIGNUM * p, BIGNUM * a, BIGNUM * b, BN_CTX * ctx) | 236 | ec_GFp_simple_group_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) |
237 | { | 237 | { |
238 | int ret = 0; | 238 | int ret = 0; |
239 | BN_CTX *new_ctx = NULL; | 239 | BN_CTX *new_ctx = NULL; |
@@ -277,14 +277,14 @@ ec_GFp_simple_group_get_curve(const EC_GROUP * group, BIGNUM * p, BIGNUM * a, BI | |||
277 | 277 | ||
278 | 278 | ||
279 | int | 279 | int |
280 | ec_GFp_simple_group_get_degree(const EC_GROUP * group) | 280 | ec_GFp_simple_group_get_degree(const EC_GROUP *group) |
281 | { | 281 | { |
282 | return BN_num_bits(&group->field); | 282 | return BN_num_bits(&group->field); |
283 | } | 283 | } |
284 | 284 | ||
285 | 285 | ||
286 | int | 286 | int |
287 | ec_GFp_simple_group_check_discriminant(const EC_GROUP * group, BN_CTX * ctx) | 287 | ec_GFp_simple_group_check_discriminant(const EC_GROUP *group, BN_CTX *ctx) |
288 | { | 288 | { |
289 | int ret = 0; | 289 | int ret = 0; |
290 | BIGNUM *a, *b, *order, *tmp_1, *tmp_2; | 290 | BIGNUM *a, *b, *order, *tmp_1, *tmp_2; |
@@ -372,7 +372,7 @@ ec_GFp_simple_point_init(EC_POINT * point) | |||
372 | 372 | ||
373 | 373 | ||
374 | void | 374 | void |
375 | ec_GFp_simple_point_finish(EC_POINT * point) | 375 | ec_GFp_simple_point_finish(EC_POINT *point) |
376 | { | 376 | { |
377 | BN_free(&point->X); | 377 | BN_free(&point->X); |
378 | BN_free(&point->Y); | 378 | BN_free(&point->Y); |
@@ -381,7 +381,7 @@ ec_GFp_simple_point_finish(EC_POINT * point) | |||
381 | 381 | ||
382 | 382 | ||
383 | void | 383 | void |
384 | ec_GFp_simple_point_clear_finish(EC_POINT * point) | 384 | ec_GFp_simple_point_clear_finish(EC_POINT *point) |
385 | { | 385 | { |
386 | BN_clear_free(&point->X); | 386 | BN_clear_free(&point->X); |
387 | BN_clear_free(&point->Y); | 387 | BN_clear_free(&point->Y); |
@@ -391,7 +391,7 @@ ec_GFp_simple_point_clear_finish(EC_POINT * point) | |||
391 | 391 | ||
392 | 392 | ||
393 | int | 393 | int |
394 | ec_GFp_simple_point_copy(EC_POINT * dest, const EC_POINT * src) | 394 | ec_GFp_simple_point_copy(EC_POINT *dest, const EC_POINT *src) |
395 | { | 395 | { |
396 | if (!BN_copy(&dest->X, &src->X)) | 396 | if (!BN_copy(&dest->X, &src->X)) |
397 | return 0; | 397 | return 0; |
@@ -406,7 +406,7 @@ ec_GFp_simple_point_copy(EC_POINT * dest, const EC_POINT * src) | |||
406 | 406 | ||
407 | 407 | ||
408 | int | 408 | int |
409 | ec_GFp_simple_point_set_to_infinity(const EC_GROUP * group, EC_POINT * point) | 409 | ec_GFp_simple_point_set_to_infinity(const EC_GROUP *group, EC_POINT *point) |
410 | { | 410 | { |
411 | point->Z_is_one = 0; | 411 | point->Z_is_one = 0; |
412 | BN_zero(&point->Z); | 412 | BN_zero(&point->Z); |
@@ -515,8 +515,8 @@ ec_GFp_simple_get_Jprojective_coordinates(const EC_GROUP *group, | |||
515 | } | 515 | } |
516 | 516 | ||
517 | int | 517 | int |
518 | ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP * group, EC_POINT * point, | 518 | ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point, |
519 | const BIGNUM * x, const BIGNUM * y, BN_CTX * ctx) | 519 | const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) |
520 | { | 520 | { |
521 | if (x == NULL || y == NULL) { | 521 | if (x == NULL || y == NULL) { |
522 | /* unlike for projective coordinates, we do not tolerate this */ | 522 | /* unlike for projective coordinates, we do not tolerate this */ |
@@ -528,8 +528,8 @@ ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP * group, EC_POINT * po | |||
528 | } | 528 | } |
529 | 529 | ||
530 | int | 530 | int |
531 | ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP * group, const EC_POINT * point, | 531 | ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point, |
532 | BIGNUM * x, BIGNUM * y, BN_CTX * ctx) | 532 | BIGNUM *x, BIGNUM *y, BN_CTX *ctx) |
533 | { | 533 | { |
534 | BN_CTX *new_ctx = NULL; | 534 | BN_CTX *new_ctx = NULL; |
535 | BIGNUM *Z, *Z_1, *Z_2, *Z_3; | 535 | BIGNUM *Z, *Z_1, *Z_2, *Z_3; |
@@ -635,7 +635,7 @@ ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP * group, const EC_POIN | |||
635 | } | 635 | } |
636 | 636 | ||
637 | int | 637 | int |
638 | ec_GFp_simple_add(const EC_GROUP * group, EC_POINT * r, const EC_POINT * a, const EC_POINT * b, BN_CTX * ctx) | 638 | ec_GFp_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx) |
639 | { | 639 | { |
640 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); | 640 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); |
641 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); | 641 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); |
@@ -824,7 +824,7 @@ ec_GFp_simple_add(const EC_GROUP * group, EC_POINT * r, const EC_POINT * a, cons | |||
824 | 824 | ||
825 | 825 | ||
826 | int | 826 | int |
827 | ec_GFp_simple_dbl(const EC_GROUP * group, EC_POINT * r, const EC_POINT * a, BN_CTX * ctx) | 827 | ec_GFp_simple_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx) |
828 | { | 828 | { |
829 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); | 829 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); |
830 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); | 830 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); |
@@ -966,7 +966,7 @@ ec_GFp_simple_dbl(const EC_GROUP * group, EC_POINT * r, const EC_POINT * a, BN_C | |||
966 | 966 | ||
967 | 967 | ||
968 | int | 968 | int |
969 | ec_GFp_simple_invert(const EC_GROUP * group, EC_POINT * point, BN_CTX * ctx) | 969 | ec_GFp_simple_invert(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx) |
970 | { | 970 | { |
971 | if (EC_POINT_is_at_infinity(group, point) > 0 || BN_is_zero(&point->Y)) | 971 | if (EC_POINT_is_at_infinity(group, point) > 0 || BN_is_zero(&point->Y)) |
972 | /* point is its own inverse */ | 972 | /* point is its own inverse */ |
@@ -977,14 +977,14 @@ ec_GFp_simple_invert(const EC_GROUP * group, EC_POINT * point, BN_CTX * ctx) | |||
977 | 977 | ||
978 | 978 | ||
979 | int | 979 | int |
980 | ec_GFp_simple_is_at_infinity(const EC_GROUP * group, const EC_POINT * point) | 980 | ec_GFp_simple_is_at_infinity(const EC_GROUP *group, const EC_POINT *point) |
981 | { | 981 | { |
982 | return BN_is_zero(&point->Z); | 982 | return BN_is_zero(&point->Z); |
983 | } | 983 | } |
984 | 984 | ||
985 | 985 | ||
986 | int | 986 | int |
987 | ec_GFp_simple_is_on_curve(const EC_GROUP * group, const EC_POINT * point, BN_CTX * ctx) | 987 | ec_GFp_simple_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx) |
988 | { | 988 | { |
989 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); | 989 | int (*field_mul) (const EC_GROUP *, BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); |
990 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); | 990 | int (*field_sqr) (const EC_GROUP *, BIGNUM *, const BIGNUM *, BN_CTX *); |
@@ -1087,7 +1087,7 @@ ec_GFp_simple_is_on_curve(const EC_GROUP * group, const EC_POINT * point, BN_CTX | |||
1087 | 1087 | ||
1088 | 1088 | ||
1089 | int | 1089 | int |
1090 | ec_GFp_simple_cmp(const EC_GROUP * group, const EC_POINT * a, const EC_POINT * b, BN_CTX * ctx) | 1090 | ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx) |
1091 | { | 1091 | { |
1092 | /* | 1092 | /* |
1093 | * return values: -1 error 0 equal (in affine coordinates) 1 | 1093 | * return values: -1 error 0 equal (in affine coordinates) 1 |
@@ -1189,7 +1189,7 @@ ec_GFp_simple_cmp(const EC_GROUP * group, const EC_POINT * a, const EC_POINT * b | |||
1189 | 1189 | ||
1190 | 1190 | ||
1191 | int | 1191 | int |
1192 | ec_GFp_simple_make_affine(const EC_GROUP * group, EC_POINT * point, BN_CTX * ctx) | 1192 | ec_GFp_simple_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx) |
1193 | { | 1193 | { |
1194 | BN_CTX *new_ctx = NULL; | 1194 | BN_CTX *new_ctx = NULL; |
1195 | BIGNUM *x, *y; | 1195 | BIGNUM *x, *y; |
@@ -1227,7 +1227,7 @@ ec_GFp_simple_make_affine(const EC_GROUP * group, EC_POINT * point, BN_CTX * ctx | |||
1227 | 1227 | ||
1228 | 1228 | ||
1229 | int | 1229 | int |
1230 | ec_GFp_simple_points_make_affine(const EC_GROUP * group, size_t num, EC_POINT * points[], BN_CTX * ctx) | 1230 | ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx) |
1231 | { | 1231 | { |
1232 | BN_CTX *new_ctx = NULL; | 1232 | BN_CTX *new_ctx = NULL; |
1233 | BIGNUM *tmp0, *tmp1; | 1233 | BIGNUM *tmp0, *tmp1; |
@@ -1402,13 +1402,13 @@ ec_GFp_simple_points_make_affine(const EC_GROUP * group, size_t num, EC_POINT * | |||
1402 | 1402 | ||
1403 | 1403 | ||
1404 | int | 1404 | int |
1405 | ec_GFp_simple_field_mul(const EC_GROUP * group, BIGNUM * r, const BIGNUM * a, const BIGNUM * b, BN_CTX * ctx) | 1405 | ec_GFp_simple_field_mul(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
1406 | { | 1406 | { |
1407 | return BN_mod_mul(r, a, b, &group->field, ctx); | 1407 | return BN_mod_mul(r, a, b, &group->field, ctx); |
1408 | } | 1408 | } |
1409 | 1409 | ||
1410 | int | 1410 | int |
1411 | ec_GFp_simple_field_sqr(const EC_GROUP * group, BIGNUM * r, const BIGNUM * a, BN_CTX * ctx) | 1411 | ec_GFp_simple_field_sqr(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) |
1412 | { | 1412 | { |
1413 | return BN_mod_sqr(r, a, &group->field, ctx); | 1413 | return BN_mod_sqr(r, a, &group->field, ctx); |
1414 | } | 1414 | } |