/
rlwe_params_433_35507.c
94 lines (86 loc) · 5.04 KB
/
rlwe_params_433_35507.c
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* This is free and unencumbered software released into the public domain.
*
* Anyone is free to copy, modify, publish, use, compile, sell, or
* distribute this software, either in source code form or as a compiled
* binary, for any purpose, commercial or non-commercial, and by any
* means.
*
* See LICENSE for complete information.
*/
#include <inttypes.h>
#include "rlwe_params_433_35507.h"
const RINGELT m = 433;
const RINGELT q = 35507;
const RINGELT muwords = 7; /* key (mu) is m-1 bits */
const RINGELT recwords = 7; /* reconciliation vector is m-1 bits */
#ifdef UNIFORM
const RINGELT B = 5, BB = 11, LOG2B = 4, BMASK = 0xf;
const RINGELT small_coeff_table[11] = {35502, 35503, 35504, 35505, 35506, 0, 1, 2, 3, 4, 5};
#endif
#ifdef NHRECONCILE
#error "Compiling without NH reconcile parameters"
#else
const RINGELT qmod4 = 3;
const RINGELT q_1_4 = 8876, q_2_4 = 17753, q_3_4 = 26631;
const RINGELT r0_l = 13314, r0_u = 31069, r1_l = 4437, r1_u = 22193;
#endif
int a_domain = 1; // Public parameter a is held in the FFT / CRT basis
/* Public Parameter a. Each a parameter rejection sampled from non-overlapping
* segments of the digits of e. */
RINGELT a[433] = {
0X3A16, 0X7948, 0X2B21, 0X8325, 0X42CE, 0X412A, 0X341F, 0X5F2F,
0X0A13, 0X8357, 0X678F, 0X51E4, 0X128D, 0X80E5, 0X75F6, 0X2177,
0X335A, 0X3D57, 0X1B2E, 0X88C2, 0X849C, 0X34BC, 0X411C, 0X841C,
0X7307, 0X86F5, 0X0447, 0X71C0, 0X4D65, 0X10D0, 0X1710, 0X469D,
0X30DB, 0X1AC0, 0X48F5, 0X5A92, 0X57C3, 0X1E09, 0X086E, 0X293B,
0X83ED, 0X20D7, 0X7D30, 0X174E, 0X4ECE, 0X2865, 0X2077, 0X188D,
0X7595, 0X1E3D, 0X5C7E, 0X1152, 0X42BF, 0X1438, 0X1265, 0X578D,
0X4D09, 0X41B8, 0X889A, 0X7DD4, 0X67D6, 0X779A, 0X2606, 0X4F6C,
0X7DAB, 0X632E, 0X6CA1, 0X0E00, 0X5326, 0X16F5, 0X3390, 0X64C1,
0X6160, 0X8579, 0X1267, 0X3D6A, 0X5828, 0X00A3, 0X1EA3, 0X1EE1,
0X8530, 0X7E43, 0X2DDF, 0X0AF5, 0X4AD0, 0X4303, 0X6017, 0X377E,
0X3B4B, 0X29E6, 0X64D3, 0X28DB, 0X18BE, 0X6F59, 0X1F90, 0X7261,
0X56E2, 0X4F16, 0X3992, 0X88FE, 0X7DC6, 0X3DD9, 0X2C1E, 0X6331,
0X6CF0, 0X2C88, 0X46F3, 0X322E, 0X16D0, 0X4A8D, 0X17EA, 0X5C8E,
0X77B1, 0X1E53, 0X4647, 0X8679, 0X8765, 0X22B6, 0X5FE5, 0X3BC4,
0X666F, 0X6CD0, 0X2CD4, 0X031F, 0X45F1, 0X5326, 0X176C, 0X3FAD,
0X0BCA, 0X0EC6, 0X1B6C, 0X27F7, 0X1EAF, 0X8338, 0X1D08, 0X2C55,
0X0604, 0X6FBE, 0X609C, 0X3DEC, 0X5C47, 0X13D7, 0X75B3, 0X8187,
0X8A94, 0X31F2, 0X67B7, 0X76B9, 0X756F, 0X3BCF, 0X6487, 0X12BE,
0X4C2F, 0X0176, 0X598F, 0X708D, 0X5E59, 0X3067, 0X3A61, 0X7804,
0X6F9B, 0X644E, 0X33E1, 0X3AB6, 0X1228, 0X4611, 0X411D, 0X7DDA,
0X6CCD, 0X1947, 0X63DC, 0X4B67, 0X6FBC, 0X0767, 0X7B74, 0X1E95,
0X8604, 0X6B3B, 0X2C37, 0X0F6A, 0X1CA6, 0X5F0E, 0X6177, 0X0043,
0X7DB5, 0X552A, 0X668A, 0X0FB9, 0X5E51, 0X245C, 0X8795, 0X4BC9,
0X0741, 0X6BF8, 0X1815, 0X088A, 0X714A, 0X09D4, 0X53B2, 0X0A37,
0X37A4, 0X21ED, 0X64C3, 0X2602, 0X2AE3, 0X3ECA, 0X484C, 0X4564,
0X2261, 0X4787, 0X5EFC, 0X37C5, 0X634F, 0X5B4F, 0X4772, 0X0396,
0X42ED, 0X6248, 0X4321, 0X3679, 0X2042, 0X0497, 0X273C, 0X71E2,
0X17C2, 0X5298, 0X55CA, 0X18A9, 0X3B1D, 0X1AB1, 0X6E41, 0X5528,
0X36A1, 0X2A32, 0X6A54, 0X4926, 0X24BA, 0X67E1, 0X83F0, 0X2AC4,
0X15EC, 0X6B22, 0X428E, 0X1E5D, 0X5520, 0X4484, 0X0905, 0X4B28,
0X15D3, 0X18C3, 0X3512, 0X0784, 0X3438, 0X7550, 0X46E3, 0X51A9,
0X07D1, 0X8491, 0X0191, 0X4B48, 0X76EA, 0X6348, 0X2EDE, 0X0A40,
0X3505, 0X5BFB, 0X11F1, 0X3A60, 0X7762, 0X037E, 0X1980, 0X0AD8,
0X4D32, 0X27B7, 0X7B89, 0X7258, 0X07F9, 0X22AF, 0X313D, 0X4F1C,
0X62DE, 0X73E8, 0X2C3E, 0X59E3, 0X00FA, 0X5988, 0X3B61, 0X6143,
0X5712, 0X0400, 0X2B1B, 0X8873, 0X552A, 0X6A91, 0X582B, 0X6EAA,
0X0336, 0X1153, 0X5E9B, 0X5654, 0X6379, 0X4FBD, 0X0BC7, 0X5BF2,
0X2C86, 0X01DB, 0X6440, 0X04EA, 0X1C13, 0X335E, 0X2E6D, 0X4B01,
0X6CC5, 0X25FB, 0X4470, 0X8911, 0X42A7, 0X3CEC, 0X4386, 0X64D0,
0X7992, 0X5D11, 0X5017, 0X4A6F, 0X3011, 0X8119, 0X36FC, 0X5446,
0X613C, 0X4FDE, 0X52CB, 0X35F4, 0X22AE, 0X5B38, 0X6415, 0X8054,
0X3932, 0X0CF7, 0X1DF9, 0X79EE, 0X1781, 0X619D, 0X5695, 0X3B70,
0X5E8C, 0X44FB, 0X2A8C, 0X50C1, 0X3105, 0X362C, 0X31F1, 0X835A,
0X13E5, 0X57CA, 0X2DBD, 0X68EE, 0X65C3, 0X438A, 0X37E0, 0X5132,
0X0276, 0X7F00, 0X77E4, 0X0109, 0X77A4, 0X4272, 0X384D, 0X8167,
0X1ABF, 0X3AE5, 0X6046, 0X5CF2, 0X0252, 0X1B8D, 0X697E, 0X5E49,
0X6884, 0X069B, 0X3062, 0X838E, 0X348C, 0X13E3, 0X84E0, 0X6458,
0X602F, 0X1974, 0X0548, 0X386C, 0X12F5, 0X8153, 0X2840, 0X5B64,
0X1485, 0X7A7B, 0X6B3C, 0X2909, 0X14D3, 0X174E, 0X6934, 0X7705,
0X5C8D, 0X3C69, 0X4D72, 0X7AA0, 0X001C, 0X44E2, 0X1F7F, 0X2FE0,
0X0F3C, 0X8679, 0X8334, 0X2870, 0X1399, 0X8319, 0X262E, 0X0D72,
0X388E, 0X1DF4, 0X1527, 0X3874, 0X7305, 0X64A9, 0X1AE1, 0X0E36,
0X25F1, 0X1A38, 0X21BA, 0X29DB, 0X0CEF, 0X1D69, 0X54B8, 0X28BD,
0X713D
};