1 #ifndef AES256CTR_H
2 #define AES256CTR_H
3 
4 #include "aes.h"
5 
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 typedef struct {
10     aes256ctx sk_exp;
11     uint8_t iv[12];
12     uint32_t ctr;
13 } aes256xof_ctx;
14 
15 void PQCLEAN_KYBER51290S_CLEAN_aes256_prf(uint8_t *output, size_t outlen, const uint8_t *key, uint8_t nonce);
16 void PQCLEAN_KYBER51290S_CLEAN_aes256xof_absorb(aes256xof_ctx *s, const uint8_t *key, uint8_t x, uint8_t y);
17 void PQCLEAN_KYBER51290S_CLEAN_aes256xof_squeezeblocks(uint8_t *out, size_t nblocks, aes256xof_ctx *s);
18 void PQCLEAN_KYBER51290S_CLEAN_aes256xof_ctx_release(aes256xof_ctx *s);
19 
20 #endif
21