Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 1 | /* |
Dave Rodgman | 53a18f2 | 2022-09-12 17:57:32 +0100 | [diff] [blame] | 2 | * Copyright The Mbed TLS Contributors |
| 3 | * SPDX-License-Identifier: Apache-2.0 |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 4 | * |
Dave Rodgman | 53a18f2 | 2022-09-12 17:57:32 +0100 | [diff] [blame] | 5 | * Licensed under the Apache License, Version 2.0 (the "License"); you may |
| 6 | * not use this file except in compliance with the License. |
| 7 | * You may obtain a copy of the License at |
| 8 | * |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | * |
| 11 | * Unless required by applicable law or agreed to in writing, software |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| 13 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | * See the License for the specific language governing permissions and |
| 15 | * limitations under the License. |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 16 | * |
| 17 | */ |
| 18 | |
| 19 | /** |
| 20 | * \file crypto_spe.h |
| 21 | * |
Fredrik Hesse | cc207bc | 2021-09-28 21:06:08 +0200 | [diff] [blame] | 22 | * \brief When Mbed TLS is built with the MBEDTLS_PSA_CRYPTO_SPM option |
| 23 | * enabled, this header is included by all .c files in Mbed TLS that |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 24 | * use PSA Crypto function names. This avoids duplication of symbols |
Fredrik Hesse | cc207bc | 2021-09-28 21:06:08 +0200 | [diff] [blame] | 25 | * between TF-M and Mbed TLS. |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 26 | * |
| 27 | * \note This file should be included before including any PSA Crypto headers |
Fredrik Hesse | cc207bc | 2021-09-28 21:06:08 +0200 | [diff] [blame] | 28 | * from Mbed TLS. |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 29 | */ |
| 30 | |
| 31 | #ifndef CRYPTO_SPE_H |
| 32 | #define CRYPTO_SPE_H |
| 33 | |
| 34 | #define PSA_FUNCTION_NAME(x) mbedcrypto__ ## x |
| 35 | |
| 36 | #define psa_crypto_init \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 37 | PSA_FUNCTION_NAME(psa_crypto_init) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 38 | #define psa_key_derivation_get_capacity \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 39 | PSA_FUNCTION_NAME(psa_key_derivation_get_capacity) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 40 | #define psa_key_derivation_set_capacity \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 41 | PSA_FUNCTION_NAME(psa_key_derivation_set_capacity) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 42 | #define psa_key_derivation_input_bytes \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 43 | PSA_FUNCTION_NAME(psa_key_derivation_input_bytes) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 44 | #define psa_key_derivation_output_bytes \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 45 | PSA_FUNCTION_NAME(psa_key_derivation_output_bytes) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 46 | #define psa_key_derivation_input_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 47 | PSA_FUNCTION_NAME(psa_key_derivation_input_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 48 | #define psa_key_derivation_output_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 49 | PSA_FUNCTION_NAME(psa_key_derivation_output_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 50 | #define psa_key_derivation_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 51 | PSA_FUNCTION_NAME(psa_key_derivation_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 52 | #define psa_key_derivation_abort \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 53 | PSA_FUNCTION_NAME(psa_key_derivation_abort) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 54 | #define psa_key_derivation_key_agreement \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 55 | PSA_FUNCTION_NAME(psa_key_derivation_key_agreement) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 56 | #define psa_raw_key_agreement \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 57 | PSA_FUNCTION_NAME(psa_raw_key_agreement) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 58 | #define psa_generate_random \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 59 | PSA_FUNCTION_NAME(psa_generate_random) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 60 | #define psa_aead_encrypt \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 61 | PSA_FUNCTION_NAME(psa_aead_encrypt) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 62 | #define psa_aead_decrypt \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 63 | PSA_FUNCTION_NAME(psa_aead_decrypt) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 64 | #define psa_open_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 65 | PSA_FUNCTION_NAME(psa_open_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 66 | #define psa_close_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 67 | PSA_FUNCTION_NAME(psa_close_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 68 | #define psa_import_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 69 | PSA_FUNCTION_NAME(psa_import_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 70 | #define psa_destroy_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 71 | PSA_FUNCTION_NAME(psa_destroy_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 72 | #define psa_get_key_attributes \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 73 | PSA_FUNCTION_NAME(psa_get_key_attributes) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 74 | #define psa_reset_key_attributes \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 75 | PSA_FUNCTION_NAME(psa_reset_key_attributes) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 76 | #define psa_export_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 77 | PSA_FUNCTION_NAME(psa_export_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 78 | #define psa_export_public_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 79 | PSA_FUNCTION_NAME(psa_export_public_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 80 | #define psa_purge_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 81 | PSA_FUNCTION_NAME(psa_purge_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 82 | #define psa_copy_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 83 | PSA_FUNCTION_NAME(psa_copy_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 84 | #define psa_cipher_operation_init \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 85 | PSA_FUNCTION_NAME(psa_cipher_operation_init) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 86 | #define psa_cipher_generate_iv \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 87 | PSA_FUNCTION_NAME(psa_cipher_generate_iv) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 88 | #define psa_cipher_set_iv \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 89 | PSA_FUNCTION_NAME(psa_cipher_set_iv) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 90 | #define psa_cipher_encrypt_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 91 | PSA_FUNCTION_NAME(psa_cipher_encrypt_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 92 | #define psa_cipher_decrypt_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 93 | PSA_FUNCTION_NAME(psa_cipher_decrypt_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 94 | #define psa_cipher_update \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 95 | PSA_FUNCTION_NAME(psa_cipher_update) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 96 | #define psa_cipher_finish \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 97 | PSA_FUNCTION_NAME(psa_cipher_finish) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 98 | #define psa_cipher_abort \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 99 | PSA_FUNCTION_NAME(psa_cipher_abort) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 100 | #define psa_hash_operation_init \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 101 | PSA_FUNCTION_NAME(psa_hash_operation_init) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 102 | #define psa_hash_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 103 | PSA_FUNCTION_NAME(psa_hash_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 104 | #define psa_hash_update \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 105 | PSA_FUNCTION_NAME(psa_hash_update) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 106 | #define psa_hash_finish \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 107 | PSA_FUNCTION_NAME(psa_hash_finish) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 108 | #define psa_hash_verify \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 109 | PSA_FUNCTION_NAME(psa_hash_verify) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 110 | #define psa_hash_abort \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 111 | PSA_FUNCTION_NAME(psa_hash_abort) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 112 | #define psa_hash_clone \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 113 | PSA_FUNCTION_NAME(psa_hash_clone) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 114 | #define psa_hash_compute \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 115 | PSA_FUNCTION_NAME(psa_hash_compute) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 116 | #define psa_hash_compare \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 117 | PSA_FUNCTION_NAME(psa_hash_compare) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 118 | #define psa_mac_operation_init \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 119 | PSA_FUNCTION_NAME(psa_mac_operation_init) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 120 | #define psa_mac_sign_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 121 | PSA_FUNCTION_NAME(psa_mac_sign_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 122 | #define psa_mac_verify_setup \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 123 | PSA_FUNCTION_NAME(psa_mac_verify_setup) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 124 | #define psa_mac_update \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 125 | PSA_FUNCTION_NAME(psa_mac_update) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 126 | #define psa_mac_sign_finish \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 127 | PSA_FUNCTION_NAME(psa_mac_sign_finish) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 128 | #define psa_mac_verify_finish \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 129 | PSA_FUNCTION_NAME(psa_mac_verify_finish) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 130 | #define psa_mac_abort \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 131 | PSA_FUNCTION_NAME(psa_mac_abort) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 132 | #define psa_sign_hash \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 133 | PSA_FUNCTION_NAME(psa_sign_hash) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 134 | #define psa_verify_hash \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 135 | PSA_FUNCTION_NAME(psa_verify_hash) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 136 | #define psa_asymmetric_encrypt \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 137 | PSA_FUNCTION_NAME(psa_asymmetric_encrypt) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 138 | #define psa_asymmetric_decrypt \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 139 | PSA_FUNCTION_NAME(psa_asymmetric_decrypt) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 140 | #define psa_generate_key \ |
Gilles Peskine | 449bd83 | 2023-01-11 14:50:10 +0100 | [diff] [blame] | 141 | PSA_FUNCTION_NAME(psa_generate_key) |
Gilles Peskine | db9c18d | 2021-06-15 18:18:07 +0200 | [diff] [blame] | 142 | |
| 143 | #endif /* CRYPTO_SPE_H */ |