/mbedtls-latest/library/ |
D | ecp.c | 246 int mbedtls_ecp_check_budget(const mbedtls_ecp_group *grp, in mbedtls_ecp_check_budget() argument 253 if (grp->pbits >= 512) { in mbedtls_ecp_check_budget() 255 } else if (grp->pbits >= 384) { in mbedtls_ecp_check_budget() 486 mbedtls_ecp_curve_type mbedtls_ecp_get_type(const mbedtls_ecp_group *grp) in mbedtls_ecp_get_type() argument 488 if (grp->G.X.p == NULL) { in mbedtls_ecp_get_type() 492 if (grp->G.Y.p == NULL) { in mbedtls_ecp_get_type() 512 void mbedtls_ecp_group_init(mbedtls_ecp_group *grp) in mbedtls_ecp_group_init() argument 514 grp->id = MBEDTLS_ECP_DP_NONE; in mbedtls_ecp_group_init() 515 mbedtls_mpi_init(&grp->P); in mbedtls_ecp_group_init() 516 mbedtls_mpi_init(&grp->A); in mbedtls_ecp_group_init() [all …]
|
D | ecdsa.c | 150 MBEDTLS_MPI_CHK(mbedtls_ecp_check_budget(grp, ECDSA_RS_ECP, ops)); 203 static int derive_mpi(const mbedtls_ecp_group *grp, mbedtls_mpi *x, in derive_mpi() argument 207 size_t n_size = (grp->nbits + 7) / 8; in derive_mpi() 211 if (use_size * 8 > grp->nbits) { in derive_mpi() 212 MBEDTLS_MPI_CHK(mbedtls_mpi_shift_r(x, use_size * 8 - grp->nbits)); in derive_mpi() 216 if (mbedtls_mpi_cmp_mpi(x, &grp->N) >= 0) { in derive_mpi() 217 MBEDTLS_MPI_CHK(mbedtls_mpi_sub_mpi(x, x, &grp->N)); in derive_mpi() 243 int mbedtls_ecdsa_sign_restartable(mbedtls_ecp_group *grp, in mbedtls_ecdsa_sign_restartable() argument 258 if (!mbedtls_ecdsa_can_do(grp->id) || grp->N.p == NULL) { in mbedtls_ecdsa_sign_restartable() 263 if (mbedtls_mpi_cmp_int(d, 1) < 0 || mbedtls_mpi_cmp_mpi(d, &grp->N) >= 0) { in mbedtls_ecdsa_sign_restartable() [all …]
|
D | ecjpake.c | 53 mbedtls_ecp_group_init(&ctx->grp); in mbedtls_ecjpake_init() 77 mbedtls_ecp_group_free(&ctx->grp); in mbedtls_ecjpake_free() 114 MBEDTLS_MPI_CHK(mbedtls_ecp_group_load(&ctx->grp, curve)); in mbedtls_ecjpake_setup() 145 ctx->grp.id == MBEDTLS_ECP_DP_NONE || in mbedtls_ecjpake_check() 158 const mbedtls_ecp_group *grp, in ecjpake_write_len_point() argument 170 ret = mbedtls_ecp_point_write_binary(grp, P, pf, in ecjpake_write_len_point() 193 const mbedtls_ecp_group *grp, in ecjpake_hash() argument 209 MBEDTLS_MPI_CHK(ecjpake_write_len_point(&p, end, grp, pf, G)); in ecjpake_hash() 210 MBEDTLS_MPI_CHK(ecjpake_write_len_point(&p, end, grp, pf, V)); in ecjpake_hash() 211 MBEDTLS_MPI_CHK(ecjpake_write_len_point(&p, end, grp, pf, X)); in ecjpake_hash() [all …]
|
D | ecdh.c | 33 return ctx->grp.id; in mbedtls_ecdh_grp_id() 54 static int ecdh_gen_public_restartable(mbedtls_ecp_group *grp, in ecdh_gen_public_restartable() argument 68 MBEDTLS_MPI_CHK(mbedtls_ecp_gen_privkey(grp, d, f_rng, p_rng)); in ecdh_gen_public_restartable() 71 MBEDTLS_MPI_CHK(mbedtls_ecp_mul_restartable(grp, Q, d, &grp->G, in ecdh_gen_public_restartable() 81 int mbedtls_ecdh_gen_public(mbedtls_ecp_group *grp, mbedtls_mpi *d, mbedtls_ecp_point *Q, in mbedtls_ecdh_gen_public() argument 85 return ecdh_gen_public_restartable(grp, d, Q, f_rng, p_rng, NULL); in mbedtls_ecdh_gen_public() 93 static int ecdh_compute_shared_restartable(mbedtls_ecp_group *grp, in ecdh_compute_shared_restartable() argument 105 MBEDTLS_MPI_CHK(mbedtls_ecp_mul_restartable(grp, &P, d, Q, in ecdh_compute_shared_restartable() 124 int mbedtls_ecdh_compute_shared(mbedtls_ecp_group *grp, mbedtls_mpi *z, in mbedtls_ecdh_compute_shared() argument 129 return ecdh_compute_shared_restartable(grp, z, Q, d, in mbedtls_ecdh_compute_shared() [all …]
|
D | ecp_internal_alt.h | 63 unsigned char mbedtls_internal_ecp_grp_capable(const mbedtls_ecp_group *grp); 80 int mbedtls_internal_ecp_init(const mbedtls_ecp_group *grp); 88 void mbedtls_internal_ecp_free(const mbedtls_ecp_group *grp); 108 int mbedtls_internal_ecp_randomize_jac(const mbedtls_ecp_group *grp, 155 int mbedtls_internal_ecp_add_mixed(const mbedtls_ecp_group *grp, 180 int mbedtls_internal_ecp_double_jac(const mbedtls_ecp_group *grp, 210 int mbedtls_internal_ecp_normalize_jac_many(const mbedtls_ecp_group *grp, 228 int mbedtls_internal_ecp_normalize_jac(const mbedtls_ecp_group *grp, 237 int mbedtls_internal_ecp_double_add_mxz(const mbedtls_ecp_group *grp, 261 int mbedtls_internal_ecp_randomize_mxz(const mbedtls_ecp_group *grp, [all …]
|
D | pkparse.c | 109 static int pk_group_from_specified(const mbedtls_asn1_buf *params, mbedtls_ecp_group *grp) in pk_group_from_specified() argument 160 if ((ret = mbedtls_asn1_get_mpi(&p, end_field, &grp->P)) != 0) { in pk_group_from_specified() 164 grp->pbits = mbedtls_mpi_bitlen(&grp->P); in pk_group_from_specified() 192 (ret = mbedtls_mpi_read_binary(&grp->A, p, len)) != 0) { in pk_group_from_specified() 199 (ret = mbedtls_mpi_read_binary(&grp->B, p, len)) != 0) { in pk_group_from_specified() 222 if ((ret = mbedtls_ecp_point_read_binary(grp, &grp->G, in pk_group_from_specified() 230 len != mbedtls_mpi_size(&grp->P) + 1 || in pk_group_from_specified() 231 mbedtls_mpi_read_binary(&grp->G.X, p + 1, len - 1) != 0 || in pk_group_from_specified() 232 mbedtls_mpi_lset(&grp->G.Y, p[0] - 2) != 0 || in pk_group_from_specified() 233 mbedtls_mpi_lset(&grp->G.Z, 1) != 0) { in pk_group_from_specified() [all …]
|
D | pk_ecc.c | 38 if (mbedtls_pk_ec_ro(*pk)->grp.id != MBEDTLS_ECP_DP_NONE && in mbedtls_pk_ecc_set_group() 39 mbedtls_pk_ec_ro(*pk)->grp.id != grp_id) { in mbedtls_pk_ecc_set_group() 44 return mbedtls_ecp_group_load(&(ecp->grp), grp_id); in mbedtls_pk_ecc_set_group() 76 int ret = mbedtls_ecp_read_key(eck->grp.id, eck, key, key_len); in mbedtls_pk_ecc_set_key() 108 psa_ecc_family_t curve = mbedtls_ecc_group_to_psa(eck->grp.id, &curve_bits); in mbedtls_pk_ecc_set_pubkey_from_prv() 132 return mbedtls_ecp_point_read_binary(&eck->grp, &eck->Q, pub, pub_len); in mbedtls_pk_ecc_set_pubkey_from_prv() 140 return mbedtls_ecp_mul(&eck->grp, &eck->Q, &eck->d, &eck->grp.G, f_rng, p_rng); in mbedtls_pk_ecc_set_pubkey_from_prv() 183 ret = mbedtls_ecp_group_load(&(ecp_key.grp), ecp_group_id); in pk_ecc_set_pubkey_psa_ecp_fallback() 187 ret = mbedtls_ecp_point_read_binary(&(ecp_key.grp), &ecp_key.Q, in pk_ecc_set_pubkey_psa_ecp_fallback() 192 ret = mbedtls_ecp_point_write_binary(&(ecp_key.grp), &ecp_key.Q, in pk_ecc_set_pubkey_psa_ecp_fallback() [all …]
|
D | psa_crypto_ecp.c | 154 mbedtls_ecp_group_load(&ecp->grp, grp_id)); in mbedtls_psa_ecp_load_representation() 163 mbedtls_ecp_point_read_binary(&ecp->grp, &ecp->Q, in mbedtls_psa_ecp_load_representation() 172 mbedtls_ecp_check_pubkey(&ecp->grp, &ecp->Q)); in mbedtls_psa_ecp_load_representation() 179 mbedtls_ecp_read_key(ecp->grp.id, in mbedtls_psa_ecp_load_representation() 230 *bits = ecp->grp.nbits + 1; in mbedtls_psa_ecp_import_key() 232 *bits = ecp->grp.nbits; in mbedtls_psa_ecp_import_key() 264 mbedtls_ecp_mul(&ecp->grp, &ecp->Q, &ecp->d, &ecp->grp.G, in mbedtls_psa_ecp_export_key() 273 mbedtls_ecp_point_write_binary(&ecp->grp, &ecp->Q, in mbedtls_psa_ecp_export_key() 386 curve_bytes = PSA_BITS_TO_BYTES(ecp->grp.pbits); in mbedtls_psa_ecdsa_sign_hash() 400 &ecp->grp, &r, &s, in mbedtls_psa_ecdsa_sign_hash() [all …]
|
D | ecp_curves.c | 4514 static int ecp_group_load(mbedtls_ecp_group *grp, in ecp_group_load() argument 4523 ecp_mpi_load(&grp->P, p, plen); in ecp_group_load() 4525 ecp_mpi_load(&grp->A, a, alen); in ecp_group_load() 4527 ecp_mpi_load(&grp->B, b, blen); in ecp_group_load() 4528 ecp_mpi_load(&grp->N, n, nlen); in ecp_group_load() 4530 ecp_mpi_load(&grp->G.X, gx, gxlen); in ecp_group_load() 4531 ecp_mpi_load(&grp->G.Y, gy, gylen); in ecp_group_load() 4532 ecp_mpi_set1(&grp->G.Z); in ecp_group_load() 4534 grp->pbits = mbedtls_mpi_bitlen(&grp->P); in ecp_group_load() 4535 grp->nbits = mbedtls_mpi_bitlen(&grp->N); in ecp_group_load() [all …]
|
D | ecp_curves_new.c | 4524 static int ecp_group_load(mbedtls_ecp_group *grp, in ecp_group_load() argument 4533 ecp_mpi_load(&grp->P, p, plen); in ecp_group_load() 4535 ecp_mpi_load(&grp->A, a, alen); in ecp_group_load() 4537 ecp_mpi_load(&grp->B, b, blen); in ecp_group_load() 4538 ecp_mpi_load(&grp->N, n, nlen); in ecp_group_load() 4540 ecp_mpi_load(&grp->G.X, gx, gxlen); in ecp_group_load() 4541 ecp_mpi_load(&grp->G.Y, gy, gylen); in ecp_group_load() 4542 ecp_mpi_set1(&grp->G.Z); in ecp_group_load() 4544 grp->pbits = mbedtls_mpi_bitlen(&grp->P); in ecp_group_load() 4545 grp->nbits = mbedtls_mpi_bitlen(&grp->N); in ecp_group_load() [all …]
|
D | pk_wrap.c | 531 return ecp->grp.pbits; in eckey_get_bitlen() 657 psa_ecc_family_t curve = mbedtls_ecc_group_to_psa(ctx->grp.id, &curve_bits); in ecdsa_verify_wrap() 659 ret = mbedtls_ecp_point_write_binary(&ctx->grp, &ctx->Q, in ecdsa_verify_wrap() 767 mbedtls_ecc_group_to_psa(ctx->grp.id, &curve_bits); in ecdsa_sign_wrap() 890 if (rs->ecdsa_ctx.grp.pbits == 0) { in eckey_verify_rs_wrap() 917 if (rs->ecdsa_ctx.grp.pbits == 0) { in eckey_sign_rs_wrap() 967 mbedtls_ecc_group_to_psa(mbedtls_pk_ec_ro(*prv)->grp.id, &curve_bits); in eckey_check_pair_psa() 1002 ret = mbedtls_ecp_point_write_binary(&mbedtls_pk_ec_rw(*pub)->grp, in eckey_check_pair_psa() 1064 ret = mbedtls_ecp_point_write_binary(&(mbedtls_pk_ec_ro(*pub)->grp), in ecdsa_opaque_check_pair_wrap()
|
D | pkwrite.c | 142 if ((ret = mbedtls_ecp_point_write_binary(&ec->grp, &ec->Q, in pk_write_ec_pubkey() 211 byte_length = (ec->grp.pbits + 7) / 8; in pk_write_ec_private()
|
/mbedtls-latest/tests/suites/ |
D | test_suite_ecp.function | 81 mbedtls_ecp_group grp; 87 mbedtls_ecp_group_init(&grp); 91 mbedtls_ecp_point_write_binary(&grp, &P, 96 mbedtls_ecp_tls_write_point(&grp, &P, 132 mbedtls_ecp_group grp; 135 mbedtls_ecp_group_init(&grp); 138 TEST_ASSERT(mbedtls_ecp_group_load(&grp, grp_id) == 0); 144 TEST_ASSERT(mbedtls_ecp_check_pubkey(&grp, &P) == ret); 147 mbedtls_ecp_group_free(&grp); 177 mbedtls_ecp_group grp; [all …]
|
D | test_suite_ecdsa.function | 13 mbedtls_ecp_group grp; 19 mbedtls_ecp_group_init(&grp); 25 TEST_ASSERT(mbedtls_ecp_group_load(&grp, id) == 0); 26 TEST_ASSERT(mbedtls_ecp_gen_keypair(&grp, &d, &Q, 30 TEST_ASSERT(mbedtls_ecdsa_sign(&grp, &r, &s, &d, buf, sizeof(buf), 33 TEST_ASSERT(mbedtls_ecdsa_verify(&grp, buf, sizeof(buf), &Q, &r, &s) == 0); 36 mbedtls_ecp_group_free(&grp); 45 mbedtls_ecp_group grp; 51 mbedtls_ecp_group_init(&grp); 60 TEST_ASSERT(mbedtls_ecp_group_load(&grp, id) == 0); [all …]
|
D | test_suite_ecdh.function | 8 TEST_ASSERT(mbedtls_ecp_group_load(&ecp->grp, grp_id) == 0); 9 TEST_ASSERT(mbedtls_ecp_point_read_binary(&ecp->grp, 13 TEST_ASSERT(mbedtls_ecp_check_pubkey(&ecp->grp, 28 TEST_ASSERT(mbedtls_ecp_check_privkey(&ecp->grp, &ecp->d) == 0); 30 TEST_ASSERT(mbedtls_ecp_mul(&ecp->grp, &ecp->Q, &ecp->d, 31 &ecp->grp.G, 68 mbedtls_ecp_group grp; 73 mbedtls_ecp_group_init(&grp); 79 TEST_ASSERT(mbedtls_ecp_group_load(&grp, id) == 0); 81 TEST_ASSERT(mbedtls_ecdh_gen_public(&grp, &dA, &qA, [all …]
|
D | test_suite_random.function | 194 mbedtls_ecp_group grp; 198 mbedtls_ecp_group_init(&grp); 204 TEST_EQUAL(0, mbedtls_ecp_group_load(&grp, curve)); 206 TEST_EQUAL(0, mbedtls_ecdsa_sign(&grp, &r, &s, &d, 214 mbedtls_ecp_group_free(&grp);
|
D | test_suite_ecjpake.function | 79 MBEDTLS_MPI_CHK(mbedtls_ecp_point_read_binary(&ctx->grp, 81 MBEDTLS_MPI_CHK(mbedtls_ecp_point_read_binary(&ctx->grp, 83 MBEDTLS_MPI_CHK(mbedtls_ecp_point_read_binary(&ctx->grp, 85 MBEDTLS_MPI_CHK(mbedtls_ecp_point_read_binary(&ctx->grp,
|
D | test_suite_pkparse.function | 98 return mbedtls_ecdsa_can_do(mbedtls_pk_ec_ro(*ctx)->grp.id); 219 TEST_EQUAL(mbedtls_ecp_check_pubkey(&eckey->grp, &eckey->Q), 0); 257 TEST_EQUAL(mbedtls_ecp_check_privkey(&eckey->grp, &eckey->d), 0);
|
/mbedtls-latest/include/mbedtls/ |
D | ecp.h | 402 int mbedtls_ecp_check_budget(const mbedtls_ecp_group *grp, 408 MBEDTLS_MPI_CHK(mbedtls_ecp_check_budget(grp, rs_ctx, \ 429 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /*!< Elliptic curve and base point */ 535 mbedtls_ecp_curve_type mbedtls_ecp_get_type(const mbedtls_ecp_group *grp); 616 void mbedtls_ecp_group_init(mbedtls_ecp_group *grp); 639 void mbedtls_ecp_group_free(mbedtls_ecp_group *grp); 773 int mbedtls_ecp_point_write_binary(const mbedtls_ecp_group *grp, 803 int mbedtls_ecp_point_read_binary(const mbedtls_ecp_group *grp, 825 int mbedtls_ecp_tls_read_point(const mbedtls_ecp_group *grp, 851 int mbedtls_ecp_tls_write_point(const mbedtls_ecp_group *grp, [all …]
|
D | ecdsa.h | 161 int mbedtls_ecdsa_sign(mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, 206 int mbedtls_ecdsa_sign_det_ext(mbedtls_ecp_group *grp, mbedtls_mpi *r, 270 mbedtls_ecp_group *grp, 333 mbedtls_ecp_group *grp, 373 int mbedtls_ecdsa_verify(mbedtls_ecp_group *grp, 414 int mbedtls_ecdsa_verify_restartable(mbedtls_ecp_group *grp,
|
D | ecdh.h | 87 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /*!< The elliptic curve used. */ 107 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /*!< The elliptic curve used. */ 191 int mbedtls_ecdh_gen_public(mbedtls_ecp_group *grp, mbedtls_mpi *d, mbedtls_ecp_point *Q, 226 int mbedtls_ecdh_compute_shared(mbedtls_ecp_group *grp, mbedtls_mpi *z,
|
D | ecjpake.h | 62 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /**< Elliptic curve */
|
/mbedtls-latest/programs/pkey/ |
D | key_app.c | 66 mbedtls_ecp_group grp; in show_ecp_key() local 67 mbedtls_ecp_group_init(&grp); in show_ecp_key() 75 MBEDTLS_MPI_CHK(mbedtls_ecp_export(ecp, &grp, in show_ecp_key() 82 &grp, &pt, MBEDTLS_ECP_PF_UNCOMPRESSED, in show_ecp_key() 84 switch (mbedtls_ecp_get_type(&grp)) { in show_ecp_key() 113 mbedtls_ecp_group_free(&grp); in show_ecp_key()
|
D | gen_key.c | 170 mbedtls_ecp_group grp; in show_ecp_key() local 171 mbedtls_ecp_group_init(&grp); in show_ecp_key() 179 MBEDTLS_MPI_CHK(mbedtls_ecp_export(ecp, &grp, in show_ecp_key() 186 &grp, &pt, MBEDTLS_ECP_PF_UNCOMPRESSED, in show_ecp_key() 188 switch (mbedtls_ecp_get_type(&grp)) { in show_ecp_key() 217 mbedtls_ecp_group_free(&grp); in show_ecp_key()
|
D | key_app_writer.c | 186 mbedtls_ecp_group grp; in show_ecp_key() local 187 mbedtls_ecp_group_init(&grp); in show_ecp_key() 195 MBEDTLS_MPI_CHK(mbedtls_ecp_export(ecp, &grp, in show_ecp_key() 202 &grp, &pt, MBEDTLS_ECP_PF_UNCOMPRESSED, in show_ecp_key() 204 switch (mbedtls_ecp_get_type(&grp)) { in show_ecp_key() 233 mbedtls_ecp_group_free(&grp); in show_ecp_key()
|