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