30 #ifndef MBEDTLS_CONFIG_PSA_H 31 #define MBEDTLS_CONFIG_PSA_H 33 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 34 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG_FILE) 35 #include MBEDTLS_PSA_CRYPTO_CONFIG_FILE 41 #if defined(MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE) 42 #include MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE 55 #if defined(PSA_WANT_ALG_ECDSA_ANY) && !defined(PSA_WANT_ALG_ECDSA) 56 #define PSA_WANT_ALG_ECDSA PSA_WANT_ALG_ECDSA_ANY 57 #elif !defined(PSA_WANT_ALG_ECDSA_ANY) && defined(PSA_WANT_ALG_ECDSA) 58 #define PSA_WANT_ALG_ECDSA_ANY PSA_WANT_ALG_ECDSA 61 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 62 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW 63 #elif !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 64 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW PSA_WANT_ALG_RSA_PKCS1V15_SIGN 67 #if defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && !defined(PSA_WANT_ALG_RSA_PSS) 68 #define PSA_WANT_ALG_RSA_PSS PSA_WANT_ALG_RSA_PSS_ANY_SALT 69 #elif !defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && defined(PSA_WANT_ALG_RSA_PSS) 70 #define PSA_WANT_ALG_RSA_PSS_ANY_SALT PSA_WANT_ALG_RSA_PSS 79 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 81 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) 82 #if !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA) 83 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1 84 #define MBEDTLS_ECDSA_DETERMINISTIC 85 #define MBEDTLS_ECDSA_C 86 #define MBEDTLS_HMAC_DRBG_C 91 #if defined(PSA_WANT_ALG_ECDH) 92 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) 93 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1 94 #define MBEDTLS_ECDH_C 96 #define MBEDTLS_BIGNUM_C 100 #if defined(PSA_WANT_ALG_ECDSA) 101 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) 102 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1 103 #define MBEDTLS_ECDSA_C 104 #define MBEDTLS_ECP_C 105 #define MBEDTLS_BIGNUM_C 106 #define MBEDTLS_ASN1_PARSE_C 107 #define MBEDTLS_ASN1_WRITE_C 111 #if defined(PSA_WANT_ALG_HKDF) 112 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF) 113 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 114 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1 118 #if defined(PSA_WANT_ALG_HMAC) 119 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HMAC) 120 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 124 #if defined(PSA_WANT_ALG_MD2) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD2) 125 #define MBEDTLS_PSA_BUILTIN_ALG_MD2 1 126 #define MBEDTLS_MD2_C 129 #if defined(PSA_WANT_ALG_MD4) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD4) 130 #define MBEDTLS_PSA_BUILTIN_ALG_MD4 1 131 #define MBEDTLS_MD4_C 134 #if defined(PSA_WANT_ALG_MD5) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD5) 135 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1 136 #define MBEDTLS_MD5_C 139 #if defined(PSA_WANT_ALG_RIPEMD160) && !defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160) 140 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 141 #define MBEDTLS_RIPEMD160_C 144 #if defined(PSA_WANT_ALG_RSA_OAEP) 145 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_OAEP) 146 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1 147 #define MBEDTLS_RSA_C 148 #define MBEDTLS_BIGNUM_C 149 #define MBEDTLS_OID_C 150 #define MBEDTLS_PKCS1_V21 155 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) 156 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_CRYPT) 157 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1 158 #define MBEDTLS_RSA_C 159 #define MBEDTLS_BIGNUM_C 160 #define MBEDTLS_OID_C 161 #define MBEDTLS_PKCS1_V15 165 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 166 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIGN) 167 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1 168 #define MBEDTLS_RSA_C 169 #define MBEDTLS_BIGNUM_C 170 #define MBEDTLS_OID_C 171 #define MBEDTLS_PKCS1_V15 176 #if defined(PSA_WANT_ALG_RSA_PSS) 177 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PSS) 178 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1 179 #define MBEDTLS_RSA_C 180 #define MBEDTLS_BIGNUM_C 181 #define MBEDTLS_OID_C 182 #define MBEDTLS_PKCS1_V21 187 #if defined(PSA_WANT_ALG_SHA_1) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1) 188 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1 189 #define MBEDTLS_SHA1_C 192 #if defined(PSA_WANT_ALG_SHA_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224) 193 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1 194 #define MBEDTLS_SHA256_C 197 #if defined(PSA_WANT_ALG_SHA_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256) 198 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1 199 #define MBEDTLS_SHA256_C 202 #if defined(PSA_WANT_ALG_SHA_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384) 203 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1 204 #define MBEDTLS_SHA512_C 207 #if defined(PSA_WANT_ALG_SHA_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512) 208 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1 209 #define MBEDTLS_SHA512_C 212 #if defined(PSA_WANT_ALG_TLS12_PRF) 213 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF) 214 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1 218 #if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) 219 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS) 220 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1 224 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) 225 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) 226 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR 1 227 #define MBEDTLS_ECP_C 228 #define MBEDTLS_BIGNUM_C 232 #if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) 233 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) 234 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1 235 #define MBEDTLS_ECP_C 236 #define MBEDTLS_BIGNUM_C 240 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) 241 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) 242 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR 1 243 #define MBEDTLS_RSA_C 244 #define MBEDTLS_BIGNUM_C 245 #define MBEDTLS_OID_C 246 #define MBEDTLS_GENPRIME 247 #define MBEDTLS_PK_PARSE_C 248 #define MBEDTLS_PK_WRITE_C 250 #define MBEDTLS_ASN1_PARSE_C 251 #define MBEDTLS_ASN1_WRITE_C 255 #if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY) 256 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY) 257 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1 258 #define MBEDTLS_RSA_C 259 #define MBEDTLS_BIGNUM_C 260 #define MBEDTLS_OID_C 261 #define MBEDTLS_PK_PARSE_C 262 #define MBEDTLS_PK_WRITE_C 264 #define MBEDTLS_ASN1_PARSE_C 265 #define MBEDTLS_ASN1_WRITE_C 272 #if (defined(PSA_WANT_ALG_CTR) && !defined(MBEDTLS_PSA_ACCEL_ALG_CTR)) || \ 273 (defined(PSA_WANT_ALG_CFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_CFB)) || \ 274 (defined(PSA_WANT_ALG_OFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_OFB)) || \ 275 defined(PSA_WANT_ALG_ECB_NO_PADDING) || \ 276 (defined(PSA_WANT_ALG_CBC_NO_PADDING) && \ 277 !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING)) || \ 278 (defined(PSA_WANT_ALG_CBC_PKCS7) && \ 279 !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7)) || \ 280 (defined(PSA_WANT_ALG_CMAC) && !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC)) 281 #define PSA_HAVE_SOFT_BLOCK_MODE 1 284 #if (defined(PSA_WANT_ALG_GCM) && !defined(MBEDTLS_PSA_ACCEL_ALG_GCM)) || \ 285 (defined(PSA_WANT_ALG_CCM) && !defined(MBEDTLS_PSA_ACCEL_ALG_CCM)) 286 #define PSA_HAVE_SOFT_BLOCK_AEAD 1 289 #if defined(PSA_WANT_KEY_TYPE_AES) 290 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES) 291 #define PSA_HAVE_SOFT_KEY_TYPE_AES 1 293 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 294 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 295 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 296 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1 297 #define MBEDTLS_AES_C 301 #if defined(PSA_WANT_KEY_TYPE_ARC4) 302 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARC4) 303 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARC4 1 304 #define MBEDTLS_ARC4_C 308 #if defined(PSA_WANT_KEY_TYPE_ARIA) 309 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARIA) 310 #define PSA_HAVE_SOFT_KEY_TYPE_ARIA 1 312 #if defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 313 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 314 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 315 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1 316 #define MBEDTLS_ARIA_C 320 #if defined(PSA_WANT_KEY_TYPE_CAMELLIA) 321 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CAMELLIA) 322 #define PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA 1 324 #if defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) || \ 325 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 326 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 327 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1 328 #define MBEDTLS_CAMELLIA_C 332 #if defined(PSA_WANT_KEY_TYPE_DES) 333 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DES) 334 #define PSA_HAVE_SOFT_KEY_TYPE_DES 1 336 #if defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \ 337 defined(PSA_HAVE_SOFT_BLOCK_MODE) 338 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1 339 #define MBEDTLS_DES_C 343 #if defined(PSA_WANT_KEY_TYPE_CHACHA20) 344 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20) 345 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1 346 #define MBEDTLS_CHACHA20_C 353 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 354 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 355 defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \ 356 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) 357 #define PSA_HAVE_SOFT_BLOCK_CIPHER 1 360 #if defined(PSA_WANT_ALG_STREAM_CIPHER) 361 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 364 #if defined(PSA_WANT_ALG_CBC_MAC) 365 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_MAC) 366 #error "CBC-MAC is not yet supported via the PSA API in Mbed TLS." 367 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_MAC 1 371 #if defined(PSA_WANT_ALG_CMAC) 372 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC) || \ 373 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 374 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1 375 #define MBEDTLS_CMAC_C 379 #if defined(PSA_WANT_ALG_CTR) 380 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CTR) || \ 381 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 382 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1 383 #define MBEDTLS_CIPHER_MODE_CTR 387 #if defined(PSA_WANT_ALG_CFB) 388 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CFB) || \ 389 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 390 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1 391 #define MBEDTLS_CIPHER_MODE_CFB 395 #if defined(PSA_WANT_ALG_OFB) 396 #if !defined(MBEDTLS_PSA_ACCEL_ALG_OFB) || \ 397 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 398 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1 399 #define MBEDTLS_CIPHER_MODE_OFB 403 #if defined(PSA_WANT_ALG_ECB_NO_PADDING) && \ 404 !defined(MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING) 405 #define MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING 1 408 #if defined(PSA_WANT_ALG_CBC_NO_PADDING) 409 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING) || \ 410 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 411 #define MBEDTLS_CIPHER_MODE_CBC 412 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING 1 416 #if defined(PSA_WANT_ALG_CBC_PKCS7) 417 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7) || \ 418 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 419 #define MBEDTLS_CIPHER_MODE_CBC 420 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7 1 421 #define MBEDTLS_CIPHER_PADDING_PKCS7 425 #if defined(PSA_WANT_ALG_CCM) 426 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CCM) || \ 427 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 428 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 429 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) 430 #define MBEDTLS_PSA_BUILTIN_ALG_CCM 1 431 #define MBEDTLS_CCM_C 435 #if defined(PSA_WANT_ALG_GCM) 436 #if !defined(MBEDTLS_PSA_ACCEL_ALG_GCM) || \ 437 defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 438 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 439 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) 440 #define MBEDTLS_PSA_BUILTIN_ALG_GCM 1 441 #define MBEDTLS_GCM_C 445 #if defined(PSA_WANT_ALG_CHACHA20_POLY1305) 446 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305) 447 #if defined(PSA_WANT_KEY_TYPE_CHACHA20) 448 #define MBEDTLS_CHACHAPOLY_C 449 #define MBEDTLS_CHACHA20_C 450 #define MBEDTLS_POLY1305_C 451 #define MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1 456 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) 457 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256) 458 #define MBEDTLS_ECP_DP_BP256R1_ENABLED 459 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1 463 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) 464 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384) 465 #define MBEDTLS_ECP_DP_BP384R1_ENABLED 466 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1 470 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) 471 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512) 472 #define MBEDTLS_ECP_DP_BP512R1_ENABLED 473 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1 477 #if defined(PSA_WANT_ECC_MONTGOMERY_255) 478 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255) 479 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED 480 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1 484 #if defined(PSA_WANT_ECC_MONTGOMERY_448) 485 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448) 490 #error "Curve448 is not yet supported via the PSA API in Mbed TLS." 491 #define MBEDTLS_ECP_DP_CURVE448_ENABLED 492 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1 496 #if defined(PSA_WANT_ECC_SECP_R1_192) 497 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192) 498 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED 499 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1 503 #if defined(PSA_WANT_ECC_SECP_R1_224) 504 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224) 505 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED 506 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1 510 #if defined(PSA_WANT_ECC_SECP_R1_256) 511 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) 512 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED 513 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1 517 #if defined(PSA_WANT_ECC_SECP_R1_384) 518 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384) 519 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED 520 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1 524 #if defined(PSA_WANT_ECC_SECP_R1_521) 525 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521) 526 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED 527 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1 531 #if defined(PSA_WANT_ECC_SECP_K1_192) 532 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192) 533 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED 534 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1 538 #if defined(PSA_WANT_ECC_SECP_K1_224) 539 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_224) 544 #error "SECP224K1 is buggy via the PSA API in Mbed TLS." 545 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED 546 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1 550 #if defined(PSA_WANT_ECC_SECP_K1_256) 551 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256) 552 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED 553 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1 570 #if defined(MBEDTLS_CCM_C) 571 #define MBEDTLS_PSA_BUILTIN_ALG_CCM 1 572 #define PSA_WANT_ALG_CCM 1 575 #if defined(MBEDTLS_CMAC_C) 576 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1 577 #define PSA_WANT_ALG_CMAC 1 580 #if defined(MBEDTLS_ECDH_C) 581 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1 582 #define PSA_WANT_ALG_ECDH 1 585 #if defined(MBEDTLS_ECDSA_C) 586 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1 587 #define PSA_WANT_ALG_ECDSA 1 588 #define PSA_WANT_ALG_ECDSA_ANY 1 591 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) 592 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1 593 #define PSA_WANT_ALG_DETERMINISTIC_ECDSA 1 598 #if defined(MBEDTLS_ECP_C) 599 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR 1 600 #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 601 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1 602 #define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1 605 #if defined(MBEDTLS_GCM_C) 606 #define MBEDTLS_PSA_BUILTIN_ALG_GCM 1 607 #define PSA_WANT_ALG_GCM 1 610 #if defined(MBEDTLS_HKDF_C) 611 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 612 #define PSA_WANT_ALG_HMAC 1 613 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1 614 #define PSA_WANT_ALG_HKDF 1 617 #if defined(MBEDTLS_MD_C) 618 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 619 #define PSA_WANT_ALG_HMAC 1 620 #define PSA_WANT_KEY_TYPE_HMAC 621 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1 622 #define PSA_WANT_ALG_TLS12_PRF 1 623 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1 624 #define PSA_WANT_ALG_TLS12_PSK_TO_MS 1 627 #if defined(MBEDTLS_MD2_C) 628 #define MBEDTLS_PSA_BUILTIN_ALG_MD2 1 629 #define PSA_WANT_ALG_MD2 1 632 #if defined(MBEDTLS_MD4_C) 633 #define MBEDTLS_PSA_BUILTIN_ALG_MD4 1 634 #define PSA_WANT_ALG_MD4 1 637 #if defined(MBEDTLS_MD5_C) 638 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1 639 #define PSA_WANT_ALG_MD5 1 642 #if defined(MBEDTLS_RIPEMD160_C) 643 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 644 #define PSA_WANT_ALG_RIPEMD160 1 647 #if defined(MBEDTLS_RSA_C) 648 #if defined(MBEDTLS_PKCS1_V15) 649 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1 650 #define PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1 651 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1 652 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1 653 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW 1 655 #if defined(MBEDTLS_PKCS1_V21) 656 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1 657 #define PSA_WANT_ALG_RSA_OAEP 1 658 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1 659 #define PSA_WANT_ALG_RSA_PSS 1 661 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR 1 662 #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 663 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1 664 #define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1 667 #if defined(MBEDTLS_SHA1_C) 668 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1 669 #define PSA_WANT_ALG_SHA_1 1 672 #if defined(MBEDTLS_SHA256_C) 673 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1 674 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1 675 #define PSA_WANT_ALG_SHA_224 1 676 #define PSA_WANT_ALG_SHA_256 1 679 #if defined(MBEDTLS_SHA512_C) 680 #if !defined(MBEDTLS_SHA512_NO_SHA384) 681 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1 682 #define PSA_WANT_ALG_SHA_384 1 684 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1 685 #define PSA_WANT_ALG_SHA_512 1 688 #if defined(MBEDTLS_AES_C) 689 #define PSA_WANT_KEY_TYPE_AES 1 690 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1 693 #if defined(MBEDTLS_ARC4_C) 694 #define PSA_WANT_KEY_TYPE_ARC4 1 695 #define PSA_WANT_ALG_STREAM_CIPHER 1 696 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARC4 1 697 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 700 #if defined(MBEDTLS_ARIA_C) 701 #define PSA_WANT_KEY_TYPE_ARIA 1 702 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1 705 #if defined(MBEDTLS_CAMELLIA_C) 706 #define PSA_WANT_KEY_TYPE_CAMELLIA 1 707 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1 710 #if defined(MBEDTLS_DES_C) 711 #define PSA_WANT_KEY_TYPE_DES 1 712 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1 715 #if defined(MBEDTLS_CHACHA20_C) 716 #define PSA_WANT_KEY_TYPE_CHACHA20 1 717 #define PSA_WANT_ALG_STREAM_CIPHER 1 718 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1 719 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 720 #if defined(MBEDTLS_CHACHAPOLY_C) 721 #define PSA_WANT_ALG_CHACHA20_POLY1305 1 722 #define MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1 726 #if defined(MBEDTLS_CIPHER_MODE_CBC) 727 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING 1 728 #define PSA_WANT_ALG_CBC_NO_PADDING 1 729 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7) 730 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7 1 731 #define PSA_WANT_ALG_CBC_PKCS7 1 735 #if defined(MBEDTLS_AES_C) || defined(MBEDTLS_DES_C) || \ 736 defined(MBEDTLS_ARIA_C) || defined(MBEDTLS_CAMELLIA_C) 737 #define MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING 1 738 #define PSA_WANT_ALG_ECB_NO_PADDING 1 741 #if defined(MBEDTLS_CIPHER_MODE_CFB) 742 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1 743 #define PSA_WANT_ALG_CFB 1 746 #if defined(MBEDTLS_CIPHER_MODE_CTR) 747 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1 748 #define PSA_WANT_ALG_CTR 1 751 #if defined(MBEDTLS_CIPHER_MODE_OFB) 752 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1 753 #define PSA_WANT_ALG_OFB 1 756 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 757 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1 758 #define PSA_WANT_ECC_BRAINPOOL_P_R1_256 761 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 762 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1 763 #define PSA_WANT_ECC_BRAINPOOL_P_R1_384 766 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 767 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1 768 #define PSA_WANT_ECC_BRAINPOOL_P_R1_512 771 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 772 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1 773 #define PSA_WANT_ECC_MONTGOMERY_255 777 #if 0 && defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 778 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1 779 #define PSA_WANT_ECC_MONTGOMERY_448 782 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 783 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1 784 #define PSA_WANT_ECC_SECP_R1_192 787 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 788 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1 789 #define PSA_WANT_ECC_SECP_R1_224 792 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 793 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1 794 #define PSA_WANT_ECC_SECP_R1_256 797 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 798 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1 799 #define PSA_WANT_ECC_SECP_R1_384 802 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 803 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1 804 #define PSA_WANT_ECC_SECP_R1_521 807 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 808 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1 809 #define PSA_WANT_ECC_SECP_K1_192 813 #if 0 && defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 814 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1 815 #define PSA_WANT_ECC_SECP_K1_224 818 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 819 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1 820 #define PSA_WANT_ECC_SECP_K1_256 826 #define PSA_WANT_KEY_TYPE_DERIVE 1 827 #define PSA_WANT_KEY_TYPE_RAW_DATA 1 PSA crypto configuration options (set of defines)