1 #ifndef PARAMS_H
2 #define PARAMS_H
3 
4 
5 /* Don't change parameters below this line */
6 
7 #define KYBER_N 256
8 #define KYBER_Q 3329
9 
10 #define KYBER_ETA 2
11 
12 #define KYBER_SYMBYTES 32   /* size in bytes of hashes, and seeds */
13 #define KYBER_SSBYTES  32   /* size in bytes of shared key */
14 
15 #define KYBER_POLYBYTES              384
16 #define KYBER_POLYVECBYTES           (KYBER_K * KYBER_POLYBYTES)
17 
18 
19 #define KYBER_K 2
20 #define KYBER_POLYCOMPRESSEDBYTES    96
21 #define KYBER_POLYVECCOMPRESSEDBYTES (KYBER_K * 320)
22 
23 #define KYBER_INDCPA_MSGBYTES       KYBER_SYMBYTES
24 #define KYBER_INDCPA_PUBLICKEYBYTES (KYBER_POLYVECBYTES + KYBER_SYMBYTES)
25 #define KYBER_INDCPA_SECRETKEYBYTES (KYBER_POLYVECBYTES)
26 #define KYBER_INDCPA_BYTES          (KYBER_POLYVECCOMPRESSEDBYTES + KYBER_POLYCOMPRESSEDBYTES)
27 
28 #define KYBER_PUBLICKEYBYTES  (KYBER_INDCPA_PUBLICKEYBYTES)
29 #define KYBER_SECRETKEYBYTES  (KYBER_INDCPA_SECRETKEYBYTES +  KYBER_INDCPA_PUBLICKEYBYTES + 2*KYBER_SYMBYTES) /* 32 bytes of additional space to save H(pk) */
30 #define KYBER_CIPHERTEXTBYTES  KYBER_INDCPA_BYTES
31 
32 #endif
33