23 #ifndef PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
24 #define PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
25 #include "mbedtls/private_access.h"
29 #if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
30 defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
31 defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
33 uint8_t *MBEDTLS_PRIVATE(info);
34 size_t MBEDTLS_PRIVATE(info_length);
35 #if PSA_HASH_MAX_SIZE > 0xff
36 #error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
38 uint8_t MBEDTLS_PRIVATE(offset_in_block);
39 uint8_t MBEDTLS_PRIVATE(block_number);
40 unsigned int MBEDTLS_PRIVATE(state) : 2;
41 unsigned int MBEDTLS_PRIVATE(info_set) : 1;
49 #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
55 #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
56 defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
67 #if PSA_HASH_MAX_SIZE > 0xff
68 #error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
73 uint8_t MBEDTLS_PRIVATE(left_in_block);
76 uint8_t MBEDTLS_PRIVATE(block_number);
80 uint8_t *MBEDTLS_PRIVATE(secret);
81 size_t MBEDTLS_PRIVATE(secret_length);
82 uint8_t *MBEDTLS_PRIVATE(seed);
83 size_t MBEDTLS_PRIVATE(seed_length);
84 uint8_t *MBEDTLS_PRIVATE(label);
85 size_t MBEDTLS_PRIVATE(label_length);
86 #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
87 uint8_t *MBEDTLS_PRIVATE(other_secret);
88 size_t MBEDTLS_PRIVATE(other_secret_length);
98 #if defined(PSA_HAVE_SOFT_PBKDF2)
109 uint64_t MBEDTLS_PRIVATE(input_cost);
110 uint8_t *MBEDTLS_PRIVATE(salt);
111 size_t MBEDTLS_PRIVATE(salt_length);
113 size_t MBEDTLS_PRIVATE(password_length);
115 uint8_t MBEDTLS_PRIVATE(bytes_used);
116 uint32_t MBEDTLS_PRIVATE(block_number);
struct psa_tls12_prf_key_derivation_s psa_tls12_prf_key_derivation_t
psa_pbkdf2_key_derivation_state_t
#define PSA_HMAC_MAX_HASH_BLOCK_SIZE
#define PSA_HASH_MAX_SIZE
psa_tls12_prf_key_derivation_state_t
Definitions for all PSA crypto drivers.
#define PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE