Home | History | Annotate | Download | only in eap_server

Lines Matching refs:grp

29 	EAP_PWD_group *grp;
146 if (data->grp) {
147 EC_GROUP_free(data->grp->group);
148 EC_POINT_free(data->grp->pwe);
149 BN_free(data->grp->order);
150 BN_free(data->grp->prime);
151 os_free(data->grp);
201 ((data->my_element = EC_POINT_new(data->grp->group)) == NULL) ||
209 BN_rand_range(data->private_value, data->grp->order);
210 BN_rand_range(mask, data->grp->order);
212 BN_mod(data->my_scalar, data->my_scalar, data->grp->order,
215 if (!EC_POINT_mul(data->grp->group, data->my_element, NULL,
216 data->grp->pwe, mask, data->bnctx)) {
223 if (!EC_POINT_invert(data->grp->group, data->my_element, data->bnctx))
237 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group,
245 if (((scalar = os_malloc(BN_num_bytes(data->grp->order))) == NULL) ||
246 ((element = os_malloc(BN_num_bytes(data->grp->prime) * 2)) ==
257 os_memset(scalar, 0, BN_num_bytes(data->grp->order));
258 os_memset(element, 0, BN_num_bytes(data->grp->prime) * 2);
259 offset = BN_num_bytes(data->grp->order) -
263 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(x);
265 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(y);
266 BN_bn2bin(y, element + BN_num_bytes(data->grp->prime) + offset);
268 data->outbuf = wpabuf_alloc(2 * BN_num_bytes(data->grp->prime) +
269 BN_num_bytes(data->grp->order));
275 2 * BN_num_bytes(data->grp->prime));
276 wpabuf_put_data(data->outbuf, scalar, BN_num_bytes(data->grp->order));
294 u16 grp;
306 if (((cruft = os_malloc(BN_num_bytes(data->grp->prime))) == NULL) ||
327 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
328 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(data->k);
330 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
333 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group,
341 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
342 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(x);
344 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
345 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
346 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(y);
348 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
351 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
352 offset = BN_num_bytes(data->grp->order) -
355 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->order));
358 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group,
366 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
367 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(x);
369 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
370 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
371 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(y);
373 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
376 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
377 offset = BN_num_bytes(data->grp->order) -
380 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->order));
383 grp = htons(data->group_num);
384 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
386 os_memcpy(ptr, &grp, sizeof(u16));
598 if ((data->grp = os_malloc(sizeof(EAP_PWD_group))) == NULL) {
603 if (compute_password_element(data->grp, data->group_num,
613 BN_num_bits(data->grp->prime));
635 ((point = EC_POINT_new(data->grp->group)) == NULL) ||
636 ((K = EC_POINT_new(data->grp->group)) == NULL) ||
637 ((data->peer_element = EC_POINT_new(data->grp->group)) == NULL)) {
643 if (!EC_GROUP_get_cofactor(data->grp->group, cofactor, NULL)) {
651 BN_bin2bn(ptr, BN_num_bytes(data->grp->prime), x);
652 ptr += BN_num_bytes(data->grp->prime);
653 BN_bin2bn(ptr, BN_num_bytes(data->grp->prime), y);
654 ptr += BN_num_bytes(data->grp->prime);
655 BN_bin2bn(ptr, BN_num_bytes(data->grp->order), data->peer_scalar);
656 if (!EC_POINT_set_affine_coordinates_GFp(data->grp->group,
666 if (!EC_POINT_mul(data->grp->group, point, NULL,
672 if (EC_POINT_is_at_infinity(data->grp->group, point)) {
680 if ((!EC_POINT_mul(data->grp->group, K, NULL, data->grp->pwe,
682 (!EC_POINT_add(data->grp->group, K, K, data->peer_element,
684 (!EC_POINT_mul(data->grp->group, K, NULL, K, data->private_value,
693 if (!EC_POINT_mul(data->grp->group, K, NULL, K, cofactor,
707 if (EC_POINT_is_at_infinity(data->grp->group, K)) {
712 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group, K, data->k,
741 u16 grp;
746 grp = htons(data->group_num);
748 os_memcpy(ptr, &grp, sizeof(u16));
755 if (((cruft = os_malloc(BN_num_bytes(data->grp->prime))) == NULL) ||
770 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
771 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(data->k);
773 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
776 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group,
783 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
784 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(x);
786 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
787 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
788 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(y);
790 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
793 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
794 offset = BN_num_bytes(data->grp->order) -
797 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->order));
800 if (!EC_POINT_get_affine_coordinates_GFp(data->grp->group,
808 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
809 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(x);
811 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
812 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
813 offset = BN_num_bytes(data->grp->prime) - BN_num_bytes(y);
815 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->prime));
818 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
819 offset = BN_num_bytes(data->grp->order) -
822 eap_pwd_h_update(hash, cruft, BN_num_bytes(data->grp->order));
825 os_memset(cruft, 0, BN_num_bytes(data->grp->prime));
839 if (compute_keys(data->grp, data->bnctx, data->k,