38 #if defined(HKDF_ALG_NAME)
40 #define HKDF_CONCAT_INNER(name,suffix) name##suffix
41 #define HKDF_CONCAT(name,suffix) HKDF_CONCAT_INNER(name,suffix)
44 (
unsigned char *out,
size_t outlen,
45 const unsigned char *key,
size_t keylen,
46 const unsigned char *salt,
size_t saltlen,
47 const unsigned char *info,
size_t infolen)
60 const unsigned char *key,
size_t keylen,
61 const unsigned char *salt,
size_t saltlen)
74 const unsigned char *info,
size_t infolen,
75 unsigned char *out,
size_t outlen)
92 if (
state->counter == 0) {
93 memset(out, 0, outlen);
100 if (
state->counter != 1)
112 memcpy(out,
state->out, len);
131 #undef HKDF_HMAC_SIZE
132 #undef HKDF_HMAC_STATE
133 #undef HKDF_HMAC_INIT
134 #undef HKDF_HMAC_UPDATE
135 #undef HKDF_HMAC_FINALIZE
136 #undef HKDF_HMAC_FREE
#define HKDF_HMAC_FINALIZE
ascon_state_t state
[snippet_key]
void ascon_clean(void *buf, unsigned size)
Cleans a buffer that contains sensitive material.