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.