mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-27 01:41:40 +00:00
f4bd312180
* Integrate Kyber-AVX2 into PQClean * Fix types and formatting in Kyber * Workaround a valgrind crash * Remove comment in shuffle.s * Remove some extraneous truncations * fixup! Fix types and formatting in Kyber
25 lines
782 B
C
25 lines
782 B
C
#ifndef CONSTS_H
|
|
#define CONSTS_H
|
|
|
|
#include <immintrin.h>
|
|
#include <stdint.h>
|
|
|
|
typedef union {
|
|
uint16_t as_arr[16];
|
|
__m256i as_vec;
|
|
} aligned_uint16_t;
|
|
|
|
extern const uint16_t PQCLEAN_KYBER768_AVX2_zetas_exp[396];
|
|
extern const uint16_t PQCLEAN_KYBER768_AVX2_zetas_inv_exp[396];
|
|
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xq;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xqinv;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xv;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xflo;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xfhi;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xmontsqlo;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xmontsqhi;
|
|
extern const aligned_uint16_t PQCLEAN_KYBER768_AVX2_16xmask;
|
|
|
|
#endif
|