23 #ifndef LWCRYPTO_ASCON_HKDF_H
24 #define LWCRYPTO_ASCON_HKDF_H
43 #define ASCON_HKDF_OUTPUT_SIZE 32
82 (
unsigned char *out,
size_t outlen,
83 const unsigned char *key,
size_t keylen,
84 const unsigned char *salt,
size_t saltlen,
85 const unsigned char *info,
size_t infolen);
100 const unsigned char *key,
size_t keylen,
101 const unsigned char *salt,
size_t saltlen);
117 const unsigned char *info,
size_t infolen,
118 unsigned char *out,
size_t outlen);
145 (
unsigned char *out,
size_t outlen,
146 const unsigned char *key,
size_t keylen,
147 const unsigned char *salt,
size_t saltlen,
148 const unsigned char *info,
size_t infolen);
163 const unsigned char *key,
size_t keylen,
164 const unsigned char *salt,
size_t saltlen);
180 const unsigned char *info,
size_t infolen,
181 unsigned char *out,
size_t outlen);
void ascon_hkdf_extract(ascon_hkdf_state_t *state, const unsigned char *key, size_t keylen, const unsigned char *salt, size_t saltlen)
Extracts entropy from a key and salt for ASCON-HKDF.
int ascon_hkdfa_expand(ascon_hkdf_state_t *state, const unsigned char *info, size_t infolen, unsigned char *out, size_t outlen)
Expands key material using a ASCON-HKDFA state.
#define ASCON_HKDF_OUTPUT_SIZE
Default output block size for ASCON-HKDF and ASCON-HKDFA. Key material is generated in blocks of this...
Definition: ascon-hkdf.h:43
State for incremental generation of key material from ASCON-HKDF.
Definition: ascon-hkdf.h:48
void ascon_hkdf_free(ascon_hkdf_state_t *state)
Frees all sensitive material in a ASCON-HKDF state.
void ascon_hkdfa_extract(ascon_hkdf_state_t *state, const unsigned char *key, size_t keylen, const unsigned char *salt, size_t saltlen)
Extracts entropy from a key and salt for ASCON-HKDFA.
int ascon_hkdfa(unsigned char *out, size_t outlen, const unsigned char *key, size_t keylen, const unsigned char *salt, size_t saltlen, const unsigned char *info, size_t infolen)
Derives key material using ASCON-HKDFA.
int ascon_hkdf(unsigned char *out, size_t outlen, const unsigned char *key, size_t keylen, const unsigned char *salt, size_t saltlen, const unsigned char *info, size_t infolen)
Derives key material using ASCON-HKDF.
unsigned char posn
Definition: ascon-hkdf.h:60
unsigned char counter
Definition: ascon-hkdf.h:57
int ascon_hkdf_expand(ascon_hkdf_state_t *state, const unsigned char *info, size_t infolen, unsigned char *out, size_t outlen)
Expands key material using a ASCON-HKDF state.
void ascon_hkdfa_free(ascon_hkdf_state_t *state)
Frees all sensitive material in a ASCON-HKDFA state.