Lines Matching refs:pbkdf2

5532         if (operation->ctx.pbkdf2.salt != NULL) {
5533 mbedtls_zeroize_and_free(operation->ctx.pbkdf2.salt,
5534 operation->ctx.pbkdf2.salt_length);
5868 psa_pbkdf2_key_derivation_t *pbkdf2,
5877 uint8_t *U_accumulator = pbkdf2->output_block;
5883 MBEDTLS_PUT_UINT32_BE(pbkdf2->block_number, block_counter, 0);
5887 pbkdf2->password,
5888 pbkdf2->password_length,
5893 status = psa_mac_update(&mac_operation, pbkdf2->salt, pbkdf2->salt_length);
5914 for (i = 1; i < pbkdf2->input_cost; i++) {
5919 pbkdf2->password,
5920 pbkdf2->password_length,
5938 psa_pbkdf2_key_derivation_t *pbkdf2,
5947 psa_set_key_bits(&attributes, PSA_BYTES_TO_BITS(pbkdf2->password_length));
5962 switch (pbkdf2->state) {
5965 pbkdf2->bytes_used = prf_output_length;
5966 pbkdf2->state = PSA_PBKDF2_STATE_OUTPUT;
5975 uint8_t n = prf_output_length - pbkdf2->bytes_used;
5979 memcpy(output, pbkdf2->output_block + pbkdf2->bytes_used, n);
5982 pbkdf2->bytes_used += n;
5989 pbkdf2->bytes_used = 0;
5990 pbkdf2->block_number++;
5992 status = psa_key_derivation_pbkdf2_generate_block(pbkdf2, prf_alg,
6064 status = psa_key_derivation_pbkdf2_read(&operation->ctx.pbkdf2, kdf_alg,
7082 psa_pbkdf2_key_derivation_t *pbkdf2,
7090 if (pbkdf2->state != PSA_PBKDF2_STATE_INIT) {
7102 pbkdf2->input_cost = data;
7103 pbkdf2->state = PSA_PBKDF2_STATE_INPUT_COST_SET;
7108 static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t *pbkdf2,
7112 if (pbkdf2->state == PSA_PBKDF2_STATE_INPUT_COST_SET) {
7113 pbkdf2->state = PSA_PBKDF2_STATE_SALT_SET;
7114 } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) {
7125 next_salt = mbedtls_calloc(1, data_length + pbkdf2->salt_length);
7130 if (pbkdf2->salt_length != 0) {
7131 memcpy(next_salt, pbkdf2->salt, pbkdf2->salt_length);
7133 memcpy(next_salt + pbkdf2->salt_length, data, data_length);
7134 pbkdf2->salt_length += data_length;
7135 mbedtls_free(pbkdf2->salt);
7136 pbkdf2->salt = next_salt;
7192 static psa_status_t psa_pbkdf2_set_password(psa_pbkdf2_key_derivation_t *pbkdf2,
7198 if (pbkdf2->state != PSA_PBKDF2_STATE_SALT_SET) {
7206 pbkdf2->password,
7207 &pbkdf2->password_length);
7213 pbkdf2->password,
7214 &pbkdf2->password_length);
7221 pbkdf2->state = PSA_PBKDF2_STATE_PASSWORD_SET;
7226 static psa_status_t psa_pbkdf2_input(psa_pbkdf2_key_derivation_t *pbkdf2,
7234 return psa_pbkdf2_set_salt(pbkdf2, data, data_length);
7236 return psa_pbkdf2_set_password(pbkdf2, kdf_alg, data, data_length);
7340 status = psa_pbkdf2_input(&operation->ctx.pbkdf2, kdf_alg,
7370 &operation->ctx.pbkdf2, step, value);