Lines Matching refs:hkdf

5718         mbedtls_free(operation->ctx.hkdf.info);  in psa_key_derivation_abort()
5719 status = psa_mac_abort(&operation->ctx.hkdf.hmac); in psa_key_derivation_abort()
5804 static psa_status_t psa_key_derivation_hkdf_read(psa_hkdf_key_derivation_t *hkdf, in psa_key_derivation_hkdf_read() argument
5819 if (hkdf->state < HKDF_STATE_KEYED || in psa_key_derivation_hkdf_read()
5820 (!hkdf->info_set in psa_key_derivation_hkdf_read()
5827 hkdf->state = HKDF_STATE_OUTPUT; in psa_key_derivation_hkdf_read()
5831 uint8_t n = hash_length - hkdf->offset_in_block; in psa_key_derivation_hkdf_read()
5835 memcpy(output, hkdf->output_block + hkdf->offset_in_block, n); in psa_key_derivation_hkdf_read()
5838 hkdf->offset_in_block += n; in psa_key_derivation_hkdf_read()
5847 if (hkdf->block_number == last_block) { in psa_key_derivation_hkdf_read()
5852 ++hkdf->block_number; in psa_key_derivation_hkdf_read()
5853 hkdf->offset_in_block = 0; in psa_key_derivation_hkdf_read()
5855 status = psa_key_derivation_start_hmac(&hkdf->hmac, in psa_key_derivation_hkdf_read()
5857 hkdf->prk, in psa_key_derivation_hkdf_read()
5863 if (hkdf->block_number != 1) { in psa_key_derivation_hkdf_read()
5864 status = psa_mac_update(&hkdf->hmac, in psa_key_derivation_hkdf_read()
5865 hkdf->output_block, in psa_key_derivation_hkdf_read()
5871 status = psa_mac_update(&hkdf->hmac, in psa_key_derivation_hkdf_read()
5872 hkdf->info, in psa_key_derivation_hkdf_read()
5873 hkdf->info_length); in psa_key_derivation_hkdf_read()
5877 status = psa_mac_update(&hkdf->hmac, in psa_key_derivation_hkdf_read()
5878 &hkdf->block_number, 1); in psa_key_derivation_hkdf_read()
5882 status = psa_mac_sign_finish(&hkdf->hmac, in psa_key_derivation_hkdf_read()
5883 hkdf->output_block, in psa_key_derivation_hkdf_read()
5884 sizeof(hkdf->output_block), in psa_key_derivation_hkdf_read()
6279 status = psa_key_derivation_hkdf_read(&operation->ctx.hkdf, kdf_alg, in psa_key_derivation_output_bytes()
6974 static psa_status_t psa_hkdf_input(psa_hkdf_key_derivation_t *hkdf, in psa_hkdf_input() argument
6989 if (hkdf->state != HKDF_STATE_INIT) { in psa_hkdf_input()
6992 status = psa_key_derivation_start_hmac(&hkdf->hmac, in psa_hkdf_input()
6998 hkdf->state = HKDF_STATE_STARTED; in psa_hkdf_input()
7008 if (hkdf->state != HKDF_STATE_INIT) { in psa_hkdf_input()
7017 memcpy(hkdf->prk, data, data_length); in psa_hkdf_input()
7023 if (hkdf->state == HKDF_STATE_INIT) { in psa_hkdf_input()
7029 status = psa_key_derivation_start_hmac(&hkdf->hmac, in psa_hkdf_input()
7035 hkdf->state = HKDF_STATE_STARTED; in psa_hkdf_input()
7037 if (hkdf->state != HKDF_STATE_STARTED) { in psa_hkdf_input()
7040 status = psa_mac_update(&hkdf->hmac, in psa_hkdf_input()
7045 status = psa_mac_sign_finish(&hkdf->hmac, in psa_hkdf_input()
7046 hkdf->prk, in psa_hkdf_input()
7047 sizeof(hkdf->prk), in psa_hkdf_input()
7054 hkdf->state = HKDF_STATE_KEYED; in psa_hkdf_input()
7055 hkdf->block_number = 0; in psa_hkdf_input()
7059 memcpy(hkdf->output_block, hkdf->prk, PSA_HASH_LENGTH(hash_alg)); in psa_hkdf_input()
7060 hkdf->offset_in_block = 0; in psa_hkdf_input()
7066 hkdf->offset_in_block = PSA_HASH_LENGTH(hash_alg); in psa_hkdf_input()
7078 hkdf->state == HKDF_STATE_INIT) { in psa_hkdf_input()
7082 if (hkdf->state == HKDF_STATE_OUTPUT) { in psa_hkdf_input()
7085 if (hkdf->info_set) { in psa_hkdf_input()
7088 hkdf->info_length = data_length; in psa_hkdf_input()
7090 hkdf->info = mbedtls_calloc(1, data_length); in psa_hkdf_input()
7091 if (hkdf->info == NULL) { in psa_hkdf_input()
7094 memcpy(hkdf->info, data, data_length); in psa_hkdf_input()
7096 hkdf->info_set = 1; in psa_hkdf_input()
7576 status = psa_hkdf_input(&operation->ctx.hkdf, kdf_alg, in psa_key_derivation_input_internal()