pqc/crypto_kem/kyber768/avx2/ntt.h
John M. Schanck 688ff2fe50 Round 3 Kyber
2020-11-26 21:42:35 -05:00

22 lines
994 B
C

#ifndef PQCLEAN_KYBER768_AVX2_NTT_H
#define PQCLEAN_KYBER768_AVX2_NTT_H
#include <immintrin.h>
#include <stdint.h>
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);
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);
void PQCLEAN_KYBER768_AVX2_basemul_avx(__m256i *r,
const __m256i *a,
const __m256i *b,
const __m256i *PQCLEAN_KYBER768_AVX2_qdata);
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);
#endif