1160814Ssimon/* crypto/bn/knownprimes.c */ 2160814Ssimon/* Insert boilerplate */ 3160814Ssimon 4160814Ssimon#include "bn.h" 5160814Ssimon 6280304Sjkim/*- 7280304Sjkim * "First Oakley Default Group" from RFC2409, section 6.1. 8160814Ssimon * 9160814Ssimon * The prime is: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } 10160814Ssimon * 11160814Ssimon * RFC2409 specifies a generator of 2. 12160814Ssimon * RFC2412 specifies a generator of of 22. 13160814Ssimon */ 14160814Ssimon 15160814SsimonBIGNUM *get_rfc2409_prime_768(BIGNUM *bn) 16280304Sjkim{ 17280304Sjkim static const unsigned char RFC2409_PRIME_768[] = { 18280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 19280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 20280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 21280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 22280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 23280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 24280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 25280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 26280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 27280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 28280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20, 29280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 30280304Sjkim }; 31280304Sjkim return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn); 32280304Sjkim} 33160814Ssimon 34280304Sjkim/*- 35280304Sjkim * "Second Oakley Default Group" from RFC2409, section 6.2. 36160814Ssimon * 37160814Ssimon * The prime is: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }. 38160814Ssimon * 39160814Ssimon * RFC2409 specifies a generator of 2. 40160814Ssimon * RFC2412 specifies a generator of 22. 41160814Ssimon */ 42160814Ssimon 43160814SsimonBIGNUM *get_rfc2409_prime_1024(BIGNUM *bn) 44280304Sjkim{ 45280304Sjkim static const unsigned char RFC2409_PRIME_1024[] = { 46280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 47280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 48280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 49280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 50280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 51280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 52280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 53280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 54280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 55280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 56280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 57280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 58280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 59280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 60280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81, 61280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 62280304Sjkim }; 63280304Sjkim return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn); 64280304Sjkim} 65160814Ssimon 66280304Sjkim/*- 67280304Sjkim * "1536-bit MODP Group" from RFC3526, Section 2. 68160814Ssimon * 69160814Ssimon * The prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 } 70160814Ssimon * 71160814Ssimon * RFC3526 specifies a generator of 2. 72160814Ssimon * RFC2312 specifies a generator of 22. 73160814Ssimon */ 74160814Ssimon 75160814SsimonBIGNUM *get_rfc3526_prime_1536(BIGNUM *bn) 76280304Sjkim{ 77280304Sjkim static const unsigned char RFC3526_PRIME_1536[] = { 78280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 79280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 80280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 81280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 82280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 83280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 84280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 85280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 86280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 87280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 88280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 89280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 90280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 91280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 92280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 93280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 94280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 95280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 96280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 97280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 98280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 99280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 100280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27, 101280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 102280304Sjkim }; 103280304Sjkim return BN_bin2bn(RFC3526_PRIME_1536, sizeof(RFC3526_PRIME_1536), bn); 104280304Sjkim} 105160814Ssimon 106280304Sjkim/*- 107280304Sjkim * "2048-bit MODP Group" from RFC3526, Section 3. 108160814Ssimon * 109160814Ssimon * The prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 } 110160814Ssimon * 111160814Ssimon * RFC3526 specifies a generator of 2. 112160814Ssimon */ 113160814Ssimon 114160814SsimonBIGNUM *get_rfc3526_prime_2048(BIGNUM *bn) 115280304Sjkim{ 116280304Sjkim static const unsigned char RFC3526_PRIME_2048[] = { 117280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 118280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 119280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 120280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 121280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 122280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 123280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 124280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 125280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 126280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 127280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 128280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 129280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 130280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 131280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 132280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 133280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 134280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 135280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 136280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 137280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 138280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 139280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 140280304Sjkim 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 141280304Sjkim 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 142280304Sjkim 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 143280304Sjkim 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 144280304Sjkim 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 145280304Sjkim 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 146280304Sjkim 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 147280304Sjkim 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 148280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 149280304Sjkim }; 150280304Sjkim return BN_bin2bn(RFC3526_PRIME_2048, sizeof(RFC3526_PRIME_2048), bn); 151280304Sjkim} 152160814Ssimon 153280304Sjkim/*- 154280304Sjkim * "3072-bit MODP Group" from RFC3526, Section 4. 155160814Ssimon * 156160814Ssimon * The prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 } 157160814Ssimon * 158160814Ssimon * RFC3526 specifies a generator of 2. 159160814Ssimon */ 160160814Ssimon 161160814SsimonBIGNUM *get_rfc3526_prime_3072(BIGNUM *bn) 162280304Sjkim{ 163280304Sjkim static const unsigned char RFC3526_PRIME_3072[] = { 164280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 165280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 166280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 167280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 168280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 169280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 170280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 171280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 172280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 173280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 174280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 175280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 176280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 177280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 178280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 179280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 180280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 181280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 182280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 183280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 184280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 185280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 186280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 187280304Sjkim 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 188280304Sjkim 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 189280304Sjkim 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 190280304Sjkim 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 191280304Sjkim 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 192280304Sjkim 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 193280304Sjkim 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 194280304Sjkim 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 195280304Sjkim 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 196280304Sjkim 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 197280304Sjkim 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 198280304Sjkim 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 199280304Sjkim 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 200280304Sjkim 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 201280304Sjkim 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 202280304Sjkim 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 203280304Sjkim 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 204280304Sjkim 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 205280304Sjkim 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 206280304Sjkim 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 207280304Sjkim 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 208280304Sjkim 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 209280304Sjkim 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 210280304Sjkim 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 211280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 212280304Sjkim }; 213280304Sjkim return BN_bin2bn(RFC3526_PRIME_3072, sizeof(RFC3526_PRIME_3072), bn); 214280304Sjkim} 215160814Ssimon 216280304Sjkim/*- 217280304Sjkim * "4096-bit MODP Group" from RFC3526, Section 5. 218160814Ssimon * 219160814Ssimon * The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } 220160814Ssimon * 221160814Ssimon * RFC3526 specifies a generator of 2. 222160814Ssimon */ 223160814Ssimon 224160814SsimonBIGNUM *get_rfc3526_prime_4096(BIGNUM *bn) 225280304Sjkim{ 226280304Sjkim static const unsigned char RFC3526_PRIME_4096[] = { 227280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 228280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 229280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 230280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 231280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 232280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 233280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 234280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 235280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 236280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 237280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 238280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 239280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 240280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 241280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 242280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 243280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 244280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 245280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 246280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 247280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 248280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 249280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 250280304Sjkim 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 251280304Sjkim 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 252280304Sjkim 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 253280304Sjkim 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 254280304Sjkim 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 255280304Sjkim 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 256280304Sjkim 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 257280304Sjkim 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 258280304Sjkim 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 259280304Sjkim 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 260280304Sjkim 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 261280304Sjkim 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 262280304Sjkim 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 263280304Sjkim 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 264280304Sjkim 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 265280304Sjkim 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 266280304Sjkim 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 267280304Sjkim 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 268280304Sjkim 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 269280304Sjkim 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 270280304Sjkim 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 271280304Sjkim 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 272280304Sjkim 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 273280304Sjkim 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 274280304Sjkim 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 275280304Sjkim 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 276280304Sjkim 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 277280304Sjkim 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 278280304Sjkim 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 279280304Sjkim 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 280280304Sjkim 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 281280304Sjkim 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 282280304Sjkim 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 283280304Sjkim 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 284280304Sjkim 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 285280304Sjkim 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 286280304Sjkim 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 287280304Sjkim 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 288280304Sjkim 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 289280304Sjkim 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99, 290280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 291280304Sjkim }; 292280304Sjkim return BN_bin2bn(RFC3526_PRIME_4096, sizeof(RFC3526_PRIME_4096), bn); 293280304Sjkim} 294160814Ssimon 295280304Sjkim/*- 296280304Sjkim * "6144-bit MODP Group" from RFC3526, Section 6. 297160814Ssimon * 298160814Ssimon * The prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 } 299160814Ssimon * 300160814Ssimon * RFC3526 specifies a generator of 2. 301160814Ssimon */ 302160814Ssimon 303160814SsimonBIGNUM *get_rfc3526_prime_6144(BIGNUM *bn) 304280304Sjkim{ 305280304Sjkim static const unsigned char RFC3526_PRIME_6144[] = { 306280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 307280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 308280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 309280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 310280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 311280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 312280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 313280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 314280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 315280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 316280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 317280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 318280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 319280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 320280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 321280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 322280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 323280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 324280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 325280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 326280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 327280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 328280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 329280304Sjkim 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 330280304Sjkim 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 331280304Sjkim 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 332280304Sjkim 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 333280304Sjkim 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 334280304Sjkim 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 335280304Sjkim 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 336280304Sjkim 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 337280304Sjkim 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 338280304Sjkim 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 339280304Sjkim 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 340280304Sjkim 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 341280304Sjkim 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 342280304Sjkim 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 343280304Sjkim 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 344280304Sjkim 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 345280304Sjkim 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 346280304Sjkim 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 347280304Sjkim 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 348280304Sjkim 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 349280304Sjkim 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 350280304Sjkim 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 351280304Sjkim 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 352280304Sjkim 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 353280304Sjkim 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 354280304Sjkim 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 355280304Sjkim 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 356280304Sjkim 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 357280304Sjkim 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 358280304Sjkim 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 359280304Sjkim 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 360280304Sjkim 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 361280304Sjkim 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 362280304Sjkim 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 363280304Sjkim 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 364280304Sjkim 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 365280304Sjkim 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 366280304Sjkim 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 367280304Sjkim 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 368280304Sjkim 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 369280304Sjkim 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 370280304Sjkim 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 371280304Sjkim 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 372280304Sjkim 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 373280304Sjkim 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 374280304Sjkim 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 375280304Sjkim 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 376280304Sjkim 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 377280304Sjkim 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 378280304Sjkim 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 379280304Sjkim 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 380280304Sjkim 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 381280304Sjkim 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 382280304Sjkim 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 383280304Sjkim 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 384280304Sjkim 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 385280304Sjkim 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 386280304Sjkim 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 387280304Sjkim 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 388280304Sjkim 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 389280304Sjkim 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 390280304Sjkim 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 391280304Sjkim 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 392280304Sjkim 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 393280304Sjkim 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 394280304Sjkim 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 395280304Sjkim 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 396280304Sjkim 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 397280304Sjkim 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 398280304Sjkim 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 399280304Sjkim 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 400280304Sjkim 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24, 401280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 402280304Sjkim }; 403280304Sjkim return BN_bin2bn(RFC3526_PRIME_6144, sizeof(RFC3526_PRIME_6144), bn); 404280304Sjkim} 405160814Ssimon 406280304Sjkim/*- 407280304Sjkim * "8192-bit MODP Group" from RFC3526, Section 7. 408160814Ssimon * 409160814Ssimon * The prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 } 410160814Ssimon * 411160814Ssimon * RFC3526 specifies a generator of 2. 412160814Ssimon */ 413160814Ssimon 414160814SsimonBIGNUM *get_rfc3526_prime_8192(BIGNUM *bn) 415280304Sjkim{ 416280304Sjkim static const unsigned char RFC3526_PRIME_8192[] = { 417280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 418280304Sjkim 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 419280304Sjkim 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 420280304Sjkim 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 421280304Sjkim 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, 422280304Sjkim 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 423280304Sjkim 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 424280304Sjkim 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37, 425280304Sjkim 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45, 426280304Sjkim 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 427280304Sjkim 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 428280304Sjkim 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 429280304Sjkim 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 430280304Sjkim 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6, 431280304Sjkim 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D, 432280304Sjkim 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 433280304Sjkim 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A, 434280304Sjkim 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F, 435280304Sjkim 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 436280304Sjkim 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 437280304Sjkim 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 438280304Sjkim 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 439280304Sjkim 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C, 440280304Sjkim 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B, 441280304Sjkim 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 442280304Sjkim 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 443280304Sjkim 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 444280304Sjkim 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 445280304Sjkim 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 446280304Sjkim 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 447280304Sjkim 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 448280304Sjkim 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33, 449280304Sjkim 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 450280304Sjkim 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 451280304Sjkim 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D, 452280304Sjkim 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7, 453280304Sjkim 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 454280304Sjkim 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 455280304Sjkim 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 456280304Sjkim 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 457280304Sjkim 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 458280304Sjkim 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C, 459280304Sjkim 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 460280304Sjkim 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2, 461280304Sjkim 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31, 462280304Sjkim 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 463280304Sjkim 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01, 464280304Sjkim 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 465280304Sjkim 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 466280304Sjkim 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C, 467280304Sjkim 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA, 468280304Sjkim 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 469280304Sjkim 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9, 470280304Sjkim 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 471280304Sjkim 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 472280304Sjkim 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2, 473280304Sjkim 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED, 474280304Sjkim 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 475280304Sjkim 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C, 476280304Sjkim 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9, 477280304Sjkim 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 478280304Sjkim 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 479280304Sjkim 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92, 480280304Sjkim 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 481280304Sjkim 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE, 482280304Sjkim 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD, 483280304Sjkim 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 484280304Sjkim 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE, 485280304Sjkim 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 486280304Sjkim 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 487280304Sjkim 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED, 488280304Sjkim 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B, 489280304Sjkim 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 490280304Sjkim 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42, 491280304Sjkim 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF, 492280304Sjkim 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 493280304Sjkim 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03, 494280304Sjkim 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6, 495280304Sjkim 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 496280304Sjkim 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E, 497280304Sjkim 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3, 498280304Sjkim 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 499280304Sjkim 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 500280304Sjkim 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA, 501280304Sjkim 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 502280304Sjkim 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0, 503280304Sjkim 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28, 504280304Sjkim 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 505280304Sjkim 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 506280304Sjkim 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 507280304Sjkim 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 508280304Sjkim 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68, 509280304Sjkim 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE, 510280304Sjkim 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 511280304Sjkim 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59, 512280304Sjkim 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 513280304Sjkim 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 514280304Sjkim 0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA, 515280304Sjkim 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00, 516280304Sjkim 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 517280304Sjkim 0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66, 518280304Sjkim 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68, 519280304Sjkim 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 520280304Sjkim 0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D, 521280304Sjkim 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9, 522280304Sjkim 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 523280304Sjkim 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7, 524280304Sjkim 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B, 525280304Sjkim 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 526280304Sjkim 0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8, 527280304Sjkim 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 528280304Sjkim 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 529280304Sjkim 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D, 530280304Sjkim 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36, 531280304Sjkim 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 532280304Sjkim 0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D, 533280304Sjkim 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1, 534280304Sjkim 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 535280304Sjkim 0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68, 536280304Sjkim 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92, 537280304Sjkim 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 538280304Sjkim 0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B, 539280304Sjkim 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47, 540280304Sjkim 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 541280304Sjkim 0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF, 542280304Sjkim 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71, 543280304Sjkim 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 544280304Sjkim 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 545280304Sjkim }; 546280304Sjkim return BN_bin2bn(RFC3526_PRIME_8192, sizeof(RFC3526_PRIME_8192), bn); 547280304Sjkim} 548