pqc/crypto_kem/kyber512-90s/clean/symmetric-aes.h

20 lines
657 B
C
Raw Normal View History

#ifndef PQCLEAN_KYBER51290S_CLEAN_SYMMETRIC_AES_H
#define PQCLEAN_KYBER51290S_CLEAN_SYMMETRIC_AES_H
#include "aes.h"
2019-09-17 13:02:01 +01:00
#include <stddef.h>
#include <stdint.h>
2019-09-17 13:02:01 +01:00
typedef struct {
aes256ctx sk_exp;
uint8_t iv[12];
uint32_t ctr;
2019-09-17 13:02:01 +01:00
} aes256xof_ctx;
void PQCLEAN_KYBER51290S_CLEAN_aes256_prf(uint8_t *output, size_t outlen, const uint8_t *key, uint8_t nonce);
void PQCLEAN_KYBER51290S_CLEAN_aes256xof_absorb(aes256xof_ctx *s, const uint8_t *key, uint8_t x, uint8_t y);
void PQCLEAN_KYBER51290S_CLEAN_aes256xof_squeezeblocks(uint8_t *out, size_t nblocks, aes256xof_ctx *s);
void PQCLEAN_KYBER51290S_CLEAN_aes256xof_ctx_release(aes256xof_ctx *s);
2019-09-17 13:02:01 +01:00
#endif