1 /* 2 * Copyright (c) 2019-2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef MBEDTLS_ACCELERATOR_CONF_H 9 #define MBEDTLS_ACCELERATOR_CONF_H 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif /* __cplusplus */ 14 15 /* RNG Config */ 16 #undef MBEDTLS_ENTROPY_NV_SEED 17 #undef MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES 18 19 #define MBEDTLS_ENTROPY_C 20 #define MBEDTLS_CTR_DRBG_C 21 22 #define MBEDTLS_ENTROPY_HARDWARE_ALT 23 24 #ifndef MCUBOOT_SIGN_EC384 25 #define MBEDTLS_ENTROPY_FORCE_SHA256 26 #endif 27 28 #ifdef USE_MBEDTLS_CRYPTOCELL 29 #define MBEDTLS_MD_C 30 #endif 31 32 /* Main Config */ 33 #ifdef LEGACY_DRIVER_API_ENABLED 34 #ifdef MBEDTLS_DHM_C 35 #define MBEDTLS_DHM_ALT 36 #endif /* MBEDTLS_DHM_C */ 37 38 #ifdef MBEDTLS_NIST_KW_C 39 #define MBEDTLS_NIST_KW_ALT 40 #endif /* MBEDTLS_NIST_KW_C */ 41 42 #ifdef MBEDTLS_POLY1305_C 43 #define MBEDTLS_POLY1305_ALT 44 #endif /* MBEDTLS_POLY1305_C */ 45 #endif /* LEGACY_DRIVER_API_ENABLED */ 46 47 /****************************************************************/ 48 /* Infer PSA requirements from Mbed TLS capabilities */ 49 /****************************************************************/ 50 #ifndef MBEDTLS_PSA_CRYPTO_CONFIG 51 52 #define MBEDTLS_AES_C 53 54 /* The CC312 does not support CFB mode */ 55 #ifdef MBEDTLS_CIPHER_MODE_CFB 56 #undef MBEDTLS_CIPHER_MODE_CFB 57 #endif /* MBEDTLS_CIPHER_MODE_CFB */ 58 59 #ifdef LEGACY_DRIVER_API_ENABLED 60 61 #ifdef MBEDTLS_AES_C 62 #define MBEDTLS_AES_ALT 63 #define MBEDTLS_AES_SETKEY_ENC_ALT 64 #define MBEDTLS_AES_SETKEY_DEC_ALT 65 #define MBEDTLS_AES_ENCRYPT_ALT 66 #define MBEDTLS_AES_DECRYPT_ALT 67 #endif /* MBEDTLS_AES_C */ 68 69 #ifdef MBEDTLS_ARIA_C 70 #define MBEDTLS_ARIA_ALT 71 #endif /* MBEDTLS_ARIA_C */ 72 73 #ifdef MBEDTLS_CCM_C 74 #define MBEDTLS_CCM_ALT 75 #endif /* MBEDTLS_CCM_C */ 76 77 #ifdef MBEDTLS_CHACHA20_C 78 #define MBEDTLS_CHACHA20_ALT 79 #endif /* MBEDTLS_CHACHA20_C */ 80 81 #ifdef MBEDTLS_CHACHAPOLY_C 82 #define MBEDTLS_CHACHAPOLY_ALT 83 #endif /* MBEDTLS_CHACHAPOLY_C */ 84 85 #ifdef MBEDTLS_CMAC_C 86 #define MBEDTLS_CMAC_ALT 87 #endif /* MBEDTLS_CMAC_C */ 88 89 #ifdef MBEDTLS_ECDH_C 90 #define MBEDTLS_ECDH_GEN_PUBLIC_ALT 91 #define MBEDTLS_ECDH_COMPUTE_SHARED_ALT 92 #endif /* MBEDTLS_ECDH_C */ 93 94 #ifdef MBEDTLS_ECDSA_C 95 #define MBEDTLS_ECDSA_VERIFY_ALT 96 #define MBEDTLS_ECDSA_SIGN_ALT 97 98 #ifndef CRYPTO_HW_ACCELERATOR_OTP_PROVISIONING 99 #define MBEDTLS_ECDSA_GENKEY_ALT 100 #endif 101 #endif /* MBEDTLS_ECDSA_C */ 102 103 #ifdef MBEDTLS_GCM_C 104 #define MBEDTLS_GCM_ALT 105 #endif /* MBEDTLS_GCM_C */ 106 107 #ifdef MBEDTLS_SHA1_C 108 #define MBEDTLS_SHA1_ALT 109 #define MBEDTLS_SHA1_PROCESS_ALT 110 #endif /* MBEDTLS_SHA1_C */ 111 112 #ifdef MBEDTLS_SHA256_C 113 #define MBEDTLS_SHA256_ALT 114 #define MBEDTLS_SHA256_PROCESS_ALT 115 #endif /* MBEDTLS_SHA256_C */ 116 117 #endif /* LEGACY_DRIVER_API_ENABLED */ 118 119 #ifdef MBEDTLS_RSA_C 120 #ifdef LEGACY_DRIVER_API_ENABLED 121 #define MBEDTLS_RSA_ALT 122 #define MBEDTLS_PK_RSA_ALT_SUPPORT 123 #endif /* LEGACY_DRIVER_API_ENABLED */ 124 #define MBEDTLS_GENPRIME 125 #endif /* MBEDTLS_RSA_C */ 126 127 #endif /* MBEDTLS_PSA_CRYPTO_CONFIG */ 128 129 #ifdef __cplusplus 130 } 131 #endif /* __cplusplus */ 132 133 #endif /* MBEDTLS_ACCELERATOR_CONF_H */ 134