Lines Matching full:group
77 int ec_GFp_mont_group_init(EC_GROUP *group) { in ec_GFp_mont_group_init() argument
80 ok = ec_GFp_simple_group_init(group); in ec_GFp_mont_group_init()
81 group->mont = NULL; in ec_GFp_mont_group_init()
82 group->one = NULL; in ec_GFp_mont_group_init()
86 void ec_GFp_mont_group_finish(EC_GROUP *group) { in ec_GFp_mont_group_finish() argument
87 BN_MONT_CTX_free(group->mont); in ec_GFp_mont_group_finish()
88 group->mont = NULL; in ec_GFp_mont_group_finish()
89 BN_free(group->one); in ec_GFp_mont_group_finish()
90 group->one = NULL; in ec_GFp_mont_group_finish()
91 ec_GFp_simple_group_finish(group); in ec_GFp_mont_group_finish()
94 void ec_GFp_mont_group_clear_finish(EC_GROUP *group) { in ec_GFp_mont_group_clear_finish() argument
95 BN_MONT_CTX_free(group->mont); in ec_GFp_mont_group_clear_finish()
96 group->mont = NULL; in ec_GFp_mont_group_clear_finish()
97 BN_clear_free(group->one); in ec_GFp_mont_group_clear_finish()
98 group->one = NULL; in ec_GFp_mont_group_clear_finish()
99 ec_GFp_simple_group_clear_finish(group); in ec_GFp_mont_group_clear_finish()
136 int ec_GFp_mont_group_set_curve(EC_GROUP *group, const BIGNUM *p, in ec_GFp_mont_group_set_curve() argument
143 BN_MONT_CTX_free(group->mont); in ec_GFp_mont_group_set_curve()
144 group->mont = NULL; in ec_GFp_mont_group_set_curve()
145 BN_free(group->one); in ec_GFp_mont_group_set_curve()
146 group->one = NULL; in ec_GFp_mont_group_set_curve()
168 group->mont = mont; in ec_GFp_mont_group_set_curve()
170 group->one = one; in ec_GFp_mont_group_set_curve()
173 ret = ec_GFp_simple_group_set_curve(group, p, a, b, ctx); in ec_GFp_mont_group_set_curve()
176 BN_MONT_CTX_free(group->mont); in ec_GFp_mont_group_set_curve()
177 group->mont = NULL; in ec_GFp_mont_group_set_curve()
178 BN_free(group->one); in ec_GFp_mont_group_set_curve()
179 group->one = NULL; in ec_GFp_mont_group_set_curve()
189 int ec_GFp_mont_field_mul(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, in ec_GFp_mont_field_mul() argument
191 if (group->mont == NULL) { in ec_GFp_mont_field_mul()
196 return BN_mod_mul_montgomery(r, a, b, group->mont, ctx); in ec_GFp_mont_field_mul()
199 int ec_GFp_mont_field_sqr(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, in ec_GFp_mont_field_sqr() argument
201 if (group->mont == NULL) { in ec_GFp_mont_field_sqr()
206 return BN_mod_mul_montgomery(r, a, a, group->mont, ctx); in ec_GFp_mont_field_sqr()
209 int ec_GFp_mont_field_encode(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, in ec_GFp_mont_field_encode() argument
211 if (group->mont == NULL) { in ec_GFp_mont_field_encode()
216 return BN_to_montgomery(r, a, group->mont, ctx); in ec_GFp_mont_field_encode()
219 int ec_GFp_mont_field_decode(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, in ec_GFp_mont_field_decode() argument
221 if (group->mont == NULL) { in ec_GFp_mont_field_decode()
226 return BN_from_montgomery(r, a, group->mont, ctx); in ec_GFp_mont_field_decode()
229 int ec_GFp_mont_field_set_to_one(const EC_GROUP *group, BIGNUM *r, in ec_GFp_mont_field_set_to_one() argument
231 if (group->one == NULL) { in ec_GFp_mont_field_set_to_one()
236 if (!BN_copy(r, group->one)) { in ec_GFp_mont_field_set_to_one()
242 static int ec_GFp_mont_check_pub_key_order(const EC_GROUP *group, in ec_GFp_mont_check_pub_key_order() argument
245 EC_POINT *point = EC_POINT_new(group); in ec_GFp_mont_check_pub_key_order()
249 !ec_wNAF_mul(group, point, NULL, pub_key, EC_GROUP_get0_order(group), in ec_GFp_mont_check_pub_key_order()
251 !EC_POINT_is_at_infinity(group, point)) { in ec_GFp_mont_check_pub_key_order()