1*62c56f98SSadaf Ebrahimi /* 2*62c56f98SSadaf Ebrahimi * Copyright The Mbed TLS Contributors 3*62c56f98SSadaf Ebrahimi * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 4*62c56f98SSadaf Ebrahimi * 5*62c56f98SSadaf Ebrahimi */ 6*62c56f98SSadaf Ebrahimi 7*62c56f98SSadaf Ebrahimi /** 8*62c56f98SSadaf Ebrahimi * \file crypto_spe.h 9*62c56f98SSadaf Ebrahimi * 10*62c56f98SSadaf Ebrahimi * \brief When Mbed TLS is built with the MBEDTLS_PSA_CRYPTO_SPM option 11*62c56f98SSadaf Ebrahimi * enabled, this header is included by all .c files in Mbed TLS that 12*62c56f98SSadaf Ebrahimi * use PSA Crypto function names. This avoids duplication of symbols 13*62c56f98SSadaf Ebrahimi * between TF-M and Mbed TLS. 14*62c56f98SSadaf Ebrahimi * 15*62c56f98SSadaf Ebrahimi * \note This file should be included before including any PSA Crypto headers 16*62c56f98SSadaf Ebrahimi * from Mbed TLS. 17*62c56f98SSadaf Ebrahimi */ 18*62c56f98SSadaf Ebrahimi 19*62c56f98SSadaf Ebrahimi #ifndef CRYPTO_SPE_H 20*62c56f98SSadaf Ebrahimi #define CRYPTO_SPE_H 21*62c56f98SSadaf Ebrahimi 22*62c56f98SSadaf Ebrahimi #define PSA_FUNCTION_NAME(x) mbedcrypto__ ## x 23*62c56f98SSadaf Ebrahimi 24*62c56f98SSadaf Ebrahimi #define psa_crypto_init \ 25*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_crypto_init) 26*62c56f98SSadaf Ebrahimi #define psa_key_derivation_get_capacity \ 27*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_get_capacity) 28*62c56f98SSadaf Ebrahimi #define psa_key_derivation_set_capacity \ 29*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_set_capacity) 30*62c56f98SSadaf Ebrahimi #define psa_key_derivation_input_bytes \ 31*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_input_bytes) 32*62c56f98SSadaf Ebrahimi #define psa_key_derivation_output_bytes \ 33*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_output_bytes) 34*62c56f98SSadaf Ebrahimi #define psa_key_derivation_input_key \ 35*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_input_key) 36*62c56f98SSadaf Ebrahimi #define psa_key_derivation_output_key \ 37*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_output_key) 38*62c56f98SSadaf Ebrahimi #define psa_key_derivation_setup \ 39*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_setup) 40*62c56f98SSadaf Ebrahimi #define psa_key_derivation_abort \ 41*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_abort) 42*62c56f98SSadaf Ebrahimi #define psa_key_derivation_key_agreement \ 43*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_key_derivation_key_agreement) 44*62c56f98SSadaf Ebrahimi #define psa_raw_key_agreement \ 45*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_raw_key_agreement) 46*62c56f98SSadaf Ebrahimi #define psa_generate_random \ 47*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_generate_random) 48*62c56f98SSadaf Ebrahimi #define psa_aead_encrypt \ 49*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_aead_encrypt) 50*62c56f98SSadaf Ebrahimi #define psa_aead_decrypt \ 51*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_aead_decrypt) 52*62c56f98SSadaf Ebrahimi #define psa_open_key \ 53*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_open_key) 54*62c56f98SSadaf Ebrahimi #define psa_close_key \ 55*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_close_key) 56*62c56f98SSadaf Ebrahimi #define psa_import_key \ 57*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_import_key) 58*62c56f98SSadaf Ebrahimi #define psa_destroy_key \ 59*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_destroy_key) 60*62c56f98SSadaf Ebrahimi #define psa_get_key_attributes \ 61*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_get_key_attributes) 62*62c56f98SSadaf Ebrahimi #define psa_reset_key_attributes \ 63*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_reset_key_attributes) 64*62c56f98SSadaf Ebrahimi #define psa_export_key \ 65*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_export_key) 66*62c56f98SSadaf Ebrahimi #define psa_export_public_key \ 67*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_export_public_key) 68*62c56f98SSadaf Ebrahimi #define psa_purge_key \ 69*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_purge_key) 70*62c56f98SSadaf Ebrahimi #define psa_copy_key \ 71*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_copy_key) 72*62c56f98SSadaf Ebrahimi #define psa_cipher_operation_init \ 73*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_operation_init) 74*62c56f98SSadaf Ebrahimi #define psa_cipher_generate_iv \ 75*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_generate_iv) 76*62c56f98SSadaf Ebrahimi #define psa_cipher_set_iv \ 77*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_set_iv) 78*62c56f98SSadaf Ebrahimi #define psa_cipher_encrypt_setup \ 79*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_encrypt_setup) 80*62c56f98SSadaf Ebrahimi #define psa_cipher_decrypt_setup \ 81*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_decrypt_setup) 82*62c56f98SSadaf Ebrahimi #define psa_cipher_update \ 83*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_update) 84*62c56f98SSadaf Ebrahimi #define psa_cipher_finish \ 85*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_finish) 86*62c56f98SSadaf Ebrahimi #define psa_cipher_abort \ 87*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_cipher_abort) 88*62c56f98SSadaf Ebrahimi #define psa_hash_operation_init \ 89*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_operation_init) 90*62c56f98SSadaf Ebrahimi #define psa_hash_setup \ 91*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_setup) 92*62c56f98SSadaf Ebrahimi #define psa_hash_update \ 93*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_update) 94*62c56f98SSadaf Ebrahimi #define psa_hash_finish \ 95*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_finish) 96*62c56f98SSadaf Ebrahimi #define psa_hash_verify \ 97*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_verify) 98*62c56f98SSadaf Ebrahimi #define psa_hash_abort \ 99*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_abort) 100*62c56f98SSadaf Ebrahimi #define psa_hash_clone \ 101*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_clone) 102*62c56f98SSadaf Ebrahimi #define psa_hash_compute \ 103*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_compute) 104*62c56f98SSadaf Ebrahimi #define psa_hash_compare \ 105*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_hash_compare) 106*62c56f98SSadaf Ebrahimi #define psa_mac_operation_init \ 107*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_operation_init) 108*62c56f98SSadaf Ebrahimi #define psa_mac_sign_setup \ 109*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_sign_setup) 110*62c56f98SSadaf Ebrahimi #define psa_mac_verify_setup \ 111*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_verify_setup) 112*62c56f98SSadaf Ebrahimi #define psa_mac_update \ 113*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_update) 114*62c56f98SSadaf Ebrahimi #define psa_mac_sign_finish \ 115*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_sign_finish) 116*62c56f98SSadaf Ebrahimi #define psa_mac_verify_finish \ 117*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_verify_finish) 118*62c56f98SSadaf Ebrahimi #define psa_mac_abort \ 119*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_mac_abort) 120*62c56f98SSadaf Ebrahimi #define psa_sign_hash \ 121*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_sign_hash) 122*62c56f98SSadaf Ebrahimi #define psa_verify_hash \ 123*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_verify_hash) 124*62c56f98SSadaf Ebrahimi #define psa_asymmetric_encrypt \ 125*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_asymmetric_encrypt) 126*62c56f98SSadaf Ebrahimi #define psa_asymmetric_decrypt \ 127*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_asymmetric_decrypt) 128*62c56f98SSadaf Ebrahimi #define psa_generate_key \ 129*62c56f98SSadaf Ebrahimi PSA_FUNCTION_NAME(psa_generate_key) 130*62c56f98SSadaf Ebrahimi 131*62c56f98SSadaf Ebrahimi #endif /* CRYPTO_SPE_H */ 132