62 #include "../internal.h"
66 const uint8_t *salt,
size_t salt_len,
unsigned iterations,
75 if (!
HMAC_Init_ex(&hctx, password, password_len, digest, NULL)) {
86 i_buf[0] = (
uint8_t)((
i >> 24) & 0xff);
87 i_buf[1] = (
uint8_t)((
i >> 16) & 0xff);
88 i_buf[2] = (
uint8_t)((
i >> 8) & 0xff);
101 for (
unsigned j = 1; j < iterations; j++) {
108 for (
size_t k = 0;
k <
todo;
k++) {
109 out_key[
k] ^= digest_tmp[
k];
129 if (iterations == 0) {
141 const uint8_t *salt,
size_t salt_len,
142 unsigned iterations,
size_t key_len,