pqc/crypto_sign/dilithium3/avx2/fips202x4.h

67 lines
1.3 KiB
C
Raw Normal View History

2019-12-06 15:16:41 +00:00
#ifndef PQCLEAN_DILITHIUM3_AVX2_FIPS202X4_H
#define PQCLEAN_DILITHIUM3_AVX2_FIPS202X4_H
#include <immintrin.h>
2019-12-09 11:05:25 +00:00
#include <stddef.h>
2019-12-06 15:16:41 +00:00
#include <stdint.h>
#include "params.h"
void PQCLEAN_DILITHIUM3_AVX2_shake128_absorb4x(
__m256i *s,
const uint8_t *m0,
const uint8_t *m1,
const uint8_t *m2,
const uint8_t *m3,
2019-12-09 11:05:25 +00:00
size_t mlen);
2019-12-06 15:16:41 +00:00
void PQCLEAN_DILITHIUM3_AVX2_shake128_squeezeblocks4x(
uint8_t *h0,
uint8_t *h1,
uint8_t *h2,
uint8_t *h3,
2019-12-09 11:05:25 +00:00
size_t nblocks,
2019-12-06 15:16:41 +00:00
__m256i *s);
void PQCLEAN_DILITHIUM3_AVX2_shake256_absorb4x(
__m256i *s,
const uint8_t *m0,
const uint8_t *m1,
const uint8_t *m2,
const uint8_t *m3,
2019-12-09 11:05:25 +00:00
size_t mlen);
2019-12-06 15:16:41 +00:00
void PQCLEAN_DILITHIUM3_AVX2_shake256_squeezeblocks4x(
uint8_t *h0,
uint8_t *h1,
uint8_t *h2,
uint8_t *h3,
2019-12-09 11:05:25 +00:00
size_t nblocks,
2019-12-06 15:16:41 +00:00
__m256i *s);
void PQCLEAN_DILITHIUM3_AVX2_shake128_4x(
uint8_t *h0,
uint8_t *h1,
uint8_t *h2,
uint8_t *h3,
2019-12-09 11:05:25 +00:00
size_t hlen,
2019-12-06 15:16:41 +00:00
const uint8_t *m0,
const uint8_t *m1,
const uint8_t *m2,
const uint8_t *m3,
2019-12-09 11:05:25 +00:00
size_t mlen);
2019-12-06 15:16:41 +00:00
void PQCLEAN_DILITHIUM3_AVX2_shake256_4x(
uint8_t *h0,
uint8_t *h1,
uint8_t *h2,
uint8_t *h3,
2019-12-09 11:05:25 +00:00
size_t hlen,
2019-12-06 15:16:41 +00:00
const uint8_t *m0,
const uint8_t *m1,
const uint8_t *m2,
const uint8_t *m3,
2019-12-09 11:05:25 +00:00
size_t mlen);
2019-12-06 15:16:41 +00:00
#endif