21#ifndef PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
22#define PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
27#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
28 defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
29 defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
33#if PSA_HASH_MAX_SIZE > 0xff
34#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
43} psa_hkdf_key_derivation_t;
47#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
50} psa_tls12_ecjpake_to_pms_t;
53#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
54 defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
56 PSA_TLS12_PRF_STATE_INIT,
57 PSA_TLS12_PRF_STATE_SEED_SET,
58 PSA_TLS12_PRF_STATE_OTHER_KEY_SET,
59 PSA_TLS12_PRF_STATE_KEY_SET,
60 PSA_TLS12_PRF_STATE_LABEL_SET,
61 PSA_TLS12_PRF_STATE_OUTPUT
62} psa_tls12_prf_key_derivation_state_t;
64typedef struct psa_tls12_prf_key_derivation_s {
65#if PSA_HASH_MAX_SIZE > 0xff
66#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
84#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
93} psa_tls12_prf_key_derivation_t;
96#if defined(PSA_HAVE_SOFT_PBKDF2)
98 PSA_PBKDF2_STATE_INIT,
99 PSA_PBKDF2_STATE_INPUT_COST_SET,
100 PSA_PBKDF2_STATE_SALT_SET,
101 PSA_PBKDF2_STATE_PASSWORD_SET,
102 PSA_PBKDF2_STATE_OUTPUT
103} psa_pbkdf2_key_derivation_state_t;
115} psa_pbkdf2_key_derivation_t;
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
Definitions for all PSA crypto drivers.
#define PSA_HMAC_MAX_HASH_BLOCK_SIZE
Definition crypto_sizes.h:138
#define PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE
Definition crypto_sizes.h:298
#define PSA_HASH_MAX_SIZE
Definition crypto_sizes.h:150
void * data
Definition kthread.h:30
Macro wrapper for struct's members.
#define MBEDTLS_PRIVATE(member)
Definition private_access.h:15
Definition crypto_struct.h:131