| /optee_os/lib/libmbedtls/mbedtls/library/ |
| H A 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() 490 mbedtls_ecp_curve_type mbedtls_ecp_get_type(const mbedtls_ecp_group *grp) in mbedtls_ecp_get_type() argument 492 if (grp->G.X.p == NULL) { in mbedtls_ecp_get_type() 496 if (grp->G.Y.p == NULL) { in mbedtls_ecp_get_type() 516 void mbedtls_ecp_group_init(mbedtls_ecp_group *grp) in mbedtls_ecp_group_init() argument 518 grp->id = MBEDTLS_ECP_DP_NONE; in mbedtls_ecp_group_init() 519 mbedtls_mpi_init(&grp->P); in mbedtls_ecp_group_init() 520 mbedtls_mpi_init(&grp->A); in mbedtls_ecp_group_init() [all …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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() 336 ret = mbedtls_ecp_group_load(&ecp.grp, grp_id); in mbedtls_psa_ecp_generate_key() 341 ret = mbedtls_ecp_gen_privkey(&ecp.grp, &ecp.d, in mbedtls_psa_ecp_generate_key() [all …]
|
| H A 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 …]
|
| H A D | ecp_curves.c | 4556 static int ecp_group_load(mbedtls_ecp_group *grp, in ecp_group_load() argument 4565 ecp_mpi_load(&grp->P, p, plen); in ecp_group_load() 4567 ecp_mpi_load(&grp->A, a, alen); in ecp_group_load() 4569 ecp_mpi_load(&grp->B, b, blen); in ecp_group_load() 4570 ecp_mpi_load(&grp->N, n, nlen); in ecp_group_load() 4572 ecp_mpi_load(&grp->G.X, gx, gxlen); in ecp_group_load() 4573 ecp_mpi_load(&grp->G.Y, gy, gylen); in ecp_group_load() 4574 ecp_mpi_set1(&grp->G.Z); in ecp_group_load() 4576 grp->pbits = mbedtls_mpi_bitlen(&grp->P); in ecp_group_load() 4577 grp->nbits = mbedtls_mpi_bitlen(&grp->N); in ecp_group_load() [all …]
|
| H A 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 …]
|
| H A 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()
|
| H A D | pk_internal.h | 109 id = mbedtls_pk_ec_ro(*pk)->grp.id; in mbedtls_pk_get_ec_group_id()
|
| H A 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()
|
| H A D | pk.c | 475 mbedtls_ecc_group_to_psa(ec->grp.id, &bits); in mbedtls_pk_get_psa_attributes() 686 psa_ecc_family_t from_family = mbedtls_ecc_group_to_psa(ec->grp.id, in import_pair_into_psa() 787 psa_ecc_family_t from_family = mbedtls_ecc_group_to_psa(ec->grp.id, in import_public_into_psa()
|
| H A D | ssl_tls12_client.c | 1794 grp_id = ssl->handshake->ecdh_ctx.grp.id; in ssl_check_server_ecdh_params() 2046 ret = mbedtls_ecp_point_write_binary(&peer_key->grp, &peer_key->Q, in ssl_get_ecdh_params_from_cert()
|
| H A D | psa_crypto.c | 4035 operation->ctx->grp.nbits); in mbedtls_psa_sign_hash_start() 4100 mbedtls_ecdsa_sign_det_restartable(&operation->ctx->grp, in mbedtls_psa_sign_hash_complete() 4116 mbedtls_ecdsa_sign_restartable(&operation->ctx->grp, in mbedtls_psa_sign_hash_complete() 4256 coordinate_bytes = PSA_BITS_TO_BYTES(operation->ctx->grp.nbits); in mbedtls_psa_verify_hash_start() 4334 mbedtls_ecdsa_verify_restartable(&operation->ctx->grp, in mbedtls_psa_verify_hash_complete()
|
| /optee_os/lib/libmbedtls/core/ |
| H A D | sm2-dsa.c | 30 mbedtls_ecp_group grp = { }; in sm2_mbedtls_dsa_sign() local 52 mbedtls_ecp_group_init(&grp); in sm2_mbedtls_dsa_sign() 53 mres = mbedtls_ecp_group_load(&grp, MBEDTLS_ECP_DP_SM2); in sm2_mbedtls_dsa_sign() 67 res = mbed_gen_random_upto(&k, &grp.N); in sm2_mbedtls_dsa_sign() 75 mres = mbedtls_ecp_mul(&grp, &x1y1p, &k, &grp.G, mbd_rand, in sm2_mbedtls_dsa_sign() 86 mres = mbedtls_mpi_mod_mpi(&r, &r, &grp.N); in sm2_mbedtls_dsa_sign() 96 !mbedtls_mpi_cmp_mpi(&tmp, &grp.N)); in sm2_mbedtls_dsa_sign() 103 mres = mbedtls_mpi_inv_mod(&s, &s, &grp.N); in sm2_mbedtls_dsa_sign() 109 mres = mbedtls_mpi_mod_mpi(&tmp, &tmp, &grp.N); in sm2_mbedtls_dsa_sign() 118 mres = mbedtls_mpi_mod_mpi(&s, &s, &grp.N); in sm2_mbedtls_dsa_sign() [all …]
|
| H A D | sm2-pke.c | 24 sm2_uncompressed_bytes_to_point(const mbedtls_ecp_group *grp, in sm2_uncompressed_bytes_to_point() argument 48 mres = mbedtls_ecp_check_pubkey(grp, p); in sm2_uncompressed_bytes_to_point() 64 static TEE_Result sm2_bytes_to_point(const mbedtls_ecp_group *grp, in sm2_bytes_to_point() argument 82 return sm2_uncompressed_bytes_to_point(grp, p, buf + 1, in sm2_bytes_to_point() 119 mbedtls_ecp_group grp = { }; in sm2_mbedtls_pke_decrypt() local 139 mbedtls_ecp_group_init(&grp); in sm2_mbedtls_pke_decrypt() 140 mres = mbedtls_ecp_group_load(&grp, MBEDTLS_ECP_DP_SM2); in sm2_mbedtls_pke_decrypt() 148 res = sm2_bytes_to_point(&grp, &C1, src, src_len, &C1_len); in sm2_mbedtls_pke_decrypt() 160 mres = mbedtls_ecp_mul(&grp, &x2y2p, (mbedtls_mpi *)key->d, &C1, in sm2_mbedtls_pke_decrypt() 263 mbedtls_ecp_group_free(&grp); in sm2_mbedtls_pke_decrypt() [all …]
|
| H A D | sm2-kep.c | 29 static TEE_Result sm2_kep_compute_Z(const mbedtls_ecp_group *grp, uint8_t *Z, in sm2_kep_compute_Z() argument 65 mres = mbedtls_mpi_write_binary(&grp->A, buf, SM2_INT_SIZE_BYTES); in sm2_kep_compute_Z() 74 mres = mbedtls_mpi_write_binary(&grp->B, buf, SM2_INT_SIZE_BYTES); in sm2_kep_compute_Z() 83 mres = mbedtls_mpi_write_binary(&grp->G.X, buf, SM2_INT_SIZE_BYTES); in sm2_kep_compute_Z() 92 mres = mbedtls_mpi_write_binary(&grp->G.Y, buf, SM2_INT_SIZE_BYTES); in sm2_kep_compute_Z() 292 mbedtls_ecp_group grp = { }; in crypto_acipher_sm2_kep_derive() local 327 mbedtls_ecp_group_init(&grp); in crypto_acipher_sm2_kep_derive() 328 mres = mbedtls_ecp_group_load(&grp, MBEDTLS_ECP_DP_SM2); in crypto_acipher_sm2_kep_derive() 353 mres = mbedtls_mpi_mod_mpi(&tA, &tA, &grp.N); in crypto_acipher_sm2_kep_derive() 359 mres = mbedtls_mpi_mod_mpi(&tA, &tA, &grp.N); in crypto_acipher_sm2_kep_derive() [all …]
|
| H A D | ecc.c | 192 lmd_res = mbedtls_ecp_group_load(&ecdsa.grp, gid); in ecc_sign() 217 lmd_res = mbedtls_ecdsa_sign(&ecdsa.grp, &r, &s, &ecdsa.d, msg, in ecc_sign() 270 lmd_res = mbedtls_ecp_group_load(&ecdsa.grp, gid); in ecc_verify() 296 lmd_res = mbedtls_ecdsa_verify(&ecdsa.grp, msg, msg_len, &ecdsa.Q, in ecc_verify()
|
| /optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ |
| H A D | ecp.h | 404 int mbedtls_ecp_check_budget(const mbedtls_ecp_group *grp, 410 MBEDTLS_MPI_CHK(mbedtls_ecp_check_budget(grp, rs_ctx, \ 431 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /*!< Elliptic curve and base point */ 537 mbedtls_ecp_curve_type mbedtls_ecp_get_type(const mbedtls_ecp_group *grp); 618 void mbedtls_ecp_group_init(mbedtls_ecp_group *grp); 641 void mbedtls_ecp_group_free(mbedtls_ecp_group *grp); 775 int mbedtls_ecp_point_write_binary(const mbedtls_ecp_group *grp, 805 int mbedtls_ecp_point_read_binary(const mbedtls_ecp_group *grp, 827 int mbedtls_ecp_tls_read_point(const mbedtls_ecp_group *grp, 853 int mbedtls_ecp_tls_write_point(const mbedtls_ecp_group *grp, [all …]
|
| H A D | ecdsa.h | 162 int mbedtls_ecdsa_sign(mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, 207 int mbedtls_ecdsa_sign_det_ext(mbedtls_ecp_group *grp, mbedtls_mpi *r, 272 mbedtls_ecp_group *grp, 335 mbedtls_ecp_group *grp, 375 int mbedtls_ecdsa_verify(mbedtls_ecp_group *grp, 416 int mbedtls_ecdsa_verify_restartable(mbedtls_ecp_group *grp,
|
| H A 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,
|
| H A D | ecjpake.h | 62 mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /**< Elliptic curve */
|