xref: /minix3/crypto/external/bsd/openssl/dist/apps/testdsa.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ebfedea0SLionel Sambuc /* NOCW */
2ebfedea0SLionel Sambuc /* used by apps/speed.c */
3ebfedea0SLionel Sambuc DSA *get_dsa512(void);
4ebfedea0SLionel Sambuc DSA *get_dsa1024(void);
5ebfedea0SLionel Sambuc DSA *get_dsa2048(void);
6ebfedea0SLionel Sambuc static unsigned char dsa512_priv[] = {
7ebfedea0SLionel Sambuc     0x65, 0xe5, 0xc7, 0x38, 0x60, 0x24, 0xb5, 0x89, 0xd4, 0x9c, 0xeb, 0x4c,
8ebfedea0SLionel Sambuc     0x9c, 0x1d, 0x7a, 0x22, 0xbd, 0xd1, 0xc2, 0xd2,
9ebfedea0SLionel Sambuc };
10*0a6a1f1dSLionel Sambuc 
11ebfedea0SLionel Sambuc static unsigned char dsa512_pub[] = {
12ebfedea0SLionel Sambuc     0x00, 0x95, 0xa7, 0x0d, 0xec, 0x93, 0x68, 0xba, 0x5f, 0xf7, 0x5f, 0x07,
13ebfedea0SLionel Sambuc     0xf2, 0x3b, 0xad, 0x6b, 0x01, 0xdc, 0xbe, 0xec, 0xde, 0x04, 0x7a, 0x3a,
14ebfedea0SLionel Sambuc     0x27, 0xb3, 0xec, 0x49, 0xfd, 0x08, 0x43, 0x3d, 0x7e, 0xa8, 0x2c, 0x5e,
15ebfedea0SLionel Sambuc     0x7b, 0xbb, 0xfc, 0xf4, 0x6e, 0xeb, 0x6c, 0xb0, 0x6e, 0xf8, 0x02, 0x12,
16ebfedea0SLionel Sambuc     0x8c, 0x38, 0x5d, 0x83, 0x56, 0x7d, 0xee, 0x53, 0x05, 0x3e, 0x24, 0x84,
17ebfedea0SLionel Sambuc     0xbe, 0xba, 0x0a, 0x6b, 0xc8,
18ebfedea0SLionel Sambuc };
19*0a6a1f1dSLionel Sambuc 
20ebfedea0SLionel Sambuc static unsigned char dsa512_p[] = {
21ebfedea0SLionel Sambuc     0x9D, 0x1B, 0x69, 0x8E, 0x26, 0xDB, 0xF2, 0x2B, 0x11, 0x70, 0x19, 0x86,
22ebfedea0SLionel Sambuc     0xF6, 0x19, 0xC8, 0xF8, 0x19, 0xF2, 0x18, 0x53, 0x94, 0x46, 0x06, 0xD0,
23ebfedea0SLionel Sambuc     0x62, 0x50, 0x33, 0x4B, 0x02, 0x3C, 0x52, 0x30, 0x03, 0x8B, 0x3B, 0xF9,
24ebfedea0SLionel Sambuc     0x5F, 0xD1, 0x24, 0x06, 0x4F, 0x7B, 0x4C, 0xBA, 0xAA, 0x40, 0x9B, 0xFD,
25ebfedea0SLionel Sambuc     0x96, 0xE4, 0x37, 0x33, 0xBB, 0x2D, 0x5A, 0xD7, 0x5A, 0x11, 0x40, 0x66,
26ebfedea0SLionel Sambuc     0xA2, 0x76, 0x7D, 0x31,
27ebfedea0SLionel Sambuc };
28*0a6a1f1dSLionel Sambuc 
29ebfedea0SLionel Sambuc static unsigned char dsa512_q[] = {
30ebfedea0SLionel Sambuc     0xFB, 0x53, 0xEF, 0x50, 0xB4, 0x40, 0x92, 0x31, 0x56, 0x86, 0x53, 0x7A,
31ebfedea0SLionel Sambuc     0xE8, 0x8B, 0x22, 0x9A, 0x49, 0xFB, 0x71, 0x8F,
32ebfedea0SLionel Sambuc };
33*0a6a1f1dSLionel Sambuc 
34ebfedea0SLionel Sambuc static unsigned char dsa512_g[] = {
35ebfedea0SLionel Sambuc     0x83, 0x3E, 0x88, 0xE5, 0xC5, 0x89, 0x73, 0xCE, 0x3B, 0x6C, 0x01, 0x49,
36ebfedea0SLionel Sambuc     0xBF, 0xB3, 0xC7, 0x9F, 0x0A, 0xEA, 0x44, 0x91, 0xE5, 0x30, 0xAA, 0xD9,
37ebfedea0SLionel Sambuc     0xBE, 0x5B, 0x5F, 0xB7, 0x10, 0xD7, 0x89, 0xB7, 0x8E, 0x74, 0xFB, 0xCF,
38ebfedea0SLionel Sambuc     0x29, 0x1E, 0xEB, 0xA8, 0x2C, 0x54, 0x51, 0xB8, 0x10, 0xDE, 0xA0, 0xCE,
39ebfedea0SLionel Sambuc     0x2F, 0xCC, 0x24, 0x6B, 0x90, 0x77, 0xDE, 0xA2, 0x68, 0xA6, 0x52, 0x12,
40ebfedea0SLionel Sambuc     0xA2, 0x03, 0x9D, 0x20,
41ebfedea0SLionel Sambuc };
42ebfedea0SLionel Sambuc 
get_dsa512()43ebfedea0SLionel Sambuc DSA *get_dsa512()
44ebfedea0SLionel Sambuc {
45ebfedea0SLionel Sambuc     DSA *dsa;
46ebfedea0SLionel Sambuc 
47*0a6a1f1dSLionel Sambuc     if ((dsa = DSA_new()) == NULL)
48*0a6a1f1dSLionel Sambuc         return (NULL);
49ebfedea0SLionel Sambuc     dsa->priv_key = BN_bin2bn(dsa512_priv, sizeof(dsa512_priv), NULL);
50ebfedea0SLionel Sambuc     dsa->pub_key = BN_bin2bn(dsa512_pub, sizeof(dsa512_pub), NULL);
51ebfedea0SLionel Sambuc     dsa->p = BN_bin2bn(dsa512_p, sizeof(dsa512_p), NULL);
52ebfedea0SLionel Sambuc     dsa->q = BN_bin2bn(dsa512_q, sizeof(dsa512_q), NULL);
53ebfedea0SLionel Sambuc     dsa->g = BN_bin2bn(dsa512_g, sizeof(dsa512_g), NULL);
54*0a6a1f1dSLionel Sambuc     if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL)
55*0a6a1f1dSLionel Sambuc         || (dsa->q == NULL) || (dsa->g == NULL))
56ebfedea0SLionel Sambuc         return (NULL);
57ebfedea0SLionel Sambuc     return (dsa);
58ebfedea0SLionel Sambuc }
59ebfedea0SLionel Sambuc 
60ebfedea0SLionel Sambuc static unsigned char dsa1024_priv[] = {
61ebfedea0SLionel Sambuc     0x7d, 0x21, 0xda, 0xbb, 0x62, 0x15, 0x47, 0x36, 0x07, 0x67, 0x12, 0xe8,
62ebfedea0SLionel Sambuc     0x8c, 0xaa, 0x1c, 0xcd, 0x38, 0x12, 0x61, 0x18,
63ebfedea0SLionel Sambuc };
64*0a6a1f1dSLionel Sambuc 
65ebfedea0SLionel Sambuc static unsigned char dsa1024_pub[] = {
66ebfedea0SLionel Sambuc     0x3c, 0x4e, 0x9c, 0x2a, 0x7f, 0x16, 0xc1, 0x25, 0xeb, 0xac, 0x78, 0x63,
67ebfedea0SLionel Sambuc     0x90, 0x14, 0x8c, 0x8b, 0xf4, 0x68, 0x43, 0x3c, 0x2d, 0xee, 0x65, 0x50,
68ebfedea0SLionel Sambuc     0x7d, 0x9c, 0x8f, 0x8c, 0x8a, 0x51, 0xd6, 0x11, 0x2b, 0x99, 0xaf, 0x1e,
69ebfedea0SLionel Sambuc     0x90, 0x97, 0xb5, 0xd3, 0xa6, 0x20, 0x25, 0xd6, 0xfe, 0x43, 0x02, 0xd5,
70ebfedea0SLionel Sambuc     0x91, 0x7d, 0xa7, 0x8c, 0xdb, 0xc9, 0x85, 0xa3, 0x36, 0x48, 0xf7, 0x68,
71ebfedea0SLionel Sambuc     0xaa, 0x60, 0xb1, 0xf7, 0x05, 0x68, 0x3a, 0xa3, 0x3f, 0xd3, 0x19, 0x82,
72ebfedea0SLionel Sambuc     0xd8, 0x82, 0x7a, 0x77, 0xfb, 0xef, 0xf4, 0x15, 0x0a, 0xeb, 0x06, 0x04,
73ebfedea0SLionel Sambuc     0x7f, 0x53, 0x07, 0x0c, 0xbc, 0xcb, 0x2d, 0x83, 0xdb, 0x3e, 0xd1, 0x28,
74ebfedea0SLionel Sambuc     0xa5, 0xa1, 0x31, 0xe0, 0x67, 0xfa, 0x50, 0xde, 0x9b, 0x07, 0x83, 0x7e,
75ebfedea0SLionel Sambuc     0x2c, 0x0b, 0xc3, 0x13, 0x50, 0x61, 0xe5, 0xad, 0xbd, 0x36, 0xb8, 0x97,
76ebfedea0SLionel Sambuc     0x4e, 0x40, 0x7d, 0xe8, 0x83, 0x0d, 0xbc, 0x4b
77ebfedea0SLionel Sambuc };
78*0a6a1f1dSLionel Sambuc 
79ebfedea0SLionel Sambuc static unsigned char dsa1024_p[] = {
80ebfedea0SLionel Sambuc     0xA7, 0x3F, 0x6E, 0x85, 0xBF, 0x41, 0x6A, 0x29, 0x7D, 0xF0, 0x9F, 0x47,
81ebfedea0SLionel Sambuc     0x19, 0x30, 0x90, 0x9A, 0x09, 0x1D, 0xDA, 0x6A, 0x33, 0x1E, 0xC5, 0x3D,
82ebfedea0SLionel Sambuc     0x86, 0x96, 0xB3, 0x15, 0xE0, 0x53, 0x2E, 0x8F, 0xE0, 0x59, 0x82, 0x73,
83ebfedea0SLionel Sambuc     0x90, 0x3E, 0x75, 0x31, 0x99, 0x47, 0x7A, 0x52, 0xFB, 0x85, 0xE4, 0xD9,
84ebfedea0SLionel Sambuc     0xA6, 0x7B, 0x38, 0x9B, 0x68, 0x8A, 0x84, 0x9B, 0x87, 0xC6, 0x1E, 0xB5,
85ebfedea0SLionel Sambuc     0x7E, 0x86, 0x4B, 0x53, 0x5B, 0x59, 0xCF, 0x71, 0x65, 0x19, 0x88, 0x6E,
86ebfedea0SLionel Sambuc     0xCE, 0x66, 0xAE, 0x6B, 0x88, 0x36, 0xFB, 0xEC, 0x28, 0xDC, 0xC2, 0xD7,
87ebfedea0SLionel Sambuc     0xA5, 0xBB, 0xE5, 0x2C, 0x39, 0x26, 0x4B, 0xDA, 0x9A, 0x70, 0x18, 0x95,
88ebfedea0SLionel Sambuc     0x37, 0x95, 0x10, 0x56, 0x23, 0xF6, 0x15, 0xED, 0xBA, 0x04, 0x5E, 0xDE,
89ebfedea0SLionel Sambuc     0x39, 0x4F, 0xFD, 0xB7, 0x43, 0x1F, 0xB5, 0xA4, 0x65, 0x6F, 0xCD, 0x80,
90ebfedea0SLionel Sambuc     0x11, 0xE4, 0x70, 0x95, 0x5B, 0x50, 0xCD, 0x49,
91ebfedea0SLionel Sambuc };
92*0a6a1f1dSLionel Sambuc 
93ebfedea0SLionel Sambuc static unsigned char dsa1024_q[] = {
94ebfedea0SLionel Sambuc     0xF7, 0x07, 0x31, 0xED, 0xFA, 0x6C, 0x06, 0x03, 0xD5, 0x85, 0x8A, 0x1C,
95ebfedea0SLionel Sambuc     0xAC, 0x9C, 0x65, 0xE7, 0x50, 0x66, 0x65, 0x6F,
96ebfedea0SLionel Sambuc };
97*0a6a1f1dSLionel Sambuc 
98ebfedea0SLionel Sambuc static unsigned char dsa1024_g[] = {
99ebfedea0SLionel Sambuc     0x4D, 0xDF, 0x4C, 0x03, 0xA6, 0x91, 0x8A, 0xF5, 0x19, 0x6F, 0x50, 0x46,
100ebfedea0SLionel Sambuc     0x25, 0x99, 0xE5, 0x68, 0x6F, 0x30, 0xE3, 0x69, 0xE1, 0xE5, 0xB3, 0x5D,
101ebfedea0SLionel Sambuc     0x98, 0xBB, 0x28, 0x86, 0x48, 0xFC, 0xDE, 0x99, 0x04, 0x3F, 0x5F, 0x88,
102ebfedea0SLionel Sambuc     0x0C, 0x9C, 0x73, 0x24, 0x0D, 0x20, 0x5D, 0xB9, 0x2A, 0x9A, 0x3F, 0x18,
103ebfedea0SLionel Sambuc     0x96, 0x27, 0xE4, 0x62, 0x87, 0xC1, 0x7B, 0x74, 0x62, 0x53, 0xFC, 0x61,
104ebfedea0SLionel Sambuc     0x27, 0xA8, 0x7A, 0x91, 0x09, 0x9D, 0xB6, 0xF1, 0x4D, 0x9C, 0x54, 0x0F,
105ebfedea0SLionel Sambuc     0x58, 0x06, 0xEE, 0x49, 0x74, 0x07, 0xCE, 0x55, 0x7E, 0x23, 0xCE, 0x16,
106ebfedea0SLionel Sambuc     0xF6, 0xCA, 0xDC, 0x5A, 0x61, 0x01, 0x7E, 0xC9, 0x71, 0xB5, 0x4D, 0xF6,
107ebfedea0SLionel Sambuc     0xDC, 0x34, 0x29, 0x87, 0x68, 0xF6, 0x5E, 0x20, 0x93, 0xB3, 0xDB, 0xF5,
108ebfedea0SLionel Sambuc     0xE4, 0x09, 0x6C, 0x41, 0x17, 0x95, 0x92, 0xEB, 0x01, 0xB5, 0x73, 0xA5,
109ebfedea0SLionel Sambuc     0x6A, 0x7E, 0xD8, 0x32, 0xED, 0x0E, 0x02, 0xB8,
110ebfedea0SLionel Sambuc };
111ebfedea0SLionel Sambuc 
get_dsa1024()112ebfedea0SLionel Sambuc DSA *get_dsa1024()
113ebfedea0SLionel Sambuc {
114ebfedea0SLionel Sambuc     DSA *dsa;
115ebfedea0SLionel Sambuc 
116*0a6a1f1dSLionel Sambuc     if ((dsa = DSA_new()) == NULL)
117*0a6a1f1dSLionel Sambuc         return (NULL);
118ebfedea0SLionel Sambuc     dsa->priv_key = BN_bin2bn(dsa1024_priv, sizeof(dsa1024_priv), NULL);
119ebfedea0SLionel Sambuc     dsa->pub_key = BN_bin2bn(dsa1024_pub, sizeof(dsa1024_pub), NULL);
120ebfedea0SLionel Sambuc     dsa->p = BN_bin2bn(dsa1024_p, sizeof(dsa1024_p), NULL);
121ebfedea0SLionel Sambuc     dsa->q = BN_bin2bn(dsa1024_q, sizeof(dsa1024_q), NULL);
122ebfedea0SLionel Sambuc     dsa->g = BN_bin2bn(dsa1024_g, sizeof(dsa1024_g), NULL);
123*0a6a1f1dSLionel Sambuc     if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL)
124*0a6a1f1dSLionel Sambuc         || (dsa->q == NULL) || (dsa->g == NULL))
125ebfedea0SLionel Sambuc         return (NULL);
126ebfedea0SLionel Sambuc     return (dsa);
127ebfedea0SLionel Sambuc }
128ebfedea0SLionel Sambuc 
129ebfedea0SLionel Sambuc static unsigned char dsa2048_priv[] = {
130ebfedea0SLionel Sambuc     0x32, 0x67, 0x92, 0xf6, 0xc4, 0xe2, 0xe2, 0xe8, 0xa0, 0x8b, 0x6b, 0x45,
131ebfedea0SLionel Sambuc     0x0c, 0x8a, 0x76, 0xb0, 0xee, 0xcf, 0x91, 0xa7,
132ebfedea0SLionel Sambuc };
133*0a6a1f1dSLionel Sambuc 
134ebfedea0SLionel Sambuc static unsigned char dsa2048_pub[] = {
135ebfedea0SLionel Sambuc     0x17, 0x8f, 0xa8, 0x11, 0x84, 0x92, 0xec, 0x83, 0x47, 0xc7, 0x6a, 0xb0,
136ebfedea0SLionel Sambuc     0x92, 0xaf, 0x5a, 0x20, 0x37, 0xa3, 0x64, 0x79, 0xd2, 0xd0, 0x3d, 0xcd,
137ebfedea0SLionel Sambuc     0xe0, 0x61, 0x88, 0x88, 0x21, 0xcc, 0x74, 0x5d, 0xce, 0x4c, 0x51, 0x47,
138ebfedea0SLionel Sambuc     0xf0, 0xc5, 0x5c, 0x4c, 0x82, 0x7a, 0xaf, 0x72, 0xad, 0xb9, 0xe0, 0x53,
139ebfedea0SLionel Sambuc     0xf2, 0x78, 0xb7, 0xf0, 0xb5, 0x48, 0x7f, 0x8a, 0x3a, 0x18, 0xd1, 0x9f,
140ebfedea0SLionel Sambuc     0x8b, 0x7d, 0xa5, 0x47, 0xb7, 0x95, 0xab, 0x98, 0xf8, 0x7b, 0x74, 0x50,
141ebfedea0SLionel Sambuc     0x56, 0x8e, 0x57, 0xf0, 0xee, 0xf5, 0xb7, 0xba, 0xab, 0x85, 0x86, 0xf9,
142ebfedea0SLionel Sambuc     0x2b, 0xef, 0x41, 0x56, 0xa0, 0xa4, 0x9f, 0xb7, 0x38, 0x00, 0x46, 0x0a,
143ebfedea0SLionel Sambuc     0xa6, 0xf1, 0xfc, 0x1f, 0xd8, 0x4e, 0x85, 0x44, 0x92, 0x43, 0x21, 0x5d,
144ebfedea0SLionel Sambuc     0x6e, 0xcc, 0xc2, 0xcb, 0x26, 0x31, 0x0d, 0x21, 0xc4, 0xbd, 0x8d, 0x24,
145ebfedea0SLionel Sambuc     0xbc, 0xd9, 0x18, 0x19, 0xd7, 0xdc, 0xf1, 0xe7, 0x93, 0x50, 0x48, 0x03,
146ebfedea0SLionel Sambuc     0x2c, 0xae, 0x2e, 0xe7, 0x49, 0x88, 0x5f, 0x93, 0x57, 0x27, 0x99, 0x36,
147ebfedea0SLionel Sambuc     0xb4, 0x20, 0xab, 0xfc, 0xa7, 0x2b, 0xf2, 0xd9, 0x98, 0xd7, 0xd4, 0x34,
148ebfedea0SLionel Sambuc     0x9d, 0x96, 0x50, 0x58, 0x9a, 0xea, 0x54, 0xf3, 0xee, 0xf5, 0x63, 0x14,
149ebfedea0SLionel Sambuc     0xee, 0x85, 0x83, 0x74, 0x76, 0xe1, 0x52, 0x95, 0xc3, 0xf7, 0xeb, 0x04,
150ebfedea0SLionel Sambuc     0x04, 0x7b, 0xa7, 0x28, 0x1b, 0xcc, 0xea, 0x4a, 0x4e, 0x84, 0xda, 0xd8,
151ebfedea0SLionel Sambuc     0x9c, 0x79, 0xd8, 0x9b, 0x66, 0x89, 0x2f, 0xcf, 0xac, 0xd7, 0x79, 0xf9,
152ebfedea0SLionel Sambuc     0xa9, 0xd8, 0x45, 0x13, 0x78, 0xb9, 0x00, 0x14, 0xc9, 0x7e, 0x22, 0x51,
153ebfedea0SLionel Sambuc     0x86, 0x67, 0xb0, 0x9f, 0x26, 0x11, 0x23, 0xc8, 0x38, 0xd7, 0x70, 0x1d,
154ebfedea0SLionel Sambuc     0x15, 0x8e, 0x4d, 0x4f, 0x95, 0x97, 0x40, 0xa1, 0xc2, 0x7e, 0x01, 0x18,
155ebfedea0SLionel Sambuc     0x72, 0xf4, 0x10, 0xe6, 0x8d, 0x52, 0x16, 0x7f, 0xf2, 0xc9, 0xf8, 0x33,
156ebfedea0SLionel Sambuc     0x8b, 0x33, 0xb7, 0xce,
157ebfedea0SLionel Sambuc };
158*0a6a1f1dSLionel Sambuc 
159ebfedea0SLionel Sambuc static unsigned char dsa2048_p[] = {
160ebfedea0SLionel Sambuc     0xA0, 0x25, 0xFA, 0xAD, 0xF4, 0x8E, 0xB9, 0xE5, 0x99, 0xF3, 0x5D, 0x6F,
161ebfedea0SLionel Sambuc     0x4F, 0x83, 0x34, 0xE2, 0x7E, 0xCF, 0x6F, 0xBF, 0x30, 0xAF, 0x6F, 0x81,
162ebfedea0SLionel Sambuc     0xEB, 0xF8, 0xC4, 0x13, 0xD9, 0xA0, 0x5D, 0x8B, 0x5C, 0x8E, 0xDC, 0xC2,
163ebfedea0SLionel Sambuc     0x1D, 0x0B, 0x41, 0x32, 0xB0, 0x1F, 0xFE, 0xEF, 0x0C, 0xC2, 0xA2, 0x7E,
164ebfedea0SLionel Sambuc     0x68, 0x5C, 0x28, 0x21, 0xE9, 0xF5, 0xB1, 0x58, 0x12, 0x63, 0x4C, 0x19,
165ebfedea0SLionel Sambuc     0x4E, 0xFF, 0x02, 0x4B, 0x92, 0xED, 0xD2, 0x07, 0x11, 0x4D, 0x8C, 0x58,
166ebfedea0SLionel Sambuc     0x16, 0x5C, 0x55, 0x8E, 0xAD, 0xA3, 0x67, 0x7D, 0xB9, 0x86, 0x6E, 0x0B,
167ebfedea0SLionel Sambuc     0xE6, 0x54, 0x6F, 0x40, 0xAE, 0x0E, 0x67, 0x4C, 0xF9, 0x12, 0x5B, 0x3C,
168ebfedea0SLionel Sambuc     0x08, 0x7A, 0xF7, 0xFC, 0x67, 0x86, 0x69, 0xE7, 0x0A, 0x94, 0x40, 0xBF,
169ebfedea0SLionel Sambuc     0x8B, 0x76, 0xFE, 0x26, 0xD1, 0xF2, 0xA1, 0x1A, 0x84, 0xA1, 0x43, 0x56,
170ebfedea0SLionel Sambuc     0x28, 0xBC, 0x9A, 0x5F, 0xD7, 0x3B, 0x69, 0x89, 0x8A, 0x36, 0x2C, 0x51,
171ebfedea0SLionel Sambuc     0xDF, 0x12, 0x77, 0x2F, 0x57, 0x7B, 0xA0, 0xAA, 0xDD, 0x7F, 0xA1, 0x62,
172ebfedea0SLionel Sambuc     0x3B, 0x40, 0x7B, 0x68, 0x1A, 0x8F, 0x0D, 0x38, 0xBB, 0x21, 0x5D, 0x18,
173ebfedea0SLionel Sambuc     0xFC, 0x0F, 0x46, 0xF7, 0xA3, 0xB0, 0x1D, 0x23, 0xC3, 0xD2, 0xC7, 0x72,
174ebfedea0SLionel Sambuc     0x51, 0x18, 0xDF, 0x46, 0x95, 0x79, 0xD9, 0xBD, 0xB5, 0x19, 0x02, 0x2C,
175ebfedea0SLionel Sambuc     0x87, 0xDC, 0xE7, 0x57, 0x82, 0x7E, 0xF1, 0x8B, 0x06, 0x3D, 0x00, 0xA5,
176ebfedea0SLionel Sambuc     0x7B, 0x6B, 0x26, 0x27, 0x91, 0x0F, 0x6A, 0x77, 0xE4, 0xD5, 0x04, 0xE4,
177ebfedea0SLionel Sambuc     0x12, 0x2C, 0x42, 0xFF, 0xD2, 0x88, 0xBB, 0xD3, 0x92, 0xA0, 0xF9, 0xC8,
178ebfedea0SLionel Sambuc     0x51, 0x64, 0x14, 0x5C, 0xD8, 0xF9, 0x6C, 0x47, 0x82, 0xB4, 0x1C, 0x7F,
179ebfedea0SLionel Sambuc     0x09, 0xB8, 0xF0, 0x25, 0x83, 0x1D, 0x3F, 0x3F, 0x05, 0xB3, 0x21, 0x0A,
180ebfedea0SLionel Sambuc     0x5D, 0xA7, 0xD8, 0x54, 0xC3, 0x65, 0x7D, 0xC3, 0xB0, 0x1D, 0xBF, 0xAE,
181ebfedea0SLionel Sambuc     0xF8, 0x68, 0xCF, 0x9B,
182ebfedea0SLionel Sambuc };
183*0a6a1f1dSLionel Sambuc 
184ebfedea0SLionel Sambuc static unsigned char dsa2048_q[] = {
185ebfedea0SLionel Sambuc     0x97, 0xE7, 0x33, 0x4D, 0xD3, 0x94, 0x3E, 0x0B, 0xDB, 0x62, 0x74, 0xC6,
186ebfedea0SLionel Sambuc     0xA1, 0x08, 0xDD, 0x19, 0xA3, 0x75, 0x17, 0x1B,
187ebfedea0SLionel Sambuc };
188*0a6a1f1dSLionel Sambuc 
189ebfedea0SLionel Sambuc static unsigned char dsa2048_g[] = {
190ebfedea0SLionel Sambuc     0x2C, 0x78, 0x16, 0x59, 0x34, 0x63, 0xF4, 0xF3, 0x92, 0xFC, 0xB5, 0xA5,
191ebfedea0SLionel Sambuc     0x4F, 0x13, 0xDE, 0x2F, 0x1C, 0xA4, 0x3C, 0xAE, 0xAD, 0x38, 0x3F, 0x7E,
192ebfedea0SLionel Sambuc     0x90, 0xBF, 0x96, 0xA6, 0xAE, 0x25, 0x90, 0x72, 0xF5, 0x8E, 0x80, 0x0C,
193ebfedea0SLionel Sambuc     0x39, 0x1C, 0xD9, 0xEC, 0xBA, 0x90, 0x5B, 0x3A, 0xE8, 0x58, 0x6C, 0x9E,
194ebfedea0SLionel Sambuc     0x30, 0x42, 0x37, 0x02, 0x31, 0x82, 0xBC, 0x6A, 0xDF, 0x6A, 0x09, 0x29,
195ebfedea0SLionel Sambuc     0xE3, 0xC0, 0x46, 0xD1, 0xCB, 0x85, 0xEC, 0x0C, 0x30, 0x5E, 0xEA, 0xC8,
196ebfedea0SLionel Sambuc     0x39, 0x8E, 0x22, 0x9F, 0x22, 0x10, 0xD2, 0x34, 0x61, 0x68, 0x37, 0x3D,
197ebfedea0SLionel Sambuc     0x2E, 0x4A, 0x5B, 0x9A, 0xF5, 0xC1, 0x48, 0xC6, 0xF6, 0xDC, 0x63, 0x1A,
198ebfedea0SLionel Sambuc     0xD3, 0x96, 0x64, 0xBA, 0x34, 0xC9, 0xD1, 0xA0, 0xD1, 0xAE, 0x6C, 0x2F,
199ebfedea0SLionel Sambuc     0x48, 0x17, 0x93, 0x14, 0x43, 0xED, 0xF0, 0x21, 0x30, 0x19, 0xC3, 0x1B,
200ebfedea0SLionel Sambuc     0x5F, 0xDE, 0xA3, 0xF0, 0x70, 0x78, 0x18, 0xE1, 0xA8, 0xE4, 0xEE, 0x2E,
201ebfedea0SLionel Sambuc     0x00, 0xA5, 0xE4, 0xB3, 0x17, 0xC8, 0x0C, 0x7D, 0x6E, 0x42, 0xDC, 0xB7,
202ebfedea0SLionel Sambuc     0x46, 0x00, 0x36, 0x4D, 0xD4, 0x46, 0xAA, 0x3D, 0x3C, 0x46, 0x89, 0x40,
203ebfedea0SLionel Sambuc     0xBF, 0x1D, 0x84, 0x77, 0x0A, 0x75, 0xF3, 0x87, 0x1D, 0x08, 0x4C, 0xA6,
204ebfedea0SLionel Sambuc     0xD1, 0xA9, 0x1C, 0x1E, 0x12, 0x1E, 0xE1, 0xC7, 0x30, 0x28, 0x76, 0xA5,
205ebfedea0SLionel Sambuc     0x7F, 0x6C, 0x85, 0x96, 0x2B, 0x6F, 0xDB, 0x80, 0x66, 0x26, 0xAE, 0xF5,
206ebfedea0SLionel Sambuc     0x93, 0xC7, 0x8E, 0xAE, 0x9A, 0xED, 0xE4, 0xCA, 0x04, 0xEA, 0x3B, 0x72,
207ebfedea0SLionel Sambuc     0xEF, 0xDC, 0x87, 0xED, 0x0D, 0xA5, 0x4C, 0x4A, 0xDD, 0x71, 0x22, 0x64,
208ebfedea0SLionel Sambuc     0x59, 0x69, 0x4E, 0x8E, 0xBF, 0x43, 0xDC, 0xAB, 0x8E, 0x66, 0xBB, 0x01,
209ebfedea0SLionel Sambuc     0xB6, 0xF4, 0xE7, 0xFD, 0xD2, 0xAD, 0x9F, 0x36, 0xC1, 0xA0, 0x29, 0x99,
210ebfedea0SLionel Sambuc     0xD1, 0x96, 0x70, 0x59, 0x06, 0x78, 0x35, 0xBD, 0x65, 0x55, 0x52, 0x9E,
211ebfedea0SLionel Sambuc     0xF8, 0xB2, 0xE5, 0x38,
212ebfedea0SLionel Sambuc };
213ebfedea0SLionel Sambuc 
get_dsa2048()214ebfedea0SLionel Sambuc DSA *get_dsa2048()
215ebfedea0SLionel Sambuc {
216ebfedea0SLionel Sambuc     DSA *dsa;
217ebfedea0SLionel Sambuc 
218*0a6a1f1dSLionel Sambuc     if ((dsa = DSA_new()) == NULL)
219*0a6a1f1dSLionel Sambuc         return (NULL);
220ebfedea0SLionel Sambuc     dsa->priv_key = BN_bin2bn(dsa2048_priv, sizeof(dsa2048_priv), NULL);
221ebfedea0SLionel Sambuc     dsa->pub_key = BN_bin2bn(dsa2048_pub, sizeof(dsa2048_pub), NULL);
222ebfedea0SLionel Sambuc     dsa->p = BN_bin2bn(dsa2048_p, sizeof(dsa2048_p), NULL);
223ebfedea0SLionel Sambuc     dsa->q = BN_bin2bn(dsa2048_q, sizeof(dsa2048_q), NULL);
224ebfedea0SLionel Sambuc     dsa->g = BN_bin2bn(dsa2048_g, sizeof(dsa2048_g), NULL);
225*0a6a1f1dSLionel Sambuc     if ((dsa->priv_key == NULL) || (dsa->pub_key == NULL) || (dsa->p == NULL)
226*0a6a1f1dSLionel Sambuc         || (dsa->q == NULL) || (dsa->g == NULL))
227ebfedea0SLionel Sambuc         return (NULL);
228ebfedea0SLionel Sambuc     return (dsa);
229ebfedea0SLionel Sambuc }
230ebfedea0SLionel Sambuc 
231*0a6a1f1dSLionel Sambuc static const char rnd_seed[] =
232*0a6a1f1dSLionel Sambuc     "string to make the random number generator think it has entropy";
233ebfedea0SLionel Sambuc static int rnd_fake = 0;
234