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;
64 typedef 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;
#define PSA_HMAC_MAX_HASH_BLOCK_SIZE
#define MBEDTLS_PRIVATE(member)
#define PSA_HASH_MAX_SIZE
Macro wrapper for struct's members.
Definitions for all PSA crypto drivers.
#define PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE