Lines Matching defs:ec_method_st

43 struct ec_method_st {  struct
45 int flags;
47 int field_type; /* a NID */
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 *);
70 int (*point_init) (EC_POINT *);
71 void (*point_finish) (EC_POINT *);
72 void (*point_clear_finish) (EC_POINT *);
73 int (*point_copy) (EC_POINT *, const EC_POINT *);
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 *);
167 size_t (*priv2oct)(const EC_KEY *eckey, unsigned char *buf, size_t len);
168 int (*oct2priv)(EC_KEY *eckey, const unsigned char *buf, size_t len);
169 int (*set_private)(EC_KEY *eckey, const BIGNUM *priv_key);
170 int (*keygen)(EC_KEY *eckey);
171 int (*keycheck)(const EC_KEY *eckey);
172 int (*keygenpub)(EC_KEY *eckey);
173 int (*keycopy)(EC_KEY *dst, const EC_KEY *src);
174 void (*keyfinish)(EC_KEY *eckey);
176 int (*ecdh_compute_key)(unsigned char **pout, size_t *poutlen,
179 int (*ecdsa_sign_setup)(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinvp,
181 ECDSA_SIG *(*ecdsa_sign_sig)(const unsigned char *dgst, int dgstlen,
184 int (*ecdsa_verify_sig)(const unsigned char *dgst, int dgstlen,
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,