blob: ab2f1c65dcd8086cbc7f889e126fc223233774da [file] [log] [blame]
Satish Kumar427923c2021-10-05 07:21:53 +01001/*
2 * Copyright (c) 2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8
9#ifndef AUTHENTICATOR_CRYPTO_CONFIG_H
10#define AUTHENTICATOR_CRYPTO_CONFIG_H
11
12#include <psa_adac_config.h>
13
14#define MBEDTLS_PSA_CRYPTO_C
15
16/* System support */
17#define MBEDTLS_PLATFORM_C
18#define MBEDTLS_PLATFORM_MEMORY
19#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
20#define MBEDTLS_NO_PLATFORM_ENTROPY
21#define MBEDTLS_ENTROPY_HARDWARE_ALT
22#define MBEDTLS_HAVE_ASM
23
24#define MBEDTLS_PLATFORM_EXIT_ALT
25#define MBEDTLS_PLATFORM_PRINTF_ALT
26
27#if defined(PSA_ADAC_RSA3072) || defined(PSA_ADAC_RSA4096)
28#define MBEDTLS_RSA_C
29#define MBEDTLS_PKCS1_V21
30#define MBEDTLS_OID_C
31#define MBEDTLS_BIGNUM_C
32#define MBEDTLS_PK_PARSE_C
33#define MBEDTLS_PK_C
34
35/* Support RSA key sizes up to 4096 bit */
36#define MBEDTLS_MPI_MAX_SIZE 512
37#endif
38
39/* PSA ADAC */
40#if defined(PSA_ADAC_EC_P256) || defined(PSA_ADAC_EC_P521)
41#define MBEDTLS_ECDSA_C
42#define MBEDTLS_ECP_C
43#define MBEDTLS_ASN1_PARSE_C
44#define MBEDTLS_ASN1_WRITE_C
45#ifndef MBEDTLS_BIGNUM_C
46#define MBEDTLS_BIGNUM_C
47#endif
48#ifndef MBEDTLS_PK_C
49#define MBEDTLS_PK_C
50#endif
51#if defined(PSA_ADAC_EC_P256)
52#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
53#endif
54#if defined(PSA_ADAC_EC_P521)
55#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
56#endif
57#endif
58
59/* Needed by PSA Crypto API Implementation */
60#define MBEDTLS_CTR_DRBG_C
61#define MBEDTLS_ENTROPY_C
62#define MBEDTLS_AES_C
63#define MBEDTLS_AES_ROM_TABLES
64#define MBEDTLS_AES_FEWER_TABLES
65
66#define MBEDTLS_MD_C
67#define MBEDTLS_SHA224_C
68#define MBEDTLS_SHA256_C
69#define MBEDTLS_SHA256_SMALLER
70#if defined(PSA_ADAC_EC_P521) || defined(PSA_ADAC_ED25519)
71#define MBEDTLS_SHA512_C
72#define MBEDTLS_SHA512_SMALLER
73#else
74#define MBEDTLS_ENTROPY_FORCE_SHA256
75#endif
76
77#ifdef PSA_ADAC_USE_CRYPTOCELL
78#define MBEDTLS_AES_ALT
79#define MBEDTLS_SHA256_ALT
80#define MBEDTLS_ENTROPY_HARDWARE_ALT
81#else
82#define MBEDTLS_CIPHER_C
83#endif
84
85#ifdef PSA_ADAC_CMAC
86#define MBEDTLS_CMAC_C
87#ifndef MBEDTLS_CIPHER_C
88#define MBEDTLS_CIPHER_C
89#endif
90#endif
91
92#ifdef PSA_ADAC_HMAC
93#define MBEDTLS_HKDF_C
94#endif
95
96#include "mbedtls/check_config.h"
97
98#endif /* AUTHENTICATOR_CRYPTO_CONFIG_H */