xref: /minix3/crypto/external/bsd/openssl/dist/crypto/bn/bn_const.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ebfedea0SLionel Sambuc /* crypto/bn/knownprimes.c */
2ebfedea0SLionel Sambuc /* Insert boilerplate */
3ebfedea0SLionel Sambuc 
4ebfedea0SLionel Sambuc #include "bn.h"
5ebfedea0SLionel Sambuc 
6*0a6a1f1dSLionel Sambuc /*-
7*0a6a1f1dSLionel Sambuc  * "First Oakley Default Group" from RFC2409, section 6.1.
8ebfedea0SLionel Sambuc  *
9ebfedea0SLionel Sambuc  * The prime is: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 }
10ebfedea0SLionel Sambuc  *
11ebfedea0SLionel Sambuc  * RFC2409 specifies a generator of 2.
12ebfedea0SLionel Sambuc  * RFC2412 specifies a generator of of 22.
13ebfedea0SLionel Sambuc  */
14ebfedea0SLionel Sambuc 
get_rfc2409_prime_768(BIGNUM * bn)15ebfedea0SLionel Sambuc BIGNUM *get_rfc2409_prime_768(BIGNUM *bn)
16ebfedea0SLionel Sambuc {
17ebfedea0SLionel Sambuc     static const unsigned char RFC2409_PRIME_768[] = {
18*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
19*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
20*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
21*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
22*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
23*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
24*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
25*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
26*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
27*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
28*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20,
29*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
30ebfedea0SLionel Sambuc     };
31ebfedea0SLionel Sambuc     return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn);
32ebfedea0SLionel Sambuc }
33ebfedea0SLionel Sambuc 
34*0a6a1f1dSLionel Sambuc /*-
35*0a6a1f1dSLionel Sambuc  * "Second Oakley Default Group" from RFC2409, section 6.2.
36ebfedea0SLionel Sambuc  *
37ebfedea0SLionel Sambuc  * The prime is: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }.
38ebfedea0SLionel Sambuc  *
39ebfedea0SLionel Sambuc  * RFC2409 specifies a generator of 2.
40ebfedea0SLionel Sambuc  * RFC2412 specifies a generator of 22.
41ebfedea0SLionel Sambuc  */
42ebfedea0SLionel Sambuc 
get_rfc2409_prime_1024(BIGNUM * bn)43ebfedea0SLionel Sambuc BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn)
44ebfedea0SLionel Sambuc {
45ebfedea0SLionel Sambuc     static const unsigned char RFC2409_PRIME_1024[] = {
46*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
47*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
48*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
49*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
50*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
51*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
52*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
53*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
54*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
55*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
56*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
57*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
58*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
59*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
60*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81,
61ebfedea0SLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
62ebfedea0SLionel Sambuc     };
63ebfedea0SLionel Sambuc     return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn);
64ebfedea0SLionel Sambuc }
65ebfedea0SLionel Sambuc 
66*0a6a1f1dSLionel Sambuc /*-
67*0a6a1f1dSLionel Sambuc  * "1536-bit MODP Group" from RFC3526, Section 2.
68ebfedea0SLionel Sambuc  *
69ebfedea0SLionel Sambuc  * The prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 }
70ebfedea0SLionel Sambuc  *
71ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
72ebfedea0SLionel Sambuc  * RFC2312 specifies a generator of 22.
73ebfedea0SLionel Sambuc  */
74ebfedea0SLionel Sambuc 
get_rfc3526_prime_1536(BIGNUM * bn)75ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn)
76ebfedea0SLionel Sambuc {
77ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_1536[] = {
78*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
79*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
80*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
81*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
82*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
83*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
84*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
85*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
86*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
87*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
88*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
89*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
90*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
91*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
92*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
93*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
94*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
95*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
96*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
97*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
98*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
99*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
100*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27,
101*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
102ebfedea0SLionel Sambuc     };
103ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_1536, sizeof(RFC3526_PRIME_1536), bn);
104ebfedea0SLionel Sambuc }
105ebfedea0SLionel Sambuc 
106*0a6a1f1dSLionel Sambuc /*-
107*0a6a1f1dSLionel Sambuc  * "2048-bit MODP Group" from RFC3526, Section 3.
108ebfedea0SLionel Sambuc  *
109ebfedea0SLionel Sambuc  * The prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 }
110ebfedea0SLionel Sambuc  *
111ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
112ebfedea0SLionel Sambuc  */
113ebfedea0SLionel Sambuc 
get_rfc3526_prime_2048(BIGNUM * bn)114ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn)
115ebfedea0SLionel Sambuc {
116ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_2048[] = {
117*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
118*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
119*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
120*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
121*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
122*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
123*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
124*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
125*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
126*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
127*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
128*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
129*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
130*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
131*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
132*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
133*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
134*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
135*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
136*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
137*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
138*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
139*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
140*0a6a1f1dSLionel Sambuc         0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
141*0a6a1f1dSLionel Sambuc         0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
142*0a6a1f1dSLionel Sambuc         0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
143*0a6a1f1dSLionel Sambuc         0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
144*0a6a1f1dSLionel Sambuc         0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
145*0a6a1f1dSLionel Sambuc         0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
146*0a6a1f1dSLionel Sambuc         0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
147*0a6a1f1dSLionel Sambuc         0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68,
148*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
149ebfedea0SLionel Sambuc     };
150ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_2048, sizeof(RFC3526_PRIME_2048), bn);
151ebfedea0SLionel Sambuc }
152ebfedea0SLionel Sambuc 
153*0a6a1f1dSLionel Sambuc /*-
154*0a6a1f1dSLionel Sambuc  * "3072-bit MODP Group" from RFC3526, Section 4.
155ebfedea0SLionel Sambuc  *
156ebfedea0SLionel Sambuc  * The prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 }
157ebfedea0SLionel Sambuc  *
158ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
159ebfedea0SLionel Sambuc  */
160ebfedea0SLionel Sambuc 
get_rfc3526_prime_3072(BIGNUM * bn)161ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn)
162ebfedea0SLionel Sambuc {
163ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_3072[] = {
164*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
165*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
166*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
167*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
168*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
169*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
170*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
171*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
172*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
173*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
174*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
175*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
176*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
177*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
178*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
179*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
180*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
181*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
182*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
183*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
184*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
185*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
186*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
187*0a6a1f1dSLionel Sambuc         0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
188*0a6a1f1dSLionel Sambuc         0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
189*0a6a1f1dSLionel Sambuc         0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
190*0a6a1f1dSLionel Sambuc         0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
191*0a6a1f1dSLionel Sambuc         0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
192*0a6a1f1dSLionel Sambuc         0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
193*0a6a1f1dSLionel Sambuc         0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
194*0a6a1f1dSLionel Sambuc         0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
195*0a6a1f1dSLionel Sambuc         0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
196*0a6a1f1dSLionel Sambuc         0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
197*0a6a1f1dSLionel Sambuc         0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
198*0a6a1f1dSLionel Sambuc         0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
199*0a6a1f1dSLionel Sambuc         0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
200*0a6a1f1dSLionel Sambuc         0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
201*0a6a1f1dSLionel Sambuc         0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
202*0a6a1f1dSLionel Sambuc         0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
203*0a6a1f1dSLionel Sambuc         0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
204*0a6a1f1dSLionel Sambuc         0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
205*0a6a1f1dSLionel Sambuc         0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
206*0a6a1f1dSLionel Sambuc         0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
207*0a6a1f1dSLionel Sambuc         0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
208*0a6a1f1dSLionel Sambuc         0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
209*0a6a1f1dSLionel Sambuc         0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
210*0a6a1f1dSLionel Sambuc         0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA,
211*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
212ebfedea0SLionel Sambuc     };
213ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_3072, sizeof(RFC3526_PRIME_3072), bn);
214ebfedea0SLionel Sambuc }
215ebfedea0SLionel Sambuc 
216*0a6a1f1dSLionel Sambuc /*-
217*0a6a1f1dSLionel Sambuc  * "4096-bit MODP Group" from RFC3526, Section 5.
218ebfedea0SLionel Sambuc  *
219ebfedea0SLionel Sambuc  * The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 }
220ebfedea0SLionel Sambuc  *
221ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
222ebfedea0SLionel Sambuc  */
223ebfedea0SLionel Sambuc 
get_rfc3526_prime_4096(BIGNUM * bn)224ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn)
225ebfedea0SLionel Sambuc {
226ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_4096[] = {
227*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
228*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
229*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
230*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
231*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
232*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
233*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
234*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
235*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
236*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
237*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
238*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
239*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
240*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
241*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
242*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
243*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
244*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
245*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
246*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
247*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
248*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
249*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
250*0a6a1f1dSLionel Sambuc         0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
251*0a6a1f1dSLionel Sambuc         0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
252*0a6a1f1dSLionel Sambuc         0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
253*0a6a1f1dSLionel Sambuc         0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
254*0a6a1f1dSLionel Sambuc         0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
255*0a6a1f1dSLionel Sambuc         0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
256*0a6a1f1dSLionel Sambuc         0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
257*0a6a1f1dSLionel Sambuc         0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
258*0a6a1f1dSLionel Sambuc         0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
259*0a6a1f1dSLionel Sambuc         0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
260*0a6a1f1dSLionel Sambuc         0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
261*0a6a1f1dSLionel Sambuc         0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
262*0a6a1f1dSLionel Sambuc         0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
263*0a6a1f1dSLionel Sambuc         0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
264*0a6a1f1dSLionel Sambuc         0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
265*0a6a1f1dSLionel Sambuc         0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
266*0a6a1f1dSLionel Sambuc         0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
267*0a6a1f1dSLionel Sambuc         0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
268*0a6a1f1dSLionel Sambuc         0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
269*0a6a1f1dSLionel Sambuc         0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
270*0a6a1f1dSLionel Sambuc         0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
271*0a6a1f1dSLionel Sambuc         0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
272*0a6a1f1dSLionel Sambuc         0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
273*0a6a1f1dSLionel Sambuc         0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
274*0a6a1f1dSLionel Sambuc         0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
275*0a6a1f1dSLionel Sambuc         0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
276*0a6a1f1dSLionel Sambuc         0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
277*0a6a1f1dSLionel Sambuc         0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
278*0a6a1f1dSLionel Sambuc         0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
279*0a6a1f1dSLionel Sambuc         0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
280*0a6a1f1dSLionel Sambuc         0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
281*0a6a1f1dSLionel Sambuc         0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
282*0a6a1f1dSLionel Sambuc         0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
283*0a6a1f1dSLionel Sambuc         0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
284*0a6a1f1dSLionel Sambuc         0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
285*0a6a1f1dSLionel Sambuc         0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
286*0a6a1f1dSLionel Sambuc         0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
287*0a6a1f1dSLionel Sambuc         0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
288*0a6a1f1dSLionel Sambuc         0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
289*0a6a1f1dSLionel Sambuc         0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99,
290ebfedea0SLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
291ebfedea0SLionel Sambuc     };
292ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_4096, sizeof(RFC3526_PRIME_4096), bn);
293ebfedea0SLionel Sambuc }
294ebfedea0SLionel Sambuc 
295*0a6a1f1dSLionel Sambuc /*-
296*0a6a1f1dSLionel Sambuc  * "6144-bit MODP Group" from RFC3526, Section 6.
297ebfedea0SLionel Sambuc  *
298ebfedea0SLionel Sambuc  * The prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 }
299ebfedea0SLionel Sambuc  *
300ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
301ebfedea0SLionel Sambuc  */
302ebfedea0SLionel Sambuc 
get_rfc3526_prime_6144(BIGNUM * bn)303ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn)
304ebfedea0SLionel Sambuc {
305ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_6144[] = {
306*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
307*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
308*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
309*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
310*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
311*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
312*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
313*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
314*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
315*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
316*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
317*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
318*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
319*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
320*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
321*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
322*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
323*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
324*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
325*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
326*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
327*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
328*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
329*0a6a1f1dSLionel Sambuc         0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
330*0a6a1f1dSLionel Sambuc         0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
331*0a6a1f1dSLionel Sambuc         0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
332*0a6a1f1dSLionel Sambuc         0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
333*0a6a1f1dSLionel Sambuc         0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
334*0a6a1f1dSLionel Sambuc         0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
335*0a6a1f1dSLionel Sambuc         0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
336*0a6a1f1dSLionel Sambuc         0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
337*0a6a1f1dSLionel Sambuc         0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
338*0a6a1f1dSLionel Sambuc         0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
339*0a6a1f1dSLionel Sambuc         0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
340*0a6a1f1dSLionel Sambuc         0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
341*0a6a1f1dSLionel Sambuc         0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
342*0a6a1f1dSLionel Sambuc         0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
343*0a6a1f1dSLionel Sambuc         0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
344*0a6a1f1dSLionel Sambuc         0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
345*0a6a1f1dSLionel Sambuc         0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
346*0a6a1f1dSLionel Sambuc         0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
347*0a6a1f1dSLionel Sambuc         0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
348*0a6a1f1dSLionel Sambuc         0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
349*0a6a1f1dSLionel Sambuc         0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
350*0a6a1f1dSLionel Sambuc         0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
351*0a6a1f1dSLionel Sambuc         0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
352*0a6a1f1dSLionel Sambuc         0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
353*0a6a1f1dSLionel Sambuc         0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
354*0a6a1f1dSLionel Sambuc         0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
355*0a6a1f1dSLionel Sambuc         0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
356*0a6a1f1dSLionel Sambuc         0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
357*0a6a1f1dSLionel Sambuc         0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
358*0a6a1f1dSLionel Sambuc         0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
359*0a6a1f1dSLionel Sambuc         0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
360*0a6a1f1dSLionel Sambuc         0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
361*0a6a1f1dSLionel Sambuc         0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
362*0a6a1f1dSLionel Sambuc         0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
363*0a6a1f1dSLionel Sambuc         0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
364*0a6a1f1dSLionel Sambuc         0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
365*0a6a1f1dSLionel Sambuc         0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
366*0a6a1f1dSLionel Sambuc         0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
367*0a6a1f1dSLionel Sambuc         0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
368*0a6a1f1dSLionel Sambuc         0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
369*0a6a1f1dSLionel Sambuc         0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26,
370*0a6a1f1dSLionel Sambuc         0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE,
371*0a6a1f1dSLionel Sambuc         0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
372*0a6a1f1dSLionel Sambuc         0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E,
373*0a6a1f1dSLionel Sambuc         0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE,
374*0a6a1f1dSLionel Sambuc         0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
375*0a6a1f1dSLionel Sambuc         0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
376*0a6a1f1dSLionel Sambuc         0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED,
377*0a6a1f1dSLionel Sambuc         0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
378*0a6a1f1dSLionel Sambuc         0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B,
379*0a6a1f1dSLionel Sambuc         0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42,
380*0a6a1f1dSLionel Sambuc         0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
381*0a6a1f1dSLionel Sambuc         0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC,
382*0a6a1f1dSLionel Sambuc         0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
383*0a6a1f1dSLionel Sambuc         0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
384*0a6a1f1dSLionel Sambuc         0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82,
385*0a6a1f1dSLionel Sambuc         0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E,
386*0a6a1f1dSLionel Sambuc         0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
387*0a6a1f1dSLionel Sambuc         0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE,
388*0a6a1f1dSLionel Sambuc         0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5,
389*0a6a1f1dSLionel Sambuc         0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
390*0a6a1f1dSLionel Sambuc         0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8,
391*0a6a1f1dSLionel Sambuc         0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0,
392*0a6a1f1dSLionel Sambuc         0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
393*0a6a1f1dSLionel Sambuc         0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76,
394*0a6a1f1dSLionel Sambuc         0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0,
395*0a6a1f1dSLionel Sambuc         0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
396*0a6a1f1dSLionel Sambuc         0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
397*0a6a1f1dSLionel Sambuc         0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68,
398*0a6a1f1dSLionel Sambuc         0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
399*0a6a1f1dSLionel Sambuc         0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6,
400*0a6a1f1dSLionel Sambuc         0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24,
401*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
402ebfedea0SLionel Sambuc     };
403ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_6144, sizeof(RFC3526_PRIME_6144), bn);
404ebfedea0SLionel Sambuc }
405ebfedea0SLionel Sambuc 
406*0a6a1f1dSLionel Sambuc /*-
407*0a6a1f1dSLionel Sambuc  * "8192-bit MODP Group" from RFC3526, Section 7.
408ebfedea0SLionel Sambuc  *
409ebfedea0SLionel Sambuc  * The prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 }
410ebfedea0SLionel Sambuc  *
411ebfedea0SLionel Sambuc  * RFC3526 specifies a generator of 2.
412ebfedea0SLionel Sambuc  */
413ebfedea0SLionel Sambuc 
get_rfc3526_prime_8192(BIGNUM * bn)414ebfedea0SLionel Sambuc BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn)
415ebfedea0SLionel Sambuc {
416ebfedea0SLionel Sambuc     static const unsigned char RFC3526_PRIME_8192[] = {
417*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
418*0a6a1f1dSLionel Sambuc         0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
419*0a6a1f1dSLionel Sambuc         0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
420*0a6a1f1dSLionel Sambuc         0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
421*0a6a1f1dSLionel Sambuc         0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
422*0a6a1f1dSLionel Sambuc         0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
423*0a6a1f1dSLionel Sambuc         0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
424*0a6a1f1dSLionel Sambuc         0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
425*0a6a1f1dSLionel Sambuc         0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
426*0a6a1f1dSLionel Sambuc         0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
427*0a6a1f1dSLionel Sambuc         0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
428*0a6a1f1dSLionel Sambuc         0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
429*0a6a1f1dSLionel Sambuc         0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
430*0a6a1f1dSLionel Sambuc         0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
431*0a6a1f1dSLionel Sambuc         0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
432*0a6a1f1dSLionel Sambuc         0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
433*0a6a1f1dSLionel Sambuc         0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
434*0a6a1f1dSLionel Sambuc         0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
435*0a6a1f1dSLionel Sambuc         0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
436*0a6a1f1dSLionel Sambuc         0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
437*0a6a1f1dSLionel Sambuc         0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
438*0a6a1f1dSLionel Sambuc         0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
439*0a6a1f1dSLionel Sambuc         0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
440*0a6a1f1dSLionel Sambuc         0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
441*0a6a1f1dSLionel Sambuc         0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
442*0a6a1f1dSLionel Sambuc         0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
443*0a6a1f1dSLionel Sambuc         0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
444*0a6a1f1dSLionel Sambuc         0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
445*0a6a1f1dSLionel Sambuc         0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
446*0a6a1f1dSLionel Sambuc         0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
447*0a6a1f1dSLionel Sambuc         0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
448*0a6a1f1dSLionel Sambuc         0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
449*0a6a1f1dSLionel Sambuc         0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
450*0a6a1f1dSLionel Sambuc         0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
451*0a6a1f1dSLionel Sambuc         0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
452*0a6a1f1dSLionel Sambuc         0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
453*0a6a1f1dSLionel Sambuc         0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
454*0a6a1f1dSLionel Sambuc         0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
455*0a6a1f1dSLionel Sambuc         0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
456*0a6a1f1dSLionel Sambuc         0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
457*0a6a1f1dSLionel Sambuc         0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
458*0a6a1f1dSLionel Sambuc         0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
459*0a6a1f1dSLionel Sambuc         0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
460*0a6a1f1dSLionel Sambuc         0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
461*0a6a1f1dSLionel Sambuc         0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
462*0a6a1f1dSLionel Sambuc         0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
463*0a6a1f1dSLionel Sambuc         0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
464*0a6a1f1dSLionel Sambuc         0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
465*0a6a1f1dSLionel Sambuc         0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
466*0a6a1f1dSLionel Sambuc         0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
467*0a6a1f1dSLionel Sambuc         0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
468*0a6a1f1dSLionel Sambuc         0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
469*0a6a1f1dSLionel Sambuc         0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
470*0a6a1f1dSLionel Sambuc         0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
471*0a6a1f1dSLionel Sambuc         0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
472*0a6a1f1dSLionel Sambuc         0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
473*0a6a1f1dSLionel Sambuc         0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
474*0a6a1f1dSLionel Sambuc         0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
475*0a6a1f1dSLionel Sambuc         0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
476*0a6a1f1dSLionel Sambuc         0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
477*0a6a1f1dSLionel Sambuc         0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
478*0a6a1f1dSLionel Sambuc         0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
479*0a6a1f1dSLionel Sambuc         0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
480*0a6a1f1dSLionel Sambuc         0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26,
481*0a6a1f1dSLionel Sambuc         0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE,
482*0a6a1f1dSLionel Sambuc         0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
483*0a6a1f1dSLionel Sambuc         0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E,
484*0a6a1f1dSLionel Sambuc         0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE,
485*0a6a1f1dSLionel Sambuc         0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
486*0a6a1f1dSLionel Sambuc         0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
487*0a6a1f1dSLionel Sambuc         0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED,
488*0a6a1f1dSLionel Sambuc         0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
489*0a6a1f1dSLionel Sambuc         0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B,
490*0a6a1f1dSLionel Sambuc         0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42,
491*0a6a1f1dSLionel Sambuc         0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
492*0a6a1f1dSLionel Sambuc         0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC,
493*0a6a1f1dSLionel Sambuc         0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
494*0a6a1f1dSLionel Sambuc         0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
495*0a6a1f1dSLionel Sambuc         0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82,
496*0a6a1f1dSLionel Sambuc         0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E,
497*0a6a1f1dSLionel Sambuc         0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
498*0a6a1f1dSLionel Sambuc         0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE,
499*0a6a1f1dSLionel Sambuc         0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5,
500*0a6a1f1dSLionel Sambuc         0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
501*0a6a1f1dSLionel Sambuc         0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8,
502*0a6a1f1dSLionel Sambuc         0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0,
503*0a6a1f1dSLionel Sambuc         0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
504*0a6a1f1dSLionel Sambuc         0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76,
505*0a6a1f1dSLionel Sambuc         0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0,
506*0a6a1f1dSLionel Sambuc         0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
507*0a6a1f1dSLionel Sambuc         0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
508*0a6a1f1dSLionel Sambuc         0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68,
509*0a6a1f1dSLionel Sambuc         0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
510*0a6a1f1dSLionel Sambuc         0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6,
511*0a6a1f1dSLionel Sambuc         0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59,
512*0a6a1f1dSLionel Sambuc         0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4,
513*0a6a1f1dSLionel Sambuc         0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C,
514*0a6a1f1dSLionel Sambuc         0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA,
515*0a6a1f1dSLionel Sambuc         0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00,
516*0a6a1f1dSLionel Sambuc         0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED,
517*0a6a1f1dSLionel Sambuc         0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66,
518*0a6a1f1dSLionel Sambuc         0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68,
519*0a6a1f1dSLionel Sambuc         0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78,
520*0a6a1f1dSLionel Sambuc         0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D,
521*0a6a1f1dSLionel Sambuc         0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
522*0a6a1f1dSLionel Sambuc         0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07,
523*0a6a1f1dSLionel Sambuc         0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7,
524*0a6a1f1dSLionel Sambuc         0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B,
525*0a6a1f1dSLionel Sambuc         0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD,
526*0a6a1f1dSLionel Sambuc         0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8,
527*0a6a1f1dSLionel Sambuc         0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A,
528*0a6a1f1dSLionel Sambuc         0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6,
529*0a6a1f1dSLionel Sambuc         0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D,
530*0a6a1f1dSLionel Sambuc         0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36,
531*0a6a1f1dSLionel Sambuc         0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1,
532*0a6a1f1dSLionel Sambuc         0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D,
533*0a6a1f1dSLionel Sambuc         0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1,
534*0a6a1f1dSLionel Sambuc         0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73,
535*0a6a1f1dSLionel Sambuc         0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68,
536*0a6a1f1dSLionel Sambuc         0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92,
537*0a6a1f1dSLionel Sambuc         0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7,
538*0a6a1f1dSLionel Sambuc         0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B,
539*0a6a1f1dSLionel Sambuc         0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47,
540*0a6a1f1dSLionel Sambuc         0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA,
541*0a6a1f1dSLionel Sambuc         0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF,
542*0a6a1f1dSLionel Sambuc         0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
543*0a6a1f1dSLionel Sambuc         0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF,
544*0a6a1f1dSLionel Sambuc         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
545ebfedea0SLionel Sambuc     };
546ebfedea0SLionel Sambuc     return BN_bin2bn(RFC3526_PRIME_8192, sizeof(RFC3526_PRIME_8192), bn);
547ebfedea0SLionel Sambuc }
548