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_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_ECP_DP_BP256R1_ENABLED) 755 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_256 1 756 #define PSA_WANT_ECC_BRAINPOOL_P_R1_256 759 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) 760 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_384 1 761 #define PSA_WANT_ECC_BRAINPOOL_P_R1_384 764 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) 765 #define MBEDTLS_PSA_BUILTIN_ECC_BRAINPOOL_P_R1_512 1 766 #define PSA_WANT_ECC_BRAINPOOL_P_R1_512 769 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) 770 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_255 1 771 #define PSA_WANT_ECC_MONTGOMERY_255 775 #if 0 && defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) 776 #define MBEDTLS_PSA_BUILTIN_ECC_MONTGOMERY_448 1 777 #define PSA_WANT_ECC_MONTGOMERY_448 780 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) 781 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_192 1 782 #define PSA_WANT_ECC_SECP_R1_192 785 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) 786 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_224 1 787 #define PSA_WANT_ECC_SECP_R1_224 790 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) 791 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_256 1 792 #define PSA_WANT_ECC_SECP_R1_256 795 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) 796 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_384 1 797 #define PSA_WANT_ECC_SECP_R1_384 800 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) 801 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_R1_521 1 802 #define PSA_WANT_ECC_SECP_R1_521 805 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) 806 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_192 1 807 #define PSA_WANT_ECC_SECP_K1_192 811 #if 0 && defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) 812 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_224 1 813 #define PSA_WANT_ECC_SECP_K1_224 816 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) 817 #define MBEDTLS_PSA_BUILTIN_ECC_SECP_K1_256 1 818 #define PSA_WANT_ECC_SECP_K1_256 824 #define PSA_WANT_KEY_TYPE_DERIVE 1 825 #define PSA_WANT_KEY_TYPE_RAW_DATA 1 PSA crypto configuration options (set of defines)