File crypto_builtin_key_derivation.h

Context structure declaration of the Mbed TLS software-based PSA drivers called through the PSA Crypto driver dispatch layer. This file contains the context structures of key derivation algorithms which need to rely on other algorithms.

Note

This file may not be included directly. Applications must include psa/crypto.h.

Note

This header and its content are not part of the Mbed TLS API and applications must not depend on it. Its main purpose is to define the multi-part state objects of the Mbed TLS software-based PSA drivers. The definitions of these objects are then used by crypto_struct.h to define the implementation-defined types of PSA multi-part state objects.

Typedefs

typedef struct psa_tls12_prf_key_derivation_s psa_tls12_prf_key_derivation_t

Enums

enum psa_tls12_prf_key_derivation_state_t

Values:

enumerator PSA_TLS12_PRF_STATE_INIT
enumerator PSA_TLS12_PRF_STATE_SEED_SET
enumerator PSA_TLS12_PRF_STATE_OTHER_KEY_SET
enumerator PSA_TLS12_PRF_STATE_KEY_SET
enumerator PSA_TLS12_PRF_STATE_LABEL_SET
enumerator PSA_TLS12_PRF_STATE_OUTPUT
enum psa_pbkdf2_key_derivation_state_t

Values:

enumerator PSA_PBKDF2_STATE_INIT
enumerator PSA_PBKDF2_STATE_INPUT_COST_SET
enumerator PSA_PBKDF2_STATE_SALT_SET
enumerator PSA_PBKDF2_STATE_PASSWORD_SET
enumerator PSA_PBKDF2_STATE_OUTPUT
struct psa_hkdf_key_derivation_t
#include <crypto_builtin_key_derivation.h>

Public Members

uint8_t *private_info
size_t private_info_length
uint8_t private_offset_in_block
uint8_t private_block_number
unsigned int private_state
unsigned int private_info_set
uint8_t private_output_block[PSA_HASH_MAX_SIZE]
uint8_t private_prk[PSA_HASH_MAX_SIZE]
struct psa_mac_operation_s private_hmac
struct psa_tls12_ecjpake_to_pms_t
#include <crypto_builtin_key_derivation.h>

Public Members

uint8_t private_data[PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE]
struct psa_tls12_prf_key_derivation_s
#include <crypto_builtin_key_derivation.h>

Public Members

uint8_t private_left_in_block
uint8_t private_block_number
psa_tls12_prf_key_derivation_state_t private_state
uint8_t *private_secret
size_t private_secret_length
uint8_t *private_seed
size_t private_seed_length
uint8_t *private_label
size_t private_label_length
uint8_t *private_other_secret
size_t private_other_secret_length
uint8_t private_Ai[PSA_HASH_MAX_SIZE]
uint8_t private_output_block[PSA_HASH_MAX_SIZE]
struct psa_pbkdf2_key_derivation_t
#include <crypto_builtin_key_derivation.h>

Public Members

psa_pbkdf2_key_derivation_state_t private_state
uint64_t private_input_cost
uint8_t *private_salt
size_t private_salt_length
uint8_t private_password[PSA_HMAC_MAX_HASH_BLOCK_SIZE]
size_t private_password_length
uint8_t private_output_block[PSA_HASH_MAX_SIZE]
uint8_t private_bytes_used
uint32_t private_block_number