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