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