mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-30 11:21:25 +00:00
65a6a63e08
* Put AES ctx on the heap This forces people to use the ``ctx_release`` functions, because otherwise there will be leaks * Put fips202 on the heap * Add much more docs for fips202.h * fixup! Put fips202 on the heap * Put SHA2 on the heap-supporting API * Fix clang-tidy warnings * Fix unreachable free() in falcon * Fix McEliece8192128f-sse GNU Makefile
24 lines
776 B
C
24 lines
776 B
C
#ifndef SYMMETRIC_H
|
|
#define SYMMETRIC_H
|
|
|
|
#include "params.h"
|
|
|
|
|
|
#include "aes256ctr.h"
|
|
#include "sha2.h"
|
|
|
|
#define hash_h(OUT, IN, INBYTES) sha256((OUT), (IN), (INBYTES))
|
|
#define hash_g(OUT, IN, INBYTES) sha512((OUT), (IN), (INBYTES))
|
|
#define xof_absorb(STATE, IN, X, Y) PQCLEAN_KYBER102490S_AVX2_aes256ctr_init((STATE), (IN), (Y) + ((uint16_t)(X) << 8))
|
|
#define xof_squeezeblocks(OUT, OUTBLOCKS, STATE) PQCLEAN_KYBER102490S_AVX2_aes256ctr_squeezeblocks((OUT), (OUTBLOCKS), (STATE))
|
|
#define xof_ctx_release(STATE)
|
|
#define prf(OUT, OUTBYTES, KEY, NONCE) PQCLEAN_KYBER102490S_AVX2_aes256ctr_prf((OUT), (OUTBYTES), (KEY), (NONCE))
|
|
#define kdf(OUT, IN, INBYTES) sha256((OUT), (IN), (INBYTES))
|
|
|
|
#define XOF_BLOCKBYTES 128
|
|
|
|
typedef aes256ctr_ctx xof_state;
|
|
|
|
|
|
#endif /* SYMMETRIC_H */
|