Lines Matching defs:grp
109 static int pk_group_from_specified(const mbedtls_asn1_buf *params, mbedtls_ecp_group *grp)
160 if ((ret = mbedtls_asn1_get_mpi(&p, end_field, &grp->P)) != 0) {
164 grp->pbits = mbedtls_mpi_bitlen(&grp->P);
192 (ret = mbedtls_mpi_read_binary(&grp->A, p, len)) != 0) {
199 (ret = mbedtls_mpi_read_binary(&grp->B, p, len)) != 0) {
222 if ((ret = mbedtls_ecp_point_read_binary(grp, &grp->G,
230 len != mbedtls_mpi_size(&grp->P) + 1 ||
231 mbedtls_mpi_read_binary(&grp->G.X, p + 1, len - 1) != 0 ||
232 mbedtls_mpi_lset(&grp->G.Y, p[0] - 2) != 0 ||
233 mbedtls_mpi_lset(&grp->G.Z, 1) != 0) {
243 if ((ret = mbedtls_asn1_get_mpi(&p, end, &grp->N)) != 0) {
247 grp->nbits = mbedtls_mpi_bitlen(&grp->N);
260 static int pk_group_id_from_group(const mbedtls_ecp_group *grp, mbedtls_ecp_group_id *grp_id)
274 if (grp->pbits == ref.pbits && grp->nbits == ref.nbits &&
275 mbedtls_mpi_cmp_mpi(&grp->P, &ref.P) == 0 &&
276 mbedtls_mpi_cmp_mpi(&grp->A, &ref.A) == 0 &&
277 mbedtls_mpi_cmp_mpi(&grp->B, &ref.B) == 0 &&
278 mbedtls_mpi_cmp_mpi(&grp->N, &ref.N) == 0 &&
279 mbedtls_mpi_cmp_mpi(&grp->G.X, &ref.G.X) == 0 &&
280 mbedtls_mpi_cmp_mpi(&grp->G.Z, &ref.G.Z) == 0 &&
282 mbedtls_mpi_get_bit(&grp->G.Y, 0) == mbedtls_mpi_get_bit(&ref.G.Y, 0)) {
306 mbedtls_ecp_group grp;
308 mbedtls_ecp_group_init(&grp);
310 if ((ret = pk_group_from_specified(params, &grp)) != 0) {
314 ret = pk_group_id_from_group(&grp, grp_id);
319 * temporary grp breaks that flow and it's members are populated
324 mbedtls_mpi_free(&grp.N);
325 mbedtls_mpi_free(&grp.P);
326 mbedtls_mpi_free(&grp.A);
327 mbedtls_mpi_free(&grp.B);
328 mbedtls_ecp_point_free(&grp.G);