18 #ifndef MBEDTLS_CONFIG_ADJUST_LEGACY_FROM_PSA_H
19 #define MBEDTLS_CONFIG_ADJUST_LEGACY_FROM_PSA_H
21 #if !defined(MBEDTLS_CONFIG_FILES_READ)
22 #error "Do not include mbedtls/config_adjust_*.h manually! This can lead to problems, " \
23 "up to and including runtime errors such as buffer overflows. " \
24 "If you're trying to fix a complaint from check_config.h, just remove " \
25 "it from your configuration file: since Mbed TLS 3.0, it is included " \
26 "automatically at the right point."
32 #if defined(MBEDTLS_PSA_P256M_DRIVER_ENABLED)
33 #define MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256
34 #define MBEDTLS_PSA_ACCEL_ALG_ECDSA
35 #define MBEDTLS_PSA_ACCEL_ALG_ECDH
36 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY
37 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC
38 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT
39 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT
40 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE
60 #if (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) && \
61 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256)) || \
62 (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) && \
63 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384)) || \
64 (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) && \
65 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512)) || \
66 (defined(PSA_WANT_ECC_SECP_R1_192) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192)) || \
67 (defined(PSA_WANT_ECC_SECP_R1_224) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224)) || \
68 (defined(PSA_WANT_ECC_SECP_R1_256) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256)) || \
69 (defined(PSA_WANT_ECC_SECP_R1_384) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384)) || \
70 (defined(PSA_WANT_ECC_SECP_R1_521) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521)) || \
71 (defined(PSA_WANT_ECC_SECP_K1_192) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192)) || \
72 (defined(PSA_WANT_ECC_SECP_K1_256) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256))
73 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES
74 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES
77 #if (defined(PSA_WANT_ECC_MONTGOMERY_255) && !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255)) || \
78 (defined(PSA_WANT_ECC_MONTGOMERY_448) && !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448))
79 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES
83 #if (defined(PSA_WANT_ALG_ECDH) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH)) || \
84 (defined(PSA_WANT_ALG_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA)) || \
85 (defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \
86 !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA)) || \
87 (defined(PSA_WANT_ALG_JPAKE) && !defined(MBEDTLS_PSA_ACCEL_ALG_JPAKE))
88 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS
92 #if (defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) && \
93 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)) || \
94 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) && \
95 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC))
96 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC
100 #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
101 #undef MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE
106 #if (defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) && \
107 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)) || \
108 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) && \
109 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC)) || \
110 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) && \
111 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT)) || \
112 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) && \
113 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT)) || \
114 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) && \
115 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE)) || \
116 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE) && \
117 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE))
118 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES
128 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
129 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256) || \
130 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
131 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
132 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1
133 #define MBEDTLS_ECP_DP_BP256R1_ENABLED
137 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
138 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384) || \
139 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
140 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
141 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1
142 #define MBEDTLS_ECP_DP_BP384R1_ENABLED
146 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
147 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512) || \
148 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
149 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
150 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1
151 #define MBEDTLS_ECP_DP_BP512R1_ENABLED
155 #if defined(PSA_WANT_ECC_MONTGOMERY_255)
156 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255) || \
157 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
158 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
159 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1
160 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
164 #if defined(PSA_WANT_ECC_MONTGOMERY_448)
165 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448) || \
166 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
167 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
168 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1
169 #define MBEDTLS_ECP_DP_CURVE448_ENABLED
173 #if defined(PSA_WANT_ECC_SECP_R1_192)
174 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192) || \
175 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
176 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
177 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1
178 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED
182 #if defined(PSA_WANT_ECC_SECP_R1_224)
183 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224) || \
184 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
185 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
186 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1
187 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED
191 #if defined(PSA_WANT_ECC_SECP_R1_256)
192 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) || \
193 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
194 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
195 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1
196 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
200 #if defined(PSA_WANT_ECC_SECP_R1_384)
201 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384) || \
202 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
203 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
204 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1
205 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED
209 #if defined(PSA_WANT_ECC_SECP_R1_521)
210 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521) || \
211 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
212 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
213 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1
214 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED
218 #if defined(PSA_WANT_ECC_SECP_K1_192)
219 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192) || \
220 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
221 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
222 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1
223 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED
227 #if defined(PSA_WANT_ECC_SECP_K1_256)
228 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256) || \
229 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
230 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
231 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1
232 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED
248 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA)
249 #if !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA) || \
250 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES) || \
251 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
252 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1
253 #define MBEDTLS_ECDSA_DETERMINISTIC
254 #define MBEDTLS_HMAC_DRBG_C
256 #define MBEDTLS_ECDSA_C
257 #define MBEDTLS_ECP_C
258 #define MBEDTLS_BIGNUM_C
259 #define MBEDTLS_ASN1_PARSE_C
260 #define MBEDTLS_ASN1_WRITE_C
264 #if defined(PSA_WANT_ALG_ECDH)
265 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) || \
266 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
267 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
268 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1
269 #define MBEDTLS_ECDH_C
270 #define MBEDTLS_ECP_C
271 #define MBEDTLS_BIGNUM_C
275 #if defined(PSA_WANT_ALG_ECDSA)
276 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) || \
277 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES) || \
278 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
279 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1
280 #define MBEDTLS_ECDSA_C
281 #define MBEDTLS_ECP_C
282 #define MBEDTLS_BIGNUM_C
283 #define MBEDTLS_ASN1_PARSE_C
284 #define MBEDTLS_ASN1_WRITE_C
288 #if defined(PSA_WANT_ALG_JPAKE)
289 #if !defined(MBEDTLS_PSA_ACCEL_ALG_JPAKE) || \
290 !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) || \
291 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
292 #define MBEDTLS_PSA_BUILTIN_PAKE 1
293 #define MBEDTLS_PSA_BUILTIN_ALG_JPAKE 1
294 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
295 #define MBEDTLS_BIGNUM_C
296 #define MBEDTLS_ECP_C
297 #define MBEDTLS_ECJPAKE_C
308 #if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
309 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) || \
310 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
311 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
312 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1
316 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
317 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
318 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
319 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
320 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
324 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT)
325 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
326 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
327 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
331 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT)
332 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
333 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
334 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
338 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE)
339 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
340 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
341 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
346 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
347 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE) || \
348 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
349 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
353 #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY) || \
354 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
355 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
356 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
357 #define MBEDTLS_ECP_LIGHT
358 #define MBEDTLS_BIGNUM_C
361 #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
362 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_GENERATE)
363 #define MBEDTLS_ECP_C
364 #define MBEDTLS_BIGNUM_C
376 #if (defined(PSA_WANT_DH_RFC7919_2048) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_2048)) || \
377 (defined(PSA_WANT_DH_RFC7919_3072) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_3072)) || \
378 (defined(PSA_WANT_DH_RFC7919_4096) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_4096)) || \
379 (defined(PSA_WANT_DH_RFC7919_6144) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_6144)) || \
380 (defined(PSA_WANT_DH_RFC7919_8192) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_8192))
381 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS
385 #if defined(PSA_WANT_ALG_FFDH) && !defined(MBEDTLS_PSA_ACCEL_ALG_FFDH)
386 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS
390 #if (defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY) && \
391 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_PUBLIC_KEY)) || \
392 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) && \
393 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_BASIC)) || \
394 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) && \
395 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_IMPORT)) || \
396 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) && \
397 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_EXPORT)) || \
398 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE) && \
399 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_GENERATE))
400 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES
403 #if defined(PSA_WANT_DH_RFC7919_2048)
404 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_2048) || \
405 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
406 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
407 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_2048 1
411 #if defined(PSA_WANT_DH_RFC7919_3072)
412 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_3072) || \
413 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
414 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
415 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_3072 1
419 #if defined(PSA_WANT_DH_RFC7919_4096)
420 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_4096) || \
421 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
422 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
423 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_4096 1
427 #if defined(PSA_WANT_DH_RFC7919_6144)
428 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_6144) || \
429 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
430 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
431 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_6144 1
435 #if defined(PSA_WANT_DH_RFC7919_8192)
436 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_8192) || \
437 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
438 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
439 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_8192 1
443 #if defined(PSA_WANT_ALG_FFDH)
444 #if !defined(MBEDTLS_PSA_ACCEL_ALG_FFDH) || \
445 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
446 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
447 #define MBEDTLS_PSA_BUILTIN_ALG_FFDH 1
448 #define MBEDTLS_BIGNUM_C
452 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT)
453 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
454 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
455 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
456 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
460 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT)
461 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
462 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
463 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
464 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
468 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)
469 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_GENERATE)
470 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
474 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
475 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_BASIC) || \
476 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
477 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
478 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_BASIC 1
482 #if defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)
483 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_PUBLIC_KEY) || \
484 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
485 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
486 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY 1
487 #define MBEDTLS_BIGNUM_C
493 #if defined(PSA_WANT_ALG_HKDF)
494 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF)
499 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1
503 #if defined(PSA_WANT_ALG_HKDF_EXTRACT)
504 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXTRACT)
509 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT 1
513 #if defined(PSA_WANT_ALG_HKDF_EXPAND)
514 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXPAND)
519 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND 1
523 #if defined(PSA_WANT_ALG_HMAC)
524 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HMAC)
525 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1
529 #if defined(PSA_WANT_ALG_MD5) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD5)
530 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1
531 #define MBEDTLS_MD5_C
534 #if defined(PSA_WANT_ALG_RIPEMD160) && !defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160)
535 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1
536 #define MBEDTLS_RIPEMD160_C
539 #if defined(PSA_WANT_ALG_RSA_OAEP)
540 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_OAEP)
541 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1
542 #define MBEDTLS_RSA_C
543 #define MBEDTLS_BIGNUM_C
544 #define MBEDTLS_OID_C
545 #define MBEDTLS_PKCS1_V21
549 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT)
550 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_CRYPT)
551 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1
552 #define MBEDTLS_RSA_C
553 #define MBEDTLS_BIGNUM_C
554 #define MBEDTLS_OID_C
555 #define MBEDTLS_PKCS1_V15
559 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN)
560 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIGN)
561 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1
562 #define MBEDTLS_RSA_C
563 #define MBEDTLS_BIGNUM_C
564 #define MBEDTLS_OID_C
565 #define MBEDTLS_PKCS1_V15
569 #if defined(PSA_WANT_ALG_RSA_PSS)
570 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PSS)
571 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1
572 #define MBEDTLS_RSA_C
573 #define MBEDTLS_BIGNUM_C
574 #define MBEDTLS_OID_C
575 #define MBEDTLS_PKCS1_V21
579 #if defined(PSA_WANT_ALG_SHA_1) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1)
580 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1
581 #define MBEDTLS_SHA1_C
584 #if defined(PSA_WANT_ALG_SHA_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224)
585 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1
586 #define MBEDTLS_SHA224_C
589 #if defined(PSA_WANT_ALG_SHA_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256)
590 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1
591 #define MBEDTLS_SHA256_C
594 #if defined(PSA_WANT_ALG_SHA_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384)
595 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1
596 #define MBEDTLS_SHA384_C
599 #if defined(PSA_WANT_ALG_SHA_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512)
600 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1
601 #define MBEDTLS_SHA512_C
604 #if defined(PSA_WANT_ALG_SHA3_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_224)
605 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_224 1
606 #define MBEDTLS_SHA3_C
609 #if defined(PSA_WANT_ALG_SHA3_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_256)
610 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_256 1
611 #define MBEDTLS_SHA3_C
614 #if defined(PSA_WANT_ALG_SHA3_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_384)
615 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_384 1
616 #define MBEDTLS_SHA3_C
619 #if defined(PSA_WANT_ALG_SHA3_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_512)
620 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_512 1
621 #define MBEDTLS_SHA3_C
624 #if defined(PSA_WANT_ALG_PBKDF2_HMAC)
625 #if !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_HMAC)
626 #define MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_HMAC 1
627 #define PSA_HAVE_SOFT_PBKDF2_HMAC 1
631 #if defined(PSA_WANT_ALG_TLS12_PRF)
632 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF)
633 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1
637 #if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS)
638 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS)
639 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1
643 #if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS)
644 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_ECJPAKE_TO_PMS)
645 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS 1
649 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT)
650 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_IMPORT)
651 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
655 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT)
656 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_EXPORT)
657 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
661 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)
662 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_GENERATE)
663 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
664 #define MBEDTLS_GENPRIME
668 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
669 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_BASIC)
670 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
674 #if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
675 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY)
676 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1
677 #define MBEDTLS_RSA_C
678 #define MBEDTLS_BIGNUM_C
679 #define MBEDTLS_OID_C
680 #define MBEDTLS_ASN1_PARSE_C
681 #define MBEDTLS_ASN1_WRITE_C
688 #if (defined(PSA_WANT_ALG_CTR) && !defined(MBEDTLS_PSA_ACCEL_ALG_CTR)) || \
689 (defined(PSA_WANT_ALG_CFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_CFB)) || \
690 (defined(PSA_WANT_ALG_OFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_OFB)) || \
691 (defined(PSA_WANT_ALG_ECB_NO_PADDING) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING)) || \
692 (defined(PSA_WANT_ALG_CBC_NO_PADDING) && !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING)) || \
693 (defined(PSA_WANT_ALG_CBC_PKCS7) && !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7)) || \
694 (defined(PSA_WANT_ALG_CMAC) && !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC))
695 #define PSA_HAVE_SOFT_BLOCK_MODE 1
698 #if defined(PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128)
699 #if !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_AES_CMAC_PRF_128)
700 #define MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_AES_CMAC_PRF_128 1
701 #define PSA_HAVE_SOFT_PBKDF2_CMAC 1
705 #if defined(PSA_WANT_KEY_TYPE_AES)
706 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
707 #define PSA_HAVE_SOFT_KEY_TYPE_AES 1
709 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
710 defined(PSA_HAVE_SOFT_BLOCK_MODE)
711 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1
712 #define MBEDTLS_AES_C
716 #if defined(PSA_WANT_KEY_TYPE_ARIA)
717 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARIA)
718 #define PSA_HAVE_SOFT_KEY_TYPE_ARIA 1
720 #if defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
721 defined(PSA_HAVE_SOFT_BLOCK_MODE)
722 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1
723 #define MBEDTLS_ARIA_C
727 #if defined(PSA_WANT_KEY_TYPE_CAMELLIA)
728 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CAMELLIA)
729 #define PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA 1
731 #if defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) || \
732 defined(PSA_HAVE_SOFT_BLOCK_MODE)
733 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1
734 #define MBEDTLS_CAMELLIA_C
738 #if defined(PSA_WANT_KEY_TYPE_DES)
739 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DES)
740 #define PSA_HAVE_SOFT_KEY_TYPE_DES 1
742 #if defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \
743 defined(PSA_HAVE_SOFT_BLOCK_MODE)
744 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1
745 #define MBEDTLS_DES_C
749 #if defined(PSA_WANT_ALG_STREAM_CIPHER)
750 #if !defined(MBEDTLS_PSA_ACCEL_ALG_STREAM_CIPHER)
751 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1
755 #if defined(PSA_WANT_KEY_TYPE_CHACHA20)
756 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20) || \
757 defined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER)
758 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1
759 #define MBEDTLS_CHACHA20_C
766 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
767 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
768 defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \
769 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
770 #define PSA_HAVE_SOFT_BLOCK_CIPHER 1
773 #if defined(PSA_WANT_ALG_CMAC)
774 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC) || \
775 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
776 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1
777 #define MBEDTLS_CMAC_C
781 #if defined(PSA_HAVE_SOFT_PBKDF2_HMAC) || \
782 defined(PSA_HAVE_SOFT_PBKDF2_CMAC)
783 #define PSA_HAVE_SOFT_PBKDF2 1
786 #if defined(PSA_WANT_ALG_CTR)
787 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CTR) || \
788 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
789 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1
790 #define MBEDTLS_CIPHER_MODE_CTR
794 #if defined(PSA_WANT_ALG_CFB)
795 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CFB) || \
796 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
797 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1
798 #define MBEDTLS_CIPHER_MODE_CFB
802 #if defined(PSA_WANT_ALG_OFB)
803 #if !defined(MBEDTLS_PSA_ACCEL_ALG_OFB) || \
804 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
805 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1
806 #define MBEDTLS_CIPHER_MODE_OFB
810 #if defined(PSA_WANT_ALG_ECB_NO_PADDING) && \
811 !defined(MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING)
812 #define MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING 1
815 #if defined(PSA_WANT_ALG_CBC_NO_PADDING)
816 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING) || \
817 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
818 #define MBEDTLS_CIPHER_MODE_CBC
819 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING 1
823 #if defined(PSA_WANT_ALG_CBC_PKCS7)
824 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7) || \
825 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
826 #define MBEDTLS_CIPHER_MODE_CBC
827 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7 1
828 #define MBEDTLS_CIPHER_PADDING_PKCS7
832 #if defined(PSA_WANT_ALG_CCM)
833 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CCM) || \
834 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
835 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
836 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
837 #define MBEDTLS_PSA_BUILTIN_ALG_CCM 1
838 #define MBEDTLS_CCM_C
842 #if defined(PSA_WANT_ALG_CCM_STAR_NO_TAG)
843 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CCM_STAR_NO_TAG) || \
844 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
845 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
846 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
847 #define MBEDTLS_PSA_BUILTIN_ALG_CCM_STAR_NO_TAG 1
848 #define MBEDTLS_CCM_C
852 #if defined(PSA_WANT_ALG_GCM)
853 #if !defined(MBEDTLS_PSA_ACCEL_ALG_GCM) || \
854 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
855 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
856 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
857 #define MBEDTLS_PSA_BUILTIN_ALG_GCM 1
858 #define MBEDTLS_GCM_C
862 #if defined(PSA_WANT_ALG_CHACHA20_POLY1305)
863 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305)
864 #if defined(PSA_WANT_KEY_TYPE_CHACHA20)
865 #define MBEDTLS_CHACHAPOLY_C
866 #define MBEDTLS_CHACHA20_C
867 #define MBEDTLS_POLY1305_C
868 #define MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1