1 /* smallprime.c - List of small primes
2 * Copyright (C) 1998 Free Software Foundation, Inc.
4 * This file is part of GnuPG.
6 * GnuPG is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * GnuPG is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
24 #include "constants.h"
26 #include "gcryptfix.h"
28 /* #include <config.h> */
29 /* #include <stdio.h> */
30 /* #include <stdlib.h> */
31 /* #include "util.h" */
32 /* #include "types.h" */
35 /* Note: 2 is not included because it can be tested more easily
36 * by looking at bit 0. The last entry in this list is marked by a zero
39 small_prime_numbers[] = {
40 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43,
41 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
42 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
43 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
44 211, 223, 227, 229, 233, 239, 241, 251, 257, 263,
45 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
46 331, 337, 347, 349, 353, 359, 367, 373, 379, 383,
47 389, 397, 401, 409, 419, 421, 431, 433, 439, 443,
48 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
49 509, 521, 523, 541, 547, 557, 563, 569, 571, 577,
50 587, 593, 599, 601, 607, 613, 617, 619, 631, 641,
51 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
52 709, 719, 727, 733, 739, 743, 751, 757, 761, 769,
53 773, 787, 797, 809, 811, 821, 823, 827, 829, 839,
54 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
55 919, 929, 937, 941, 947, 953, 967, 971, 977, 983,
56 991, 997, 1009, 1013, 1019, 1021, 1031, 1033,
57 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091,
58 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
59 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213,
60 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277,
61 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307,
62 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399,
63 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451,
64 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493,
65 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559,
66 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609,
67 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
68 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733,
69 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789,
70 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871,
71 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931,
72 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997,
73 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053,
74 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111,
75 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161,
76 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
77 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297,
78 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357,
79 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411,
80 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473,
81 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551,
82 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633,
83 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687,
84 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729,
85 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
86 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851,
87 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917,
88 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999,
89 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061,
90 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137,
91 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209,
92 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271,
93 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331,
94 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
95 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467,
96 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533,
97 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583,
98 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643,
99 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709,
100 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779,
101 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851,
102 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917,
103 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
104 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049,
105 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111,
106 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177,
107 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243,
108 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297,
109 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391,
110 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457,
111 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519,
112 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
113 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657,
114 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729,
115 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799,
116 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889,
117 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951,
118 4957, 4967, 4969, 4973, 4987, 4993, 4999,