Crypto++ 8.9
Free C++ class library of cryptographic schemes
primetab.cpp
1// primetab.cpp - written and placed in the public domain by Jeffrey Walton
2//
3// nbtheory.cpp originally built the prime table on the fly, and then
4// returned a reference to it in a Singleton. This was useful to
5// save memory in the old days. Nowadays we can precompute the table
6// and place it in the read-only data segment. Also see
7// https://github.com/weidai11/cryptopp/issues/1210.
8
9// The table below was generated from the original Crypto++ table:
10//
11// $ cat test.cxx
12// #include <iostream>
13// #include <iomanip>
14// #include <sstream>
15// #include "config.h"
16// #include "nbtheory.h"
17//
18// int main(int argc, char* argv[])
19// {
20// using namespace CryptoPP;
21//
22// unsigned int primeTableSize = 0;
23// const word16* primeTable = NULLPTR;
24// primeTable = GetPrimeTable(primeTableSize);
25//
26// for (size_t i=0; i<primeTableSize; ++i)
27// {
28// std::cout << primeTable[i];
29// if (i != primeTableSize - 1)
30// std::cout << ", ";
31// }
32// std::cout << std::endl;
33//
34// return 0;
35// }
36//
37// And then `./test.exe | fold -s -w 75
38
39#include "pch.h"
40
41#ifndef CRYPTOPP_IMPORTS
42
43#include "config_int.h"
44
45NAMESPACE_BEGIN(CryptoPP)
46
47// From nbtheory.cpp:
48// const unsigned int maxPrimeTableSize = 3511;
49// const word s_lastSmallPrime = 32719;
50
51extern const word16 precomputedPrimeTable[3511];
52
53const word16 precomputedPrimeTable[3511] = {
54 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67,
55 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149,
56 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229,
57 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,
58 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
59 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
60 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601,
61 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691,
62 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809,
63 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907,
64 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009,
65 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087,
66 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171,
67 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259,
68 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327,
69 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447,
70 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523,
71 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607,
72 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697,
73 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787,
74 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879,
75 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993,
76 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081,
77 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153,
78 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269,
79 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351,
80 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437,
81 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549,
82 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659,
83 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719,
84 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803,
85 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909,
86 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019,
87 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121,
88 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229,
89 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329,
90 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433,
91 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529,
92 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613,
93 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701,
94 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803,
95 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911,
96 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007,
97 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099,
98 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217,
99 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289,
100 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421,
101 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517,
102 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637,
103 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723,
104 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817,
105 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943,
106 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021,
107 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119,
108 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237,
109 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381,
110 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449,
111 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557,
112 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657,
113 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749,
114 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851,
115 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953,
116 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079,
117 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197,
118 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277,
119 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361,
120 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481,
121 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599,
122 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703,
123 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823,
124 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911,
125 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001,
126 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127,
127 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237,
128 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351,
129 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489,
130 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573,
131 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673,
132 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759,
133 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883,
134 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011,
135 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117,
136 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233,
137 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329,
138 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447,
139 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581,
140 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
141 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761,
142 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863,
143 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999,
144 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103,
145 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203,
146 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319,
147 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419,
148 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497,
149 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629,
150 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739,
151 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833,
152 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931,
153 9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061, 10067, 10069,
154 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151,
155 10159, 10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247,
156 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 10313, 10321,
157 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429,
158 10433, 10453, 10457, 10459, 10463, 10477, 10487, 10499, 10501, 10513,
159 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627,
160 10631, 10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711,
161 10723, 10729, 10733, 10739, 10753, 10771, 10781, 10789, 10799, 10831,
162 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889, 10891, 10903,
163 10909, 10937, 10939, 10949, 10957, 10973, 10979, 10987, 10993, 11003,
164 11027, 11047, 11057, 11059, 11069, 11071, 11083, 11087, 11093, 11113,
165 11117, 11119, 11131, 11149, 11159, 11161, 11171, 11173, 11177, 11197,
166 11213, 11239, 11243, 11251, 11257, 11261, 11273, 11279, 11287, 11299,
167 11311, 11317, 11321, 11329, 11351, 11353, 11369, 11383, 11393, 11399,
168 11411, 11423, 11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491,
169 11497, 11503, 11519, 11527, 11549, 11551, 11579, 11587, 11593, 11597,
170 11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701, 11717,
171 11719, 11731, 11743, 11777, 11779, 11783, 11789, 11801, 11807, 11813,
172 11821, 11827, 11831, 11833, 11839, 11863, 11867, 11887, 11897, 11903,
173 11909, 11923, 11927, 11933, 11939, 11941, 11953, 11959, 11969, 11971,
174 11981, 11987, 12007, 12011, 12037, 12041, 12043, 12049, 12071, 12073,
175 12097, 12101, 12107, 12109, 12113, 12119, 12143, 12149, 12157, 12161,
176 12163, 12197, 12203, 12211, 12227, 12239, 12241, 12251, 12253, 12263,
177 12269, 12277, 12281, 12289, 12301, 12323, 12329, 12343, 12347, 12373,
178 12377, 12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451,
179 12457, 12473, 12479, 12487, 12491, 12497, 12503, 12511, 12517, 12527,
180 12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589, 12601, 12611,
181 12613, 12619, 12637, 12641, 12647, 12653, 12659, 12671, 12689, 12697,
182 12703, 12713, 12721, 12739, 12743, 12757, 12763, 12781, 12791, 12799,
183 12809, 12821, 12823, 12829, 12841, 12853, 12889, 12893, 12899, 12907,
184 12911, 12917, 12919, 12923, 12941, 12953, 12959, 12967, 12973, 12979,
185 12983, 13001, 13003, 13007, 13009, 13033, 13037, 13043, 13049, 13063,
186 13093, 13099, 13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163,
187 13171, 13177, 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259,
188 13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337, 13339, 13367,
189 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451, 13457, 13463,
190 13469, 13477, 13487, 13499, 13513, 13523, 13537, 13553, 13567, 13577,
191 13591, 13597, 13613, 13619, 13627, 13633, 13649, 13669, 13679, 13681,
192 13687, 13691, 13693, 13697, 13709, 13711, 13721, 13723, 13729, 13751,
193 13757, 13759, 13763, 13781, 13789, 13799, 13807, 13829, 13831, 13841,
194 13859, 13873, 13877, 13879, 13883, 13901, 13903, 13907, 13913, 13921,
195 13931, 13933, 13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033,
196 14051, 14057, 14071, 14081, 14083, 14087, 14107, 14143, 14149, 14153,
197 14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251, 14281,
198 14293, 14303, 14321, 14323, 14327, 14341, 14347, 14369, 14387, 14389,
199 14401, 14407, 14411, 14419, 14423, 14431, 14437, 14447, 14449, 14461,
200 14479, 14489, 14503, 14519, 14533, 14537, 14543, 14549, 14551, 14557,
201 14561, 14563, 14591, 14593, 14621, 14627, 14629, 14633, 14639, 14653,
202 14657, 14669, 14683, 14699, 14713, 14717, 14723, 14731, 14737, 14741,
203 14747, 14753, 14759, 14767, 14771, 14779, 14783, 14797, 14813, 14821,
204 14827, 14831, 14843, 14851, 14867, 14869, 14879, 14887, 14891, 14897,
205 14923, 14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017,
206 15031, 15053, 15061, 15073, 15077, 15083, 15091, 15101, 15107, 15121,
207 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193, 15199, 15217,
208 15227, 15233, 15241, 15259, 15263, 15269, 15271, 15277, 15287, 15289,
209 15299, 15307, 15313, 15319, 15329, 15331, 15349, 15359, 15361, 15373,
210 15377, 15383, 15391, 15401, 15413, 15427, 15439, 15443, 15451, 15461,
211 15467, 15473, 15493, 15497, 15511, 15527, 15541, 15551, 15559, 15569,
212 15581, 15583, 15601, 15607, 15619, 15629, 15641, 15643, 15647, 15649,
213 15661, 15667, 15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739,
214 15749, 15761, 15767, 15773, 15787, 15791, 15797, 15803, 15809, 15817,
215 15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913, 15919,
216 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007, 16033, 16057,
217 16061, 16063, 16067, 16069, 16073, 16087, 16091, 16097, 16103, 16111,
218 16127, 16139, 16141, 16183, 16187, 16189, 16193, 16217, 16223, 16229,
219 16231, 16249, 16253, 16267, 16273, 16301, 16319, 16333, 16339, 16349,
220 16361, 16363, 16369, 16381, 16411, 16417, 16421, 16427, 16433, 16447,
221 16451, 16453, 16477, 16481, 16487, 16493, 16519, 16529, 16547, 16553,
222 16561, 16567, 16573, 16603, 16607, 16619, 16631, 16633, 16649, 16651,
223 16657, 16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
224 16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871, 16879,
225 16883, 16889, 16901, 16903, 16921, 16927, 16931, 16937, 16943, 16963,
226 16979, 16981, 16987, 16993, 17011, 17021, 17027, 17029, 17033, 17041,
227 17047, 17053, 17077, 17093, 17099, 17107, 17117, 17123, 17137, 17159,
228 17167, 17183, 17189, 17191, 17203, 17207, 17209, 17231, 17239, 17257,
229 17291, 17293, 17299, 17317, 17321, 17327, 17333, 17341, 17351, 17359,
230 17377, 17383, 17387, 17389, 17393, 17401, 17417, 17419, 17431, 17443,
231 17449, 17467, 17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519,
232 17539, 17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623,
233 17627, 17657, 17659, 17669, 17681, 17683, 17707, 17713, 17729, 17737,
234 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827, 17837, 17839,
235 17851, 17863, 17881, 17891, 17903, 17909, 17911, 17921, 17923, 17929,
236 17939, 17957, 17959, 17971, 17977, 17981, 17987, 17989, 18013, 18041,
237 18043, 18047, 18049, 18059, 18061, 18077, 18089, 18097, 18119, 18121,
238 18127, 18131, 18133, 18143, 18149, 18169, 18181, 18191, 18199, 18211,
239 18217, 18223, 18229, 18233, 18251, 18253, 18257, 18269, 18287, 18289,
240 18301, 18307, 18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379,
241 18397, 18401, 18413, 18427, 18433, 18439, 18443, 18451, 18457, 18461,
242 18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553, 18583,
243 18587, 18593, 18617, 18637, 18661, 18671, 18679, 18691, 18701, 18713,
244 18719, 18731, 18743, 18749, 18757, 18773, 18787, 18793, 18797, 18803,
245 18839, 18859, 18869, 18899, 18911, 18913, 18917, 18919, 18947, 18959,
246 18973, 18979, 19001, 19009, 19013, 19031, 19037, 19051, 19069, 19073,
247 19079, 19081, 19087, 19121, 19139, 19141, 19157, 19163, 19181, 19183,
248 19207, 19211, 19213, 19219, 19231, 19237, 19249, 19259, 19267, 19273,
249 19289, 19301, 19309, 19319, 19333, 19373, 19379, 19381, 19387, 19391,
250 19403, 19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457,
251 19463, 19469, 19471, 19477, 19483, 19489, 19501, 19507, 19531, 19541,
252 19543, 19553, 19559, 19571, 19577, 19583, 19597, 19603, 19609, 19661,
253 19681, 19687, 19697, 19699, 19709, 19717, 19727, 19739, 19751, 19753,
254 19759, 19763, 19777, 19793, 19801, 19813, 19819, 19841, 19843, 19853,
255 19861, 19867, 19889, 19891, 19913, 19919, 19927, 19937, 19949, 19961,
256 19963, 19973, 19979, 19991, 19993, 19997, 20011, 20021, 20023, 20029,
257 20047, 20051, 20063, 20071, 20089, 20101, 20107, 20113, 20117, 20123,
258 20129, 20143, 20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219,
259 20231, 20233, 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333,
260 20341, 20347, 20353, 20357, 20359, 20369, 20389, 20393, 20399, 20407,
261 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507, 20509, 20521,
262 20533, 20543, 20549, 20551, 20563, 20593, 20599, 20611, 20627, 20639,
263 20641, 20663, 20681, 20693, 20707, 20717, 20719, 20731, 20743, 20747,
264 20749, 20753, 20759, 20771, 20773, 20789, 20807, 20809, 20849, 20857,
265 20873, 20879, 20887, 20897, 20899, 20903, 20921, 20929, 20939, 20947,
266 20959, 20963, 20981, 20983, 21001, 21011, 21013, 21017, 21019, 21023,
267 21031, 21059, 21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143,
268 21149, 21157, 21163, 21169, 21179, 21187, 21191, 21193, 21211, 21221,
269 21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323, 21341,
270 21347, 21377, 21379, 21383, 21391, 21397, 21401, 21407, 21419, 21433,
271 21467, 21481, 21487, 21491, 21493, 21499, 21503, 21517, 21521, 21523,
272 21529, 21557, 21559, 21563, 21569, 21577, 21587, 21589, 21599, 21601,
273 21611, 21613, 21617, 21647, 21649, 21661, 21673, 21683, 21701, 21713,
274 21727, 21737, 21739, 21751, 21757, 21767, 21773, 21787, 21799, 21803,
275 21817, 21821, 21839, 21841, 21851, 21859, 21863, 21871, 21881, 21893,
276 21911, 21929, 21937, 21943, 21961, 21977, 21991, 21997, 22003, 22013,
277 22027, 22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091,
278 22093, 22109, 22111, 22123, 22129, 22133, 22147, 22153, 22157, 22159,
279 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273, 22277, 22279,
280 22283, 22291, 22303, 22307, 22343, 22349, 22367, 22369, 22381, 22391,
281 22397, 22409, 22433, 22441, 22447, 22453, 22469, 22481, 22483, 22501,
282 22511, 22531, 22541, 22543, 22549, 22567, 22571, 22573, 22613, 22619,
283 22621, 22637, 22639, 22643, 22651, 22669, 22679, 22691, 22697, 22699,
284 22709, 22717, 22721, 22727, 22739, 22741, 22751, 22769, 22777, 22783,
285 22787, 22807, 22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901,
286 22907, 22921, 22937, 22943, 22961, 22963, 22973, 22993, 23003, 23011,
287 23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059, 23063,
288 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159, 23167, 23173,
289 23189, 23197, 23201, 23203, 23209, 23227, 23251, 23269, 23279, 23291,
290 23293, 23297, 23311, 23321, 23327, 23333, 23339, 23357, 23369, 23371,
291 23399, 23417, 23431, 23447, 23459, 23473, 23497, 23509, 23531, 23537,
292 23539, 23549, 23557, 23561, 23563, 23567, 23581, 23593, 23599, 23603,
293 23609, 23623, 23627, 23629, 23633, 23663, 23669, 23671, 23677, 23687,
294 23689, 23719, 23741, 23743, 23747, 23753, 23761, 23767, 23773, 23789,
295 23801, 23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873, 23879,
296 23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971, 23977,
297 23981, 23993, 24001, 24007, 24019, 24023, 24029, 24043, 24049, 24061,
298 24071, 24077, 24083, 24091, 24097, 24103, 24107, 24109, 24113, 24121,
299 24133, 24137, 24151, 24169, 24179, 24181, 24197, 24203, 24223, 24229,
300 24239, 24247, 24251, 24281, 24317, 24329, 24337, 24359, 24371, 24373,
301 24379, 24391, 24407, 24413, 24419, 24421, 24439, 24443, 24469, 24473,
302 24481, 24499, 24509, 24517, 24527, 24533, 24547, 24551, 24571, 24593,
303 24611, 24623, 24631, 24659, 24671, 24677, 24683, 24691, 24697, 24709,
304 24733, 24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841,
305 24847, 24851, 24859, 24877, 24889, 24907, 24917, 24919, 24923, 24943,
306 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031, 25033, 25037,
307 25057, 25073, 25087, 25097, 25111, 25117, 25121, 25127, 25147, 25153,
308 25163, 25169, 25171, 25183, 25189, 25219, 25229, 25237, 25243, 25247,
309 25253, 25261, 25301, 25303, 25307, 25309, 25321, 25339, 25343, 25349,
310 25357, 25367, 25373, 25391, 25409, 25411, 25423, 25439, 25447, 25453,
311 25457, 25463, 25469, 25471, 25523, 25537, 25541, 25561, 25577, 25579,
312 25583, 25589, 25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657,
313 25667, 25673, 25679, 25693, 25703, 25717, 25733, 25741, 25747, 25759,
314 25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849, 25867,
315 25873, 25889, 25903, 25913, 25919, 25931, 25933, 25939, 25943, 25951,
316 25969, 25981, 25997, 25999, 26003, 26017, 26021, 26029, 26041, 26053,
317 26083, 26099, 26107, 26111, 26113, 26119, 26141, 26153, 26161, 26171,
318 26177, 26183, 26189, 26203, 26209, 26227, 26237, 26249, 26251, 26261,
319 26263, 26267, 26293, 26297, 26309, 26317, 26321, 26339, 26347, 26357,
320 26371, 26387, 26393, 26399, 26407, 26417, 26423, 26431, 26437, 26449,
321 26459, 26479, 26489, 26497, 26501, 26513, 26539, 26557, 26561, 26573,
322 26591, 26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687,
323 26693, 26699, 26701, 26711, 26713, 26717, 26723, 26729, 26731, 26737,
324 26759, 26777, 26783, 26801, 26813, 26821, 26833, 26839, 26849, 26861,
325 26863, 26879, 26881, 26891, 26893, 26903, 26921, 26927, 26947, 26951,
326 26953, 26959, 26981, 26987, 26993, 27011, 27017, 27031, 27043, 27059,
327 27061, 27067, 27073, 27077, 27091, 27103, 27107, 27109, 27127, 27143,
328 27179, 27191, 27197, 27211, 27239, 27241, 27253, 27259, 27271, 27277,
329 27281, 27283, 27299, 27329, 27337, 27361, 27367, 27397, 27407, 27409,
330 27427, 27431, 27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527,
331 27529, 27539, 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647,
332 27653, 27673, 27689, 27691, 27697, 27701, 27733, 27737, 27739, 27743,
333 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793, 27799, 27803,
334 27809, 27817, 27823, 27827, 27847, 27851, 27883, 27893, 27901, 27917,
335 27919, 27941, 27943, 27947, 27953, 27961, 27967, 27983, 27997, 28001,
336 28019, 28027, 28031, 28051, 28057, 28069, 28081, 28087, 28097, 28099,
337 28109, 28111, 28123, 28151, 28163, 28181, 28183, 28201, 28211, 28219,
338 28229, 28277, 28279, 28283, 28289, 28297, 28307, 28309, 28319, 28349,
339 28351, 28387, 28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447,
340 28463, 28477, 28493, 28499, 28513, 28517, 28537, 28541, 28547, 28549,
341 28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619, 28621,
342 28627, 28631, 28643, 28649, 28657, 28661, 28663, 28669, 28687, 28697,
343 28703, 28711, 28723, 28729, 28751, 28753, 28759, 28771, 28789, 28793,
344 28807, 28813, 28817, 28837, 28843, 28859, 28867, 28871, 28879, 28901,
345 28909, 28921, 28927, 28933, 28949, 28961, 28979, 29009, 29017, 29021,
346 29023, 29027, 29033, 29059, 29063, 29077, 29101, 29123, 29129, 29131,
347 29137, 29147, 29153, 29167, 29173, 29179, 29191, 29201, 29207, 29209,
348 29221, 29231, 29243, 29251, 29269, 29287, 29297, 29303, 29311, 29327,
349 29333, 29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411,
350 29423, 29429, 29437, 29443, 29453, 29473, 29483, 29501, 29527, 29531,
351 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611, 29629, 29633,
352 29641, 29663, 29669, 29671, 29683, 29717, 29723, 29741, 29753, 29759,
353 29761, 29789, 29803, 29819, 29833, 29837, 29851, 29863, 29867, 29873,
354 29879, 29881, 29917, 29921, 29927, 29947, 29959, 29983, 29989, 30011,
355 30013, 30029, 30047, 30059, 30071, 30089, 30091, 30097, 30103, 30109,
356 30113, 30119, 30133, 30137, 30139, 30161, 30169, 30181, 30187, 30197,
357 30203, 30211, 30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307,
358 30313, 30319, 30323, 30341, 30347, 30367, 30389, 30391, 30403, 30427,
359 30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517, 30529,
360 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637, 30643, 30649,
361 30661, 30671, 30677, 30689, 30697, 30703, 30707, 30713, 30727, 30757,
362 30763, 30773, 30781, 30803, 30809, 30817, 30829, 30839, 30841, 30851,
363 30853, 30859, 30869, 30871, 30881, 30893, 30911, 30931, 30937, 30941,
364 30949, 30971, 30977, 30983, 31013, 31019, 31033, 31039, 31051, 31063,
365 31069, 31079, 31081, 31091, 31121, 31123, 31139, 31147, 31151, 31153,
366 31159, 31177, 31181, 31183, 31189, 31193, 31219, 31223, 31231, 31237,
367 31247, 31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319, 31321,
368 31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397, 31469,
369 31477, 31481, 31489, 31511, 31513, 31517, 31531, 31541, 31543, 31547,
370 31567, 31573, 31583, 31601, 31607, 31627, 31643, 31649, 31657, 31663,
371 31667, 31687, 31699, 31721, 31723, 31727, 31729, 31741, 31751, 31769,
372 31771, 31793, 31799, 31817, 31847, 31849, 31859, 31873, 31883, 31891,
373 31907, 31957, 31963, 31973, 31981, 31991, 32003, 32009, 32027, 32029,
374 32051, 32057, 32059, 32063, 32069, 32077, 32083, 32089, 32099, 32117,
375 32119, 32141, 32143, 32159, 32173, 32183, 32189, 32191, 32203, 32213,
376 32233, 32237, 32251, 32257, 32261, 32297, 32299, 32303, 32309, 32321,
377 32323, 32327, 32341, 32353, 32359, 32363, 32369, 32371, 32377, 32381,
378 32401, 32411, 32413, 32423, 32429, 32441, 32443, 32467, 32479, 32491,
379 32497, 32503, 32507, 32531, 32533, 32537, 32561, 32563, 32569, 32573,
380 32579, 32587, 32603, 32609, 32611, 32621, 32633, 32647, 32653, 32687,
381 32693, 32707, 32713, 32717, 32719
382};
383
384NAMESPACE_END
385
386#endif
Library configuration file.
unsigned short word16
16-bit unsigned datatype
Definition config_int.h:69
Crypto++ library namespace.
Precompiled header file.