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