aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/aws/s2n/pq-crypto/kyber_r2/polyvec.h
blob: 5c8c3c30b778e7716c2eb364689263770d68d234 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef POLYVEC_H 
#define POLYVEC_H 
 
#include "params.h" 
#include "poly.h" 
 
#include <stdint.h> 
 
typedef struct { 
    poly vec[KYBER_K]; 
} polyvec; 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_compress(uint8_t *r, polyvec *a); 
void PQCLEAN_KYBER512_CLEAN_polyvec_decompress(polyvec *r, const uint8_t *a); 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_tobytes(uint8_t *r, polyvec *a); 
void PQCLEAN_KYBER512_CLEAN_polyvec_frombytes(polyvec *r, const uint8_t *a); 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_ntt(polyvec *r); 
void PQCLEAN_KYBER512_CLEAN_polyvec_invntt(polyvec *r); 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_pointwise_acc(poly *r, const polyvec *a, const polyvec *b); 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_reduce(polyvec *r); 
void PQCLEAN_KYBER512_CLEAN_polyvec_csubq(polyvec *r); 
 
void PQCLEAN_KYBER512_CLEAN_polyvec_add(polyvec *r, const polyvec *a, const polyvec *b); 
 
#endif