File indexing completed on 2025-08-27 09:37:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef MBEDTLS_CONFIG_ADJUST_LEGACY_FROM_PSA_H
0019 #define MBEDTLS_CONFIG_ADJUST_LEGACY_FROM_PSA_H
0020
0021 #if !defined(MBEDTLS_CONFIG_FILES_READ)
0022 #error "Do not include mbedtls/config_adjust_*.h manually! This can lead to problems, " \
0023 "up to and including runtime errors such as buffer overflows. " \
0024 "If you're trying to fix a complaint from check_config.h, just remove " \
0025 "it from your configuration file: since Mbed TLS 3.0, it is included " \
0026 "automatically at the right point."
0027 #endif
0028
0029
0030
0031
0032 #if defined(MBEDTLS_PSA_P256M_DRIVER_ENABLED)
0033 #define MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256
0034 #define MBEDTLS_PSA_ACCEL_ALG_ECDSA
0035 #define MBEDTLS_PSA_ACCEL_ALG_ECDH
0036 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY
0037 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC
0038 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT
0039 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT
0040 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE
0041 #endif
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060 #if (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) && \
0061 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256)) || \
0062 (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) && \
0063 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384)) || \
0064 (defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) && \
0065 !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512)) || \
0066 (defined(PSA_WANT_ECC_SECP_R1_192) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192)) || \
0067 (defined(PSA_WANT_ECC_SECP_R1_224) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224)) || \
0068 (defined(PSA_WANT_ECC_SECP_R1_256) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256)) || \
0069 (defined(PSA_WANT_ECC_SECP_R1_384) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384)) || \
0070 (defined(PSA_WANT_ECC_SECP_R1_521) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521)) || \
0071 (defined(PSA_WANT_ECC_SECP_K1_192) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192)) || \
0072 (defined(PSA_WANT_ECC_SECP_K1_224) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_224)) || \
0073 (defined(PSA_WANT_ECC_SECP_K1_256) && !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256))
0074 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES
0075 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES
0076 #endif
0077
0078 #if (defined(PSA_WANT_ECC_MONTGOMERY_255) && !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255)) || \
0079 (defined(PSA_WANT_ECC_MONTGOMERY_448) && !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448))
0080 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES
0081 #endif
0082
0083
0084 #if (defined(PSA_WANT_ALG_ECDH) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH)) || \
0085 (defined(PSA_WANT_ALG_ECDSA) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA)) || \
0086 (defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \
0087 !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA)) || \
0088 (defined(PSA_WANT_ALG_JPAKE) && !defined(MBEDTLS_PSA_ACCEL_ALG_JPAKE))
0089 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS
0090 #endif
0091
0092
0093 #if (defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) && \
0094 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)) || \
0095 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) && \
0096 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC))
0097 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC
0098 #endif
0099
0100
0101 #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
0102 #undef MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE
0103 #endif
0104
0105
0106
0107 #if (defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) && \
0108 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)) || \
0109 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) && \
0110 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC)) || \
0111 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) && \
0112 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT)) || \
0113 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) && \
0114 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT)) || \
0115 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) && \
0116 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE)) || \
0117 (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE) && \
0118 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE))
0119 #define MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES
0120 #endif
0121
0122
0123
0124
0125
0126
0127
0128
0129 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
0130 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256) || \
0131 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0132 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0133 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1
0134 #define MBEDTLS_ECP_DP_BP256R1_ENABLED
0135 #endif
0136 #endif
0137
0138 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
0139 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384) || \
0140 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0141 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0142 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1
0143 #define MBEDTLS_ECP_DP_BP384R1_ENABLED
0144 #endif
0145 #endif
0146
0147 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
0148 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512) || \
0149 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0150 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0151 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1
0152 #define MBEDTLS_ECP_DP_BP512R1_ENABLED
0153 #endif
0154 #endif
0155
0156 #if defined(PSA_WANT_ECC_MONTGOMERY_255)
0157 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255) || \
0158 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0159 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0160 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1
0161 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
0162 #endif
0163 #endif
0164
0165 #if defined(PSA_WANT_ECC_MONTGOMERY_448)
0166 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448) || \
0167 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0168 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0169 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1
0170 #define MBEDTLS_ECP_DP_CURVE448_ENABLED
0171 #endif
0172 #endif
0173
0174 #if defined(PSA_WANT_ECC_SECP_R1_192)
0175 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192) || \
0176 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0177 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0178 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1
0179 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED
0180 #endif
0181 #endif
0182
0183 #if defined(PSA_WANT_ECC_SECP_R1_224)
0184 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224) || \
0185 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0186 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0187 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1
0188 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED
0189 #endif
0190 #endif
0191
0192 #if defined(PSA_WANT_ECC_SECP_R1_256)
0193 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) || \
0194 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0195 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0196 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1
0197 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
0198 #endif
0199 #endif
0200
0201 #if defined(PSA_WANT_ECC_SECP_R1_384)
0202 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384) || \
0203 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0204 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0205 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1
0206 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED
0207 #endif
0208 #endif
0209
0210 #if defined(PSA_WANT_ECC_SECP_R1_521)
0211 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521) || \
0212 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0213 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0214 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1
0215 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED
0216 #endif
0217 #endif
0218
0219 #if defined(PSA_WANT_ECC_SECP_K1_192)
0220 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192) || \
0221 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0222 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0223 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1
0224 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED
0225 #endif
0226 #endif
0227
0228 #if defined(PSA_WANT_ECC_SECP_K1_224)
0229 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_224) || \
0230 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0231 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0232 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1
0233 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED
0234
0235 #error "SECP224K1 is buggy via the PSA API in Mbed TLS."
0236 #endif
0237 #endif
0238
0239 #if defined(PSA_WANT_ECC_SECP_K1_256)
0240 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256) || \
0241 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES) || \
0242 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0243 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1
0244 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED
0245 #endif
0246 #endif
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA)
0261 #if !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA) || \
0262 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES) || \
0263 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
0264 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1
0265 #define MBEDTLS_ECDSA_DETERMINISTIC
0266 #define MBEDTLS_HMAC_DRBG_C
0267 #define MBEDTLS_MD_C
0268 #define MBEDTLS_ECDSA_C
0269 #define MBEDTLS_ECP_C
0270 #define MBEDTLS_BIGNUM_C
0271 #define MBEDTLS_ASN1_PARSE_C
0272 #define MBEDTLS_ASN1_WRITE_C
0273 #endif
0274 #endif
0275
0276 #if defined(PSA_WANT_ALG_ECDH)
0277 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) || \
0278 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
0279 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
0280 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1
0281 #define MBEDTLS_ECDH_C
0282 #define MBEDTLS_ECP_C
0283 #define MBEDTLS_BIGNUM_C
0284 #endif
0285 #endif
0286
0287 #if defined(PSA_WANT_ALG_ECDSA)
0288 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) || \
0289 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_WEIERSTRASS_CURVES) || \
0290 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
0291 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1
0292 #define MBEDTLS_ECDSA_C
0293 #define MBEDTLS_ECP_C
0294 #define MBEDTLS_BIGNUM_C
0295 #define MBEDTLS_ASN1_PARSE_C
0296 #define MBEDTLS_ASN1_WRITE_C
0297 #endif
0298 #endif
0299
0300 #if defined(PSA_WANT_ALG_JPAKE)
0301 #if !defined(MBEDTLS_PSA_ACCEL_ALG_JPAKE) || \
0302 !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) || \
0303 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_KEY_TYPES_BASIC)
0304 #define MBEDTLS_PSA_BUILTIN_PAKE 1
0305 #define MBEDTLS_PSA_BUILTIN_ALG_JPAKE 1
0306 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
0307 #define MBEDTLS_BIGNUM_C
0308 #define MBEDTLS_ECP_C
0309 #define MBEDTLS_ECJPAKE_C
0310 #endif
0311 #endif
0312
0313
0314
0315
0316
0317
0318
0319
0320 #if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
0321 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) || \
0322 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
0323 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0324 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1
0325 #endif
0326 #endif
0327
0328 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
0329 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
0330 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES) || \
0331 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_ALGS)
0332 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
0333 #endif
0334 #endif
0335
0336 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT)
0337 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
0338 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
0339 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
0340 #endif
0341 #endif
0342
0343 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT)
0344 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
0345 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
0346 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
0347 #endif
0348 #endif
0349
0350 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE)
0351 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
0352 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
0353 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
0354 #endif
0355 #endif
0356
0357
0358 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
0359 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_DERIVE) || \
0360 defined(MBEDTLS_PSA_ECC_ACCEL_INCOMPLETE_CURVES)
0361 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
0362 #endif
0363 #endif
0364
0365 #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY) || \
0366 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
0367 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
0368 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
0369 #define MBEDTLS_ECP_LIGHT
0370 #define MBEDTLS_BIGNUM_C
0371 #endif
0372
0373 #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
0374 defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_GENERATE)
0375 #define MBEDTLS_ECP_C
0376 #define MBEDTLS_BIGNUM_C
0377 #endif
0378
0379
0380
0381
0382
0383
0384
0385
0386
0387
0388 #if (defined(PSA_WANT_DH_RFC7919_2048) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_2048)) || \
0389 (defined(PSA_WANT_DH_RFC7919_3072) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_3072)) || \
0390 (defined(PSA_WANT_DH_RFC7919_4096) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_4096)) || \
0391 (defined(PSA_WANT_DH_RFC7919_6144) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_6144)) || \
0392 (defined(PSA_WANT_DH_RFC7919_8192) && !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_8192))
0393 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS
0394 #endif
0395
0396
0397 #if defined(PSA_WANT_ALG_FFDH) && !defined(MBEDTLS_PSA_ACCEL_ALG_FFDH)
0398 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS
0399 #endif
0400
0401
0402 #if (defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY) && \
0403 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_PUBLIC_KEY)) || \
0404 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) && \
0405 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_BASIC)) || \
0406 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) && \
0407 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_IMPORT)) || \
0408 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) && \
0409 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_EXPORT)) || \
0410 (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE) && \
0411 !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_GENERATE))
0412 #define MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES
0413 #endif
0414
0415 #if defined(PSA_WANT_DH_RFC7919_2048)
0416 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_2048) || \
0417 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
0418 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0419 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_2048 1
0420 #endif
0421 #endif
0422
0423 #if defined(PSA_WANT_DH_RFC7919_3072)
0424 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_3072) || \
0425 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
0426 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0427 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_3072 1
0428 #endif
0429 #endif
0430
0431 #if defined(PSA_WANT_DH_RFC7919_4096)
0432 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_4096) || \
0433 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
0434 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0435 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_4096 1
0436 #endif
0437 #endif
0438
0439 #if defined(PSA_WANT_DH_RFC7919_6144)
0440 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_6144) || \
0441 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
0442 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0443 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_6144 1
0444 #endif
0445 #endif
0446
0447 #if defined(PSA_WANT_DH_RFC7919_8192)
0448 #if !defined(MBEDTLS_PSA_ACCEL_DH_RFC7919_8192) || \
0449 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS) || \
0450 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0451 #define MBEDTLS_PSA_BUILTIN_DH_RFC7919_8192 1
0452 #endif
0453 #endif
0454
0455 #if defined(PSA_WANT_ALG_FFDH)
0456 #if !defined(MBEDTLS_PSA_ACCEL_ALG_FFDH) || \
0457 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
0458 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_KEY_TYPES)
0459 #define MBEDTLS_PSA_BUILTIN_ALG_FFDH 1
0460 #define MBEDTLS_BIGNUM_C
0461 #endif
0462 #endif
0463
0464 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT)
0465 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
0466 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
0467 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
0468 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
0469 #endif
0470 #endif
0471
0472 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT)
0473 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
0474 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
0475 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
0476 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
0477 #endif
0478 #endif
0479
0480 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)
0481 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_GENERATE)
0482 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
0483 #endif
0484 #endif
0485
0486 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
0487 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_KEY_PAIR_BASIC) || \
0488 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
0489 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
0490 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_BASIC 1
0491 #endif
0492 #endif
0493
0494 #if defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)
0495 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DH_PUBLIC_KEY) || \
0496 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_GROUPS) || \
0497 defined(MBEDTLS_PSA_DH_ACCEL_INCOMPLETE_ALGS)
0498 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY 1
0499 #define MBEDTLS_BIGNUM_C
0500 #endif
0501 #endif
0502
0503
0504
0505 #if defined(PSA_WANT_ALG_HKDF)
0506 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF)
0507
0508
0509
0510
0511 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1
0512 #endif
0513 #endif
0514
0515 #if defined(PSA_WANT_ALG_HKDF_EXTRACT)
0516 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXTRACT)
0517
0518
0519
0520
0521 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT 1
0522 #endif
0523 #endif
0524
0525 #if defined(PSA_WANT_ALG_HKDF_EXPAND)
0526 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXPAND)
0527
0528
0529
0530
0531 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND 1
0532 #endif
0533 #endif
0534
0535 #if defined(PSA_WANT_ALG_HMAC)
0536 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HMAC)
0537 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1
0538 #endif
0539 #endif
0540
0541 #if defined(PSA_WANT_ALG_MD5) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD5)
0542 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1
0543 #define MBEDTLS_MD5_C
0544 #endif
0545
0546 #if defined(PSA_WANT_ALG_RIPEMD160) && !defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160)
0547 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1
0548 #define MBEDTLS_RIPEMD160_C
0549 #endif
0550
0551 #if defined(PSA_WANT_ALG_RSA_OAEP)
0552 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_OAEP)
0553 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1
0554 #define MBEDTLS_RSA_C
0555 #define MBEDTLS_BIGNUM_C
0556 #define MBEDTLS_OID_C
0557 #define MBEDTLS_PKCS1_V21
0558 #endif
0559 #endif
0560
0561 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT)
0562 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_CRYPT)
0563 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1
0564 #define MBEDTLS_RSA_C
0565 #define MBEDTLS_BIGNUM_C
0566 #define MBEDTLS_OID_C
0567 #define MBEDTLS_PKCS1_V15
0568 #endif
0569 #endif
0570
0571 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN)
0572 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIGN)
0573 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1
0574 #define MBEDTLS_RSA_C
0575 #define MBEDTLS_BIGNUM_C
0576 #define MBEDTLS_OID_C
0577 #define MBEDTLS_PKCS1_V15
0578 #endif
0579 #endif
0580
0581 #if defined(PSA_WANT_ALG_RSA_PSS)
0582 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PSS)
0583 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1
0584 #define MBEDTLS_RSA_C
0585 #define MBEDTLS_BIGNUM_C
0586 #define MBEDTLS_OID_C
0587 #define MBEDTLS_PKCS1_V21
0588 #endif
0589 #endif
0590
0591 #if defined(PSA_WANT_ALG_SHA_1) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1)
0592 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1
0593 #define MBEDTLS_SHA1_C
0594 #endif
0595
0596 #if defined(PSA_WANT_ALG_SHA_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224)
0597 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1
0598 #define MBEDTLS_SHA224_C
0599 #endif
0600
0601 #if defined(PSA_WANT_ALG_SHA_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256)
0602 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1
0603 #define MBEDTLS_SHA256_C
0604 #endif
0605
0606 #if defined(PSA_WANT_ALG_SHA_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384)
0607 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1
0608 #define MBEDTLS_SHA384_C
0609 #endif
0610
0611 #if defined(PSA_WANT_ALG_SHA_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512)
0612 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1
0613 #define MBEDTLS_SHA512_C
0614 #endif
0615
0616 #if defined(PSA_WANT_ALG_SHA3_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_224)
0617 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_224 1
0618 #define MBEDTLS_SHA3_C
0619 #endif
0620
0621 #if defined(PSA_WANT_ALG_SHA3_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_256)
0622 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_256 1
0623 #define MBEDTLS_SHA3_C
0624 #endif
0625
0626 #if defined(PSA_WANT_ALG_SHA3_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_384)
0627 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_384 1
0628 #define MBEDTLS_SHA3_C
0629 #endif
0630
0631 #if defined(PSA_WANT_ALG_SHA3_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_512)
0632 #define MBEDTLS_PSA_BUILTIN_ALG_SHA3_512 1
0633 #define MBEDTLS_SHA3_C
0634 #endif
0635
0636 #if defined(PSA_WANT_ALG_PBKDF2_HMAC)
0637 #if !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_HMAC)
0638 #define MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_HMAC 1
0639 #define PSA_HAVE_SOFT_PBKDF2_HMAC 1
0640 #endif
0641 #endif
0642
0643 #if defined(PSA_WANT_ALG_TLS12_PRF)
0644 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF)
0645 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1
0646 #endif
0647 #endif
0648
0649 #if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS)
0650 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS)
0651 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1
0652 #endif
0653 #endif
0654
0655 #if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS)
0656 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_ECJPAKE_TO_PMS)
0657 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS 1
0658 #endif
0659 #endif
0660
0661 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT)
0662 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_IMPORT)
0663 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
0664 #endif
0665 #endif
0666
0667 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT)
0668 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_EXPORT)
0669 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
0670 #endif
0671 #endif
0672
0673 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)
0674 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_GENERATE)
0675 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
0676 #define MBEDTLS_GENPRIME
0677 #endif
0678 #endif
0679
0680 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
0681 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR_BASIC)
0682 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
0683 #endif
0684 #endif
0685
0686 #if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
0687 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY)
0688 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1
0689 #define MBEDTLS_RSA_C
0690 #define MBEDTLS_BIGNUM_C
0691 #define MBEDTLS_OID_C
0692 #define MBEDTLS_ASN1_PARSE_C
0693 #define MBEDTLS_ASN1_WRITE_C
0694 #endif
0695 #endif
0696
0697
0698
0699
0700 #if (defined(PSA_WANT_ALG_CTR) && !defined(MBEDTLS_PSA_ACCEL_ALG_CTR)) || \
0701 (defined(PSA_WANT_ALG_CFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_CFB)) || \
0702 (defined(PSA_WANT_ALG_OFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_OFB)) || \
0703 (defined(PSA_WANT_ALG_ECB_NO_PADDING) && !defined(MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING)) || \
0704 (defined(PSA_WANT_ALG_CBC_NO_PADDING) && !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING)) || \
0705 (defined(PSA_WANT_ALG_CBC_PKCS7) && !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7)) || \
0706 (defined(PSA_WANT_ALG_CMAC) && !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC))
0707 #define PSA_HAVE_SOFT_BLOCK_MODE 1
0708 #endif
0709
0710 #if defined(PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128)
0711 #if !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_AES_CMAC_PRF_128)
0712 #define MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_AES_CMAC_PRF_128 1
0713 #define PSA_HAVE_SOFT_PBKDF2_CMAC 1
0714 #endif
0715 #endif
0716
0717 #if defined(PSA_WANT_KEY_TYPE_AES)
0718 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
0719 #define PSA_HAVE_SOFT_KEY_TYPE_AES 1
0720 #endif
0721 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
0722 defined(PSA_HAVE_SOFT_BLOCK_MODE)
0723 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1
0724 #define MBEDTLS_AES_C
0725 #endif
0726 #endif
0727
0728 #if defined(PSA_WANT_KEY_TYPE_ARIA)
0729 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARIA)
0730 #define PSA_HAVE_SOFT_KEY_TYPE_ARIA 1
0731 #endif
0732 #if defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
0733 defined(PSA_HAVE_SOFT_BLOCK_MODE)
0734 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1
0735 #define MBEDTLS_ARIA_C
0736 #endif
0737 #endif
0738
0739 #if defined(PSA_WANT_KEY_TYPE_CAMELLIA)
0740 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CAMELLIA)
0741 #define PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA 1
0742 #endif
0743 #if defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) || \
0744 defined(PSA_HAVE_SOFT_BLOCK_MODE)
0745 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1
0746 #define MBEDTLS_CAMELLIA_C
0747 #endif
0748 #endif
0749
0750 #if defined(PSA_WANT_KEY_TYPE_DES)
0751 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DES)
0752 #define PSA_HAVE_SOFT_KEY_TYPE_DES 1
0753 #endif
0754 #if defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \
0755 defined(PSA_HAVE_SOFT_BLOCK_MODE)
0756 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1
0757 #define MBEDTLS_DES_C
0758 #endif
0759 #endif
0760
0761 #if defined(PSA_WANT_ALG_STREAM_CIPHER)
0762 #if !defined(MBEDTLS_PSA_ACCEL_ALG_STREAM_CIPHER)
0763 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1
0764 #endif
0765 #endif
0766
0767 #if defined(PSA_WANT_KEY_TYPE_CHACHA20)
0768 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20) || \
0769 defined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER)
0770 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1
0771 #define MBEDTLS_CHACHA20_C
0772 #endif
0773 #endif
0774
0775
0776
0777
0778 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
0779 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
0780 defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \
0781 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
0782 #define PSA_HAVE_SOFT_BLOCK_CIPHER 1
0783 #endif
0784
0785 #if defined(PSA_WANT_ALG_CBC_MAC)
0786 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_MAC)
0787 #error "CBC-MAC is not yet supported via the PSA API in Mbed TLS."
0788 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_MAC 1
0789 #endif
0790 #endif
0791
0792 #if defined(PSA_WANT_ALG_CMAC)
0793 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC) || \
0794 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0795 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1
0796 #define MBEDTLS_CMAC_C
0797 #endif
0798 #endif
0799
0800 #if defined(PSA_HAVE_SOFT_PBKDF2_HMAC) || \
0801 defined(PSA_HAVE_SOFT_PBKDF2_CMAC)
0802 #define PSA_HAVE_SOFT_PBKDF2 1
0803 #endif
0804
0805 #if defined(PSA_WANT_ALG_CTR)
0806 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CTR) || \
0807 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0808 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1
0809 #define MBEDTLS_CIPHER_MODE_CTR
0810 #endif
0811 #endif
0812
0813 #if defined(PSA_WANT_ALG_CFB)
0814 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CFB) || \
0815 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0816 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1
0817 #define MBEDTLS_CIPHER_MODE_CFB
0818 #endif
0819 #endif
0820
0821 #if defined(PSA_WANT_ALG_OFB)
0822 #if !defined(MBEDTLS_PSA_ACCEL_ALG_OFB) || \
0823 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0824 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1
0825 #define MBEDTLS_CIPHER_MODE_OFB
0826 #endif
0827 #endif
0828
0829 #if defined(PSA_WANT_ALG_ECB_NO_PADDING) && \
0830 !defined(MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING)
0831 #define MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING 1
0832 #endif
0833
0834 #if defined(PSA_WANT_ALG_CBC_NO_PADDING)
0835 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING) || \
0836 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0837 #define MBEDTLS_CIPHER_MODE_CBC
0838 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING 1
0839 #endif
0840 #endif
0841
0842 #if defined(PSA_WANT_ALG_CBC_PKCS7)
0843 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7) || \
0844 defined(PSA_HAVE_SOFT_BLOCK_CIPHER)
0845 #define MBEDTLS_CIPHER_MODE_CBC
0846 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7 1
0847 #define MBEDTLS_CIPHER_PADDING_PKCS7
0848 #endif
0849 #endif
0850
0851 #if defined(PSA_WANT_ALG_CCM)
0852 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CCM) || \
0853 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
0854 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
0855 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
0856 #define MBEDTLS_PSA_BUILTIN_ALG_CCM 1
0857 #define MBEDTLS_CCM_C
0858 #endif
0859 #endif
0860
0861 #if defined(PSA_WANT_ALG_CCM_STAR_NO_TAG)
0862 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CCM_STAR_NO_TAG) || \
0863 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
0864 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
0865 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
0866 #define MBEDTLS_PSA_BUILTIN_ALG_CCM_STAR_NO_TAG 1
0867 #define MBEDTLS_CCM_C
0868 #endif
0869 #endif
0870
0871 #if defined(PSA_WANT_ALG_GCM)
0872 #if !defined(MBEDTLS_PSA_ACCEL_ALG_GCM) || \
0873 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \
0874 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \
0875 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA)
0876 #define MBEDTLS_PSA_BUILTIN_ALG_GCM 1
0877 #define MBEDTLS_GCM_C
0878 #endif
0879 #endif
0880
0881 #if defined(PSA_WANT_ALG_CHACHA20_POLY1305)
0882 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305)
0883 #if defined(PSA_WANT_KEY_TYPE_CHACHA20)
0884 #define MBEDTLS_CHACHAPOLY_C
0885 #define MBEDTLS_CHACHA20_C
0886 #define MBEDTLS_POLY1305_C
0887 #define MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1
0888 #endif
0889 #endif
0890 #endif
0891
0892 #endif