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