2020-10-27 00:05:07 +00:00
|
|
|
#ifndef PQCLEAN_KYBER768_AVX2_NTT_H
|
|
|
|
#define PQCLEAN_KYBER768_AVX2_NTT_H
|
2020-10-27 13:48:42 +00:00
|
|
|
|
|
|
|
#include <immintrin.h>
|
2019-09-10 10:45:01 +01:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2020-10-27 13:48:42 +00:00
|
|
|
void PQCLEAN_KYBER768_AVX2_ntt_avx(__m256i *r, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
|
|
|
void PQCLEAN_KYBER768_AVX2_invntt_avx(__m256i *r, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
2020-07-31 07:17:42 +01:00
|
|
|
|
2020-10-27 13:48:42 +00:00
|
|
|
void PQCLEAN_KYBER768_AVX2_nttpack_avx(__m256i *r, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
|
|
|
void PQCLEAN_KYBER768_AVX2_nttunpack_avx(__m256i *r, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
2020-07-31 07:17:42 +01:00
|
|
|
|
2020-10-27 13:48:42 +00:00
|
|
|
void PQCLEAN_KYBER768_AVX2_basemul_avx(__m256i *r,
|
|
|
|
const __m256i *a,
|
|
|
|
const __m256i *b,
|
|
|
|
const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
2020-07-31 07:17:42 +01:00
|
|
|
|
2020-10-27 13:48:42 +00:00
|
|
|
void PQCLEAN_KYBER768_AVX2_ntttobytes_avx(uint8_t *r, const __m256i *a, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
|
|
|
void PQCLEAN_KYBER768_AVX2_nttfrombytes_avx(__m256i *r, const uint8_t *a, const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
|
2019-09-10 10:45:01 +01:00
|
|
|
|
|
|
|
#endif
|