30 #ifndef MBEDTLS_CONFIG_PSA_H 31 #define MBEDTLS_CONFIG_PSA_H 33 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 47 #if defined(PSA_WANT_ALG_ECDSA_ANY) && !defined(PSA_WANT_ALG_ECDSA) 48 #define PSA_WANT_ALG_ECDSA PSA_WANT_ALG_ECDSA_ANY 49 #elif !defined(PSA_WANT_ALG_ECDSA_ANY) && defined(PSA_WANT_ALG_ECDSA) 50 #define PSA_WANT_ALG_ECDSA_ANY PSA_WANT_ALG_ECDSA 53 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 54 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW 55 #elif !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 56 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW PSA_WANT_ALG_RSA_PKCS1V15_SIGN 59 #if defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && !defined(PSA_WANT_ALG_RSA_PSS) 60 #define PSA_WANT_ALG_RSA_PSS PSA_WANT_ALG_RSA_PSS_ANY_SALT 61 #elif !defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && defined(PSA_WANT_ALG_RSA_PSS) 62 #define PSA_WANT_ALG_RSA_PSS_ANY_SALT PSA_WANT_ALG_RSA_PSS 71 #if defined(MBEDTLS_PSA_CRYPTO_CONFIG) 73 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) 74 #if !defined(MBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA) 75 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1 76 #define MBEDTLS_ECDSA_DETERMINISTIC 77 #define MBEDTLS_ECDSA_C 78 #define MBEDTLS_HMAC_DRBG_C 83 #if defined(PSA_WANT_ALG_ECDH) 84 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) 85 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1 86 #define MBEDTLS_ECDH_C 88 #define MBEDTLS_BIGNUM_C 92 #if defined(PSA_WANT_ALG_ECDSA) 93 #if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) 94 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1 95 #define MBEDTLS_ECDSA_C 97 #define MBEDTLS_BIGNUM_C 98 #define MBEDTLS_ASN1_PARSE_C 99 #define MBEDTLS_ASN1_WRITE_C 103 #if defined(PSA_WANT_ALG_HKDF) 104 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF) 105 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 106 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1 110 #if defined(PSA_WANT_ALG_HMAC) 111 #if !defined(MBEDTLS_PSA_ACCEL_ALG_HMAC) 112 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 116 #if defined(PSA_WANT_ALG_MD2) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD2) 117 #define MBEDTLS_PSA_BUILTIN_ALG_MD2 1 118 #define MBEDTLS_MD2_C 121 #if defined(PSA_WANT_ALG_MD4) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD4) 122 #define MBEDTLS_PSA_BUILTIN_ALG_MD4 1 123 #define MBEDTLS_MD4_C 126 #if defined(PSA_WANT_ALG_MD5) && !defined(MBEDTLS_PSA_ACCEL_ALG_MD5) 127 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1 128 #define MBEDTLS_MD5_C 131 #if defined(PSA_WANT_ALG_RIPEMD160) && !defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160) 132 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 133 #define MBEDTLS_RIPEMD160_C 136 #if defined(PSA_WANT_ALG_RSA_OAEP) 137 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_OAEP) 138 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1 139 #define MBEDTLS_RSA_C 140 #define MBEDTLS_BIGNUM_C 141 #define MBEDTLS_OID_C 142 #define MBEDTLS_PKCS1_V21 147 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) 148 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_CRYPT) 149 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1 150 #define MBEDTLS_RSA_C 151 #define MBEDTLS_BIGNUM_C 152 #define MBEDTLS_OID_C 153 #define MBEDTLS_PKCS1_V15 157 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) 158 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIGN) 159 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1 160 #define MBEDTLS_RSA_C 161 #define MBEDTLS_BIGNUM_C 162 #define MBEDTLS_OID_C 163 #define MBEDTLS_PKCS1_V15 168 #if defined(PSA_WANT_ALG_RSA_PSS) 169 #if !defined(MBEDTLS_PSA_ACCEL_ALG_RSA_PSS) 170 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1 171 #define MBEDTLS_RSA_C 172 #define MBEDTLS_BIGNUM_C 173 #define MBEDTLS_OID_C 174 #define MBEDTLS_PKCS1_V21 179 #if defined(PSA_WANT_ALG_SHA_1) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1) 180 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1 181 #define MBEDTLS_SHA1_C 184 #if defined(PSA_WANT_ALG_SHA_224) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224) 185 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1 186 #define MBEDTLS_SHA256_C 189 #if defined(PSA_WANT_ALG_SHA_256) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256) 190 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1 191 #define MBEDTLS_SHA256_C 194 #if defined(PSA_WANT_ALG_SHA_384) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384) 195 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1 196 #define MBEDTLS_SHA512_C 199 #if defined(PSA_WANT_ALG_SHA_512) && !defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512) 200 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1 201 #define MBEDTLS_SHA512_C 204 #if defined(PSA_WANT_ALG_TLS12_PRF) 205 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF) 206 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1 210 #if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) 211 #if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS) 212 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1 216 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) 217 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) 218 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR 1 219 #define MBEDTLS_ECP_C 220 #define MBEDTLS_BIGNUM_C 224 #if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) 225 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) 226 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1 227 #define MBEDTLS_ECP_C 228 #define MBEDTLS_BIGNUM_C 232 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) 233 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) 234 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR 1 235 #define MBEDTLS_RSA_C 236 #define MBEDTLS_BIGNUM_C 237 #define MBEDTLS_OID_C 238 #define MBEDTLS_GENPRIME 239 #define MBEDTLS_PK_PARSE_C 240 #define MBEDTLS_PK_WRITE_C 242 #define MBEDTLS_ASN1_PARSE_C 243 #define MBEDTLS_ASN1_WRITE_C 247 #if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY) 248 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY) 249 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1 250 #define MBEDTLS_RSA_C 251 #define MBEDTLS_BIGNUM_C 252 #define MBEDTLS_OID_C 253 #define MBEDTLS_PK_PARSE_C 254 #define MBEDTLS_PK_WRITE_C 256 #define MBEDTLS_ASN1_PARSE_C 257 #define MBEDTLS_ASN1_WRITE_C 264 #if (defined(PSA_WANT_ALG_CTR) && !defined(MBEDTLS_PSA_ACCEL_ALG_CTR)) || \ 265 (defined(PSA_WANT_ALG_CFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_CFB)) || \ 266 (defined(PSA_WANT_ALG_OFB) && !defined(MBEDTLS_PSA_ACCEL_ALG_OFB)) || \ 267 (defined(PSA_WANT_ALG_XTS) && !defined(MBEDTLS_PSA_ACCEL_ALG_XTS)) || \ 268 defined(PSA_WANT_ALG_ECB_NO_PADDING) || \ 269 (defined(PSA_WANT_ALG_CBC_NO_PADDING) && \ 270 !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_NO_PADDING)) || \ 271 (defined(PSA_WANT_ALG_CBC_PKCS7) && \ 272 !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_PKCS7)) || \ 273 (defined(PSA_WANT_ALG_CMAC) && !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC)) 274 #define PSA_HAVE_SOFT_BLOCK_MODE 1 277 #if (defined(PSA_WANT_ALG_GCM) && !defined(MBEDTLS_PSA_ACCEL_ALG_GCM)) || \ 278 (defined(PSA_WANT_ALG_CCM) && !defined(MBEDTLS_PSA_ACCEL_ALG_CCM)) 279 #define PSA_HAVE_SOFT_BLOCK_AEAD 1 282 #if defined(PSA_WANT_KEY_TYPE_AES) 283 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES) 284 #define PSA_HAVE_SOFT_KEY_TYPE_AES 1 286 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 287 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 288 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 289 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1 290 #define MBEDTLS_AES_C 294 #if defined(PSA_WANT_KEY_TYPE_ARC4) 295 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARC4) 296 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARC4 1 297 #define MBEDTLS_ARC4_C 301 #if defined(PSA_WANT_KEY_TYPE_ARIA) 302 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARIA) 303 #define PSA_HAVE_SOFT_KEY_TYPE_ARIA 1 305 #if defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 306 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 307 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 308 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1 309 #define MBEDTLS_ARIA_C 313 #if defined(PSA_WANT_KEY_TYPE_CAMELLIA) 314 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CAMELLIA) 315 #define PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA 1 317 #if defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) || \ 318 defined(PSA_HAVE_SOFT_BLOCK_MODE) || \ 319 defined(PSA_HAVE_SOFT_BLOCK_AEAD) 320 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1 321 #define MBEDTLS_CAMELLIA_C 325 #if defined(PSA_WANT_KEY_TYPE_DES) 326 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_DES) 327 #define PSA_HAVE_SOFT_KEY_TYPE_DES 1 329 #if defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \ 330 defined(PSA_HAVE_SOFT_BLOCK_MODE) 331 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1 332 #define MBEDTLS_DES_C 336 #if defined(PSA_WANT_KEY_TYPE_CHACHA20) 337 #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20) 338 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1 339 #define MBEDTLS_CHACHA20_C 346 #if defined(PSA_HAVE_SOFT_KEY_TYPE_AES) || \ 347 defined(PSA_HAVE_SOFT_KEY_TYPE_ARIA) || \ 348 defined(PSA_HAVE_SOFT_KEY_TYPE_DES) || \ 349 defined(PSA_HAVE_SOFT_KEY_TYPE_CAMELLIA) 350 #define PSA_HAVE_SOFT_BLOCK_CIPHER 1 353 #if defined(PSA_WANT_ALG_STREAM_CIPHER) 354 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 357 #if defined(PSA_WANT_ALG_CBC_MAC) 358 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CBC_MAC) 359 #error "CBC-MAC is not yet supported via the PSA API in Mbed TLS." 360 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_MAC 1 364 #if defined(PSA_WANT_ALG_CMAC) 365 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CMAC) || \ 366 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 367 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1 368 #define MBEDTLS_CMAC_C 372 #if defined(PSA_WANT_ALG_CTR) 373 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CTR) || \ 374 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 375 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1 376 #define MBEDTLS_CIPHER_MODE_CTR 380 #if defined(PSA_WANT_ALG_CFB) 381 #if !defined(MBEDTLS_PSA_ACCEL_ALG_CFB) || \ 382 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 383 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1 384 #define MBEDTLS_CIPHER_MODE_CFB 388 #if defined(PSA_WANT_ALG_OFB) 389 #if !defined(MBEDTLS_PSA_ACCEL_ALG_OFB) || \ 390 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 391 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1 392 #define MBEDTLS_CIPHER_MODE_OFB 396 #if defined(PSA_WANT_ALG_XTS) 397 #if !defined(MBEDTLS_PSA_ACCEL_ALG_XTS) || \ 398 defined(PSA_HAVE_SOFT_BLOCK_CIPHER) 399 #define MBEDTLS_PSA_BUILTIN_ALG_XTS 1 400 #define MBEDTLS_CIPHER_MODE_XTS 404 #if defined(PSA_WANT_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_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1 454 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) 455 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256) 456 #define MBEDTLS_ECP_DP_BP256R1_ENABLED 457 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1 461 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) 462 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384) 463 #define MBEDTLS_ECP_DP_BP384R1_ENABLED 464 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1 468 #if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) 469 #if !defined(MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512) 470 #define MBEDTLS_ECP_DP_BP512R1_ENABLED 471 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1 475 #if defined(PSA_WANT_ECC_MONTGOMERY_255) 476 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_255) 477 #define MBEDTLS_ECP_DP_CURVE25519_ENABLED 478 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1 482 #if defined(PSA_WANT_ECC_MONTGOMERY_448) 483 #if !defined(MBEDTLS_PSA_ACCEL_ECC_MONTGOMERY_448) 488 #error "Curve448 is not yet supported via the PSA API in Mbed TLS." 489 #define MBEDTLS_ECP_DP_CURVE448_ENABLED 490 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1 494 #if defined(PSA_WANT_ECC_SECP_R1_192) 495 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_192) 496 #define MBEDTLS_ECP_DP_SECP192R1_ENABLED 497 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1 501 #if defined(PSA_WANT_ECC_SECP_R1_224) 502 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_224) 503 #define MBEDTLS_ECP_DP_SECP224R1_ENABLED 504 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1 508 #if defined(PSA_WANT_ECC_SECP_R1_256) 509 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_256) 510 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED 511 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1 515 #if defined(PSA_WANT_ECC_SECP_R1_384) 516 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384) 517 #define MBEDTLS_ECP_DP_SECP384R1_ENABLED 518 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1 522 #if defined(PSA_WANT_ECC_SECP_R1_521) 523 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521) 524 #define MBEDTLS_ECP_DP_SECP521R1_ENABLED 525 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1 529 #if defined(PSA_WANT_ECC_SECP_K1_192) 530 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_192) 531 #define MBEDTLS_ECP_DP_SECP192K1_ENABLED 532 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1 536 #if defined(PSA_WANT_ECC_SECP_K1_224) 537 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_224) 542 #error "SECP224K1 is buggy via the PSA API in Mbed TLS." 543 #define MBEDTLS_ECP_DP_SECP224K1_ENABLED 544 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1 548 #if defined(PSA_WANT_ECC_SECP_K1_256) 549 #if !defined(MBEDTLS_PSA_ACCEL_ECC_SECP_K1_256) 550 #define MBEDTLS_ECP_DP_SECP256K1_ENABLED 551 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1 568 #if defined(MBEDTLS_CCM_C) 569 #define MBEDTLS_PSA_BUILTIN_ALG_CCM 1 570 #define PSA_WANT_ALG_CCM 1 573 #if defined(MBEDTLS_CMAC_C) 574 #define MBEDTLS_PSA_BUILTIN_ALG_CMAC 1 575 #define PSA_WANT_ALG_CMAC 1 578 #if defined(MBEDTLS_ECDH_C) 579 #define MBEDTLS_PSA_BUILTIN_ALG_ECDH 1 580 #define PSA_WANT_ALG_ECDH 1 583 #if defined(MBEDTLS_ECDSA_C) 584 #define MBEDTLS_PSA_BUILTIN_ALG_ECDSA 1 585 #define PSA_WANT_ALG_ECDSA 1 586 #define PSA_WANT_ALG_ECDSA_ANY 1 589 #if defined(MBEDTLS_ECDSA_DETERMINISTIC) 590 #define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA 1 591 #define PSA_WANT_ALG_DETERMINISTIC_ECDSA 1 596 #if defined(MBEDTLS_ECP_C) 597 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR 1 598 #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 599 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY 1 600 #define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1 603 #if defined(MBEDTLS_GCM_C) 604 #define MBEDTLS_PSA_BUILTIN_ALG_GCM 1 605 #define PSA_WANT_ALG_GCM 1 608 #if defined(MBEDTLS_HKDF_C) 609 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 610 #define PSA_WANT_ALG_HMAC 1 611 #define MBEDTLS_PSA_BUILTIN_ALG_HKDF 1 612 #define PSA_WANT_ALG_HKDF 1 615 #if defined(MBEDTLS_MD_C) 616 #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 617 #define PSA_WANT_ALG_HMAC 1 618 #define PSA_WANT_KEY_TYPE_HMAC 619 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1 620 #define PSA_WANT_ALG_TLS12_PRF 1 621 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1 622 #define PSA_WANT_ALG_TLS12_PSK_TO_MS 1 625 #if defined(MBEDTLS_MD2_C) 626 #define MBEDTLS_PSA_BUILTIN_ALG_MD2 1 627 #define PSA_WANT_ALG_MD2 1 630 #if defined(MBEDTLS_MD4_C) 631 #define MBEDTLS_PSA_BUILTIN_ALG_MD4 1 632 #define PSA_WANT_ALG_MD4 1 635 #if defined(MBEDTLS_MD5_C) 636 #define MBEDTLS_PSA_BUILTIN_ALG_MD5 1 637 #define PSA_WANT_ALG_MD5 1 640 #if defined(MBEDTLS_RIPEMD160_C) 641 #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 642 #define PSA_WANT_ALG_RIPEMD160 1 645 #if defined(MBEDTLS_RSA_C) 646 #if defined(MBEDTLS_PKCS1_V15) 647 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT 1 648 #define PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1 649 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN 1 650 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1 651 #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW 1 653 #if defined(MBEDTLS_PKCS1_V21) 654 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP 1 655 #define PSA_WANT_ALG_RSA_OAEP 1 656 #define MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS 1 657 #define PSA_WANT_ALG_RSA_PSS 1 659 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR 1 660 #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 661 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY 1 662 #define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1 665 #if defined(MBEDTLS_SHA1_C) 666 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_1 1 667 #define PSA_WANT_ALG_SHA_1 1 670 #if defined(MBEDTLS_SHA256_C) 671 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_224 1 672 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_256 1 673 #define PSA_WANT_ALG_SHA_224 1 674 #define PSA_WANT_ALG_SHA_256 1 677 #if defined(MBEDTLS_SHA512_C) 678 #if !defined(MBEDTLS_SHA512_NO_SHA384) 679 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_384 1 680 #define PSA_WANT_ALG_SHA_384 1 682 #define MBEDTLS_PSA_BUILTIN_ALG_SHA_512 1 683 #define PSA_WANT_ALG_SHA_512 1 686 #if defined(MBEDTLS_AES_C) 687 #define PSA_WANT_KEY_TYPE_AES 1 688 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_AES 1 691 #if defined(MBEDTLS_ARC4_C) 692 #define PSA_WANT_KEY_TYPE_ARC4 1 693 #define PSA_WANT_ALG_STREAM_CIPHER 1 694 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARC4 1 695 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 698 #if defined(MBEDTLS_ARIA_C) 699 #define PSA_WANT_KEY_TYPE_ARIA 1 700 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ARIA 1 703 #if defined(MBEDTLS_CAMELLIA_C) 704 #define PSA_WANT_KEY_TYPE_CAMELLIA 1 705 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CAMELLIA 1 708 #if defined(MBEDTLS_DES_C) 709 #define PSA_WANT_KEY_TYPE_DES 1 710 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1 713 #if defined(MBEDTLS_CHACHA20_C) 714 #define PSA_WANT_KEY_TYPE_CHACHA20 1 715 #define PSA_WANT_ALG_STREAM_CIPHER 1 716 #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_CHACHA20 1 717 #define MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER 1 718 #if defined(MBEDTLS_CHACHAPOLY_C) 719 #define PSA_WANT_ALG_CHACHA20_POLY1305 1 720 #define MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 1 724 #if defined(MBEDTLS_CIPHER_MODE_CBC) 725 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING 1 726 #define PSA_WANT_ALG_CBC_NO_PADDING 1 727 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7) 728 #define MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7 1 729 #define PSA_WANT_ALG_CBC_PKCS7 1 733 #if defined(MBEDTLS_AES_C) || defined(MBEDTLS_DES_C) || \ 734 defined(MBEDTLS_ARIA_C) || defined(MBEDTLS_CAMELLIA_C) 735 #define MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING 1 736 #define PSA_WANT_ALG_ECB_NO_PADDING 1 739 #if defined(MBEDTLS_CIPHER_MODE_CFB) 740 #define MBEDTLS_PSA_BUILTIN_ALG_CFB 1 741 #define PSA_WANT_ALG_CFB 1 744 #if defined(MBEDTLS_CIPHER_MODE_CTR) 745 #define MBEDTLS_PSA_BUILTIN_ALG_CTR 1 746 #define PSA_WANT_ALG_CTR 1 749 #if defined(MBEDTLS_CIPHER_MODE_OFB) 750 #define MBEDTLS_PSA_BUILTIN_ALG_OFB 1 751 #define PSA_WANT_ALG_OFB 1 754 #if defined(MBEDTLS_CIPHER_MODE_XTS) 755 #define MBEDTLS_PSA_BUILTIN_ALG_XTS 1 756 #define PSA_WANT_ALG_XTS 1 759 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) 760 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1 761 #define PSA_WANT_ECC_BRAINPOOL_P_R1_256 764 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 765 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1 766 #define PSA_WANT_ECC_BRAINPOOL_P_R1_384 769 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 770 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1 771 #define PSA_WANT_ECC_BRAINPOOL_P_R1_512 774 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 775 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1 776 #define PSA_WANT_ECC_MONTGOMERY_255 780 #if 0 && defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 781 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1 782 #define PSA_WANT_ECC_MONTGOMERY_448 785 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 786 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1 787 #define PSA_WANT_ECC_SECP_R1_192 790 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 791 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1 792 #define PSA_WANT_ECC_SECP_R1_224 795 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 796 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1 797 #define PSA_WANT_ECC_SECP_R1_256 800 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 801 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1 802 #define PSA_WANT_ECC_SECP_R1_384 805 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 806 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1 807 #define PSA_WANT_ECC_SECP_R1_521 810 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 811 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1 812 #define PSA_WANT_ECC_SECP_K1_192 816 #if 0 && defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 817 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1 818 #define PSA_WANT_ECC_SECP_K1_224 821 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 822 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1 823 #define PSA_WANT_ECC_SECP_K1_256 829 #define PSA_WANT_KEY_TYPE_DERIVE 1 830 #define PSA_WANT_KEY_TYPE_RAW_DATA 1 PSA crypto configuration options (set of defines)