Lines Matching refs:group

54         ECGroup *group;
56 group = (ECGroup *) kmem_alloc(sizeof(ECGroup), kmflag);
58 group = (ECGroup *) malloc(sizeof(ECGroup));
60 if (group == NULL)
62 group->constructed = MP_YES;
63 group->meth = NULL;
64 group->text = NULL;
65 MP_DIGITS(&group->curvea) = 0;
66 MP_DIGITS(&group->curveb) = 0;
67 MP_DIGITS(&group->genx) = 0;
68 MP_DIGITS(&group->geny) = 0;
69 MP_DIGITS(&group->order) = 0;
70 group->base_point_mul = NULL;
71 group->points_mul = NULL;
72 group->validate_point = NULL;
73 group->extra1 = NULL;
74 group->extra2 = NULL;
75 group->extra_free = NULL;
76 MP_CHECKOK(mp_init(&group->curvea, kmflag));
77 MP_CHECKOK(mp_init(&group->curveb, kmflag));
78 MP_CHECKOK(mp_init(&group->genx, kmflag));
79 MP_CHECKOK(mp_init(&group->geny, kmflag));
80 MP_CHECKOK(mp_init(&group->order, kmflag));
84 ECGroup_free(group);
87 return group;
97 ECGroup *group = NULL;
99 group = ECGroup_new(FLAG(irr));
100 if (group == NULL)
103 group->meth = GFMethod_consGFp(irr);
104 if (group->meth == NULL) {
108 MP_CHECKOK(mp_copy(curvea, &group->curvea));
109 MP_CHECKOK(mp_copy(curveb, &group->curveb));
110 MP_CHECKOK(mp_copy(genx, &group->genx));
111 MP_CHECKOK(mp_copy(geny, &group->geny));
112 MP_CHECKOK(mp_copy(order, &group->order));
113 group->cofactor = cofactor;
114 group->point_add = &ec_GFp_pt_add_aff;
115 group->point_sub = &ec_GFp_pt_sub_aff;
116 group->point_dbl = &ec_GFp_pt_dbl_aff;
117 group->point_mul = &ec_GFp_pt_mul_jm_wNAF;
118 group->base_point_mul = NULL;
119 group->points_mul = &ec_GFp_pts_mul_jac;
120 group->validate_point = &ec_GFp_validate_point;
124 ECGroup_free(group);
127 return group;
138 ECGroup *group = NULL;
140 group = ECGroup_new(FLAG(irr));
141 if (group == NULL)
144 group->meth = GFMethod_consGFp_mont(irr);
145 if (group->meth == NULL) {
149 MP_CHECKOK(group->meth->
150 field_enc(curvea, &group->curvea, group->meth));
151 MP_CHECKOK(group->meth->
152 field_enc(curveb, &group->curveb, group->meth));
153 MP_CHECKOK(group->meth->field_enc(genx, &group->genx, group->meth));
154 MP_CHECKOK(group->meth->field_enc(geny, &group->geny, group->meth));
155 MP_CHECKOK(mp_copy(order, &group->order));
156 group->cofactor = cofactor;
157 group->point_add = &ec_GFp_pt_add_aff;
158 group->point_sub = &ec_GFp_pt_sub_aff;
159 group->point_dbl = &ec_GFp_pt_dbl_aff;
160 group->point_mul = &ec_GFp_pt_mul_jm_wNAF;
161 group->base_point_mul = NULL;
162 group->points_mul = &ec_GFp_pts_mul_jac;
163 group->validate_point = &ec_GFp_validate_point;
167 ECGroup_free(group);
170 return group;
183 ECGroup *group = NULL;
185 group = ECGroup_new(FLAG(irr));
186 if (group == NULL)
189 group->meth = GFMethod_consGF2m(irr, irr_arr);
190 if (group->meth == NULL) {
194 MP_CHECKOK(mp_copy(curvea, &group->curvea));
195 MP_CHECKOK(mp_copy(curveb, &group->curveb));
196 MP_CHECKOK(mp_copy(genx, &group->genx));
197 MP_CHECKOK(mp_copy(geny, &group->geny));
198 MP_CHECKOK(mp_copy(order, &group->order));
199 group->cofactor = cofactor;
200 group->point_add = &ec_GF2m_pt_add_aff;
201 group->point_sub = &ec_GF2m_pt_sub_aff;
202 group->point_dbl = &ec_GF2m_pt_dbl_aff;
203 group->point_mul = &ec_GF2m_pt_mul_mont;
204 group->base_point_mul = NULL;
205 group->points_mul = &ec_pts_mul_basic;
206 group->validate_point = &ec_GF2m_validate_point;
210 ECGroup_free(group);
213 return group;
225 ECGroup *group = NULL;
261 group =
264 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
265 MP_CHECKOK(ec_group_set_secp160r1_fp(group));
270 group =
273 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
274 MP_CHECKOK(ec_group_set_nistp192_fp(group));
276 group =
279 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
280 MP_CHECKOK(ec_group_set_gfp192(group, name));
285 group =
288 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
289 MP_CHECKOK(ec_group_set_nistp224_fp(group));
291 group =
294 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
295 MP_CHECKOK(ec_group_set_gfp224(group, name));
299 group =
302 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
303 MP_CHECKOK(ec_group_set_gfp256(group, name));
306 group =
309 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
310 MP_CHECKOK(ec_group_set_gfp521(group, name));
315 group =
318 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
322 group = ECGroup_consGF2m(&irr, NULL, &curvea, &curveb, &genx, &geny, &order, params->cofactor);
323 if (group == NULL) { res = MP_UNDEF; goto CLEANUP; }
327 MP_CHECKOK(ec_group_set_gf2m163(group, name));
330 MP_CHECKOK(ec_group_set_gf2m193(group, name));
333 MP_CHECKOK(ec_group_set_gf2m233(group, name));
342 if ((group != NULL) && (params->text != NULL)) {
346 group->text = kmem_alloc(n, kmflag);
347 if (group->text == NULL) {
351 bcopy(params->text, group->text, n);
352 group->text_len = n;
354 group->text = strdup(params->text);
355 if (group->text == NULL) {
369 ECGroup_free(group);
372 return group;
386 ECGroup *group = NULL;
396 /* construct actual group */
397 group = ecgroup_fromNameAndHex(name, params, kmflag);
398 if (group == NULL) {
406 ECGroup_free(group);
409 return group;
413 mp_err ECPoint_validate(const ECGroup *group, const mp_int *px, const
424 return group->validate_point(px, py, group);
429 ECGroup_free(ECGroup *group)
431 if (group == NULL)
433 GFMethod_free(group->meth);
434 if (group->constructed == MP_NO)
436 mp_clear(&group->curvea);
437 mp_clear(&group->curveb);
438 mp_clear(&group->genx);
439 mp_clear(&group->geny);
440 mp_clear(&group->order);
441 if (group->text != NULL)
443 kmem_free(group->text, group->text_len);
445 free(group->text);
447 if (group->extra_free != NULL)
448 group->extra_free(group);
450 kmem_free(group, sizeof (ECGroup));
452 free(group);