23 #ifndef LWCRYPTO_ROMULUS_HKDF_H
24 #define LWCRYPTO_ROMULUS_HKDF_H
43 #define ROMULUS_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);
void romulus_hkdf_extract(romulus_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 Romulus-HKDF.
unsigned char posn
Definition: romulus-hkdf.h:60
int romulus_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 Romulus-HKDF.
int romulus_hkdf_expand(romulus_hkdf_state_t *state, const unsigned char *info, size_t infolen, unsigned char *out, size_t outlen)
Expands key material using a Romulus-HKDF state.
#define ROMULUS_HKDF_OUTPUT_SIZE
Default output block size for Romulus-HKDF. Key material is generated in blocks of this size...
Definition: romulus-hkdf.h:43
void romulus_hkdf_free(romulus_hkdf_state_t *state)
Frees all sensitive material in a Romulus-HKDF state.
State for incremental generation of key material from Romulus-HKDF.
Definition: romulus-hkdf.h:48
unsigned char counter
Definition: romulus-hkdf.h:57