xref: /freebsd/crypto/openssl/crypto/bn/bn_prime.h (revision 907b59d76938e654f0d040a888e8dfca3de1e222)
1 /* Auto generated by bn_prime.pl */
2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3  * All rights reserved.
4  *
5  * This package is an SSL implementation written
6  * by Eric Young (eay@cryptsoft.com).
7  * The implementation was written so as to conform with Netscapes SSL.
8  *
9  * This library is free for commercial and non-commercial use as long as
10  * the following conditions are aheared to.  The following conditions
11  * apply to all code found in this distribution, be it the RC4, RSA,
12  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
13  * included with this distribution is covered by the same copyright terms
14  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15  *
16  * Copyright remains Eric Young's, and as such any Copyright notices in
17  * the code are not to be removed.
18  * If this package is used in a product, Eric Young should be given attribution
19  * as the author of the parts of the library used.
20  * This can be in the form of a textual message at program startup or
21  * in documentation (online or textual) provided with the package.
22  *
23  * Redistribution and use in source and binary forms, with or without
24  * modification, are permitted provided that the following conditions
25  * are met:
26  * 1. Redistributions of source code must retain the copyright
27  *    notice, this list of conditions and the following disclaimer.
28  * 2. Redistributions in binary form must reproduce the above copyright
29  *    notice, this list of conditions and the following disclaimer in the
30  *    documentation and/or other materials provided with the distribution.
31  * 3. All advertising materials mentioning features or use of this software
32  *    must display the following acknowledgement:
33  *    "This product includes cryptographic software written by
34  *     Eric Young (eay@cryptsoft.com)"
35  *    The word 'cryptographic' can be left out if the rouines from the library
36  *    being used are not cryptographic related :-).
37  * 4. If you include any Windows specific code (or a derivative thereof) from
38  *    the apps directory (application code) you must include an acknowledgement:
39  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40  *
41  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51  * SUCH DAMAGE.
52  *
53  * The licence and distribution terms for any publically available version or
54  * derivative of this code cannot be changed.  i.e. this code cannot simply be
55  * copied and put under another distribution licence
56  * [including the GNU Public Licence.]
57  */
58 
59 #ifndef EIGHT_BIT
60 # define NUMPRIMES 2048
61 typedef unsigned short prime_t;
62 #else
63 # define NUMPRIMES 54
64 typedef unsigned char prime_t;
65 #endif
66 static const prime_t primes[NUMPRIMES] = {
67     2, 3, 5, 7, 11, 13, 17, 19,
68     23, 29, 31, 37, 41, 43, 47, 53,
69     59, 61, 67, 71, 73, 79, 83, 89,
70     97, 101, 103, 107, 109, 113, 127, 131,
71     137, 139, 149, 151, 157, 163, 167, 173,
72     179, 181, 191, 193, 197, 199, 211, 223,
73     227, 229, 233, 239, 241, 251,
74 #ifndef EIGHT_BIT
75     257, 263,
76     269, 271, 277, 281, 283, 293, 307, 311,
77     313, 317, 331, 337, 347, 349, 353, 359,
78     367, 373, 379, 383, 389, 397, 401, 409,
79     419, 421, 431, 433, 439, 443, 449, 457,
80     461, 463, 467, 479, 487, 491, 499, 503,
81     509, 521, 523, 541, 547, 557, 563, 569,
82     571, 577, 587, 593, 599, 601, 607, 613,
83     617, 619, 631, 641, 643, 647, 653, 659,
84     661, 673, 677, 683, 691, 701, 709, 719,
85     727, 733, 739, 743, 751, 757, 761, 769,
86     773, 787, 797, 809, 811, 821, 823, 827,
87     829, 839, 853, 857, 859, 863, 877, 881,
88     883, 887, 907, 911, 919, 929, 937, 941,
89     947, 953, 967, 971, 977, 983, 991, 997,
90     1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049,
91     1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097,
92     1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163,
93     1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223,
94     1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
95     1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321,
96     1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423,
97     1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459,
98     1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511,
99     1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571,
100     1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619,
101     1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693,
102     1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747,
103     1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
104     1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877,
105     1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949,
106     1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003,
107     2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069,
108     2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129,
109     2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203,
110     2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267,
111     2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311,
112     2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
113     2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423,
114     2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503,
115     2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579,
116     2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657,
117     2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693,
118     2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741,
119     2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801,
120     2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861,
121     2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939,
122     2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011,
123     3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079,
124     3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167,
125     3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221,
126     3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301,
127     3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347,
128     3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413,
129     3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491,
130     3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
131     3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607,
132     3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671,
133     3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727,
134     3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797,
135     3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863,
136     3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923,
137     3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003,
138     4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057,
139     4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129,
140     4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211,
141     4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259,
142     4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337,
143     4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409,
144     4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481,
145     4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547,
146     4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621,
147     4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673,
148     4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751,
149     4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813,
150     4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909,
151     4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967,
152     4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011,
153     5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087,
154     5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167,
155     5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233,
156     5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309,
157     5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399,
158     5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443,
159     5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507,
160     5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573,
161     5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653,
162     5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711,
163     5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791,
164     5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849,
165     5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897,
166     5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007,
167     6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073,
168     6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133,
169     6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211,
170     6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271,
171     6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329,
172     6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379,
173     6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473,
174     6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563,
175     6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637,
176     6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701,
177     6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779,
178     6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833,
179     6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907,
180     6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971,
181     6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027,
182     7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121,
183     7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207,
184     7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253,
185     7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349,
186     7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457,
187     7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517,
188     7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561,
189     7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621,
190     7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691,
191     7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757,
192     7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853,
193     7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919,
194     7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009,
195     8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087,
196     8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161,
197     8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231,
198     8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291,
199     8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369,
200     8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443,
201     8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537,
202     8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609,
203     8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677,
204     8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731,
205     8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803,
206     8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861,
207     8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941,
208     8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011,
209     9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091,
210     9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161,
211     9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227,
212     9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311,
213     9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377,
214     9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433,
215     9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491,
216     9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587,
217     9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649,
218     9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733,
219     9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791,
220     9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857,
221     9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929,
222     9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037,
223     10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099,
224     10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163,
225     10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247,
226     10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303,
227     10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369,
228     10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459,
229     10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531,
230     10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627,
231     10631, 10639, 10651, 10657, 10663, 10667, 10687, 10691,
232     10709, 10711, 10723, 10729, 10733, 10739, 10753, 10771,
233     10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859,
234     10861, 10867, 10883, 10889, 10891, 10903, 10909, 10937,
235     10939, 10949, 10957, 10973, 10979, 10987, 10993, 11003,
236     11027, 11047, 11057, 11059, 11069, 11071, 11083, 11087,
237     11093, 11113, 11117, 11119, 11131, 11149, 11159, 11161,
238     11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251,
239     11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317,
240     11321, 11329, 11351, 11353, 11369, 11383, 11393, 11399,
241     11411, 11423, 11437, 11443, 11447, 11467, 11471, 11483,
242     11489, 11491, 11497, 11503, 11519, 11527, 11549, 11551,
243     11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657,
244     11677, 11681, 11689, 11699, 11701, 11717, 11719, 11731,
245     11743, 11777, 11779, 11783, 11789, 11801, 11807, 11813,
246     11821, 11827, 11831, 11833, 11839, 11863, 11867, 11887,
247     11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941,
248     11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011,
249     12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101,
250     12107, 12109, 12113, 12119, 12143, 12149, 12157, 12161,
251     12163, 12197, 12203, 12211, 12227, 12239, 12241, 12251,
252     12253, 12263, 12269, 12277, 12281, 12289, 12301, 12323,
253     12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401,
254     12409, 12413, 12421, 12433, 12437, 12451, 12457, 12473,
255     12479, 12487, 12491, 12497, 12503, 12511, 12517, 12527,
256     12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589,
257     12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653,
258     12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739,
259     12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821,
260     12823, 12829, 12841, 12853, 12889, 12893, 12899, 12907,
261     12911, 12917, 12919, 12923, 12941, 12953, 12959, 12967,
262     12973, 12979, 12983, 13001, 13003, 13007, 13009, 13033,
263     13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109,
264     13121, 13127, 13147, 13151, 13159, 13163, 13171, 13177,
265     13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259,
266     13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337,
267     13339, 13367, 13381, 13397, 13399, 13411, 13417, 13421,
268     13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499,
269     13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597,
270     13613, 13619, 13627, 13633, 13649, 13669, 13679, 13681,
271     13687, 13691, 13693, 13697, 13709, 13711, 13721, 13723,
272     13729, 13751, 13757, 13759, 13763, 13781, 13789, 13799,
273     13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879,
274     13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933,
275     13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033,
276     14051, 14057, 14071, 14081, 14083, 14087, 14107, 14143,
277     14149, 14153, 14159, 14173, 14177, 14197, 14207, 14221,
278     14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323,
279     14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407,
280     14411, 14419, 14423, 14431, 14437, 14447, 14449, 14461,
281     14479, 14489, 14503, 14519, 14533, 14537, 14543, 14549,
282     14551, 14557, 14561, 14563, 14591, 14593, 14621, 14627,
283     14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699,
284     14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753,
285     14759, 14767, 14771, 14779, 14783, 14797, 14813, 14821,
286     14827, 14831, 14843, 14851, 14867, 14869, 14879, 14887,
287     14891, 14897, 14923, 14929, 14939, 14947, 14951, 14957,
288     14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073,
289     15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137,
290     15139, 15149, 15161, 15173, 15187, 15193, 15199, 15217,
291     15227, 15233, 15241, 15259, 15263, 15269, 15271, 15277,
292     15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331,
293     15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401,
294     15413, 15427, 15439, 15443, 15451, 15461, 15467, 15473,
295     15493, 15497, 15511, 15527, 15541, 15551, 15559, 15569,
296     15581, 15583, 15601, 15607, 15619, 15629, 15641, 15643,
297     15647, 15649, 15661, 15667, 15671, 15679, 15683, 15727,
298     15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773,
299     15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859,
300     15877, 15881, 15887, 15889, 15901, 15907, 15913, 15919,
301     15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007,
302     16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087,
303     16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183,
304     16187, 16189, 16193, 16217, 16223, 16229, 16231, 16249,
305     16253, 16267, 16273, 16301, 16319, 16333, 16339, 16349,
306     16361, 16363, 16369, 16381, 16411, 16417, 16421, 16427,
307     16433, 16447, 16451, 16453, 16477, 16481, 16487, 16493,
308     16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603,
309     16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661,
310     16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
311     16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843,
312     16871, 16879, 16883, 16889, 16901, 16903, 16921, 16927,
313     16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993,
314     17011, 17021, 17027, 17029, 17033, 17041, 17047, 17053,
315     17077, 17093, 17099, 17107, 17117, 17123, 17137, 17159,
316     17167, 17183, 17189, 17191, 17203, 17207, 17209, 17231,
317     17239, 17257, 17291, 17293, 17299, 17317, 17321, 17327,
318     17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389,
319     17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467,
320     17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519,
321     17539, 17551, 17569, 17573, 17579, 17581, 17597, 17599,
322     17609, 17623, 17627, 17657, 17659, 17669, 17681, 17683,
323     17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783,
324     17789, 17791, 17807, 17827, 17837, 17839, 17851, 17863,
325 #endif
326 };
327