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