Lines Matching full:https
22 **Tutorial**: See the [getting started guide](https://mbed-tls.readthedocs.io/en/latest/getting_sta…
24 …https://arm-software.github.io/psa-api/crypto/) is available online. Mbed TLS implements a large s…
28 * [Mbed TLS open issues](https://github.com/Mbed-TLS/mbedtls/issues)
29 * [PSA API open issues](https://github.com/ARM-software/psa-api/issues) (not just cryptography APIs)
30 * [Mbed TLS mailing list](https://lists.trustedfirmware.org/mailman3/lists/mbed-tls.lists.trustedfi…
35 …API natively supports operations on keys stored in an external [location](https://arm-software.git…
36 * PSA APIs have [consistent conventions](https://arm-software.github.io/psa-api/crypto/1.1/overview…
51 …ailable, make sure that the configuration option [`MBEDTLS_PSA_CRYPTO_C`](https://mbed-tls.readthe…
53 You should probably enable [`MBEDTLS_USE_PSA_CRYPTO`](https://mbed-tls.readthedocs.io/projects/api/…
66 Before any cryptographic operation, call [`psa_crypto_init`](https://mbed-tls.readthedocs.io/projec…
68 …ources associated with PSA cryptography, call [`mbedtls_psa_crypto_free`](https://mbed-tls.readthe…
76 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__error/#group__error_1…
88 …. Operations that require a key take a parameter of type [`psa_key_id_t`](https://mbed-tls.readthe…
92 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__import__export/#group…
94 3. Finally destroy the key object with [`psa_destroy_key`](https://mbed-tls.readthedocs.io/projects…
98 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__import__export/#group…
180 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/mbedtls__config_8h/#mbedtls__…
233 …https://github.com/Mbed-TLS/mbedtls/blob/development/docs/psa-driver-example-and-guide.md). In an …
237 There is currently [no PSA equivalent to the self-tests](https://github.com/Mbed-TLS/mbedtls/issues…
271 …xxx` constants), use the [`PSA_KEY_TYPE_xxx` and `PSA_ALG_xxx` constants](https://mbed-tls.readthe…
274 [`PSA_KEY_TYPE_AES`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__c…
275 [`PSA_KEY_TYPE_ARIA`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__…
276 [`PSA_KEY_TYPE_CAMELLIA`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
277 [`PSA_KEY_TYPE_DES`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__c…
281 …[`PSA_ALG_CTR`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
282 …[`PSA_ALG_CFB`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
283 …[`PSA_ALG_OFB`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
284 …[`PSA_ALG_XTS`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
285 …[`PSA_ALG_ECB_NO_PADDING`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
286 …[`PSA_ALG_CBC_NO_PADDING`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
287 …[`PSA_ALG_CBC_PKCS7`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group_…
288 …[`PSA_ALG_CCM_STAR_NO_TAG`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
291 …[`PSA_ALG_CCM`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
292 …[`PSA_ALG_GCM`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypt…
295 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
296 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
320 …`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_CI…
321 | `MBEDTLS_MAX_BLOCK_LENGTH` | [`PSA_BLOCK_CIPHER_BLOCK_MAX_SIZE`](https://mbed-tls.readthedocs.io/…
328 …TH`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_…
347 1. First define the attributes of the key by filling a [`psa_key_attributes_t` structure](https://m…
348 …* Call [`psa_set_key_type`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
349 …* Call [`psa_set_key_bits`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
350 …* Call [`psa_set_key_algorithm`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
351 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
352 …fined in the previous step, to get an identifier of type [`psa_key_id_t`](https://mbed-tls.readthe…
353 …* Use [`psa_import_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
354 …* If the key is randomly generated, use [`psa_generate_key`](https://mbed-tls.readthedocs.io/proje…
355 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/) and…
357 4. To free the resources used by the key object, call [`psa_destroy_key`](https://mbed-tls.readthed…
371 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
372 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
376 1. Create an operation object of type [`psa_cipher_operation_t`](https://mbed-tls.readthedocs.io/pr…
377 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
378 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
379 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
380 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
382 …p function without calling the finish function, call [`psa_cipher_abort`](https://mbed-tls.readthe…
400 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
401 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
405 1. Create an operation object of type [`psa_aead_operation_t`](https://mbed-tls.readthedocs.io/proj…
406 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
407 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
408 4. Call [`psa_aead_update_ad`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/grou…
409 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
411 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
412 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__aead/#group__aead_1ga…
414 …on without calling the finish or verify function, call [`psa_aead_abort`](https://mbed-tls.readthe…
418 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__cipher/#group__cipher…
452 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
454 * For HMAC, the algorithm is [`PSA_ALG_HMAC`](https://mbed-tls.readthedocs.io/projects/api/en/devel…
456 …The key type is [`PSA_KEY_TYPE_HMAC`](https://mbed-tls.readthedocs.io/projects/api/en/development/…
457 * For CMAC, the algorithm is [`PSA_ALG_CMAC`](https://mbed-tls.readthedocs.io/projects/api/en/devel…
458 …[`PSA_KEY_TYPE_AES`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__…
459 …[`PSA_KEY_TYPE_ARIA`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group_…
460 …[`PSA_KEY_TYPE_CAMELLIA`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gr…
461 …[`PSA_KEY_TYPE_DES`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__…
491 | `MBEDTLS_MD_MAX_SIZE` | [`PSA_HASH_MAX_SIZE`](https://mbed-tls.readthedocs.io/projects/api/en/dev…
492 | `MBEDTLS_MD_MAX_BLOCK_SIZE` | [`PSA_HMAC_MAX_HASH_BLOCK_SIZE`](https://mbed-tls.readthedocs.io/pr…
493 | `mbedtls_md_get_size` | [`PSA_HASH_LENGTH`](https://mbed-tls.readthedocs.io/projects/api/en/devel…
494 | `mbedtls_md_get_size_from_type` | [`PSA_HASH_LENGTH`](https://mbed-tls.readthedocs.io/projects/ap…
504 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__hash/#group__hash_1ga…
516 1. Create an operation object of type [`psa_hash_operation_t`](https://mbed-tls.readthedocs.io/proj…
517 2. Call [`psa_hash_setup`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gr…
518 3. Call [`psa_hash_update`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
519 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__hash/#group__hash_1ga…
521 …on without calling the finish or verify function, call [`psa_hash_abort`](https://mbed-tls.readthe…
535 1. First define the attributes of the key by filling a [`psa_key_attributes_t` structure](https://m…
536 …* Call [`psa_set_key_type`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
537 …* Call [`psa_set_key_bits`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
538 …* Call [`psa_set_key_algorithm`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
539 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
540 …fined in the previous step, to get an identifier of type [`psa_key_id_t`](https://mbed-tls.readthe…
541 …* Use [`psa_import_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
542 …* If the key is randomly generated, use [`psa_generate_key`](https://mbed-tls.readthedocs.io/proje…
543 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/) and…
545 4. To free the resources used by the key object, call [`psa_destroy_key`](https://mbed-tls.readthed…
567 1. Create an operation object of type [`psa_mac_operation_t`](https://mbed-tls.readthedocs.io/proje…
568 2. Call [`psa_mac_sign_setup`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/grou…
569 3. Call [`psa_mac_update`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gr…
570 4. To obtain the MAC, call [`psa_mac_sign_finish`](https://mbed-tls.readthedocs.io/projects/api/en/…
574 1. Create an operation object of type [`psa_mac_operation_t`](https://mbed-tls.readthedocs.io/proje…
575 2. Call [`psa_mac_verify_setup`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/gr…
576 3. Call [`psa_mac_update`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gr…
577 4. To verify the MAC against an expected value, call [`psa_mac_verify_finish`](https://mbed-tls.rea…
579 …etup function without calling the finish function, call [`psa_mac_abort`](https://mbed-tls.readthe…
583 * [`psa_mac_compute`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__…
584 * [`psa_mac_verify`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group___…
590 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__hash/#group__hash_1ga…
592 The equivalent of `mbedtls_md_clone` to clone a hash operation is [`psa_hash_clone`](https://mbed-t…
598 … to HKDF, HKDF-Extract and HKDF-Expand via its [key derivation interface](https://mbed-tls.readthe…
600 1. Create an operation object of type [`psa_key_derivation_operation_t`](https://mbed-tls.readthedo…
601 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
602 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
603 …1. [`PSA_KEY_DERIVATION_INPUT_SALT`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
604 …2. [`PSA_KEY_DERIVATION_INPUT_SECRET`](https://mbed-tls.readthedocs.io/projects/api/en/development…
605 …3. [`PSA_KEY_DERIVATION_INPUT_INFO`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
606 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
607 5. Call [`psa_key_derivation_abort`](https://mbed-tls.readthedocs.io/projects/api/en/development/ap…
613 1. Create an operation object of type [`psa_key_derivation_operation_t`](https://mbed-tls.readthedo…
614 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
616 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
617 …1. [`PSA_KEY_DERIVATION_INPUT_SALT`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
618 …2. [`PSA_KEY_DERIVATION_INPUT_SECRET`](https://mbed-tls.readthedocs.io/projects/api/en/development…
619 5. Call [`psa_key_derivation_output_bytes`](https://mbed-tls.readthedocs.io/projects/api/en/develop…
620 …Use [`psa_key_derivation_output_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/…
621 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/#grou…
622 6. Call [`psa_key_derivation_abort`](https://mbed-tls.readthedocs.io/projects/api/en/development/ap…
636 …ou need random data for some other purposes, call [`psa_generate_random`](https://mbed-tls.readthe…
640 * [`mbedtls_psa_get_random`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/p…
641 * [`MBEDTLS_PSA_RANDOM_STATE`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file…
653 …ted interface for pseudorandom generation. The [key derivation interface](https://mbed-tls.readthe…
661 In the PSA API, keys are referenced by an identifier of type [`psa_key_id_t`](https://mbed-tls.read…
662 (Some documentation references [`mbedtls_svc_key_id_t`](https://mbed-tls.readthedocs.io/projects/ap…
667 1. First define the attributes of the key by filling a [`psa_key_attributes_t` structure](https://m…
668 …* Call [`psa_set_key_type`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
669 …* Call [`psa_set_key_bits`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
670 …* Call [`psa_set_key_algorithm`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
671 …* Call [`psa_set_key_usage_flags`](https://mbed-tls.readthedocs.io/projects/api/en/development/api…
672 …fined in the previous step, to get an identifier of type [`psa_key_id_t`](https://mbed-tls.readthe…
673 …* Use [`psa_import_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
674 …* If the key is randomly generated, use [`psa_generate_key`](https://mbed-tls.readthedocs.io/proje…
675 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/) and…
677 4. To free the resources used by the key object, call [`psa_destroy_key`](https://mbed-tls.readthed…
683 …ass those flags (combined with bitwise-or) to [`psa_set_key_usage_flags`](https://mbed-tls.readthe…
688 | export private key | [`PSA_KEY_USAGE_EXPORT`](https://mbed-tls.readthedocs.io/projects/api/en/dev…
689 | Sign a message directly | [`PSA_KEY_USAGE_SIGN_MESSAGE`](https://mbed-tls.readthedocs.io/projects…
690 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__policy/#group__policy…
691 | Verify a message directly | [`PSA_KEY_USAGE_VERIFY_MESSAGE`](https://mbed-tls.readthedocs.io/proj…
692 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__policy/#group__policy…
693 | Encryption | [`PSA_KEY_USAGE_ENCRYPT`](https://mbed-tls.readthedocs.io/projects/api/en/developmen…
694 | Decryption | [`PSA_KEY_USAGE_DECRYPT`](https://mbed-tls.readthedocs.io/projects/api/en/developmen…
695 | Key agreement | [`PSA_KEY_USAGE_DERIVE`](https://mbed-tls.readthedocs.io/projects/api/en/developm…
699 …ifferent hashes. In an algorithm policy, you can use [`PSA_ALG_ANY_HASH`](https://mbed-tls.readthe…
700 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
711 An RSA public key has the type [`PSA_KEY_TYPE_RSA_PUBLIC_KEY`](https://mbed-tls.readthedocs.io/proj…
713 An RSA key pair has the type [`PSA_KEY_TYPE_RSA_KEY_PAIR`](https://mbed-tls.readthedocs.io/projects…
718 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
719 * PKCS#1v1.5 RSA encryption: [`PSA_ALG_RSA_PKCS1V15_CRYPT`](https://mbed-tls.readthedocs.io/project…
720 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
721 * PKCS#1 RSAES-OAEP encryption: [`PSA_ALG_RSA_OAEP`](https://mbed-tls.readthedocs.io/projects/api/e…
727 An ECC public key has the type [`PSA_KEY_TYPE_ECC_PUBLIC_KEY(curve)`](https://mbed-tls.readthedocs.…
729 An ECC key pair has the type [`PSA_KEY_TYPE_ECC_KEY_PAIR(curve)`](https://mbed-tls.readthedocs.io/p…
733 - [`mbedtls_ecc_group_to_psa()`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/gr…
734 - [`mbedtls_ecc_group_from_psa()`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/…
740 | `MBEDTLS_ECP_DP_SECP192R1` | [`PSA_ECC_FAMILY_SECP_R1`](https://mbed-tls.readthedocs.io/projects/…
741 | `MBEDTLS_ECP_DP_SECP224R1` | [`PSA_ECC_FAMILY_SECP_R1`](https://mbed-tls.readthedocs.io/projects/…
742 | `MBEDTLS_ECP_DP_SECP256R1` | [`PSA_ECC_FAMILY_SECP_R1`](https://mbed-tls.readthedocs.io/projects/…
743 | `MBEDTLS_ECP_DP_SECP384R1` | [`PSA_ECC_FAMILY_SECP_R1`](https://mbed-tls.readthedocs.io/projects/…
744 | `MBEDTLS_ECP_DP_SECP521R1` | [`PSA_ECC_FAMILY_SECP_R1`](https://mbed-tls.readthedocs.io/projects/…
745 | `MBEDTLS_ECP_DP_BP256R1` | [`PSA_ECC_FAMILY_BRAINPOOL_P_R1`](https://mbed-tls.readthedocs.io/proj…
746 | `MBEDTLS_ECP_DP_BP384R1` | [`PSA_ECC_FAMILY_BRAINPOOL_P_R1`](https://mbed-tls.readthedocs.io/proj…
747 | `MBEDTLS_ECP_DP_BP512R1` | [`PSA_ECC_FAMILY_BRAINPOOL_P_R1`](https://mbed-tls.readthedocs.io/proj…
748 | `MBEDTLS_ECP_DP_CURVE25519` | [`PSA_ECC_FAMILY_MONTGOMERY`](https://mbed-tls.readthedocs.io/proje…
749 | `MBEDTLS_ECP_DP_SECP192K1` | [`PSA_ECC_FAMILY_SECP_K1`](https://mbed-tls.readthedocs.io/projects/…
751 | `MBEDTLS_ECP_DP_SECP256K1` | [`PSA_ECC_FAMILY_SECP_K1`](https://mbed-tls.readthedocs.io/projects/…
752 | `MBEDTLS_ECP_DP_CURVE448` | [`PSA_ECC_FAMILY_MONTGOMERY`](https://mbed-tls.readthedocs.io/project…
756 * ECDH key agreement (including X25519 and X448): [`PSA_ALG_ECDH`](https://mbed-tls.readthedocs.io/…
757 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
762 A finite-field Diffie-Hellman key pair has the type [`PSA_KEY_TYPE_DH_KEY_PAIR(group)`](https://mbe…
764 A finite-field Diffie-Hellman public key has the type [`PSA_KEY_TYPE_DH_PUBLIC_KEY(group)`](https:/…
770 | `MBEDTLS_DHM_RFC7919_FFDHE2048_P_BIN` | [`PSA_DH_FAMILY_RFC7919`](https://mbed-tls.readthedocs.io…
771 | `MBEDTLS_DHM_RFC7919_FFDHE3072_P_BIN` | [`PSA_DH_FAMILY_RFC7919`](https://mbed-tls.readthedocs.io…
772 | `MBEDTLS_DHM_RFC7919_FFDHE4096_P_BIN` | [`PSA_DH_FAMILY_RFC7919`](https://mbed-tls.readthedocs.io…
773 | `MBEDTLS_DHM_RFC7919_FFDHE6144_P_BIN` | [`PSA_DH_FAMILY_RFC7919`](https://mbed-tls.readthedocs.io…
774 | `MBEDTLS_DHM_RFC7919_FFDHE8192_P_BIN` | [`PSA_DH_FAMILY_RFC7919`](https://mbed-tls.readthedocs.io…
776 …man key can be used for key agreement with the algorithm [`PSA_ALG_FFDH`](https://mbed-tls.readthe…
780 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__random/#group__random…
782 …` uses 65537 as the public exponent. You can use [`psa_generate_key_ext`](https://mbed-tls.readthe…
784 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__import__export/#group…
812 2. Call [`mbedtls_pk_get_psa_attributes`](https://mbed-tls.readthedocs.io/projects/api/en/developme…
819 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
820 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
821 4. Call [`mbedtls_pk_import_into_psa`](https://mbed-tls.readthedocs.io/projects/api/en/development/…
845 …rsion of Mbed TLS [will provide a function to calculate the curve family](https://github.com/Mbed-…
891 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
895 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
899 To export a PSA key pair or public key, call [`psa_export_key`](https://mbed-tls.readthedocs.io/pro…
901 …t the public key of a PSA key pair object, call [`psa_export_public_key`](https://mbed-tls.readthe…
911 * [`mbedtls_pk_copy_from_psa`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file…
912 * [`mbedtls_pk_copy_public_from_psa`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
913 * [`mbedtls_pk_setup_opaque`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/…
935 …dtls_pk_sign_ext` to sign an already calculated hash is [`psa_sign_hash`](https://mbed-tls.readthe…
937 …`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_SI…
940 …k_verify_ext` to verify an already calculated hash is [`psa_verify_hash`](https://mbed-tls.readthe…
948 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__asymmetric/#group__as…
958 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/psa__util_8h/#group__psa__tls…
966 * [`PSA_ALG_ECDSA(hash)`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
967 * [`PSA_ALG_ECDSA_ANY`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group…
968 * [`PSA_ALG_DETERMINISTIC_ECDSA(hash)`](https://mbed-tls.readthedocs.io/projects/api/en/development…
981 1. Create an operation object of type [`psa_sign_hash_interruptible_operation_t`](https://mbed-tls.…
982 2. Call [`psa_sign_hash_start`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/gro…
983 3. Call [`psa_sign_hash_complete`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/…
987 1. Create an operation object of type [`psa_verify_hash_interruptible_operation_t`](https://mbed-tl…
988 2. Call [`psa_verify_hash_start`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
989 3. Call [`psa_verify_hash_complete`](https://mbed-tls.readthedocs.io/projects/api/en/development/ap…
991 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__interruptible__hash/#…
993 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__interruptible__hash/#…
1001 * [`PSA_ALG_RSA_PKCS1V15_SIGN(hash)`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
1002 * [`PSA_ALG_RSA_PKCS1V15_SIGN_RAW`](https://mbed-tls.readthedocs.io/projects/api/en/development/api…
1009 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
1019 …a short message (typically a symmetric key) is [`psa_asymmetric_encrypt`](https://mbed-tls.readthe…
1021 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#crypto__siz…
1023 …a short message (typically a symmetric key) is [`psa_asymmetric_decrypt`](https://mbed-tls.readthe…
1025 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#crypto__siz…
1034 The PSA algorithm is [`PSA_ALG_RSA_PKCS1V15_CRYPT`](https://mbed-tls.readthedocs.io/projects/api/en…
1042 The PSA algorithm is [`PSA_ALG_RSA_OAEP(hash)`](https://mbed-tls.readthedocs.io/projects/api/en/dev…
1052 * Prepare a key object containing the private key, for example with [`psa_import_key`](https://mbed…
1053 * Prepare a key object containing the public key, for example with [`psa_import_key`](https://mbed-…
1054 * Export both public keys with [`psa_export_public_key`](https://mbed-tls.readthedocs.io/projects/a…
1079 https://github.com/Mbed-TLS/mbedtls/pull/7766#discussion_r1410568541
1088 1. First define the attributes of the key by filling a [`psa_key_attributes_t` structure](https://m…
1089 …* Call [`psa_set_key_type`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
1090 …* [`PSA_KEY_TYPE_DH_KEY_PAIR(group)`](https://mbed-tls.readthedocs.io/projects/api/en/development/…
1091 …* [`PSA_KEY_TYPE_ECC_KEY_PAIR(curve)`](https://mbed-tls.readthedocs.io/projects/api/en/development…
1092 …* Call [`psa_set_key_bits`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/…
1093 …* Call [`psa_set_key_algorithm`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
1094 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__crypto__types/#group_…
1095 …* [`PSA_ALG_KEY_AGREEMENT(ka, kdf)`](https://mbed-tls.readthedocs.io/projects/api/en/development/a…
1098 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
1099 …fined in the previous step, to get an identifier of type [`psa_key_id_t`](https://mbed-tls.readthe…
1100 …* Use [`psa_generate_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
1101 …* Use [`psa_import_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/gro…
1102 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__key__derivation/) and…
1104 4. To free the resources used by the key object, call [`psa_destroy_key`](https://mbed-tls.readthed…
1108 Call [`psa_export_public_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/grou…
1109 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_EXPOR…
1111 Call [`psa_raw_key_agreement`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/grou…
1112 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_RAW_K…
1114 Call [`psa_key_derivation_key_agreement`](https://mbed-tls.readthedocs.io/projects/api/en/developme…
1137 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_EXPOR…
1139 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/crypto__sizes_8h/#c.PSA_RAW_K…
1141 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__random/#group__random…
1143 5. Call [`psa_raw_key_agreement`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
1145 6. Call [`psa_destroy_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
1166 …2. Call [`psa_export_public_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/…
1170 4. Call [`psa_raw_key_agreement`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
1172 5. Call [`psa_destroy_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
1191 …Call [`psa_export_public_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/gro…
1193 4. Call [`psa_raw_key_agreement`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/g…
1195 5. Call [`psa_destroy_key`](https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/g…
1201 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
1202 * Accessing our public key: call [`psa_export_public_key`](https://mbed-tls.readthedocs.io/projects…
1203 * Accessing our private key: call [`psa_export_key`](https://mbed-tls.readthedocs.io/projects/api/e…
1208 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__attributes/#group__at…
1209 …lue` for `MBEDTLS_DHM_PARAM_X` (our private key): call [`psa_export_key`](https://mbed-tls.readthe…
1210 …r `MBEDTLS_DHM_PARAM_GX` (our public key): call [`psa_export_public_key`](https://mbed-tls.readthe…
1213 …RAM_G` (group parameters): [there is no PSA API to retrieve these values](https://github.com/Mbed-…
1253 | `MBEDTLS_ECP_MAX_BITS` | [`PSA_VENDOR_ECC_MAX_CURVE_BITS`](https://mbed-tls.readthedocs.io/projec…
1255 …[`PSA_KEY_EXPORT_ECC_PUBLIC_KEY_MAX_SIZE(PSA_VENDOR_ECC_MAX_CURVE_BITS)`](https://mbed-tls.readthe…
1275 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__import__export/#group…
1276 …https://mbed-tls.readthedocs.io/projects/api/en/development/api/group/group__import__export/#group…
1283 …up function) should migrate to the [PSA cryptoprocessor driver interface](https://github.com/Mbed-…
1286 …parent by default; to create an opaque key, call [`psa_set_key_lifetime`](https://mbed-tls.readthe…
1296 … that is not supported by the PSA API, please [submit an issue on GitHub](https://github.com/ARM-s…
1316 The PSA API exposes EC-JPAKE via the algorithm [`PSA_ALG_JPAKE`](https://mbed-tls.readthedocs.io/pr…