mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-30 03:11:43 +00:00
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
#ifndef PARAMS_H
|
|
#define PARAMS_H
|
|
|
|
#define NTRU_HPS
|
|
#define NTRU_N 821
|
|
#define NTRU_LOGQ 12
|
|
|
|
|
|
/* Do not modify below this line */
|
|
|
|
#define PAD32(X) ((((X) + 31)/32)*32)
|
|
|
|
#define NTRU_Q (1 << NTRU_LOGQ)
|
|
#define NTRU_WEIGHT (NTRU_Q/8 - 2)
|
|
|
|
#define NTRU_SEEDBYTES 32
|
|
#define NTRU_PRFKEYBYTES 32
|
|
#define NTRU_SHAREDKEYBYTES 32
|
|
|
|
#define NTRU_SAMPLE_IID_BYTES (NTRU_N-1)
|
|
#define NTRU_SAMPLE_FT_BYTES ((30*(NTRU_N-1)+7)/8)
|
|
#define NTRU_SAMPLE_FG_BYTES (NTRU_SAMPLE_IID_BYTES+NTRU_SAMPLE_FT_BYTES)
|
|
#define NTRU_SAMPLE_RM_BYTES (NTRU_SAMPLE_IID_BYTES+NTRU_SAMPLE_FT_BYTES)
|
|
|
|
#define NTRU_PACK_DEG (NTRU_N-1)
|
|
#define NTRU_PACK_TRINARY_BYTES ((NTRU_PACK_DEG+4)/5)
|
|
|
|
#define NTRU_OWCPA_MSGBYTES (2*NTRU_PACK_TRINARY_BYTES)
|
|
#define NTRU_OWCPA_PUBLICKEYBYTES ((NTRU_LOGQ*NTRU_PACK_DEG+7)/8)
|
|
#define NTRU_OWCPA_SECRETKEYBYTES (2*NTRU_PACK_TRINARY_BYTES + NTRU_OWCPA_PUBLICKEYBYTES)
|
|
#define NTRU_OWCPA_BYTES ((NTRU_LOGQ*NTRU_PACK_DEG+7)/8)
|
|
|
|
#define NTRU_PUBLICKEYBYTES (NTRU_OWCPA_PUBLICKEYBYTES)
|
|
#define NTRU_SECRETKEYBYTES (NTRU_OWCPA_SECRETKEYBYTES + NTRU_PRFKEYBYTES)
|
|
#define NTRU_CIPHERTEXTBYTES (NTRU_OWCPA_BYTES)
|
|
|
|
#endif
|