/* * Copyright (c) 2019-2021, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause * */ /** * \file crypto_spe.h * * \brief When Mbed Crypto is built with the MBEDTLS_PSA_CRYPTO_SPM option * enabled, this header is included by all .c files in Mbed Crypto that * use PSA Crypto function names. This avoids duplication of symbols * between TF-M and Mbed Crypto. * * \note This file should be included before including any PSA Crypto headers * from Mbed Crypto. */ #ifndef CRYPTO_SPE_H #define CRYPTO_SPE_H #define PSA_FUNCTION_NAME(x) mbedcrypto__ ## x #define psa_crypto_init \ PSA_FUNCTION_NAME(psa_crypto_init) #define psa_key_derivation_get_capacity \ PSA_FUNCTION_NAME(psa_key_derivation_get_capacity) #define psa_key_derivation_set_capacity \ PSA_FUNCTION_NAME(psa_key_derivation_set_capacity) #define psa_key_derivation_input_bytes \ PSA_FUNCTION_NAME(psa_key_derivation_input_bytes) #define psa_key_derivation_output_bytes \ PSA_FUNCTION_NAME(psa_key_derivation_output_bytes) #define psa_key_derivation_input_key \ PSA_FUNCTION_NAME(psa_key_derivation_input_key) #define psa_key_derivation_output_key \ PSA_FUNCTION_NAME(psa_key_derivation_output_key) #define psa_key_derivation_setup \ PSA_FUNCTION_NAME(psa_key_derivation_setup) #define psa_key_derivation_abort \ PSA_FUNCTION_NAME(psa_key_derivation_abort) #define psa_key_derivation_key_agreement \ PSA_FUNCTION_NAME(psa_key_derivation_key_agreement) #define psa_raw_key_agreement \ PSA_FUNCTION_NAME(psa_raw_key_agreement) #define psa_generate_random \ PSA_FUNCTION_NAME(psa_generate_random) #define psa_aead_encrypt \ PSA_FUNCTION_NAME(psa_aead_encrypt) #define psa_aead_decrypt \ PSA_FUNCTION_NAME(psa_aead_decrypt) #define psa_open_key \ PSA_FUNCTION_NAME(psa_open_key) #define psa_close_key \ PSA_FUNCTION_NAME(psa_close_key) #define psa_import_key \ PSA_FUNCTION_NAME(psa_import_key) #define psa_destroy_key \ PSA_FUNCTION_NAME(psa_destroy_key) #define psa_get_key_attributes \ PSA_FUNCTION_NAME(psa_get_key_attributes) #define psa_reset_key_attributes \ PSA_FUNCTION_NAME(psa_reset_key_attributes) #define psa_export_key \ PSA_FUNCTION_NAME(psa_export_key) #define psa_export_public_key \ PSA_FUNCTION_NAME(psa_export_public_key) #define psa_purge_key \ PSA_FUNCTION_NAME(psa_purge_key) #define psa_copy_key \ PSA_FUNCTION_NAME(psa_copy_key) #define psa_cipher_operation_init \ PSA_FUNCTION_NAME(psa_cipher_operation_init) #define psa_cipher_generate_iv \ PSA_FUNCTION_NAME(psa_cipher_generate_iv) #define psa_cipher_set_iv \ PSA_FUNCTION_NAME(psa_cipher_set_iv) #define psa_cipher_encrypt_setup \ PSA_FUNCTION_NAME(psa_cipher_encrypt_setup) #define psa_cipher_decrypt_setup \ PSA_FUNCTION_NAME(psa_cipher_decrypt_setup) #define psa_cipher_update \ PSA_FUNCTION_NAME(psa_cipher_update) #define psa_cipher_finish \ PSA_FUNCTION_NAME(psa_cipher_finish) #define psa_cipher_abort \ PSA_FUNCTION_NAME(psa_cipher_abort) #define psa_hash_operation_init \ PSA_FUNCTION_NAME(psa_hash_operation_init) #define psa_hash_setup \ PSA_FUNCTION_NAME(psa_hash_setup) #define psa_hash_update \ PSA_FUNCTION_NAME(psa_hash_update) #define psa_hash_finish \ PSA_FUNCTION_NAME(psa_hash_finish) #define psa_hash_verify \ PSA_FUNCTION_NAME(psa_hash_verify) #define psa_hash_abort \ PSA_FUNCTION_NAME(psa_hash_abort) #define psa_hash_clone \ PSA_FUNCTION_NAME(psa_hash_clone) #define psa_hash_compute \ PSA_FUNCTION_NAME(psa_hash_compute) #define psa_hash_compare \ PSA_FUNCTION_NAME(psa_hash_compare) #define psa_mac_operation_init \ PSA_FUNCTION_NAME(psa_mac_operation_init) #define psa_mac_sign_setup \ PSA_FUNCTION_NAME(psa_mac_sign_setup) #define psa_mac_verify_setup \ PSA_FUNCTION_NAME(psa_mac_verify_setup) #define psa_mac_update \ PSA_FUNCTION_NAME(psa_mac_update) #define psa_mac_sign_finish \ PSA_FUNCTION_NAME(psa_mac_sign_finish) #define psa_mac_verify_finish \ PSA_FUNCTION_NAME(psa_mac_verify_finish) #define psa_mac_abort \ PSA_FUNCTION_NAME(psa_mac_abort) #define psa_sign_hash \ PSA_FUNCTION_NAME(psa_sign_hash) #define psa_verify_hash \ PSA_FUNCTION_NAME(psa_verify_hash) #define psa_asymmetric_encrypt \ PSA_FUNCTION_NAME(psa_asymmetric_encrypt) #define psa_asymmetric_decrypt \ PSA_FUNCTION_NAME(psa_asymmetric_decrypt) #define psa_generate_key \ PSA_FUNCTION_NAME(psa_generate_key) #endif /* CRYPTO_SPE_H */