Lines Matching refs:EC_GROUP

52     int (*group_init) (EC_GROUP *);
53 void (*group_finish) (EC_GROUP *);
54 void (*group_clear_finish) (EC_GROUP *);
55 int (*group_copy) (EC_GROUP *, const EC_GROUP *);
57 int (*group_set_curve) (EC_GROUP *, const BIGNUM *p, const BIGNUM *a,
59 int (*group_get_curve) (const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b,
62 int (*group_get_degree) (const EC_GROUP *);
63 int (*group_order_bits) (const EC_GROUP *);
65 int (*group_check_discriminant) (const EC_GROUP *, BN_CTX *);
82 int (*point_set_to_infinity) (const EC_GROUP *, EC_POINT *);
83 int (*point_set_affine_coordinates) (const EC_GROUP *, EC_POINT *,
86 int (*point_get_affine_coordinates) (const EC_GROUP *, const EC_POINT *,
88 int (*point_set_compressed_coordinates) (const EC_GROUP *, EC_POINT *,
92 size_t (*point2oct) (const EC_GROUP *, const EC_POINT *,
95 int (*oct2point) (const EC_GROUP *, EC_POINT *, const unsigned char *buf,
98 int (*add) (const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
100 int (*dbl) (const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *);
101 int (*invert) (const EC_GROUP *, EC_POINT *, BN_CTX *);
105 int (*is_at_infinity) (const EC_GROUP *, const EC_POINT *);
106 int (*is_on_curve) (const EC_GROUP *, const EC_POINT *, BN_CTX *);
107 int (*point_cmp) (const EC_GROUP *, const EC_POINT *a, const EC_POINT *b,
110 int (*make_affine) (const EC_GROUP *, EC_POINT *, BN_CTX *);
111 int (*points_make_affine) (const EC_GROUP *, size_t num, EC_POINT *[],
135 int (*mul) (const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
138 int (*precompute_mult) (EC_GROUP *group, BN_CTX *);
139 int (*have_precompute_mult) (const EC_GROUP *group);
147 int (*field_mul) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
149 int (*field_sqr) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
150 int (*field_div) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
158 int (*field_inv) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
160 int (*field_encode) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
163 int (*field_decode) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
165 int (*field_set_to_one) (const EC_GROUP *, BIGNUM *r, BN_CTX *);
187 int (*field_inverse_mod_ord)(const EC_GROUP *, BIGNUM *r,
189 int (*blind_coordinates)(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx);
190 int (*ladder_pre)(const EC_GROUP *group,
193 int (*ladder_step)(const EC_GROUP *group,
196 int (*ladder_post)(const EC_GROUP *group,
199 int (*group_full_init)(EC_GROUP *group, const unsigned char *data);
294 EC_GROUP *group;
328 const EC_GROUP *group) in ec_point_is_compat()
344 void EC_pre_comp_free(EC_GROUP *group);
356 int ossl_ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
359 int ossl_ec_wNAF_precompute_mult(EC_GROUP *group, BN_CTX *);
360 int ossl_ec_wNAF_have_precompute_mult(const EC_GROUP *group);
363 int ossl_ec_GFp_simple_group_init(EC_GROUP *);
364 void ossl_ec_GFp_simple_group_finish(EC_GROUP *);
365 void ossl_ec_GFp_simple_group_clear_finish(EC_GROUP *);
366 int ossl_ec_GFp_simple_group_copy(EC_GROUP *, const EC_GROUP *);
367 int ossl_ec_GFp_simple_group_set_curve(EC_GROUP *, const BIGNUM *p,
370 int ossl_ec_GFp_simple_group_get_curve(const EC_GROUP *, BIGNUM *p, BIGNUM *a,
372 int ossl_ec_GFp_simple_group_get_degree(const EC_GROUP *);
373 int ossl_ec_GFp_simple_group_check_discriminant(const EC_GROUP *, BN_CTX *);
378 int ossl_ec_GFp_simple_point_set_to_infinity(const EC_GROUP *, EC_POINT *);
379 int ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp(const EC_GROUP *,
385 int ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp(const EC_GROUP *,
390 int ossl_ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP *, EC_POINT *,
393 int ossl_ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP *,
396 int ossl_ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *, EC_POINT *,
399 size_t ossl_ec_GFp_simple_point2oct(const EC_GROUP *, const EC_POINT *,
402 int ossl_ec_GFp_simple_oct2point(const EC_GROUP *, EC_POINT *,
404 int ossl_ec_GFp_simple_add(const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
406 int ossl_ec_GFp_simple_dbl(const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
408 int ossl_ec_GFp_simple_invert(const EC_GROUP *, EC_POINT *, BN_CTX *);
409 int ossl_ec_GFp_simple_is_at_infinity(const EC_GROUP *, const EC_POINT *);
410 int ossl_ec_GFp_simple_is_on_curve(const EC_GROUP *, const EC_POINT *, BN_CTX *);
411 int ossl_ec_GFp_simple_cmp(const EC_GROUP *, const EC_POINT *a,
413 int ossl_ec_GFp_simple_make_affine(const EC_GROUP *, EC_POINT *, BN_CTX *);
414 int ossl_ec_GFp_simple_points_make_affine(const EC_GROUP *, size_t num,
416 int ossl_ec_GFp_simple_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
418 int ossl_ec_GFp_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
420 int ossl_ec_GFp_simple_field_inv(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
422 int ossl_ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT *p,
424 int ossl_ec_GFp_simple_ladder_pre(const EC_GROUP *group,
427 int ossl_ec_GFp_simple_ladder_step(const EC_GROUP *group,
430 int ossl_ec_GFp_simple_ladder_post(const EC_GROUP *group,
435 int ossl_ec_GFp_mont_group_init(EC_GROUP *);
436 int ossl_ec_GFp_mont_group_set_curve(EC_GROUP *, const BIGNUM *p,
439 void ossl_ec_GFp_mont_group_finish(EC_GROUP *);
440 void ossl_ec_GFp_mont_group_clear_finish(EC_GROUP *);
441 int ossl_ec_GFp_mont_group_copy(EC_GROUP *, const EC_GROUP *);
442 int ossl_ec_GFp_mont_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
444 int ossl_ec_GFp_mont_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
446 int ossl_ec_GFp_mont_field_inv(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
448 int ossl_ec_GFp_mont_field_encode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
450 int ossl_ec_GFp_mont_field_decode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
452 int ossl_ec_GFp_mont_field_set_to_one(const EC_GROUP *, BIGNUM *r, BN_CTX *);
455 int ossl_ec_GFp_nist_group_copy(EC_GROUP *dest, const EC_GROUP *src);
456 int ossl_ec_GFp_nist_group_set_curve(EC_GROUP *, const BIGNUM *p,
458 int ossl_ec_GFp_nist_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
460 int ossl_ec_GFp_nist_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
464 int ossl_ec_GF2m_simple_group_init(EC_GROUP *);
465 void ossl_ec_GF2m_simple_group_finish(EC_GROUP *);
466 void ossl_ec_GF2m_simple_group_clear_finish(EC_GROUP *);
467 int ossl_ec_GF2m_simple_group_copy(EC_GROUP *, const EC_GROUP *);
468 int ossl_ec_GF2m_simple_group_set_curve(EC_GROUP *, const BIGNUM *p,
471 int ossl_ec_GF2m_simple_group_get_curve(const EC_GROUP *, BIGNUM *p, BIGNUM *a,
473 int ossl_ec_GF2m_simple_group_get_degree(const EC_GROUP *);
474 int ossl_ec_GF2m_simple_group_check_discriminant(const EC_GROUP *, BN_CTX *);
479 int ossl_ec_GF2m_simple_point_set_to_infinity(const EC_GROUP *, EC_POINT *);
480 int ossl_ec_GF2m_simple_point_set_affine_coordinates(const EC_GROUP *,
484 int ossl_ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP *,
487 int ossl_ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP *, EC_POINT *,
490 size_t ossl_ec_GF2m_simple_point2oct(const EC_GROUP *, const EC_POINT *,
493 int ossl_ec_GF2m_simple_oct2point(const EC_GROUP *, EC_POINT *,
495 int ossl_ec_GF2m_simple_add(const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
497 int ossl_ec_GF2m_simple_dbl(const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
499 int ossl_ec_GF2m_simple_invert(const EC_GROUP *, EC_POINT *, BN_CTX *);
500 int ossl_ec_GF2m_simple_is_at_infinity(const EC_GROUP *, const EC_POINT *);
501 int ossl_ec_GF2m_simple_is_on_curve(const EC_GROUP *, const EC_POINT *, BN_CTX *);
502 int ossl_ec_GF2m_simple_cmp(const EC_GROUP *, const EC_POINT *a,
504 int ossl_ec_GF2m_simple_make_affine(const EC_GROUP *, EC_POINT *, BN_CTX *);
505 int ossl_ec_GF2m_simple_points_make_affine(const EC_GROUP *, size_t num,
507 int ossl_ec_GF2m_simple_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
509 int ossl_ec_GF2m_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
511 int ossl_ec_GF2m_simple_field_div(const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
520 int ossl_ec_GFp_nistp224_group_init(EC_GROUP *group);
521 int ossl_ec_GFp_nistp224_group_set_curve(EC_GROUP *group, const BIGNUM *p,
524 int ossl_ec_GFp_nistp224_point_get_affine_coordinates(const EC_GROUP *group,
528 int ossl_ec_GFp_nistp224_mul(const EC_GROUP *group, EC_POINT *r,
532 int ossl_ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT *r,
536 int ossl_ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx);
537 int ossl_ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group);
540 int ossl_ec_GFp_nistp256_group_init(EC_GROUP *group);
541 int ossl_ec_GFp_nistp256_group_set_curve(EC_GROUP *group, const BIGNUM *p,
544 int ossl_ec_GFp_nistp256_point_get_affine_coordinates(const EC_GROUP *group,
548 int ossl_ec_GFp_nistp256_mul(const EC_GROUP *group, EC_POINT *r,
552 int ossl_ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT *r,
556 int ossl_ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx);
557 int ossl_ec_GFp_nistp256_have_precompute_mult(const EC_GROUP *group);
560 int ossl_ec_GFp_nistp384_group_init(EC_GROUP *group);
561 int ossl_ec_GFp_nistp384_group_set_curve(EC_GROUP *group, const BIGNUM *p,
564 int ossl_ec_GFp_nistp384_point_get_affine_coordinates(const EC_GROUP *group,
568 int ossl_ec_GFp_nistp384_mul(const EC_GROUP *group, EC_POINT *r,
572 int ossl_ec_GFp_nistp384_points_mul(const EC_GROUP *group, EC_POINT *r,
576 int ossl_ec_GFp_nistp384_precompute_mult(EC_GROUP *group, BN_CTX *ctx);
577 int ossl_ec_GFp_nistp384_have_precompute_mult(const EC_GROUP *group);
581 int ossl_ec_GFp_nistp521_group_init(EC_GROUP *group);
582 int ossl_ec_GFp_nistp521_group_set_curve(EC_GROUP *group, const BIGNUM *p,
585 int ossl_ec_GFp_nistp521_point_get_affine_coordinates(const EC_GROUP *group,
589 int ossl_ec_GFp_nistp521_mul(const EC_GROUP *group, EC_POINT *r,
593 int ossl_ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT *r,
597 int ossl_ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx);
598 int ossl_ec_GFp_nistp521_have_precompute_mult(const EC_GROUP *group);
623 int ossl_ec_group_simple_order_bits(const EC_GROUP *group);
633 EC_GROUP *ossl_ec_group_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
662 int ossl_ec_curve_nid_from_params(const EC_GROUP *group, BN_CTX *ctx);
672 int (*set_group)(EC_KEY *key, const EC_GROUP *grp);
759 int ossl_ec_scalar_mul_ladder(const EC_GROUP *group, EC_POINT *r,
763 int ossl_ec_point_blind_coordinates(const EC_GROUP *group, EC_POINT *p,
766 static ossl_inline int ec_point_ladder_pre(const EC_GROUP *group, in ec_point_ladder_pre()
780 static ossl_inline int ec_point_ladder_step(const EC_GROUP *group, in ec_point_ladder_step()
795 static ossl_inline int ec_point_ladder_post(const EC_GROUP *group, in ec_point_ladder_post()