• Home
  • Raw
  • Download

Lines Matching defs:ec_method_st

39 struct ec_method_st {  struct
41 int flags;
43 int field_type; /* a NID */
48 int (*group_init) (EC_GROUP *);
49 void (*group_finish) (EC_GROUP *);
50 void (*group_clear_finish) (EC_GROUP *);
51 int (*group_copy) (EC_GROUP *, const EC_GROUP *);
53 int (*group_set_curve) (EC_GROUP *, const BIGNUM *p, const BIGNUM *a,
55 int (*group_get_curve) (const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b,
58 int (*group_get_degree) (const EC_GROUP *);
59 int (*group_order_bits) (const EC_GROUP *);
61 int (*group_check_discriminant) (const EC_GROUP *, BN_CTX *);
66 int (*point_init) (EC_POINT *);
67 void (*point_finish) (EC_POINT *);
68 void (*point_clear_finish) (EC_POINT *);
69 int (*point_copy) (EC_POINT *, const EC_POINT *);
78 int (*point_set_to_infinity) (const EC_GROUP *, EC_POINT *);
79 int (*point_set_Jprojective_coordinates_GFp) (const EC_GROUP *,
83 int (*point_get_Jprojective_coordinates_GFp) (const EC_GROUP *,
87 int (*point_set_affine_coordinates) (const EC_GROUP *, EC_POINT *,
90 int (*point_get_affine_coordinates) (const EC_GROUP *, const EC_POINT *,
92 int (*point_set_compressed_coordinates) (const EC_GROUP *, EC_POINT *,
96 size_t (*point2oct) (const EC_GROUP *, const EC_POINT *,
99 int (*oct2point) (const EC_GROUP *, EC_POINT *, const unsigned char *buf,
102 int (*add) (const EC_GROUP *, EC_POINT *r, const EC_POINT *a,
104 int (*dbl) (const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *);
105 int (*invert) (const EC_GROUP *, EC_POINT *, BN_CTX *);
109 int (*is_at_infinity) (const EC_GROUP *, const EC_POINT *);
110 int (*is_on_curve) (const EC_GROUP *, const EC_POINT *, BN_CTX *);
111 int (*point_cmp) (const EC_GROUP *, const EC_POINT *a, const EC_POINT *b,
114 int (*make_affine) (const EC_GROUP *, EC_POINT *, BN_CTX *);
115 int (*points_make_affine) (const EC_GROUP *, size_t num, EC_POINT *[],
139 int (*mul) (const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
142 int (*precompute_mult) (EC_GROUP *group, BN_CTX *);
143 int (*have_precompute_mult) (const EC_GROUP *group);
151 int (*field_mul) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
153 int (*field_sqr) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
154 int (*field_div) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
162 int (*field_inv) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
164 int (*field_encode) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
167 int (*field_decode) (const EC_GROUP *, BIGNUM *r, const BIGNUM *a,
169 int (*field_set_to_one) (const EC_GROUP *, BIGNUM *r, BN_CTX *);
171 size_t (*priv2oct)(const EC_KEY *eckey, unsigned char *buf, size_t len);
172 int (*oct2priv)(EC_KEY *eckey, const unsigned char *buf, size_t len);
173 int (*set_private)(EC_KEY *eckey, const BIGNUM *priv_key);
174 int (*keygen)(EC_KEY *eckey);
175 int (*keycheck)(const EC_KEY *eckey);
176 int (*keygenpub)(EC_KEY *eckey);
177 int (*keycopy)(EC_KEY *dst, const EC_KEY *src);
178 void (*keyfinish)(EC_KEY *eckey);
180 int (*ecdh_compute_key)(unsigned char **pout, size_t *poutlen,
183 int (*field_inverse_mod_ord)(const EC_GROUP *, BIGNUM *r,
185 int (*blind_coordinates)(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx);
186 int (*ladder_pre)(const EC_GROUP *group,
189 int (*ladder_step)(const EC_GROUP *group,
192 int (*ladder_post)(const EC_GROUP *group,