bn_const.c revision 296341
1139804Simp/* crypto/bn/knownprimes.c */ 2126324Sjhb/* Insert boilerplate */ 3126324Sjhb 4126324Sjhb#include "bn.h" 5126324Sjhb 6126324Sjhb/*- 7126324Sjhb * "First Oakley Default Group" from RFC2409, section 6.1. 8126324Sjhb * 9126324Sjhb * The prime is: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } 10126324Sjhb * 11126324Sjhb * RFC2409 specifies a generator of 2. 12126324Sjhb * RFC2412 specifies a generator of of 22. 13126324Sjhb */ 14126324Sjhb 15126324SjhbBIGNUM *get_rfc2409_prime_768(BIGNUM *bn) 16126324Sjhb{ 17126324Sjhb static const unsigned char RFC2409_PRIME_768[] = { 18126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 19126324Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 20126324Sjhb 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 21126324Sjhb 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 22126324Sjhb 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 23126324Sjhb 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 24126324Sjhb 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 25126324Sjhb 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 26126324Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 27126324Sjhb 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 28126324Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20, 29126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 30126324Sjhb }; 31126324Sjhb return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn); 32126324Sjhb} 33126324Sjhb 34126324Sjhb/*- 35126324Sjhb * "Second Oakley Default Group" from RFC2409, section 6.2. 36126324Sjhb * 37126324Sjhb * The prime is: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }. 38126324Sjhb * 39126324Sjhb * RFC2409 specifies a generator of 2. 40126324Sjhb * RFC2412 specifies a generator of 22. 41126324Sjhb */ 42126324Sjhb 43126324SjhbBIGNUM *get_rfc2409_prime_1024(BIGNUM *bn) 44126324Sjhb{ 45126324Sjhb static const unsigned char RFC2409_PRIME_1024[] = { 46126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 47126324Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 48126324Sjhb 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 49126324Sjhb 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 50126324Sjhb 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 51126324Sjhb 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 52126324Sjhb 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 53126324Sjhb 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 54126324Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 55126324Sjhb 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 56126324Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 57126324Sjhb 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 58126324Sjhb 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 59126324Sjhb 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 60126324Sjhb 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81, 61126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 62154936Sjhb }; 63154936Sjhb return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn); 64236344Srstone} 65170640Sjeff 66154936Sjhb/*- 67126324Sjhb * "1536-bit MODP Group" from RFC3526, Section 2. 68126324Sjhb * 69126324Sjhb * The prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 } 70126324Sjhb * 71126324Sjhb * RFC3526 specifies a generator of 2. 72126324Sjhb * RFC2312 specifies a generator of 22. 73126324Sjhb */ 74177372Sjeff 75126324SjhbBIGNUM *get_rfc3526_prime_1536(BIGNUM *bn) 76236344Srstone{ 77126324Sjhb static const unsigned char RFC3526_PRIME_1536[] = { 78126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 79131259Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 80126324Sjhb 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 81169666Sjeff 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 82169666Sjeff 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 83154936Sjhb 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 84154936Sjhb 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 85154936Sjhb 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 86154936Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 87126324Sjhb 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 88126324Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 89126324Sjhb 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 90126324Sjhb 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 91126324Sjhb 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 92126324Sjhb 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 93126324Sjhb 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 94126324Sjhb 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 95126324Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 96126324Sjhb 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 97126324Sjhb 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 98126324Sjhb 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 99165272Skmacy 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 100126324Sjhb 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27, 101126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 102126324Sjhb }; 103126324Sjhb return BN_bin2bn(RFC3526_PRIME_1536, sizeof(RFC3526_PRIME_1536), bn); 104126324Sjhb} 105126324Sjhb 106126324Sjhb/*- 107126324Sjhb * "2048-bit MODP Group" from RFC3526, Section 3. 108126324Sjhb * 109126324Sjhb * The prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 } 110126324Sjhb * 111126324Sjhb * RFC3526 specifies a generator of 2. 112126324Sjhb */ 113126324Sjhb 114126324SjhbBIGNUM *get_rfc3526_prime_2048(BIGNUM *bn) 115126324Sjhb{ 116126324Sjhb static const unsigned char RFC3526_PRIME_2048[] = { 117126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 118126324Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 119165272Skmacy 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 120200447Sattilio 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 121126324Sjhb 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 122126324Sjhb 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 123126324Sjhb 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 124201879Sattilio 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 125136445Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 126164325Spjd 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 127126324Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 128126324Sjhb 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 129126324Sjhb 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 130126324Sjhb 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 131126324Sjhb 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 132126324Sjhb 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 133131259Sjhb 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 134131259Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 135131259Sjhb 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 136131259Sjhb 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 137126324Sjhb 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 138126324Sjhb 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 139131259Sjhb 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 140131259Sjhb 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 141248085Smarius 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 142248085Smarius 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 143131259Sjhb 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 144131259Sjhb 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 145131259Sjhb 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 146177372Sjeff 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 147177372Sjeff 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 148177372Sjeff 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 149131259Sjhb }; 150126324Sjhb return BN_bin2bn(RFC3526_PRIME_2048, sizeof(RFC3526_PRIME_2048), bn); 151169666Sjeff} 152126324Sjhb 153126324Sjhb/*- 154126324Sjhb * "3072-bit MODP Group" from RFC3526, Section 4. 155126324Sjhb * 156177085Sjeff * The prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 } 157165272Skmacy * 158126324Sjhb * RFC3526 specifies a generator of 2. 159169666Sjeff */ 160169666Sjeff 161169666SjeffBIGNUM *get_rfc3526_prime_3072(BIGNUM *bn) 162169666Sjeff{ 163181334Sjhb static const unsigned char RFC3526_PRIME_3072[] = { 164169666Sjeff 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 165177085Sjeff 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 166126324Sjhb 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 167126324Sjhb 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 168236344Srstone 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 169236344Srstone 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 170236344Srstone 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 171126324Sjhb 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 172126324Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 173126324Sjhb 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 174126324Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 175126324Sjhb 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 176126324Sjhb 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 177126324Sjhb 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 178131259Sjhb 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 179131259Sjhb 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 180131259Sjhb 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 181131259Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 182126324Sjhb 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 183126324Sjhb 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 184126324Sjhb 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 185126324Sjhb 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 186126324Sjhb 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 187176258Sjhb 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 188131259Sjhb 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 189131259Sjhb 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 190131259Sjhb 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 191131259Sjhb 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 192131259Sjhb 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 193131259Sjhb 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 194131259Sjhb 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 195131259Sjhb 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 196131259Sjhb 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 197131259Sjhb 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 198131259Sjhb 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 199126324Sjhb 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 200169666Sjeff 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 201169666Sjeff 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 202169666Sjeff 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 203169666Sjeff 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 204169666Sjeff 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 205169666Sjeff 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 206169666Sjeff 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 207126324Sjhb 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 208126324Sjhb 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 209126324Sjhb 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 210126324Sjhb 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 211169666Sjeff 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 212126324Sjhb }; 213126324Sjhb return BN_bin2bn(RFC3526_PRIME_3072, sizeof(RFC3526_PRIME_3072), bn); 214126324Sjhb} 215126324Sjhb 216126324Sjhb/*- 217169666Sjeff * "4096-bit MODP Group" from RFC3526, Section 5. 218126324Sjhb * 219126324Sjhb * The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } 220126324Sjhb * 221126324Sjhb * RFC3526 specifies a generator of 2. 222126324Sjhb */ 223126324Sjhb 224126324SjhbBIGNUM *get_rfc3526_prime_4096(BIGNUM *bn) 225126324Sjhb{ 226126324Sjhb static const unsigned char RFC3526_PRIME_4096[] = { 227169666Sjeff 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 228126324Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 229126324Sjhb 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 230126324Sjhb 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 231136445Sjhb 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 232136445Sjhb 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 233136445Sjhb 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 234136445Sjhb 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 235136445Sjhb 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 236136445Sjhb 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 237136445Sjhb 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 238136445Sjhb 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 239136445Sjhb 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 240136445Sjhb 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 241136445Sjhb 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 242136445Sjhb 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 243126324Sjhb 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 244136445Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 245136445Sjhb 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 246126324Sjhb 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 247126324Sjhb 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 248126324Sjhb 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 249126324Sjhb 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 250126324Sjhb 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 251126324Sjhb 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 252126324Sjhb 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 253126324Sjhb 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 254126324Sjhb 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 255136445Sjhb 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 256126324Sjhb 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 257126324Sjhb 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 258126324Sjhb 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 259126324Sjhb 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 260126324Sjhb 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 261126324Sjhb 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 262126324Sjhb 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 263126324Sjhb 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 264126324Sjhb 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 265126324Sjhb 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 266126324Sjhb 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 267126324Sjhb 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 268126324Sjhb 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 269126324Sjhb 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 270126324Sjhb 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 271126324Sjhb 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 272126324Sjhb 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 273126324Sjhb 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 274126324Sjhb 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 275137277Sjhb 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 276126324Sjhb 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 277126324Sjhb 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 278126324Sjhb 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 279126324Sjhb 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 280126324Sjhb 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 281165272Skmacy 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 282165272Skmacy 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 283126324Sjhb 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 284126324Sjhb 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 285136445Sjhb 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 286137277Sjhb 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 287126324Sjhb 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 288126324Sjhb 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 289126324Sjhb 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99, 290126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 291126324Sjhb }; 292126324Sjhb return BN_bin2bn(RFC3526_PRIME_4096, sizeof(RFC3526_PRIME_4096), bn); 293165272Skmacy} 294126324Sjhb 295150177Sjhb/*- 296150177Sjhb * "6144-bit MODP Group" from RFC3526, Section 6. 297152221Simp * 298150177Sjhb * The prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 } 299136445Sjhb * 300136445Sjhb * RFC3526 specifies a generator of 2. 301136445Sjhb */ 302136445Sjhb 303136445SjhbBIGNUM *get_rfc3526_prime_6144(BIGNUM *bn) 304136445Sjhb{ 305136445Sjhb static const unsigned char RFC3526_PRIME_6144[] = { 306136445Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 307126324Sjhb 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 308165272Skmacy 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 309165292Skmacy 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 310165291Sache 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 311165292Skmacy 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 312200447Sattilio 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 313165292Skmacy 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 314200447Sattilio 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 315200447Sattilio 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 316200447Sattilio 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 317200447Sattilio 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 318165272Skmacy 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 319165272Skmacy 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 320165272Skmacy 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 321165292Skmacy 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 322165272Skmacy 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 323131259Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 324131259Sjhb 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 325131259Sjhb 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 326131259Sjhb 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 327131259Sjhb 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 328131259Sjhb 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 329131259Sjhb 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 330131259Sjhb 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 331165292Skmacy 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 332126324Sjhb 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 333126324Sjhb 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 334201879Sattilio 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 335126324Sjhb 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 336126324Sjhb 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 337126488Sjhb 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 338136445Sjhb 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 339126324Sjhb 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 340126324Sjhb 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 341172155Sattilio 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 342165272Skmacy 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 343200447Sattilio 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 344126324Sjhb 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 345165272Skmacy 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 346126324Sjhb 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 347126324Sjhb 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 348155741Sdavidxu 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 349134013Sjhb 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 350155741Sdavidxu 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 351155741Sdavidxu 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 352172155Sattilio 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 353126324Sjhb 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 354126324Sjhb 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 355126324Sjhb 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 356126324Sjhb 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 357126324Sjhb 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 358126324Sjhb 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 359126324Sjhb 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 360126885Sjhb 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 361126324Sjhb 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 362126324Sjhb 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 363126324Sjhb 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 364126324Sjhb 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 365126324Sjhb 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 366126324Sjhb 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 367126324Sjhb 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 368126324Sjhb 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 369126324Sjhb 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 370126324Sjhb 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 371177860Sjeff 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 372126324Sjhb 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 373126324Sjhb 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 374126324Sjhb 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 375200447Sattilio 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 376200447Sattilio 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 377200447Sattilio 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 378200447Sattilio 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 379200447Sattilio 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 380200447Sattilio 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 381200447Sattilio 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 382200447Sattilio 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 383200447Sattilio 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 384200447Sattilio 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 385200447Sattilio 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 386200447Sattilio 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 387200447Sattilio 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 388200447Sattilio 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 389200447Sattilio 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 390200447Sattilio 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 391126324Sjhb 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 392126324Sjhb 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 393170294Sjeff 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 394170294Sjeff 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 395126324Sjhb 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 396155741Sdavidxu 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 397177085Sjeff 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 398126324Sjhb 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 399126324Sjhb 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 400126324Sjhb 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24, 401126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 402126324Sjhb }; 403155741Sdavidxu return BN_bin2bn(RFC3526_PRIME_6144, sizeof(RFC3526_PRIME_6144), bn); 404195702Skib} 405126324Sjhb 406126324Sjhb/*- 407155741Sdavidxu * "8192-bit MODP Group" from RFC3526, Section 7. 408126324Sjhb * 409126324Sjhb * The prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 } 410126324Sjhb * 411211523Sdavidxu * RFC3526 specifies a generator of 2. 412211523Sdavidxu */ 413211523Sdavidxu 414211534SdavidxuBIGNUM *get_rfc3526_prime_8192(BIGNUM *bn) 415211523Sdavidxu{ 416211523Sdavidxu static const unsigned char RFC3526_PRIME_8192[] = { 417211523Sdavidxu 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 418177375Sjeff 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 419177375Sjeff 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 420177375Sjeff 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 421177375Sjeff 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 422177375Sjeff 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 423177375Sjeff 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 424177471Sjeff 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 425177375Sjeff 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 426177375Sjeff 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 427177375Sjeff 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 428195702Skib 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 429195702Skib 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 430177375Sjeff 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 431177375Sjeff 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 432129241Sbde 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 433173601Sjulian 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 434126324Sjhb 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 435155741Sdavidxu 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 436155741Sdavidxu 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 437195702Skib 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 438155741Sdavidxu 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 439155741Sdavidxu 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 440155741Sdavidxu 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 441155741Sdavidxu 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 442155741Sdavidxu 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 443155741Sdavidxu 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 444155741Sdavidxu 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 445155741Sdavidxu 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 446155741Sdavidxu 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 447155741Sdavidxu 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 448155741Sdavidxu 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 449184667Sdavidxu 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 450184667Sdavidxu 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 451184667Sdavidxu 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 452209612Sjhb 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 453184667Sdavidxu 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 454184667Sdavidxu 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 455170294Sjeff 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 456184667Sdavidxu 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 457170294Sjeff 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 458184667Sdavidxu 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 459185502Sdavidxu 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 460185502Sdavidxu 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 461185502Sdavidxu 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 462185502Sdavidxu 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 463211523Sdavidxu 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 464155936Sdavidxu 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 465155936Sdavidxu 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 466155936Sdavidxu 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 467155936Sdavidxu 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 468170294Sjeff 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 469170294Sjeff 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 470181334Sjhb 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 471181334Sjhb 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 472181334Sjhb 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 473181334Sjhb 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 474181334Sjhb 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 475181334Sjhb 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 476181334Sjhb 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 477181334Sjhb 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 478181334Sjhb 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 479170294Sjeff 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 480170294Sjeff 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 481170294Sjeff 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 482155741Sdavidxu 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 483126324Sjhb 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 484126324Sjhb 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 485126324Sjhb 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 486170294Sjeff 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 487170294Sjeff 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 488126324Sjhb 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 489126324Sjhb 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 490177085Sjeff 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 491126324Sjhb 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 492126324Sjhb 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 493175654Sjhb 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 494126324Sjhb 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 495126324Sjhb 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 496126324Sjhb 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 497126324Sjhb 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 498126324Sjhb 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 499170294Sjeff 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 500175654Sjhb 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 501175654Sjhb 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 502175654Sjhb 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 503175654Sjhb 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 504175654Sjhb 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 505126324Sjhb 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 506126324Sjhb 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 507126324Sjhb 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 508126324Sjhb 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 509175654Sjhb 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 510175654Sjhb 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 511175654Sjhb 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59, 512175654Sjhb 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 513175654Sjhb 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 514175654Sjhb 0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA, 515175654Sjhb 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00, 516175654Sjhb 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 517175654Sjhb 0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66, 518181334Sjhb 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68, 519181334Sjhb 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 520181334Sjhb 0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D, 521181334Sjhb 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9, 522181334Sjhb 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 523181334Sjhb 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7, 524181334Sjhb 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B, 525181334Sjhb 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 526181334Sjhb 0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8, 527175654Sjhb 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 528175654Sjhb 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 529175654Sjhb 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D, 530177372Sjeff 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36, 531177372Sjeff 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 532177372Sjeff 0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D, 533177372Sjeff 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1, 534177085Sjeff 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 535177085Sjeff 0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68, 536170294Sjeff 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92, 537236344Srstone 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 538126324Sjhb 0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B, 539178272Sjeff 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47, 540126324Sjhb 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 541129241Sbde 0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF, 542173600Sjulian 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71, 543126324Sjhb 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 544126324Sjhb 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 545126324Sjhb }; 546126324Sjhb return BN_bin2bn(RFC3526_PRIME_8192, sizeof(RFC3526_PRIME_8192), bn); 547126324Sjhb} 548126324Sjhb