📄 ec_param.h
字号:
/*
GF_M dimension of the large finite field (GF_M = GF_L*GF_K)
GF_L dimension of the small finite field
GF_K degree of the large field reduction trinomial
GF_T intermediate power of the reduction trinomial
GF_RP reduction polynomial for the small field (truncated)
GF_NZT element of the large field with nonzero trace
GF_TM0 size of trace mask
GF_TM1 1st nonzero element of trace mask
GF_TM2 2nd nonzero element of trace mask
EC_B scalar term of elliptic curve equation (y^2 + xy = x^3 + EC_B)
*/
#define GF_M 255 /* choose this value from the list below */
#if GF_M == 24
#define GF_L 8
#define GF_K 3
#define GF_T 1
#define GF_RP 0x001dU
#define GF_NZT 0x0020U
#define GF_TM0 1
#define GF_TM1 0x0020U
#define EC_B 0x006eU
#elif GF_M == 30
#define GF_L 10
#define GF_K 3
#define GF_T 1
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x000cU
#elif GF_M == 33
#define GF_L 11
#define GF_K 3
#define GF_T 1
#define GF_RP 0x0005U
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x0065U
#elif GF_M == 39
#define GF_L 13
#define GF_K 3
#define GF_T 1
#define GF_RP 0x001bU
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x0001U
#elif GF_M == 40
#define GF_L 8
#define GF_K 5
#define GF_T 2
#define GF_RP 0x001dU
#define GF_NZT 0x0020U
#define GF_TM0 4
#define GF_TM1 0x0020U
#define GF_TM2 0x0020U
#define EC_B 0x006eU
#elif GF_M == 42
#define GF_L 14
#define GF_K 3
#define GF_T 1
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 1
#define GF_TM1 0x2a00U
#define EC_B 0x026eU
#elif GF_M == 45
#define GF_L 9
#define GF_K 5
#define GF_T 2
#define GF_RP 0x0011U
#define GF_TM0 4
#define GF_TM1 0x0021U
#define GF_TM2 0x0021U
#define EC_B 0x000bU
#elif GF_M == 48
#define GF_L 16
#define GF_K 3
#define GF_T 1
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x2800U
#define EC_B 0x0b56U
#elif GF_M == 55
#define GF_L 11
#define GF_K 5
#define GF_T 2
#define GF_RP 0x0005U
#define GF_TM0 4
#define GF_TM1 0x0201U
#define GF_TM2 0x0201U
#define EC_B 0x000eU
#elif GF_M == 56
#define GF_L 8
#define GF_K 7
#define GF_T 1
#define GF_RP 0x001dU
#define GF_NZT 0x0020U
#define GF_TM0 1
#define GF_TM1 0x0020U
#define EC_B 0x0029U
#elif GF_M == 60
#define GF_L 12
#define GF_K 5
#define GF_T 2
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 4
#define GF_TM1 0x0800U
#define GF_TM2 0x0800U
#define EC_B 0x081fU
#elif GF_M == 63
#define GF_L 9
#define GF_K 7
#define GF_T 1
#define GF_RP 0x0011U
#define GF_TM0 1
#define GF_TM1 0x0021U
#define EC_B 0x002bU
#elif GF_M == 65
#define GF_L 13
#define GF_K 5
#define GF_T 2
#define GF_RP 0x001bU
#define GF_TM0 4
#define GF_TM1 0x0201U
#define GF_TM2 0x0201U
#define EC_B 0x01a2U
#elif GF_M == 70
#define GF_L 10
#define GF_K 7
#define GF_T 1
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x009aU
#elif GF_M == 77
#define GF_L 11
#define GF_K 7
#define GF_T 1
#define GF_RP 0x0005U
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x0017U
#elif GF_M == 80
#define GF_L 16
#define GF_K 5
#define GF_T 2
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 4
#define GF_TM1 0x2800U
#define GF_TM2 0x2800U
#define EC_B 0x0fadU
#elif GF_M == 84
#define GF_L 12
#define GF_K 7
#define GF_T 1
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x0800U
#define EC_B 0x0801U
#elif GF_M == 91
#define GF_L 13
#define GF_K 7
#define GF_T 1
#define GF_RP 0x001bU
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x007cU
#elif GF_M == 99
#define GF_L 9
#define GF_K 11
#define GF_T 2
#define GF_RP 0x0011U
#define GF_TM0 10
#define GF_TM1 0x0021U
#define GF_TM2 0x0021U
#define EC_B 0x000dU
#elif GF_M == 105
#define GF_L 15
#define GF_K 7
#define GF_T 1
#define GF_RP 0x0003U
#define GF_TM0 1
#define GF_TM1 0x0001U
#define EC_B 0x03d1U
#elif GF_M == 110
#define GF_L 10
#define GF_K 11
#define GF_T 2
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 10
#define GF_TM1 0x0080U
#define GF_TM2 0x0080U
#define EC_B 0x008bU
#elif GF_M == 112
#define GF_L 16
#define GF_K 7
#define GF_T 1
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x2800U
#define EC_B 0x0b56U
#elif GF_M == 132
#define GF_L 12
#define GF_K 11
#define GF_T 2
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 10
#define GF_TM1 0x0800U
#define GF_TM2 0x0800U
#define EC_B 0x0823U
#elif GF_M == 136
#define GF_L 8
#define GF_K 17
#define GF_T 3
#define GF_RP 0x001dU
#define GF_NZT 0x0020U
#define GF_TM0 1
#define GF_TM1 0x0020U
#define EC_B 0x0020U
#elif GF_M == 143
#define GF_L 13
#define GF_K 11
#define GF_T 2
#define GF_RP 0x001bU
#define GF_TM0 10
#define GF_TM1 0x0201U
#define GF_TM2 0x0201U
#define EC_B 0x0305U
#elif GF_M == 153
#define GF_L 9
#define GF_K 17
#define GF_T 3
#define GF_RP 0x0011U
#define GF_TM0 1
#define GF_TM1 0x0021U
#define EC_B 0x0013U
#elif GF_M == 154
#define GF_L 14
#define GF_K 11
#define GF_T 2
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 10
#define GF_TM1 0x2a00U
#define GF_TM2 0x2a00U
#define EC_B 0x0092U
#elif GF_M == 165
#define GF_L 15
#define GF_K 11
#define GF_T 2
#define GF_RP 0x0003U
#define GF_TM0 10
#define GF_TM1 0x0001U
#define GF_TM2 0x0001U
#define EC_B 0x008cU
#elif GF_M == 170
#define GF_L 10
#define GF_K 17
#define GF_T 3
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x0030U
#elif GF_M == 176
#define GF_L 16
#define GF_K 11
#define GF_T 2
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 10
#define GF_TM1 0x2800U
#define GF_TM2 0x2800U
#define EC_B 0x001aU
#elif GF_M == 187
#define GF_L 11
#define GF_K 17
#define GF_T 3
#define GF_RP 0x0005U
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x003aU
#elif GF_M == 204
#define GF_L 12
#define GF_K 17
#define GF_T 3
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x0800U
#define EC_B 0x0804U
#elif GF_M == 207
#define GF_L 9
#define GF_K 23
#define GF_T 5
#define GF_RP 0x0011U
#define GF_TM0 1
#define GF_TM1 0x0021U
#define EC_B 0x009bU
#elif GF_M == 221
#define GF_L 13
#define GF_K 17
#define GF_T 3
#define GF_RP 0x001bU
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x0305U
#elif GF_M == 230
#define GF_L 10
#define GF_K 23
#define GF_T 5
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x000cU
#elif GF_M == 238
#define GF_L 14
#define GF_K 17
#define GF_T 3
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 1
#define GF_TM1 0x2a00U
#define EC_B 0x011bU
#elif GF_M == 253
#define GF_L 11
#define GF_K 23
#define GF_T 5
#define GF_RP 0x0005U
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x001fU
#elif GF_M == 255
#define GF_L 15
#define GF_K 17
#define GF_T 3
#define GF_RP 0x0003U
#define GF_TM0 1
#define GF_TM1 0x0001U
#define EC_B 0x00a1U
#elif GF_M == 261
#define GF_L 9
#define GF_K 29
#define GF_T 2
#define GF_RP 0x0011U
#define GF_TM0 28
#define GF_TM1 0x0021U
#define GF_TM2 0x0021U
#define EC_B 0x0025U
#elif GF_M == 272
#define GF_L 16
#define GF_K 17
#define GF_T 3
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x2800U
#define EC_B 0x0803U
#elif GF_M == 276
#define GF_L 12
#define GF_K 23
#define GF_T 5
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x0800U
#define EC_B 0x000cU
#elif GF_M == 279
#define GF_L 9
#define GF_K 31
#define GF_T 3
#define GF_RP 0x0011U
#define GF_TM0 1
#define GF_TM1 0x0021U
#define EC_B 0x000cU
#elif GF_M == 290
#define GF_L 10
#define GF_K 29
#define GF_T 2
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 28
#define GF_TM1 0x0080U
#define GF_TM2 0x0080U
#define EC_B 0x000cU
#elif GF_M == 299
#define GF_L 13
#define GF_K 23
#define GF_T 5
#define GF_RP 0x001bU
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x0214U
#elif GF_M == 310
#define GF_L 10
#define GF_K 31
#define GF_T 3
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x0002U
#elif GF_M == 319
#define GF_L 11
#define GF_K 29
#define GF_T 2
#define GF_RP 0x0005U
#define GF_TM0 28
#define GF_TM1 0x0201U
#define GF_TM2 0x0201U
#define EC_B 0x003aU
#elif GF_M == 322
#define GF_L 14
#define GF_K 23
#define GF_T 5
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 1
#define GF_TM1 0x2a00U
#define EC_B 0x024dU
#elif GF_M == 341
#define GF_L 11
#define GF_K 31
#define GF_T 3
#define GF_RP 0x0005U
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x000eU
#elif GF_M == 345
#define GF_L 15
#define GF_K 23
#define GF_T 5
#define GF_RP 0x0003U
#define GF_TM0 1
#define GF_TM1 0x0001U
#define EC_B 0x0003U
#elif GF_M == 348
#define GF_L 12
#define GF_K 29
#define GF_T 2
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 28
#define GF_TM1 0x0800U
#define GF_TM2 0x0800U
#define EC_B 0x0013U
#elif GF_M == 368
#define GF_L 16
#define GF_K 23
#define GF_T 5
#define GF_RP 0x002dU
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x2800U
#define EC_B 0x094cU
#elif GF_M == 372
#define GF_L 12
#define GF_K 31
#define GF_T 3
#define GF_RP 0x0053U
#define GF_NZT 0x0800U
#define GF_TM0 1
#define GF_TM1 0x0800U
#define EC_B 0x0007U
#elif GF_M == 377
#define GF_L 13
#define GF_K 29
#define GF_T 2
#define GF_RP 0x001bU
#define GF_TM0 28
#define GF_TM1 0x0201U
#define GF_TM2 0x0201U
#define EC_B 0x0091U
#elif GF_M == 403
#define GF_L 13
#define GF_K 31
#define GF_T 3
#define GF_RP 0x001bU
#define GF_TM0 1
#define GF_TM1 0x0201U
#define EC_B 0x007cU
#elif GF_M == 406
#define GF_L 14
#define GF_K 29
#define GF_T 2
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 28
#define GF_TM1 0x2a00U
#define GF_TM2 0x2a00U
#define EC_B 0x0027U
#elif GF_M == 410
#define GF_L 10
#define GF_K 41
#define GF_T 3
#define GF_RP 0x0009U
#define GF_NZT 0x0080U
#define GF_TM0 1
#define GF_TM1 0x0080U
#define EC_B 0x00abU
#elif GF_M == 423
#define GF_L 9
#define GF_K 47
#define GF_T 5
#define GF_RP 0x0011U
#define GF_TM0 1
#define GF_TM1 0x0021U
#define EC_B 0x0009U
#elif GF_M == 434
#define GF_L 14
#define GF_K 31
#define GF_T 3
#define GF_RP 0x002bU
#define GF_NZT 0x0200U
#define GF_TM0 1
#define GF_TM1 0x2a00U
#define EC_B 0x0043U
#elif GF_M == 435
#define GF_L 15
#define GF_K 29
#define GF_T 2
#define GF_RP 0x0003U
#define GF_TM0 28
#define GF_TM1 0x0001U
#define GF_TM2 0x0001U
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -