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