Lines Matching refs:grp
49 static int derive_mpi( const mbedtls_ecp_group *grp, mbedtls_mpi *x, in derive_mpi() argument
53 size_t n_size = ( grp->nbits + 7 ) / 8; in derive_mpi()
57 if( use_size * 8 > grp->nbits ) in derive_mpi()
58 MBEDTLS_MPI_CHK( mbedtls_mpi_shift_r( x, use_size * 8 - grp->nbits ) ); in derive_mpi()
61 if( mbedtls_mpi_cmp_mpi( x, &grp->N ) >= 0 ) in derive_mpi()
62 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( x, x, &grp->N ) ); in derive_mpi()
72 int mbedtls_ecdsa_sign( mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, in mbedtls_ecdsa_sign() argument
81 if( grp->N.p == NULL ) in mbedtls_ecdsa_sign()
97 MBEDTLS_MPI_CHK( mbedtls_ecp_gen_keypair( grp, &k, &R, f_rng, p_rng ) ); in mbedtls_ecdsa_sign()
98 MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( r, &R.X, &grp->N ) ); in mbedtls_ecdsa_sign()
111 MBEDTLS_MPI_CHK( derive_mpi( grp, &e, buf, blen ) ); in mbedtls_ecdsa_sign()
120 size_t n_size = ( grp->nbits + 7 ) / 8; in mbedtls_ecdsa_sign()
122 MBEDTLS_MPI_CHK( mbedtls_mpi_shift_r( &t, 8 * n_size - grp->nbits ) ); in mbedtls_ecdsa_sign()
129 mbedtls_mpi_cmp_mpi( &t, &grp->N ) >= 0 ); in mbedtls_ecdsa_sign()
138 MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( s, &k, &grp->N ) ); in mbedtls_ecdsa_sign()
140 MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( s, s, &grp->N ) ); in mbedtls_ecdsa_sign()
161 int mbedtls_ecdsa_sign_det( mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, in mbedtls_ecdsa_sign_det() argument
168 size_t grp_len = ( grp->nbits + 7 ) / 8; in mbedtls_ecdsa_sign_det()
180 MBEDTLS_MPI_CHK( derive_mpi( grp, &h, buf, blen ) ); in mbedtls_ecdsa_sign_det()
184 ret = mbedtls_ecdsa_sign( grp, r, s, d, buf, blen, in mbedtls_ecdsa_sign_det()
199 int mbedtls_ecdsa_verify( mbedtls_ecp_group *grp, in mbedtls_ecdsa_verify() argument
211 if( grp->N.p == NULL ) in mbedtls_ecdsa_verify()
217 if( mbedtls_mpi_cmp_int( r, 1 ) < 0 || mbedtls_mpi_cmp_mpi( r, &grp->N ) >= 0 || in mbedtls_ecdsa_verify()
218 mbedtls_mpi_cmp_int( s, 1 ) < 0 || mbedtls_mpi_cmp_mpi( s, &grp->N ) >= 0 ) in mbedtls_ecdsa_verify()
227 MBEDTLS_MPI_CHK( mbedtls_ecp_check_pubkey( grp, Q ) ); in mbedtls_ecdsa_verify()
232 MBEDTLS_MPI_CHK( derive_mpi( grp, &e, buf, blen ) ); in mbedtls_ecdsa_verify()
237 MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &s_inv, s, &grp->N ) ); in mbedtls_ecdsa_verify()
240 MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &u1, &u1, &grp->N ) ); in mbedtls_ecdsa_verify()
243 MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &u2, &u2, &grp->N ) ); in mbedtls_ecdsa_verify()
251 MBEDTLS_MPI_CHK( mbedtls_ecp_muladd( grp, &R, &u1, &grp->G, &u2, Q ) ); in mbedtls_ecdsa_verify()
263 MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &R.X, &R.X, &grp->N ) ); in mbedtls_ecdsa_verify()
324 MBEDTLS_MPI_CHK( mbedtls_ecdsa_sign_det( &ctx->grp, &r, &s, &ctx->d, in mbedtls_ecdsa_write_signature()
329 MBEDTLS_MPI_CHK( mbedtls_ecdsa_sign( &ctx->grp, &r, &s, &ctx->d, in mbedtls_ecdsa_write_signature()
391 if( ( ret = mbedtls_ecdsa_verify( &ctx->grp, hash, hlen, in mbedtls_ecdsa_read_signature()
411 return( mbedtls_ecp_group_load( &ctx->grp, gid ) || in mbedtls_ecdsa_genkey()
412 mbedtls_ecp_gen_keypair( &ctx->grp, &ctx->d, &ctx->Q, f_rng, p_rng ) ); in mbedtls_ecdsa_genkey()
422 if( ( ret = mbedtls_ecp_group_copy( &ctx->grp, &key->grp ) ) != 0 || in mbedtls_ecdsa_from_keypair()