]> git.ipfire.org Git - thirdparty/openssl.git/blob - test/acvp_test.inc
Fix various typos, repeated words, align some spelling to LDP.
[thirdparty/openssl.git] / test / acvp_test.inc
1 /*
2 * Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10 #define PASS 1
11 #define FAIL 0
12 #define ITM(x) x, sizeof(x)
13
14 #ifndef OPENSSL_NO_EC
15
16 struct ecdsa_keygen_st {
17 const char *curve_name;
18 };
19
20 struct ecdsa_pub_verify_st {
21 const char *curve_name;
22 const unsigned char *pub;
23 size_t pub_len;
24 int pass;
25 };
26
27 struct ecdsa_siggen_st {
28 const char *digest_alg;
29 const char *curve_name;
30 const unsigned char *msg;
31 size_t msg_len;
32 };
33
34 struct ecdsa_sigver_st {
35 const char *digest_alg;
36 const char *curve_name;
37 const unsigned char *msg;
38 size_t msg_len;
39 const unsigned char *pub;
40 size_t pub_len;
41 const unsigned char *r;
42 size_t r_len;
43 const unsigned char *s;
44 size_t s_len;
45 int pass;
46 };
47
48 static const struct ecdsa_keygen_st ecdsa_keygen_data[] = {
49 { "P-224" },
50 };
51
52 static const unsigned char ecdsa_pv_pub0[] = {
53 POINT_CONVERSION_UNCOMPRESSED,
54 0x50, 0x0F, 0x05, 0x86, 0xD3, 0xAA, 0x8A, 0x48,
55 0x46, 0x63, 0x0D, 0xD7, 0xC7, 0x5D, 0x5F, 0x1D,
56 0xB2, 0xA7, 0x9B, 0xE8, 0xC8, 0xBB, 0xBE, 0x2C,
57 0x93, 0x33, 0xDC, 0xCB, 0xBB, 0x2F, 0xB3, 0xCF,
58 0x55, 0x88, 0x7A, 0x97, 0xD1, 0x75, 0x73, 0xFE,
59 0x92, 0x02, 0x5C, 0xC8, 0xE3, 0xF4, 0x35, 0x4B,
60 0x08, 0x7E, 0xF4, 0xD3, 0x7D, 0x86, 0x06, 0x92,
61 0xBA, 0x15, 0x3F, 0xCF, 0x0C, 0xC4, 0xBF, 0xBC,
62 };
63 static const unsigned char ecdsa_pv_pub1[] = {
64 POINT_CONVERSION_UNCOMPRESSED,
65 0x1F, 0x74, 0xD6, 0x99, 0xEB, 0x1D, 0x4F, 0x26,
66 0x25, 0x5E, 0xD4, 0x6A, 0xA6, 0xD5, 0x23, 0xB3,
67 0xF5, 0x5D, 0x14, 0x38, 0xE0, 0x4D, 0x23, 0x7F,
68 0x9A, 0xE5, 0xB7, 0x1B, 0xF9, 0x7F, 0xAD, 0x7E,
69 0x0E, 0x1C, 0x06, 0xF4, 0x20, 0xF3, 0x8E, 0x93,
70 0x79, 0x11, 0x15, 0xD6, 0x82, 0x12, 0x14, 0xC2,
71 0xF9, 0x30, 0x61, 0x9A, 0xC3, 0x12, 0xE3, 0x88,
72 0x4E, 0xB1, 0x1A, 0x4B, 0x54, 0x6D, 0xEA, 0xCF,
73 };
74 static const struct ecdsa_pub_verify_st ecdsa_pv_data[] = {
75 {
76 "P-256",
77 ITM(ecdsa_pv_pub0),
78 PASS
79 },
80 {
81 "P-256",
82 ITM(ecdsa_pv_pub1),
83 FAIL
84 },
85 };
86
87 static const unsigned char ecdsa_siggen_msg0[] = {
88 0xB8, 0x65, 0x55, 0x9D, 0x54, 0x5C, 0xD2, 0xC7,
89 0xC2, 0xCA, 0x96, 0xDF, 0xF3, 0x9B, 0x26, 0xED,
90 0xF8, 0x16, 0x99, 0x05, 0x94, 0xA9, 0x3F, 0x69,
91 0x5F, 0xE8, 0x73, 0xC5, 0xFE, 0x78, 0x28, 0x84,
92 0xC0, 0xA7, 0xFA, 0x29, 0xBE, 0x37, 0x82, 0xC0,
93 0x56, 0x41, 0x49, 0xAF, 0xF3, 0x59, 0xBB, 0x96,
94 0xF6, 0x4B, 0x87, 0x45, 0xAB, 0x1F, 0xB2, 0xB3,
95 0x8F, 0x14, 0xD4, 0xD7, 0x1C, 0x29, 0x08, 0x0C,
96 0x79, 0x8A, 0x38, 0xAE, 0x32, 0x1C, 0x38, 0x80,
97 0x5B, 0x45, 0x25, 0x46, 0x5D, 0xCE, 0x7D, 0x34,
98 0xC0, 0x90, 0xEF, 0x06, 0x84, 0xA1, 0x0F, 0xF8,
99 0x56, 0x2D, 0x46, 0xF7, 0xB7, 0xDE, 0x06, 0x7C,
100 0x87, 0xA6, 0x7E, 0x71, 0x8D, 0x7B, 0x27, 0xE5,
101 0x51, 0x0C, 0xE7, 0xBA, 0x18, 0x08, 0xE0, 0xD5,
102 0x0B, 0x8C, 0xB6, 0x22, 0xA5, 0x8F, 0xB3, 0xF7,
103 0xFB, 0xC6, 0x2A, 0x59, 0x02, 0x8A, 0x8C, 0x42,
104 };
105 static const struct ecdsa_siggen_st ecdsa_siggen_data[] = {
106 {
107 "SHA2-256",
108 "P-384",
109 ITM(ecdsa_siggen_msg0),
110 },
111 };
112
113 static const unsigned char ecdsa_sigver_msg0[] = {
114 0x0b, 0x00, 0xc4, 0x3f, 0xb9, 0xcb, 0x92, 0xd3,
115 0x56, 0x83, 0xc6, 0x97, 0x23, 0xf8, 0xf1, 0x0b,
116 0x0a, 0xa6, 0x60, 0xca, 0x3a, 0xed, 0xba, 0x38,
117 0xf7, 0x86, 0xc2, 0x6d, 0xa1, 0xb6, 0x40, 0x2c,
118 0x92, 0xfe, 0x44, 0x1a, 0x19, 0x61, 0x5c, 0x02,
119 0xfa, 0xd3, 0x79, 0x99, 0xb8, 0x99, 0xe8, 0x70,
120 0xaa, 0x26, 0x01, 0xf2, 0xe7, 0xdc, 0x69, 0xce,
121 0x9a, 0xd2, 0xaa, 0x02, 0x15, 0xab, 0x0d, 0xcb,
122 0x77, 0xaf, 0xe0, 0x81, 0x6d, 0x92, 0x6e, 0x09,
123 0xcd, 0x93, 0xd6, 0x22, 0x67, 0xc2, 0xd3, 0x7c,
124 0x58, 0x11, 0xc8, 0x77, 0x4e, 0x97, 0x92, 0x87,
125 0xcd, 0xe4, 0xc9, 0x2a, 0x77, 0xb2, 0xf0, 0xe7,
126 0xd3, 0x5a, 0x20, 0x36, 0x91, 0x75, 0x23, 0xa8,
127 0xcb, 0x4a, 0xd0, 0xe5, 0x95, 0x3b, 0x24, 0x2a,
128 0x86, 0xa0, 0xaa, 0xbe, 0xac, 0x59, 0xd7, 0xd0,
129 0xfb, 0xdf, 0x33, 0xc9, 0x73, 0xaf, 0x8a, 0x06,
130 };
131 static const unsigned char ecdsa_sigver_msg1[] = {
132 0x45, 0xBB, 0x9D, 0xDC, 0x1D, 0x0A, 0xF2, 0xD7,
133 0x56, 0x07, 0x1F, 0x47, 0x2A, 0x17, 0xCE, 0x38,
134 0xA8, 0x7E, 0x75, 0xED, 0x4F, 0xE4, 0x17, 0x65,
135 0x11, 0x69, 0xDF, 0x04, 0xF0, 0x39, 0x28, 0xD0,
136 0x75, 0xD5, 0xF0, 0x1C, 0x32, 0x84, 0x16, 0x74,
137 0x7D, 0x61, 0x57, 0xDB, 0x92, 0x24, 0x60, 0xBA,
138 0x58, 0x7B, 0x48, 0xB4, 0x44, 0xFB, 0xD7, 0x35,
139 0xD7, 0xCF, 0x61, 0x34, 0x7F, 0x70, 0x38, 0xAE,
140 0xE2, 0xB2, 0x6C, 0x8A, 0xD1, 0x27, 0xB4, 0xF0,
141 0x33, 0xB9, 0xE9, 0x27, 0x1A, 0xEE, 0x34, 0x72,
142 0x9D, 0x5E, 0x74, 0x28, 0xE7, 0x0B, 0x82, 0xE1,
143 0x60, 0xC2, 0x43, 0xE6, 0x75, 0x4A, 0x2E, 0x66,
144 0x88, 0x72, 0xCA, 0xC7, 0x97, 0xFE, 0x19, 0xCD,
145 0xA4, 0x30, 0xBF, 0xC7, 0xDC, 0x37, 0xF8, 0x1B,
146 0xB6, 0xD7, 0x7E, 0xAD, 0xD6, 0xC1, 0x20, 0xAC,
147 0x79, 0x03, 0x89, 0xEA, 0xF4, 0x59, 0x21, 0xF2,
148 };
149
150 static const unsigned char ecdsa_sigver_pub0[] = {
151 POINT_CONVERSION_UNCOMPRESSED,
152 0x2c, 0xdf, 0x6f, 0x23, 0x3d, 0x73, 0x86, 0x25,
153 0x1a, 0x29, 0xd6, 0xde, 0x98, 0xcf, 0x85, 0xf7,
154 0x6a, 0x55, 0xba, 0xdb, 0x0f, 0x35, 0x94, 0x92,
155 0xb3, 0x58, 0xf3, 0x89, 0x7f, 0x6c, 0x22, 0x10,
156 0xd9, 0xd3, 0x54, 0xd2, 0x74, 0x9f, 0x64, 0x0d,
157 0xd2, 0xf8, 0x3e, 0xfc, 0x7f, 0xb7, 0x16, 0x36,
158 };
159 static const unsigned char ecdsa_sigver_pub1[] = {
160 POINT_CONVERSION_UNCOMPRESSED,
161 0x00, 0xD4, 0x79, 0x9F, 0xD9, 0x99, 0xEC, 0x21,
162 0x1E, 0xE6, 0x06, 0x58, 0xB7, 0xFB, 0x76, 0xFC,
163 0xF5, 0x9A, 0xE1, 0x1E, 0x5A, 0x87, 0xD7, 0x0E,
164 0x21, 0x7B, 0xDE, 0x21, 0x52, 0xE6, 0xE4, 0x09,
165 0x2C, 0xB8, 0x5D, 0x99, 0xE2, 0x6A, 0xB1, 0xE5,
166 0x79, 0x11, 0x49, 0xBD, 0x3D, 0xC7, 0x1C, 0x48,
167 0xF5, 0x83, 0xFC, 0x9E, 0xF3, 0xAB, 0x2D, 0x30,
168 0x64, 0xEC, 0x22, 0xCB, 0xEB, 0x95, 0xBF, 0xF2,
169 0x2D, 0xCE,
170
171 0x01, 0xB9, 0xFE, 0xBD, 0x4C, 0x4B, 0xDA, 0x1F,
172 0x30, 0xC3, 0x5C, 0x0F, 0x5D, 0x3E, 0x36, 0x51,
173 0xF2, 0xC0, 0xF7, 0xFC, 0x79, 0x25, 0x98, 0xF2,
174 0x4B, 0x2B, 0x61, 0xFC, 0xD9, 0xC4, 0x5C, 0xC0,
175 0x13, 0xA2, 0x4F, 0x2E, 0x34, 0xD4, 0x15, 0xC4,
176 0x25, 0x13, 0xA9, 0x30, 0x35, 0x56, 0xB7, 0xCD,
177 0xD0, 0xC4, 0x65, 0x5D, 0xFB, 0xB2, 0xE4, 0xBF,
178 0x22, 0x67, 0xEF, 0xA1, 0x2E, 0xA2, 0x1B, 0x33,
179 0xE4, 0x3D,
180 };
181 static const unsigned char ecdsa_sigver_r0[] = {
182 0x6b, 0x35, 0x62, 0x67, 0xa3, 0xbd, 0x76, 0xc8,
183 0xa3, 0xdc, 0x93, 0x18, 0x82, 0x6f, 0xd2, 0x43,
184 0x52, 0x18, 0x93, 0x21, 0x8e, 0xce, 0x12, 0x65,
185 };
186 static const unsigned char ecdsa_sigver_r1[] = {
187 0x01, 0xBF, 0xA6, 0x46, 0x6D, 0x4E, 0x1C, 0x42,
188 0x18, 0x7D, 0x46, 0xC6, 0x5F, 0xA5, 0x05, 0xEA,
189 0x1A, 0xEF, 0xDB, 0x46, 0xD1, 0x79, 0x3F, 0x2B,
190 0xE2, 0x70, 0x0F, 0x14, 0x26, 0x30, 0x7F, 0x2D,
191 0x1A, 0x41, 0xFD, 0x11, 0xC0, 0xBB, 0xD0, 0xD5,
192 0x09, 0xAA, 0xE0, 0x1A, 0xFE, 0x59, 0x23, 0x7D,
193 0x1B, 0x5C, 0xB9, 0x51, 0xCD, 0x3A, 0xA1, 0x32,
194 0xC6, 0x92, 0xB0, 0x7D, 0x91, 0xC6, 0x30, 0xC0,
195 0xA4, 0x2A,
196 };
197 static const unsigned char ecdsa_sigver_s0[] = {
198 0x7b, 0x92, 0x4a, 0x13, 0x8d, 0x74, 0x87, 0xb2,
199 0xd4, 0xc7, 0x21, 0x73, 0x2c, 0x8a, 0x09, 0x25,
200 0xac, 0x19, 0xcf, 0x9c, 0xbc, 0xd7, 0x7b, 0xf8,
201 };
202 static const unsigned char ecdsa_sigver_s1[] = {
203 0x00, 0x8D, 0x56, 0xBA, 0x60, 0x38, 0x23, 0x47,
204 0xB8, 0x32, 0x73, 0x29, 0x40, 0x84, 0xF0, 0x2C,
205 0x90, 0xB2, 0x1D, 0x56, 0xFF, 0x38, 0x68, 0xAA,
206 0x42, 0xBA, 0x48, 0xA1, 0x52, 0x8C, 0xB4, 0xD6,
207 0x15, 0xB7, 0x88, 0xB3, 0x71, 0xC6, 0x69, 0x60,
208 0x6C, 0xEB, 0x4B, 0xF6, 0x19, 0x6A, 0x95, 0x8F,
209 0x01, 0x09, 0xC6, 0x13, 0xE6, 0x17, 0x38, 0xC8,
210 0x10, 0x49, 0x4F, 0x87, 0x43, 0x63, 0x62, 0x98,
211 0xB1, 0xAC,
212 };
213 static const struct ecdsa_sigver_st ecdsa_sigver_data[] = {
214 {
215 "SHA-1",
216 "P-192",
217 ITM(ecdsa_sigver_msg0),
218 ITM(ecdsa_sigver_pub0),
219 ITM(ecdsa_sigver_r0),
220 ITM(ecdsa_sigver_s0),
221 PASS,
222 },
223 {
224 "SHA2-512",
225 "P-521",
226 ITM(ecdsa_sigver_msg1),
227 ITM(ecdsa_sigver_pub1),
228 ITM(ecdsa_sigver_r1),
229 ITM(ecdsa_sigver_s1),
230 FAIL,
231 },
232 };
233
234 #endif /* OPENSSL_NO_EC */
235
236
237 #ifndef OPENSSL_NO_DSA
238
239 struct dsa_paramgen_st {
240 size_t L;
241 size_t N;
242 };
243
244 struct dsa_pqver_st {
245 const unsigned char *p;
246 size_t p_len;
247 const unsigned char *q;
248 size_t q_len;
249 const unsigned char *seed;
250 size_t seed_len;
251 int counter;
252 int pass;
253 };
254
255 struct dsa_siggen_st {
256 const char *digest_alg;
257 size_t L;
258 size_t N;
259 const unsigned char *msg;
260 size_t msg_len;
261 };
262
263 struct dsa_sigver_st {
264 const char *digest_alg;
265 const unsigned char *p;
266 size_t p_len;
267 const unsigned char *q;
268 size_t q_len;
269 const unsigned char *g;
270 size_t g_len;
271 const unsigned char *pub;
272 size_t pub_len;
273 const unsigned char *msg;
274 size_t msg_len;
275 const unsigned char *r;
276 size_t r_len;
277 const unsigned char *s;
278 size_t s_len;
279 int pass;
280 };
281
282 static const struct dsa_paramgen_st dsa_keygen_data[] = {
283 { 2048, 224 },
284 };
285
286 static const struct dsa_paramgen_st dsa_paramgen_data[] = {
287 { 2048, 256 },
288 };
289
290 /* dsa_pqver */
291 static const unsigned char dsa_pqver_p0[] = {
292 0xEF, 0xC7, 0x95, 0xEB, 0x1E, 0x1C, 0x8F, 0x5E,
293 0x4A, 0x85, 0xCD, 0x20, 0x66, 0xC7, 0xB9, 0x6C,
294 0x4E, 0xC4, 0xE7, 0x3B, 0x7B, 0x8E, 0x0E, 0x8C,
295 0x00, 0xF5, 0x2E, 0x68, 0xF5, 0xC2, 0x89, 0x47,
296 0xA5, 0x7B, 0xA6, 0xA3, 0x30, 0xBC, 0xFA, 0x25,
297 0x29, 0xBD, 0xE2, 0x4D, 0x05, 0x0B, 0x6D, 0x2D,
298 0x49, 0x50, 0x53, 0xEF, 0x8C, 0xBE, 0xC3, 0xEC,
299 0x92, 0xC1, 0x45, 0xE3, 0x95, 0x39, 0x72, 0x58,
300 0xFD, 0x93, 0x23, 0x06, 0x37, 0xD6, 0x56, 0x1F,
301 0x75, 0x92, 0xAD, 0x15, 0xA9, 0x88, 0x25, 0x3F,
302 0xD6, 0x47, 0xB5, 0xB1, 0x32, 0x01, 0x2D, 0x70,
303 0x55, 0xB9, 0x5D, 0xED, 0x1B, 0x40, 0x39, 0x78,
304 0x74, 0xA6, 0xDF, 0x4B, 0xE4, 0x86, 0x8B, 0x56,
305 0x46, 0x1E, 0xDB, 0x04, 0xD2, 0xD2, 0x50, 0xE9,
306 0x5D, 0x88, 0xA8, 0x84, 0x55, 0xE3, 0xF3, 0xB7,
307 0x07, 0x54, 0x9E, 0x98, 0x03, 0x9F, 0x31, 0x86,
308 0xEB, 0x0D, 0x26, 0x97, 0x30, 0x31, 0x34, 0x64,
309 0x35, 0x56, 0x40, 0x35, 0xEA, 0xE5, 0x00, 0x90,
310 0xBD, 0x20, 0x93, 0xFC, 0xAD, 0x70, 0x9A, 0xF5,
311 0xB8, 0xA4, 0xAD, 0xEC, 0xFE, 0x64, 0xF4, 0x2C,
312 0x11, 0x25, 0x68, 0x27, 0x0E, 0x5C, 0x81, 0x57,
313 0x64, 0x9A, 0x50, 0x86, 0xA3, 0x69, 0x61, 0x1E,
314 0x0D, 0x62, 0xE9, 0x4D, 0x44, 0x1E, 0x1E, 0xE1,
315 0x6D, 0x8F, 0x10, 0x67, 0x82, 0xB6, 0x6A, 0xD0,
316 0x08, 0x59, 0xF3, 0xBA, 0xE8, 0x29, 0xE0, 0x60,
317 0x1F, 0x3E, 0xBA, 0xAB, 0x6E, 0xB6, 0x5B, 0xAF,
318 0xCC, 0x76, 0x5D, 0x70, 0x7F, 0x3A, 0xAA, 0x7E,
319 0x27, 0x23, 0x6F, 0x8E, 0xF8, 0x06, 0xC1, 0x3E,
320 0xAE, 0xBE, 0x22, 0x71, 0x93, 0xEC, 0x9A, 0x33,
321 0x3C, 0xA4, 0x77, 0xD4, 0x76, 0x79, 0x10, 0x5A,
322 0xF4, 0x07, 0x52, 0x66, 0x9D, 0xC5, 0xFD, 0xDA,
323 0xA1, 0xE7, 0xA2, 0x45, 0x27, 0x08, 0x54, 0xB9,
324 0x3B, 0xEC, 0x07, 0xFB, 0xE0, 0xF4, 0x4B, 0x7C,
325 0xB1, 0x04, 0x2B, 0x0E, 0x65, 0x3A, 0xF7, 0x65,
326 0x57, 0x65, 0xCF, 0x36, 0x28, 0x2A, 0x1C, 0x57,
327 0x10, 0x28, 0x02, 0x26, 0xF7, 0x45, 0xAA, 0x1B,
328 0x2E, 0xE3, 0x25, 0xEA, 0x28, 0xA1, 0x84, 0x1E,
329 0xA1, 0xA3, 0xAB, 0x52, 0x25, 0xD4, 0x64, 0xB2,
330 0xA8, 0xA5, 0xFD, 0x2F, 0x48, 0x90, 0x28, 0x8F,
331 0x8B, 0x10, 0x7F, 0x6F, 0x80, 0xA9, 0x4B, 0xB3,
332 0xC0, 0x5B, 0x27, 0xE9, 0x90, 0x90, 0x53, 0xA8,
333 0x30, 0x88, 0xD4, 0x9B, 0x09, 0x62, 0xCD, 0x99,
334 0x61, 0x63, 0x14, 0xDF, 0xC3, 0x5A, 0x60, 0xBE,
335 0xA3, 0x40, 0xAB, 0x29, 0x3E, 0xB2, 0x02, 0x19,
336 0x9D, 0x97, 0x75, 0x34, 0x0D, 0x71, 0x3B, 0xEC,
337 0xF1, 0x13, 0x23, 0xE6, 0xCA, 0x35, 0x84, 0xFF,
338 0x27, 0x4A, 0xE0, 0x11, 0x59, 0xEB, 0x1D, 0x8C,
339 0xFF, 0xF3, 0x91, 0x90, 0x3C, 0xE9, 0x43, 0x31,
340 };
341 static const unsigned char dsa_pqver_p1[] = {
342 0x83, 0xA6, 0x8F, 0xE5, 0xFE, 0xF0, 0x9D, 0x9E,
343 0x8A, 0x80, 0x9C, 0x47, 0xEF, 0xBE, 0x1A, 0xD0,
344 0x7F, 0xEA, 0x6D, 0x08, 0x59, 0x2D, 0x04, 0xB6,
345 0xAC, 0x2A, 0x54, 0x47, 0x42, 0xB2, 0x5F, 0x28,
346 0xF6, 0x30, 0x36, 0xE3, 0xDA, 0x4E, 0xDC, 0xC1,
347 0x6E, 0x61, 0xCE, 0x45, 0x1C, 0x73, 0x87, 0x3E,
348 0xB7, 0x94, 0xDB, 0x68, 0xEE, 0xFD, 0x8D, 0x93,
349 0x5E, 0x5D, 0xAB, 0x77, 0xA2, 0xF0, 0xD6, 0x60,
350 0xCD, 0x9D, 0x13, 0xE0, 0xA6, 0xE7, 0xEC, 0x45,
351 0xBA, 0xD8, 0xB0, 0x3D, 0x4F, 0x75, 0x30, 0xB7,
352 0x89, 0x96, 0x2B, 0x48, 0xFC, 0x73, 0xB8, 0x5C,
353 0x59, 0xDC, 0x41, 0xEF, 0xCE, 0xC6, 0x7F, 0x66,
354 0x4F, 0xB6, 0x1F, 0x9C, 0x91, 0xB4, 0xEE, 0xAA,
355 0x2C, 0x4A, 0x7F, 0x1F, 0xBF, 0xE2, 0x9A, 0xF2,
356 0x9F, 0x52, 0x83, 0x30, 0x97, 0x86, 0x7F, 0xA2,
357 0x85, 0x20, 0x75, 0x75, 0xAD, 0x01, 0xE2, 0x40,
358 0x3A, 0x82, 0xD8, 0x52, 0x91, 0x15, 0x67, 0x1B,
359 0x00, 0x78, 0xFD, 0x3E, 0x61, 0x8A, 0xA8, 0x1D,
360 0x1A, 0x07, 0x8E, 0x87, 0x48, 0x64, 0x1E, 0x5B,
361 0x05, 0x34, 0x7E, 0x5D, 0xD6, 0x11, 0xC4, 0xB7,
362 0x0E, 0xF3, 0x91, 0xC7, 0x2B, 0xAD, 0x22, 0x96,
363 0xA3, 0xF7, 0x4E, 0xEB, 0xE4, 0x9F, 0x67, 0x91,
364 0x9D, 0x65, 0x45, 0x8F, 0x92, 0x2F, 0x8B, 0x46,
365 0xCC, 0x4B, 0xB9, 0xC5, 0xD0, 0x00, 0xFF, 0xBB,
366 0x37, 0xD6, 0x20, 0x36, 0x7D, 0x4A, 0xC3, 0x75,
367 0xAC, 0x58, 0xE5, 0x24, 0x54, 0x47, 0x80, 0x2C,
368 0x83, 0xBD, 0xC8, 0xA7, 0x87, 0x20, 0x3D, 0xA8,
369 0x78, 0xE2, 0xC5, 0x4E, 0xE8, 0x4E, 0x3C, 0xFA,
370 0x75, 0xA0, 0x8D, 0x35, 0x8E, 0xF2, 0x61, 0x19,
371 0x84, 0x9C, 0x71, 0x95, 0x5B, 0x09, 0xE1, 0xB6,
372 0xC6, 0x6A, 0x7C, 0x34, 0x39, 0x67, 0x14, 0xAB,
373 0xA7, 0x6B, 0x45, 0x01, 0xF0, 0x0F, 0x52, 0xB5,
374 0x23, 0xD9, 0x67, 0x57, 0x91, 0x9F, 0xC2, 0xA9,
375 0xB6, 0x7C, 0x15, 0x59, 0x3E, 0x22, 0x89, 0xD6,
376 0x0B, 0x83, 0xB4, 0x29, 0xEF, 0x0B, 0x66, 0x30,
377 0x2D, 0xE7, 0xC5, 0x04, 0x1F, 0x28, 0x7D, 0x9F,
378 0xC9, 0x87, 0x05, 0xC6, 0x1B, 0x18, 0x1F, 0x3B,
379 0x90, 0x00, 0x31, 0x5B, 0xDC, 0x19, 0x7D, 0x71,
380 0xE4, 0xA4, 0x21, 0xB5, 0x37, 0xE7, 0x9B, 0xA4,
381 0xBC, 0x04, 0xF8, 0x0A, 0x95, 0x3F, 0xDB, 0x30,
382 0xA5, 0xC9, 0xC2, 0xD7, 0x19, 0x9D, 0x57, 0x77,
383 0x44, 0xB7, 0x47, 0xBD, 0xA1, 0x01, 0xEB, 0x51,
384 0xA4, 0xB2, 0x8B, 0x1A, 0x51, 0xA4, 0xCC, 0x07,
385 0x57, 0x19, 0xFB, 0xFC, 0xAA, 0x42, 0xCC, 0x2A,
386 0xCE, 0xF8, 0xFD, 0xF8, 0x92, 0xC4, 0xDC, 0x7B,
387 0x0B, 0x92, 0x9A, 0xD7, 0xC5, 0xBC, 0x6D, 0x74,
388 0x13, 0x0E, 0xD2, 0x8F, 0x86, 0xEB, 0x8D, 0xD7,
389 0xC6, 0xAC, 0x43, 0xD8, 0x00, 0x80, 0x53, 0x57,
390 };
391 static const unsigned char dsa_pqver_q0[] = {
392 0xCB, 0x74, 0xE6, 0x57, 0x37, 0x0F, 0x7A, 0x61,
393 0x0B, 0x09, 0xCE, 0x91, 0x78, 0x06, 0x3C, 0x7F,
394 0x20, 0xF5, 0xD1, 0x1E, 0x1D, 0xC2, 0x43, 0xBA,
395 0x89, 0xC8, 0x4A, 0x49, 0x83, 0x38, 0xE1, 0x2D,
396 };
397 static const unsigned char dsa_pqver_q1[] = {
398 0x85, 0x2B, 0x77, 0x9B, 0x1B, 0x70, 0x6F, 0x8C,
399 0x10, 0xF3, 0x2F, 0xA9, 0xC2, 0xEE, 0xF6, 0x74,
400 0x78, 0x5F, 0xD5, 0x5E, 0x2C, 0x34, 0xAF, 0xD1,
401 0x25, 0x63, 0x96, 0x6D, 0x6D, 0x84, 0x68, 0x3F,
402 };
403 static const unsigned char dsa_pqver_seed0[] = {
404 0x33, 0xDC, 0x43, 0xAF, 0xC4, 0x51, 0x5C, 0x3B,
405 0x8B, 0x8A, 0x0D, 0x5D, 0xA2, 0x84, 0xDE, 0x6D,
406 0xCC, 0x6C, 0xFD, 0x42, 0x37, 0x98, 0xFB, 0x66,
407 0xAB, 0xD3, 0x73, 0x96, 0x1F, 0xC5, 0xD1, 0x46,
408 };
409 static const unsigned char dsa_pqver_seed1[] = {
410 0xEE, 0xA4, 0x02, 0x70, 0x0B, 0x89, 0xB7, 0x96,
411 0x52, 0x5C, 0x00, 0xC4, 0x8E, 0x14, 0x45, 0x0F,
412 0x6A, 0x18, 0x00, 0xF7, 0x24, 0x52, 0x41, 0x0E,
413 0x33, 0x41, 0xD2, 0x91, 0xC3, 0x16, 0x7D, 0x5D,
414 };
415 static const struct dsa_pqver_st dsa_pqver_data[] = {
416 {
417 ITM(dsa_pqver_p0),
418 ITM(dsa_pqver_q0),
419 ITM(dsa_pqver_seed0),
420 1956,
421 PASS
422 },
423 {
424 ITM(dsa_pqver_p1),
425 ITM(dsa_pqver_q1),
426 ITM(dsa_pqver_seed1),
427 685,
428 FAIL
429 },
430 };
431
432 /* dsa_siggen */
433 static const unsigned char dsa_siggen_msg0[]= {
434 0x85, 0x01, 0x2F, 0x61, 0x1C, 0x36, 0xA8, 0xE1,
435 0x54, 0x55, 0x13, 0xFA, 0x00, 0x58, 0x1E, 0xD4,
436 0xF2, 0x4C, 0x54, 0x67, 0xB3, 0xEA, 0x48, 0x2C,
437 0xD1, 0x27, 0xBE, 0x5F, 0x26, 0x35, 0xD4, 0x00,
438 0xDD, 0x6C, 0xD8, 0xE8, 0x3C, 0x6D, 0x2D, 0x50,
439 0x01, 0x53, 0xC7, 0xB5, 0xA3, 0x8E, 0x9A, 0x85,
440 0xA6, 0x53, 0x8C, 0x46, 0x55, 0x02, 0xA1, 0x5E,
441 0xEA, 0x6C, 0xCF, 0x4A, 0x86, 0xA9, 0x34, 0x1B,
442 0x0B, 0xB6, 0x88, 0x9A, 0xDE, 0xC4, 0x27, 0x7F,
443 0x93, 0xAA, 0x69, 0x54, 0x48, 0x33, 0x98, 0xA0,
444 0x71, 0x45, 0x09, 0x5A, 0x51, 0xDF, 0xB6, 0x66,
445 0x06, 0xB7, 0xAD, 0x64, 0xED, 0xC1, 0xFA, 0x6B,
446 0xA8, 0x0F, 0xE8, 0x3C, 0x2E, 0x0C, 0xCB, 0xB0,
447 0xAE, 0xDE, 0x25, 0x0C, 0x68, 0xA8, 0x15, 0x97,
448 0xD0, 0xBC, 0x0B, 0x81, 0x15, 0xDC, 0x2B, 0xF3,
449 0xF2, 0xB7, 0xA7, 0xA9, 0x74, 0xD6, 0x5D, 0xB8,
450 0xB7, 0xD1, 0xFC, 0x5D, 0xCA, 0x69, 0x5D, 0x7D,
451 0xC6, 0x1E, 0x37, 0x7D, 0xD3, 0xA9, 0x1E, 0xAE,
452 0x60, 0x22, 0x3A, 0x4B, 0x7A, 0xB1, 0x3D, 0xA4,
453 0x6D, 0xB3, 0xA5, 0x8C, 0x89, 0x91, 0xCF, 0xE6,
454 0x5B, 0xF9, 0xB6, 0x87, 0x56, 0x75, 0xB9, 0x0B,
455 0x08, 0x85, 0x32, 0x52, 0x81, 0x99, 0xA7, 0x98,
456 0x44, 0x30, 0x3B, 0x44, 0xBC, 0xB8, 0xB2, 0x6D,
457 0x59, 0x52, 0xD3, 0x84, 0x74, 0x65, 0x02, 0xF9,
458 0x71, 0xB9, 0x16, 0x7A, 0x42, 0x62, 0xDE, 0x9B,
459 0x66, 0xF6, 0x04, 0x2C, 0x1F, 0x96, 0xF7, 0x41,
460 0x38, 0x1A, 0xF1, 0x8C, 0x8A, 0x40, 0x9F, 0x72,
461 0x73, 0xF9, 0xE9, 0x35, 0x11, 0x1F, 0x02, 0x0C,
462 0xB1, 0x51, 0xE8, 0x78, 0xDB, 0xE0, 0xB2, 0x35,
463 0xBD, 0xC5, 0x84, 0x5B, 0x2B, 0x25, 0x66, 0x42,
464 0x87, 0xE5, 0xA4, 0x77, 0x71, 0xB4, 0x4A, 0x59,
465 0x31, 0xF1, 0x5A, 0xF5, 0x98, 0x9C, 0x61, 0xEA,
466 0x52, 0x2F, 0x51, 0x85, 0xD9, 0x7F, 0x26, 0xDD,
467 0x91, 0x63, 0x41, 0xD5, 0x99, 0xD1, 0x64, 0xCE,
468 0xEE, 0x82, 0xD1, 0x73, 0x0A, 0x54, 0x3B, 0x03,
469 0xD7, 0xC1, 0xF7, 0x01, 0xBD, 0x44, 0x99, 0xFE,
470 0x9B, 0x1E, 0x2C, 0x8F, 0xF4, 0x55, 0xC5, 0x59,
471 0x58, 0xAF, 0xCB, 0xAD, 0xB8, 0x22, 0x1A, 0x29,
472 0xF3, 0x18, 0x39, 0x31, 0x9B, 0xFC, 0x08, 0x7E,
473 0xBE, 0x45, 0xDA, 0x9E, 0xD8, 0x7F, 0x8C, 0x5D,
474 0x10, 0xF9, 0xF8, 0xB4, 0xFA, 0x58, 0xE6, 0x28,
475 0xB4, 0x6C, 0x70, 0x12, 0xD2, 0xFA, 0x49, 0xB2,
476 0x5F, 0xD0, 0x81, 0x4A, 0xA1, 0xAA, 0xF8, 0x93,
477 0xD2, 0x26, 0xE7, 0xDA, 0x7D, 0x79, 0xC5, 0xC8,
478 0xC2, 0x9E, 0xA7, 0x01, 0xD5, 0x7A, 0xF9, 0x75,
479 0x62, 0xDB, 0xDC, 0x93, 0x90, 0xDA, 0xA5, 0xA6,
480 0x20, 0x58, 0x17, 0x9E, 0x47, 0x4E, 0xFB, 0xB8,
481 0xFB, 0xCD, 0x2E, 0xF4, 0xCD, 0x49, 0x03, 0x90,
482 };
483 static struct dsa_siggen_st dsa_siggen_data[] = {
484 {
485 "SHA2-384",
486 3072,
487 256,
488 ITM(dsa_siggen_msg0),
489 },
490 };
491
492 /* dsa_sigver */
493 static const unsigned char dsa_sigver_p0[] = {
494 0xD2, 0x90, 0x2E, 0x38, 0xA5, 0x32, 0xBB, 0x63,
495 0xE0, 0xC3, 0x20, 0xD9, 0x26, 0x06, 0x21, 0x06,
496 0x85, 0x3A, 0x4C, 0xE3, 0x13, 0x83, 0xCA, 0x43,
497 0x8C, 0x9C, 0x76, 0xC0, 0x65, 0x60, 0x27, 0x7E,
498 0x7C, 0xA0, 0x83, 0x9F, 0x65, 0x91, 0xF9, 0x16,
499 0x5F, 0xE8, 0x60, 0x0C, 0xC6, 0x91, 0x20, 0x35,
500 0xE7, 0xF1, 0x83, 0xE6, 0xF8, 0x8C, 0xBB, 0x4C,
501 0xFF, 0xF5, 0x4D, 0x09, 0x8E, 0x83, 0x72, 0xCB,
502 0x22, 0x5F, 0xD0, 0x85, 0xA9, 0x60, 0x3C, 0x4A,
503 0xA6, 0xDD, 0x73, 0x1F, 0xCF, 0xD0, 0xD7, 0x42,
504 0xB8, 0x72, 0x61, 0xDB, 0x91, 0xE3, 0xBB, 0x5C,
505 0x21, 0x41, 0xFD, 0x97, 0xD0, 0x81, 0x72, 0x53,
506 0x77, 0xE0, 0x15, 0x9E, 0xC0, 0xD0, 0x6A, 0xB4,
507 0x7F, 0xF8, 0x63, 0x39, 0x1A, 0x25, 0x63, 0x84,
508 0x4D, 0xBA, 0x2C, 0x29, 0x94, 0x28, 0xCE, 0x5B,
509 0x9A, 0xC3, 0x14, 0xAD, 0x9D, 0x82, 0x1D, 0x8F,
510 0xF3, 0xE9, 0x60, 0x65, 0x28, 0x0B, 0x0E, 0x48,
511 0x6B, 0xCC, 0x05, 0x9D, 0x3B, 0x1F, 0x1D, 0x0A,
512 0xA7, 0xF8, 0x22, 0xB0, 0xE1, 0x52, 0xB0, 0x25,
513 0x8F, 0xEA, 0x25, 0x28, 0xC9, 0x6F, 0x44, 0xCD,
514 0xA4, 0x16, 0x13, 0xE8, 0xD0, 0xDB, 0x43, 0x6E,
515 0xCE, 0xEC, 0x0B, 0xA8, 0x3E, 0x53, 0x10, 0xA2,
516 0x52, 0x0E, 0xBB, 0x63, 0x63, 0x84, 0x2C, 0x12,
517 0x93, 0x29, 0x98, 0xAF, 0x38, 0x8F, 0x0B, 0x86,
518 0x16, 0x99, 0x0E, 0x39, 0xA8, 0x4A, 0x0B, 0xCD,
519 0xAA, 0x66, 0x8F, 0x4C, 0x15, 0xB7, 0xA5, 0xBB,
520 0x22, 0x77, 0x8D, 0xE8, 0x05, 0x35, 0x2D, 0xAA,
521 0x8D, 0x83, 0xDE, 0xBC, 0x15, 0x3D, 0xC2, 0x95,
522 0x0E, 0x47, 0x85, 0x41, 0xAD, 0xE3, 0xB1, 0x70,
523 0x76, 0x1B, 0x62, 0x9E, 0x96, 0x8B, 0x18, 0xD7,
524 0xE3, 0xB5, 0xF8, 0x6E, 0x85, 0x67, 0x61, 0x54,
525 0x7C, 0x85, 0x08, 0x91, 0xF4, 0x46, 0x3F, 0x01,
526 0x99, 0x48, 0x18, 0x3C, 0x0D, 0xC7, 0x2D, 0xEC,
527 0xA4, 0x11, 0x1D, 0x4F, 0x7F, 0xBF, 0x3A, 0xE8,
528 0x9C, 0x1C, 0xAE, 0x9E, 0x30, 0x32, 0x1F, 0x81,
529 0xEF, 0x14, 0xFE, 0x5C, 0xC2, 0x5C, 0xD0, 0x6A,
530 0x7C, 0x18, 0x88, 0x9F, 0xC4, 0x97, 0x7D, 0x4B,
531 0x3B, 0x01, 0xEB, 0x59, 0x58, 0x1C, 0x00, 0x6B,
532 0x3E, 0xD6, 0x80, 0x80, 0x86, 0x06, 0x39, 0x88,
533 0x0D, 0x23, 0x1E, 0xD6, 0x5E, 0x1F, 0x92, 0x3B,
534 0xEC, 0x50, 0x0B, 0xA0, 0x83, 0x4F, 0x10, 0xDE,
535 0xAF, 0x7B, 0x19, 0xBC, 0xBD, 0x72, 0xE6, 0x42,
536 0xFE, 0xD7, 0xEF, 0x22, 0xD3, 0x83, 0x6B, 0x30,
537 0xA3, 0x95, 0x0D, 0x3E, 0x61, 0x9E, 0xBC, 0x0E,
538 0x14, 0x7E, 0x61, 0x05, 0x3D, 0xBA, 0x4E, 0xEF,
539 0x31, 0x75, 0x5D, 0x10, 0x1E, 0xBA, 0xBD, 0xBA,
540 0x89, 0x4D, 0x3A, 0x5B, 0x03, 0xB1, 0xAE, 0x27,
541 0x47, 0x2D, 0x03, 0xB1, 0x8A, 0x74, 0x1B, 0xF3,
542 };
543 static const unsigned char dsa_sigver_q0[] = {
544 0xAC, 0x71, 0x8D, 0x81, 0x05, 0x2F, 0xAB, 0x72,
545 0xB9, 0x96, 0x94, 0x98, 0xB5, 0x19, 0x2B, 0xE2,
546 0x78, 0x06, 0xAA, 0x32, 0xFC, 0xB9, 0xD2, 0xFD,
547 0x26, 0xC4, 0x50, 0x6F, 0x81, 0xD8, 0x04, 0xAB,
548 };
549 static const unsigned char dsa_sigver_g0[] = {
550 0x3D, 0x0B, 0x46, 0x39, 0x13, 0xFF, 0x67, 0xA8,
551 0x8C, 0xE8, 0x8A, 0x46, 0x46, 0x9A, 0xE6, 0x70,
552 0xA1, 0xF5, 0x48, 0xF5, 0x84, 0xF8, 0x93, 0x57,
553 0x9A, 0x4F, 0x2C, 0xD4, 0x26, 0x49, 0x1C, 0x83,
554 0x64, 0x14, 0x0B, 0x5B, 0xEF, 0x6F, 0x6F, 0x91,
555 0x14, 0xC5, 0x4D, 0xE8, 0x86, 0x47, 0x5C, 0xFC,
556 0xAE, 0xBF, 0xD8, 0x32, 0xE2, 0x96, 0xB9, 0x61,
557 0x70, 0x3F, 0x24, 0x29, 0xFA, 0x41, 0x5D, 0x8E,
558 0xD0, 0xB0, 0xF1, 0x26, 0xD5, 0x7C, 0xE6, 0x17,
559 0x48, 0xE5, 0x04, 0x0E, 0x58, 0x14, 0xEE, 0xBA,
560 0x64, 0xE9, 0xF1, 0x6A, 0x7C, 0x17, 0xAB, 0x7B,
561 0x28, 0xCF, 0x69, 0x7D, 0xDC, 0x54, 0xCA, 0xF2,
562 0x4C, 0x22, 0x17, 0xDD, 0xC3, 0x1A, 0x02, 0xE2,
563 0x8E, 0xE6, 0xA4, 0xFB, 0x84, 0x27, 0x2B, 0xE8,
564 0x14, 0xF3, 0x3D, 0xAC, 0x59, 0x0C, 0xAB, 0x69,
565 0x0E, 0x73, 0xDF, 0x82, 0xC1, 0xDE, 0xD7, 0xD9,
566 0xA7, 0xCA, 0x8F, 0x4B, 0xCE, 0x8A, 0x05, 0xBD,
567 0x07, 0xC8, 0x29, 0xBB, 0x46, 0x29, 0x2A, 0x4F,
568 0xA7, 0x12, 0x19, 0x91, 0x01, 0xA0, 0xAE, 0x16,
569 0xEF, 0xC1, 0xC5, 0x4B, 0x03, 0xF0, 0x53, 0xDC,
570 0xFC, 0x1C, 0xC4, 0x73, 0xB7, 0xBF, 0x53, 0xEB,
571 0x19, 0x63, 0xCA, 0x30, 0x53, 0x54, 0x12, 0x90,
572 0x0E, 0x43, 0xC7, 0x66, 0xFF, 0x29, 0xFC, 0xA4,
573 0xE8, 0xF6, 0x4B, 0x76, 0x3B, 0xA2, 0x65, 0x6B,
574 0x9E, 0xFA, 0xBA, 0x5B, 0x54, 0x94, 0x34, 0xF6,
575 0xD1, 0x20, 0x2A, 0xF7, 0x39, 0x72, 0xA3, 0xDB,
576 0xD1, 0x8F, 0xA6, 0x4D, 0x1B, 0xB1, 0x2D, 0xC5,
577 0x7F, 0xC5, 0x2C, 0x7E, 0x6D, 0xD9, 0xC8, 0xC2,
578 0x19, 0xC0, 0xC4, 0xC2, 0x77, 0xD9, 0x4C, 0x63,
579 0x77, 0x59, 0x0C, 0x5B, 0xFE, 0x69, 0xEF, 0xBF,
580 0x58, 0x47, 0x69, 0x3E, 0x49, 0xA7, 0x1B, 0x98,
581 0x6C, 0xE5, 0xA7, 0x42, 0x8B, 0x0E, 0x68, 0x05,
582 0x48, 0x80, 0x39, 0xF4, 0x02, 0x9E, 0xE2, 0x9F,
583 0x1C, 0xDA, 0x24, 0xC5, 0xB8, 0xEC, 0x03, 0xEA,
584 0x7A, 0x00, 0xDF, 0xCF, 0x58, 0xD0, 0xE7, 0xB7,
585 0xF3, 0xE7, 0x36, 0xDD, 0x1F, 0x65, 0xF9, 0x2D,
586 0x6F, 0xC3, 0xE4, 0x72, 0xFD, 0xBA, 0x58, 0x8D,
587 0xB5, 0xDF, 0x61, 0x3D, 0x3B, 0xB5, 0xF3, 0x08,
588 0xE7, 0x21, 0x5A, 0x7D, 0xFF, 0x02, 0x1E, 0x0E,
589 0x4E, 0xB5, 0x0D, 0x3D, 0x33, 0xF4, 0xA7, 0x6D,
590 0xF7, 0x96, 0xC2, 0x96, 0x85, 0x33, 0x9C, 0x58,
591 0x72, 0x5C, 0x97, 0x73, 0x0E, 0xDC, 0x5C, 0x6B,
592 0x3D, 0x68, 0xF7, 0xF0, 0x0F, 0xCC, 0x01, 0xBB,
593 0x47, 0x01, 0x3C, 0xB0, 0x52, 0x48, 0x70, 0xB8,
594 0x0C, 0x0F, 0x04, 0xB5, 0x8F, 0x70, 0x50, 0x12,
595 0x7C, 0x9D, 0xD1, 0xC1, 0x2B, 0xFE, 0x95, 0x31,
596 0x8F, 0x2D, 0xFA, 0xAC, 0xAE, 0x24, 0xDD, 0x13,
597 0xDA, 0x76, 0xC2, 0x34, 0xB9, 0x4A, 0x3E, 0xC3,
598 };
599 static const unsigned char dsa_sigver_pub0[] = {
600 0x91, 0x78, 0x1C, 0xBA, 0x8A, 0x2F, 0xF6, 0xEC,
601 0x9B, 0xD4, 0x73, 0x2C, 0x1F, 0xC0, 0xFE, 0x79,
602 0xCF, 0xAC, 0x0C, 0x3C, 0x0D, 0x81, 0x85, 0x3D,
603 0xCD, 0x67, 0x2B, 0x77, 0x99, 0x4A, 0x51, 0x48,
604 0x58, 0x03, 0xC9, 0x68, 0xE6, 0x19, 0x26, 0x28,
605 0xDC, 0x86, 0x9F, 0x8F, 0xCE, 0xDD, 0x1B, 0xCD,
606 0xDD, 0x63, 0x4E, 0xCE, 0x76, 0x4D, 0xD5, 0x0D,
607 0x71, 0x73, 0x04, 0x03, 0x9C, 0x35, 0xD0, 0x56,
608 0x98, 0x25, 0xA7, 0x06, 0xF2, 0x6B, 0xA9, 0x9F,
609 0x9A, 0xB1, 0x2A, 0xBD, 0xB7, 0x71, 0x62, 0x99,
610 0x06, 0x47, 0x77, 0x22, 0x57, 0xFA, 0x24, 0x21,
611 0x21, 0xB0, 0x78, 0x26, 0x7E, 0xEC, 0xB6, 0xEB,
612 0x82, 0x15, 0x53, 0x68, 0xAE, 0xAC, 0x5B, 0xDC,
613 0xA6, 0x7F, 0x6B, 0x26, 0xE6, 0x59, 0x22, 0x55,
614 0x1C, 0x3B, 0xFD, 0xD5, 0x90, 0xA9, 0x6F, 0xB3,
615 0xE6, 0x99, 0x8E, 0x26, 0x72, 0xA1, 0x02, 0xAA,
616 0x37, 0xF6, 0x89, 0x68, 0xF1, 0x5A, 0x6D, 0x54,
617 0xAD, 0x9D, 0xF3, 0x03, 0xBE, 0x3F, 0x9D, 0x85,
618 0x38, 0x25, 0xB8, 0xDF, 0xB8, 0x43, 0x21, 0xCA,
619 0xF8, 0xDC, 0x12, 0x40, 0x1E, 0xEF, 0x37, 0x40,
620 0xCE, 0x0E, 0x02, 0x88, 0x63, 0x98, 0x2E, 0x93,
621 0x89, 0xB0, 0x43, 0xAC, 0x0E, 0x62, 0x4C, 0x38,
622 0x14, 0xAC, 0x0C, 0xA3, 0x03, 0x10, 0x8E, 0xB4,
623 0x60, 0x10, 0x9B, 0xCC, 0x16, 0xA7, 0xB8, 0x1D,
624 0x73, 0x81, 0x26, 0x12, 0xA8, 0x9A, 0xFE, 0x17,
625 0xBB, 0x2D, 0x33, 0x5E, 0x8C, 0xA4, 0x80, 0xBF,
626 0x84, 0x37, 0xCA, 0x0F, 0x50, 0x23, 0x79, 0x20,
627 0x2A, 0x8E, 0xD1, 0x1F, 0x9F, 0x89, 0x98, 0x4F,
628 0xF5, 0xB6, 0x0F, 0xB9, 0x3C, 0xFC, 0x6C, 0x00,
629 0xBC, 0x76, 0x2F, 0xB4, 0xFD, 0x22, 0x13, 0x37,
630 0x26, 0xCD, 0x9B, 0xAF, 0x4C, 0x89, 0x16, 0xD0,
631 0x73, 0x44, 0xF9, 0x71, 0x60, 0xA2, 0x3E, 0xFE,
632 0x24, 0xFE, 0xFC, 0xFE, 0x90, 0x91, 0xED, 0x92,
633 0x57, 0x0A, 0xFA, 0xEB, 0x21, 0x99, 0xE3, 0x9A,
634 0xFF, 0x5C, 0x74, 0x85, 0xC2, 0x6D, 0x83, 0x90,
635 0xEE, 0x84, 0x05, 0x1A, 0x00, 0xAC, 0x87, 0xA7,
636 0x78, 0x87, 0xCA, 0x70, 0xFC, 0xB0, 0xF4, 0x3B,
637 0x61, 0x7C, 0xD0, 0x09, 0x63, 0x2B, 0x5E, 0xC2,
638 0xFE, 0x15, 0x41, 0xB3, 0x9F, 0xFC, 0x19, 0xE3,
639 0x4D, 0x3C, 0x6F, 0x89, 0xEB, 0x8A, 0x43, 0xEC,
640 0x8E, 0xFB, 0xEC, 0xCD, 0x99, 0x2E, 0x4B, 0x02,
641 0x99, 0xAC, 0xC6, 0x62, 0xAA, 0xC5, 0x0F, 0xA3,
642 0x0B, 0xBB, 0xCD, 0x51, 0x0C, 0x19, 0xA7, 0x7A,
643 0x43, 0x6C, 0xAA, 0x26, 0x28, 0x2A, 0xC9, 0x9D,
644 0x97, 0xAE, 0x83, 0x74, 0xDA, 0xC4, 0x03, 0x98,
645 0x94, 0x58, 0x28, 0xBC, 0x32, 0x1D, 0xD4, 0xF2,
646 0x6F, 0x89, 0x92, 0xD4, 0x80, 0x9B, 0xDE, 0x6B,
647 0xC5, 0x6F, 0xDB, 0x7A, 0x03, 0x1C, 0xF5, 0x55,
648 };
649 static const unsigned char dsa_sigver_msg0[] = {
650 0x32, 0xE9, 0x64, 0x47, 0xED, 0x3B, 0xF0, 0xC0,
651 0xCA, 0xC2, 0x90, 0xF5, 0x10, 0x60, 0x99, 0x82,
652 0x4D, 0x13, 0x44, 0xFA, 0x92, 0xD1, 0xFD, 0x50,
653 0x26, 0x80, 0xEA, 0x7B, 0x7D, 0xC5, 0xF0, 0xB7,
654 };
655 static const unsigned char dsa_sigver_msg1[] = {
656 0x31, 0xE9, 0x64, 0x47, 0xED, 0x3B, 0xF0, 0xC0,
657 0xCA, 0xC2, 0x90, 0xF5, 0x10, 0x60, 0x99, 0x82,
658 0x4D, 0x13, 0x44, 0xFA, 0x92, 0xD1, 0xFD, 0x50,
659 0x26, 0x80, 0xEA, 0x7B, 0x7D, 0xC5, 0xF0, 0xB7
660 };
661 static const unsigned char dsa_sigver_r0[] = {
662 0x2A, 0x24, 0x0F, 0xA7, 0x04, 0xF1, 0xE0, 0x60,
663 0x3B, 0x07, 0xDE, 0xB6, 0x5F, 0x01, 0x20, 0x81,
664 0xDD, 0x64, 0x22, 0x0F, 0x9F, 0x2E, 0x67, 0x33,
665 0xB7, 0x56, 0xDE, 0x17, 0xD0, 0xED, 0x9D, 0x30,
666 };
667 static const unsigned char dsa_sigver_s0[] = {
668 0x15, 0x93, 0x81, 0x6E, 0xC2, 0x07, 0x6E, 0x06,
669 0x6A, 0xBF, 0x62, 0xBF, 0x93, 0xA6, 0xCB, 0x6E,
670 0xBA, 0x1E, 0x72, 0x57, 0x27, 0x0E, 0x85, 0x9E,
671 0x8C, 0x42, 0x9A, 0x41, 0x63, 0x27, 0x74, 0x4F,
672 };
673 static const struct dsa_sigver_st dsa_sigver_data[] = {
674 {
675 "SHA2-512",
676 ITM(dsa_sigver_p0),
677 ITM(dsa_sigver_q0),
678 ITM(dsa_sigver_g0),
679 ITM(dsa_sigver_pub0),
680 ITM(dsa_sigver_msg0),
681 ITM(dsa_sigver_r0),
682 ITM(dsa_sigver_s0),
683 PASS,
684 },
685 {
686 "SHA2-512",
687 ITM(dsa_sigver_p0),
688 ITM(dsa_sigver_q0),
689 ITM(dsa_sigver_g0),
690 ITM(dsa_sigver_pub0),
691 ITM(dsa_sigver_msg1),
692 ITM(dsa_sigver_r0),
693 ITM(dsa_sigver_s0),
694 FAIL,
695 },
696 };
697
698 #endif /* OPENSSL_NO_DSA */
699
700 struct cipher_st {
701 const char *alg;
702 const unsigned char *key;
703 size_t key_len;
704 const unsigned char *iv;
705 size_t iv_len;
706 const unsigned char *pt;
707 size_t pt_len;
708 const unsigned char *ct;
709 size_t ct_len;
710 };
711
712 struct cipher_ccm_st {
713 const char *alg;
714 const unsigned char *key;
715 size_t key_len;
716 const unsigned char *iv;
717 size_t iv_len;
718 const unsigned char *aad;
719 size_t aad_len;
720 const unsigned char *pt;
721 size_t pt_len;
722 const unsigned char *ct; /* includes the tag */
723 size_t ct_len;
724 };
725
726 struct cipher_gcm_st {
727 const char *alg;
728 const unsigned char *key;
729 size_t key_len;
730 const unsigned char *iv;
731 size_t iv_len;
732 const unsigned char *aad;
733 size_t aad_len;
734 const unsigned char *pt;
735 size_t pt_len;
736 const unsigned char *ct;
737 size_t ct_len;
738 const unsigned char *tag;
739 size_t tag_len;
740 };
741
742
743 static const unsigned char cipher_enc_pt0[] = {
744 0xF3, 0x44, 0x81, 0xEC, 0x3C, 0xC6, 0x27, 0xBA,
745 0xCD, 0x5D, 0xC3, 0xFB, 0x08, 0xF2, 0x73, 0xE6,
746 };
747 static const unsigned char cipher_enc_pt1[] = {
748 0x1B, 0x07, 0x7A, 0x6A, 0xF4, 0xB7, 0xF9, 0x82,
749 0x29, 0xDE, 0x78, 0x6D, 0x75, 0x16, 0xB6, 0x39,
750 };
751 static const unsigned char cipher_enc_pt2[] = {
752 0x91, 0x07, 0x41, 0x31, 0xF1, 0xF8, 0x6C, 0xCD,
753 0x54, 0x8D, 0x22, 0xA6, 0x93, 0x40, 0xFF, 0x39,
754 };
755 static const unsigned char cipher_enc_pt3[] = {
756 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
757 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
758 0x10, 0x11, 0x12, 0x13
759 };
760 static const unsigned char cipher_enc_key0[] = {
761 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
762 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
763 };
764 static const unsigned char cipher_enc_key1[] = {
765 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
766 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
767 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
768 };
769 static const unsigned char cipher_enc_key2[] = {
770 0xE8, 0x70, 0x13, 0x1C, 0xE7, 0x03, 0xD6, 0x51,
771 0x4E, 0x76, 0x1F, 0x95, 0xE6, 0xEE, 0x9E, 0xFB,
772 };
773 static const unsigned char cipher_enc_key3[] = {
774 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
775 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
776 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
777 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0,
778 };
779 static const unsigned char cipher_enc_ct0[] = {
780 0x03, 0x36, 0x76, 0x3E, 0x96, 0x6D, 0x92, 0x59,
781 0x5A, 0x56, 0x7C, 0xC9, 0xCE, 0x53, 0x7F, 0x5E,
782 };
783 static const unsigned char cipher_enc_ct1[] = {
784 0x27, 0x5C, 0xFC, 0x04, 0x13, 0xD8, 0xCC, 0xB7,
785 0x05, 0x13, 0xC3, 0x85, 0x9B, 0x1D, 0x0F, 0x72,
786 };
787 static const unsigned char cipher_enc_ct2[] = {
788 0x3A, 0xF6, 0x4C, 0x70, 0x37, 0xEE, 0x48, 0x13,
789 0xD8, 0x5F, 0xE9, 0xB3, 0x7F, 0xE6, 0x6A, 0xD4,
790 };
791 static const unsigned char cipher_enc_ct3[] = {
792 0x9d, 0x84, 0xc8, 0x13, 0xf7, 0x19, 0xaa, 0x2c,
793 0x7b, 0xe3, 0xf6, 0x61, 0x71, 0xc7, 0xc5, 0xc2,
794 0xed, 0xbf, 0x9d, 0xac,
795 };
796 static const unsigned char cipher_enc_iv0[] = {
797 0x00,
798 };
799 static const unsigned char cipher_enc_iv1[] = {
800 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
801 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
802 };
803 static const unsigned char cipher_enc_iv2[] = {
804 0x53, 0xF2, 0x25, 0xD8, 0xDE, 0x97, 0xF1, 0x4B,
805 0xFE, 0x3E, 0xC6, 0x5E, 0xC3, 0xFF, 0xF7, 0xD3,
806 };
807 static const unsigned char cipher_enc_iv3[] = {
808 0x9a, 0x78, 0x56, 0x34, 0x12, 0x00, 0x00, 0x00,
809 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
810 };
811
812 static const struct cipher_st cipher_enc_data[] = {
813 {
814 "AES-128-ECB",
815 ITM(cipher_enc_key0),
816 NULL, 0, /* iv */
817 ITM(cipher_enc_pt0),
818 ITM(cipher_enc_ct0),
819 },
820 {
821 "AES-192-CBC",
822 ITM(cipher_enc_key1),
823 ITM(cipher_enc_iv1),
824 ITM(cipher_enc_pt1),
825 ITM(cipher_enc_ct1),
826 },
827 {
828 "AES-128-CTR",
829 ITM(cipher_enc_key2),
830 ITM(cipher_enc_iv2),
831 ITM(cipher_enc_pt2),
832 ITM(cipher_enc_ct2),
833 },
834 {
835 "AES-128-XTS",
836 ITM(cipher_enc_key3),
837 ITM(cipher_enc_iv3),
838 ITM(cipher_enc_pt3),
839 ITM(cipher_enc_ct3),
840 }
841 };
842
843 static const unsigned char aes_ccm_enc_pt0[] = {
844 0xDA, 0x6A, 0xDC, 0xB2, 0xA5, 0xCC, 0xC3, 0xE7,
845 0xFC, 0x4C, 0xDF, 0x0A, 0xAB, 0xDC, 0x3B, 0x38,
846 0x26, 0x8B, 0x21, 0x82, 0xCA, 0x26, 0xE6, 0x2C,
847 };
848 static const unsigned char aes_ccm_enc_key0[] = {
849 0xDE, 0xF8, 0x67, 0xBC, 0x40, 0xB6, 0x7C, 0xAA,
850 0x4A, 0x00, 0xE8, 0x07, 0x24, 0x52, 0xAE, 0x72,
851 };
852 static const unsigned char aes_ccm_enc_aad0[] = {
853 0x29, 0x8D, 0x01, 0x92, 0x3B, 0x50, 0x1F, 0x66,
854 0xCE, 0xD3, 0x57, 0x4B, 0x7B, 0x4F, 0x07, 0x57,
855 };
856 static const unsigned char aes_ccm_enc_iv0[] = {
857 0x44, 0xEE, 0x48, 0x11, 0x4D, 0x3B, 0x71, 0x33,
858 0xF0, 0xF7, 0x12, 0xA2, 0xA5,
859 };
860 static const unsigned char aes_ccm_enc_ct0[] = {
861 0x30, 0x4D, 0x19, 0x31, 0x02, 0x66, 0x95, 0x2E,
862 0x23, 0x6D, 0xF4, 0xB9, 0xDF, 0xFE, 0xCA, 0x92,
863 0x04, 0x2A, 0x32, 0xB5, 0x08, 0x2C, 0x8B, 0x6F,
864 0x1B, 0x14, 0xB8, 0x62, 0x8B, 0xA0, 0x12, 0x4E,
865 0x6A, 0x6F, 0x85, 0x86, 0x24, 0x6A, 0x83, 0xE0,
866 };
867 static const struct cipher_ccm_st aes_ccm_enc_data[] = {
868 {
869 "AES-128-CCM",
870 ITM(aes_ccm_enc_key0),
871 ITM(aes_ccm_enc_iv0),
872 ITM(aes_ccm_enc_aad0),
873 ITM(aes_ccm_enc_pt0),
874 ITM(aes_ccm_enc_ct0),
875 },
876 };
877
878 static const unsigned char aes_gcm_enc_pt0[] = {
879 0x97,
880 };
881 static const unsigned char aes_gcm_enc_key0[] = {
882 0x3E, 0x77, 0x38, 0xA6, 0x0A, 0xB3, 0x95, 0x90,
883 0xFA, 0x8B, 0x3B, 0xCF, 0xE1, 0xA3, 0x8C, 0x7D,
884 };
885 static const unsigned char aes_gcm_enc_aad0[] = {
886 0xE7, 0xEF, 0xCB, 0x0F, 0x3D, 0x94, 0x1D, 0x0F,
887 0x3D, 0x65, 0x69, 0xFC, 0xDA, 0x77, 0x36, 0x5E,
888 0xB9, 0x20, 0xF8, 0xDA, 0x81, 0xDF, 0x6B, 0x4C,
889 0x2A, 0x70, 0x5E, 0xE3, 0x07, 0xCE, 0xCF, 0x62,
890 0x84,
891 };
892 static const unsigned char aes_gcm_enc_iv0[] = {
893 0x01, 0x02, 0x03, 0x04, 0xEB, 0xED, 0x2F, 0x4B,
894 0xD1, 0x20, 0x2C, 0xCD,
895 };
896 static const unsigned char aes_gcm_enc_ct0[] = {
897 0x63,
898 };
899 static const unsigned char aes_gcm_enc_tag0[] = {
900 0xA2, 0x8E, 0xA5, 0xF6, 0x6A, 0x1C, 0xE6, 0xD7,
901 0xFF, 0xCD, 0x7F, 0x49,
902 };
903 static const struct cipher_gcm_st aes_gcm_enc_data[] = {
904 {
905 "AES-128-GCM",
906 ITM(aes_gcm_enc_key0),
907 ITM(aes_gcm_enc_iv0),
908 ITM(aes_gcm_enc_aad0),
909 ITM(aes_gcm_enc_pt0),
910 ITM(aes_gcm_enc_ct0),
911 ITM(aes_gcm_enc_tag0),
912 },
913 };
914
915 #ifndef OPENSSL_NO_DH
916
917 struct dh_safe_prime_keygen_st {
918 const char *group_name;
919 };
920
921 struct dh_safe_prime_keyver_st {
922 const char *group_name;
923 const unsigned char *pub;
924 size_t pub_len;
925 const unsigned char *priv;
926 size_t priv_len;
927 int pass;
928 };
929
930 static const struct dh_safe_prime_keygen_st dh_safe_prime_keygen_data[] = {
931 { "ffdhe2048" },
932 };
933
934 static const unsigned char dh_safe_prime_keyver_priv0[] = {
935 0x39, 0x9C, 0x08, 0x8E, 0x4A, 0x1E, 0x1A, 0x03,
936 0x18, 0x5A, 0x72, 0x4F, 0xCB, 0x13, 0xFB, 0x8F,
937 0x7F, 0x14, 0x12, 0x48, 0x9A, 0x18, 0x03, 0x1C,
938 0x03, 0x98, 0x7E, 0x3C, 0xEF, 0x57, 0xF2, 0x1E,
939 0xD5, 0x54, 0x5C, 0x0F, 0x36, 0x5E, 0xB0, 0xF8,
940 0xD1, 0x27, 0x79, 0x24, 0x69, 0xB5, 0x7C, 0xF1,
941 0x39, 0xFC, 0xE3, 0x79, 0xF0, 0xD6, 0xA0, 0xE1,
942 0xA5, 0xA7, 0x65, 0x01, 0xBA, 0xFE, 0xBB, 0x28,
943 0xF0, 0x9C, 0x49, 0x90, 0x68, 0xB4, 0xE7, 0xE2,
944 0xB6, 0xBF, 0xB9, 0xF8, 0x96, 0xAA, 0xF9, 0xE6,
945 0x0B, 0x8A, 0x86, 0x0D, 0x31, 0x2C, 0x90, 0xDA,
946 0x4E, 0xFB, 0xE3, 0x59, 0x3F, 0xFB, 0x14, 0x33,
947 0xF6, 0xBD, 0xDA, 0x5D, 0x27, 0xCC, 0x7C, 0x1C,
948 0x30, 0xC8, 0xB2, 0xAF, 0x2A, 0xA8, 0x25, 0x97,
949 0xDC, 0x5E, 0xEF, 0x22, 0xCB, 0xF6, 0x88, 0x83,
950 0xD0, 0x47, 0x3F, 0x5D, 0xF3, 0x2A, 0xE0, 0xCC,
951 0x86, 0x49, 0x5A, 0x8F, 0x67, 0xF6, 0xC4, 0xD8,
952 0x3F, 0x09, 0xE8, 0x49, 0x89, 0x2E, 0xC0, 0xB4,
953 0x9C, 0x06, 0x9C, 0x40, 0x10, 0xFB, 0x20, 0xC6,
954 0xF1, 0x5F, 0x52, 0x3F, 0x21, 0xBF, 0xBB, 0x13,
955 0x6A, 0x81, 0x1C, 0xFF, 0x19, 0x2A, 0x36, 0xD2,
956 0x13, 0x23, 0x33, 0xD1, 0xEF, 0x34, 0xF3, 0xA6,
957 0xD5, 0x56, 0xAF, 0x1A, 0x63, 0xFC, 0x95, 0x86,
958 0xD5, 0xEB, 0xBF, 0x49, 0x84, 0x73, 0x30, 0x1D,
959 0xE2, 0xA1, 0xAE, 0x6D, 0x20, 0x69, 0xAE, 0xB6,
960 0x1A, 0xB9, 0xF2, 0x7A, 0xE3, 0x17, 0x4E, 0x7C,
961 0x8F, 0xE8, 0x34, 0x02, 0x59, 0xB4, 0x54, 0x9A,
962 0x8D, 0x19, 0x04, 0x2A, 0x8E, 0xF8, 0x05, 0xA3,
963 0x98, 0x5B, 0xBD, 0xB4, 0x6A, 0xDA, 0xAA, 0x1F,
964 0xFC, 0x56, 0xA0, 0x4D, 0x22, 0x66, 0x31, 0xEA,
965 0x8A, 0xC8, 0x61, 0x12, 0x40, 0xF0, 0x38, 0x0B,
966 0xA3, 0x23, 0x40, 0x97, 0x7A, 0x18, 0xE3, 0x42,
967 };
968 static const unsigned char dh_safe_prime_keyver_pub0[] = {
969 0xFA, 0xDA, 0x86, 0x67, 0xE9, 0x12, 0x67, 0x79,
970 0x50, 0xAE, 0x64, 0x0B, 0x07, 0x47, 0x8F, 0xA5,
971 0xD1, 0x27, 0x6C, 0xFC, 0x10, 0xD8, 0x90, 0x8D,
972 0x93, 0x75, 0xAD, 0x31, 0xBD, 0x97, 0xBE, 0xD5,
973 0xB5, 0x59, 0x2F, 0x37, 0x52, 0x32, 0x30, 0x75,
974 0xD3, 0xA5, 0x36, 0x10, 0x62, 0x4C, 0x82, 0x06,
975 0xB9, 0x29, 0xAE, 0x14, 0xD1, 0xB0, 0xD0, 0x23,
976 0x7A, 0xE6, 0xEA, 0x7E, 0x8E, 0xE3, 0xC7, 0xEB,
977 0x43, 0x78, 0xFA, 0x9A, 0x40, 0x9A, 0x6F, 0xF5,
978 0x42, 0x8A, 0xF7, 0xF3, 0x92, 0xE6, 0x5D, 0x68,
979 0x9B, 0x2A, 0x91, 0xB5, 0x37, 0x33, 0x3F, 0x35,
980 0xA5, 0xFB, 0x54, 0xD1, 0x3C, 0x46, 0xC6, 0x3C,
981 0x16, 0x3A, 0xD7, 0xF8, 0x55, 0x48, 0x9A, 0xB7,
982 0xB1, 0x40, 0xBF, 0xAF, 0x26, 0x1B, 0x07, 0x0F,
983 0x11, 0x04, 0x63, 0x06, 0xDA, 0x2D, 0x45, 0x0E,
984 0x7F, 0x17, 0xA4, 0x38, 0xBD, 0x68, 0x5A, 0xA9,
985 0xC4, 0x7F, 0x7E, 0xC7, 0xF0, 0xFC, 0x74, 0x87,
986 0x55, 0xCD, 0x35, 0xA8, 0xAA, 0x59, 0xA7, 0xFA,
987 0xC1, 0x34, 0x67, 0x04, 0xD8, 0xCC, 0xE1, 0x77,
988 0x60, 0xE1, 0xBE, 0xC0, 0xA5, 0x52, 0xA4, 0x72,
989 0x3A, 0x19, 0xFA, 0x76, 0xC8, 0x67, 0x60, 0x5E,
990 0x1C, 0x43, 0xF4, 0x50, 0xA0, 0xCB, 0x33, 0x77,
991 0x2D, 0x2D, 0x3B, 0x5D, 0x7D, 0x72, 0x2E, 0x38,
992 0xCD, 0x71, 0xB1, 0xBF, 0xB5, 0x10, 0x80, 0xCD,
993 0xA4, 0x5D, 0x70, 0x6E, 0xD5, 0x7E, 0xA2, 0xAA,
994 0xDC, 0xA4, 0x7C, 0x7A, 0x7D, 0x21, 0x09, 0x6A,
995 0x14, 0xB2, 0x21, 0x24, 0xA4, 0xF4, 0x6C, 0xD2,
996 0xBA, 0x76, 0x99, 0xD7, 0x69, 0x44, 0xA8, 0x66,
997 0x85, 0x08, 0x50, 0xBA, 0x42, 0x37, 0xA2, 0xC2,
998 0xD5, 0x45, 0x7E, 0x7B, 0xE9, 0x4A, 0xAE, 0xEE,
999 0x84, 0x2A, 0xEB, 0xA9, 0x4A, 0x69, 0x40, 0x83,
1000 0xBA, 0xCC, 0x1E, 0x1B, 0x25, 0x56, 0x13, 0x88,
1001 };
1002 static const struct dh_safe_prime_keyver_st dh_safe_prime_keyver_data[] = {
1003 {
1004 "ffdhe2048",
1005 ITM(dh_safe_prime_keyver_pub0),
1006 ITM(dh_safe_prime_keyver_priv0),
1007 PASS
1008 },
1009 };
1010
1011 #endif /* OPENSSL_NO_DH */
1012
1013 struct rsa_keygen_st {
1014 size_t mod;
1015 const unsigned char *e;
1016 size_t e_len;
1017 const unsigned char *xp1;
1018 size_t xp1_len;
1019 const unsigned char *xp2;
1020 size_t xp2_len;
1021 const unsigned char *xp;
1022 size_t xp_len;
1023 const unsigned char *xq1;
1024 size_t xq1_len;
1025 const unsigned char *xq2;
1026 size_t xq2_len;
1027 const unsigned char *xq;
1028 size_t xq_len;
1029
1030 const unsigned char *p1;
1031 size_t p1_len;
1032 const unsigned char *p2;
1033 size_t p2_len;
1034 const unsigned char *q1;
1035 size_t q1_len;
1036 const unsigned char *q2;
1037 size_t q2_len;
1038 const unsigned char *p;
1039 size_t p_len;
1040 const unsigned char *q;
1041 size_t q_len;
1042 const unsigned char *n;
1043 size_t n_len;
1044 const unsigned char *d;
1045 size_t d_len;
1046 };
1047
1048 static const unsigned char rsa_keygen0_e[] = {
1049 0x01,0x00,0x01
1050 };
1051 static const unsigned char rsa_keygen0_xp[] = {
1052 0xcf,0x72,0x1b,0x9a,0xfd,0x0d,0x22,0x1a,0x74,0x50,0x97,0x22,0x76,0xd8,0xc0,
1053 0xc2,0xfd,0x08,0x81,0x05,0xdd,0x18,0x21,0x99,0x96,0xd6,0x5c,0x79,0xe3,0x02,
1054 0x81,0xd7,0x0e,0x3f,0x3b,0x34,0xda,0x61,0xc9,0x2d,0x84,0x86,0x62,0x1e,0x3d,
1055 0x5d,0xbf,0x92,0x2e,0xcd,0x35,0x3d,0x6e,0xb9,0x59,0x16,0xc9,0x82,0x50,0x41,
1056 0x30,0x45,0x67,0xaa,0xb7,0xbe,0xec,0xea,0x4b,0x9e,0xa0,0xc3,0x05,0xb3,0x88,
1057 0xd4,0x4c,0xac,0xeb,0xe4,0x03,0xc6,0xca,0xcb,0xd9,0xd3,0x4e,0xf6,0x7f,0x2c,
1058 0x27,0x1e,0x08,0x6c,0xc2,0xd6,0x45,0x1f,0x84,0xe4,0x3c,0x97,0x19,0xde,0xb8,
1059 0x55,0xaf,0x0e,0xcf,0x9e,0xb0,0x9c,0x20,0xd3,0x1f,0xa8,0xd7,0x52,0xc2,0x95,
1060 0x1c,0x80,0x15,0x42,0x4d,0x4f,0x19,0x16
1061 };
1062 static const unsigned char rsa_keygen0_xp1[] = {
1063 0xac,0x5f,0x7f,0x6e,0x33,0x3e,0x97,0x3a,0xb3,0x17,0x44,0xa9,0x0f,0x7a,0x54,
1064 0x70,0x27,0x06,0x93,0xd5,0x49,0xde,0x91,0x83,0xbc,0x8a,0x7b,0x95
1065 };
1066 static const unsigned char rsa_keygen0_xp2[] = {
1067 0x0b,0xf6,0xe8,0x79,0x5a,0x81,0xae,0x90,0x1d,0xa4,0x38,0x74,0x9c,0x0e,0x6f,
1068 0xe0,0x03,0xcf,0xc4,0x53,0x16,0x32,0x17,0xf7,0x09,0x5f,0xd9
1069 };
1070 static const unsigned char rsa_keygen0_xq[] = {
1071 0xfe,0xab,0xf2,0x7c,0x16,0x4a,0xf0,0x8d,0x31,0xc6,0x0a,0x82,0xe2,0xae,0xbb,
1072 0x03,0x7e,0x7b,0x20,0x4e,0x64,0xb0,0x16,0xad,0x3c,0x01,0x1a,0xd3,0x54,0xbf,
1073 0x2b,0xa4,0x02,0x9e,0xc3,0x0d,0x60,0x3d,0x1f,0xb9,0xc0,0x0d,0xe6,0x97,0x68,
1074 0xbb,0x8c,0x81,0xd5,0xc1,0x54,0x96,0x0f,0x99,0xf0,0xa8,0xa2,0xf3,0xc6,0x8e,
1075 0xec,0xbc,0x31,0x17,0x70,0x98,0x24,0xa3,0x36,0x51,0xa8,0x54,0xbd,0x9a,0x89,
1076 0x99,0x6e,0x57,0x5e,0xd0,0x39,0x86,0xc3,0xa3,0x1b,0xc7,0xcf,0xc4,0x4f,0x47,
1077 0x25,0x9e,0x2c,0x79,0xe1,0x2c,0xcc,0xe4,0x63,0xf4,0x02,0x84,0xf8,0xf6,0xa1,
1078 0x5c,0x93,0x14,0xf2,0x68,0x5f,0x3a,0x90,0x2f,0x4e,0x5e,0xf9,0x16,0x05,0xcf,
1079 0x21,0x63,0xca,0xfa,0xb0,0x08,0x02,0xc0
1080 };
1081 static const unsigned char rsa_keygen0_xq1[] = {
1082 0x9b,0x02,0xd4,0xba,0xf0,0xaa,0x14,0x99,0x6d,0xc0,0xb7,0xa5,0xe1,0xd3,0x70,
1083 0xb6,0x5a,0xa2,0x9b,0x59,0xd5,0x8c,0x1e,0x9f,0x3f,0x9a,0xde,0xeb,0x9e,0x9c,
1084 0x61,0xd6,0x5a,0xe1
1085 };
1086 static const unsigned char rsa_keygen0_xq2[] = {
1087 0x06,0x81,0x53,0xfd,0xa8,0x7b,0xa3,0x85,0x90,0x15,0x2c,0x97,0xb2,0xa0,0x17,
1088 0x48,0xb0,0x7f,0x0a,0x01,0x6d
1089 };
1090 /* expected values */
1091 static const unsigned char rsa_keygen0_p1[] = {
1092 0xac,0x5f,0x7f,0x6e,0x33,0x3e,0x97,0x3a,0xb3,0x17,0x44,0xa9,0x0f,0x7a,0x54,
1093 0x70,0x27,0x06,0x93,0xd5,0x49,0xde,0x91,0x83,0xbc,0x8a,0x7b,0xc3
1094 };
1095 static const unsigned char rsa_keygen0_p2[] = {
1096 0x0b,0xf6,0xe8,0x79,0x5a,0x81,0xae,0x90,0x1d,0xa4,0x38,0x74,0x9c,0x0e,0x6f,
1097 0xe0,0x03,0xcf,0xc4,0x53,0x16,0x32,0x17,0xf7,0x09,0x5f,0xd9
1098 };
1099 static const unsigned char rsa_keygen0_q1[] = {
1100 0x9b,0x02,0xd4,0xba,0xf0,0xaa,0x14,0x99,0x6d,0xc0,0xb7,0xa5,0xe1,0xd3,0x70,
1101 0xb6,0x5a,0xa2,0x9b,0x59,0xd5,0x8c,0x1e,0x9f,0x3f,0x9a,0xde,0xeb,0x9e,0x9c,
1102 0x61,0xd6,0x5d,0x47
1103 };
1104 static const unsigned char rsa_keygen0_q2[] = {
1105 0x06,0x81,0x53,0xfd,0xa8,0x7b,0xa3,0x85,0x90,0x15,0x2c,0x97,0xb2,0xa0,0x17,
1106 0x48,0xb0,0x7f,0x0a,0x01,0x8f
1107 };
1108 static const unsigned char rsa_keygen0_p[] = {
1109 0xcf,0x72,0x1b,0x9a,0xfd,0x0d,0x22,0x1a,0x74,0x50,0x97,0x22,0x76,0xd8,0xc0,
1110 0xc2,0xfd,0x08,0x81,0x05,0xdd,0x18,0x21,0x99,0x96,0xd6,0x5c,0x79,0xe3,0x02,
1111 0x81,0xd7,0x0e,0x3f,0x3b,0x34,0xda,0x61,0xc9,0x2d,0x84,0x86,0x62,0x1e,0x3d,
1112 0x5d,0xbf,0x92,0x2e,0xcd,0x35,0x3d,0x6e,0xb9,0x59,0x16,0xc9,0x82,0x50,0x41,
1113 0x30,0x45,0x67,0xaa,0xb7,0xbe,0xec,0xea,0x4b,0x9e,0xa0,0xc3,0x05,0xbc,0x4c,
1114 0x01,0xa5,0x4b,0xbd,0xa4,0x20,0xb5,0x20,0xd5,0x59,0x6f,0x82,0x5c,0x8f,0x4f,
1115 0xe0,0x3a,0x4e,0x7e,0xfe,0x44,0xf3,0x3c,0xc0,0x0e,0x14,0x2b,0x32,0xe6,0x28,
1116 0x8b,0x63,0x87,0x00,0xc3,0x53,0x4a,0x5b,0x71,0x7a,0x5b,0x28,0x40,0xc4,0x18,
1117 0xb6,0x77,0x0b,0xab,0x59,0xa4,0x96,0x7d
1118 };
1119 static const unsigned char rsa_keygen0_q[] = {
1120 0xfe,0xab,0xf2,0x7c,0x16,0x4a,0xf0,0x8d,0x31,0xc6,0x0a,0x82,0xe2,0xae,0xbb,
1121 0x03,0x7e,0x7b,0x20,0x4e,0x64,0xb0,0x16,0xad,0x3c,0x01,0x1a,0xd3,0x54,0xbf,
1122 0x2b,0xa4,0x02,0x9e,0xc3,0x0d,0x60,0x3d,0x1f,0xb9,0xc0,0x0d,0xe6,0x97,0x68,
1123 0xbb,0x8c,0x81,0xd5,0xc1,0x54,0x96,0x0f,0x99,0xf0,0xa8,0xa2,0xf3,0xc6,0x8e,
1124 0xec,0xbc,0x31,0x17,0x70,0x98,0x24,0xa3,0x36,0x51,0xa8,0x54,0xc4,0x44,0xdd,
1125 0xf7,0x7e,0xda,0x47,0x4a,0x67,0x44,0x5d,0x4e,0x75,0xf0,0x4d,0x00,0x68,0xe1,
1126 0x4a,0xec,0x1f,0x45,0xf9,0xe6,0xca,0x38,0x95,0x48,0x6f,0xdc,0x9d,0x1b,0xa3,
1127 0x4b,0xfd,0x08,0x4b,0x54,0xcd,0xeb,0x3d,0xef,0x33,0x11,0x6e,0xce,0xe4,0x5d,
1128 0xef,0xa9,0x58,0x5c,0x87,0x4d,0xc8,0xcf
1129 };
1130 static const unsigned char rsa_keygen0_n[] = {
1131 0xce,0x5e,0x8d,0x1a,0xa3,0x08,0x7a,0x2d,0xb4,0x49,0x48,0xf0,0x06,0xb6,0xfe,
1132 0xba,0x2f,0x39,0x7c,0x7b,0xe0,0x5d,0x09,0x2d,0x57,0x4e,0x54,0x60,0x9c,0xe5,
1133 0x08,0x4b,0xe1,0x1a,0x73,0xc1,0x5e,0x2f,0xb6,0x46,0xd7,0x81,0xca,0xbc,0x98,
1134 0xd2,0xf9,0xef,0x1c,0x92,0x8c,0x8d,0x99,0x85,0x28,0x52,0xd6,0xd5,0xab,0x70,
1135 0x7e,0x9e,0xa9,0x87,0x82,0xc8,0x95,0x64,0xeb,0xf0,0x6c,0x0f,0x3f,0xe9,0x02,
1136 0x29,0x2e,0x6d,0xa1,0xec,0xbf,0xdc,0x23,0xdf,0x82,0x4f,0xab,0x39,0x8d,0xcc,
1137 0xac,0x21,0x51,0x14,0xf8,0xef,0xec,0x73,0x80,0x86,0xa3,0xcf,0x8f,0xd5,0xcf,
1138 0x22,0x1f,0xcc,0x23,0x2f,0xba,0xcb,0xf6,0x17,0xcd,0x3a,0x1f,0xd9,0x84,0xb9,
1139 0x88,0xa7,0x78,0x0f,0xaa,0xc9,0x04,0x01,0x20,0x72,0x5d,0x2a,0xfe,0x5b,0xdd,
1140 0x16,0x5a,0xed,0x83,0x02,0x96,0x39,0x46,0x37,0x30,0xc1,0x0d,0x87,0xc2,0xc8,
1141 0x33,0x38,0xed,0x35,0x72,0xe5,0x29,0xf8,0x1f,0x23,0x60,0xe1,0x2a,0x5b,0x1d,
1142 0x6b,0x53,0x3f,0x07,0xc4,0xd9,0xbb,0x04,0x0c,0x5c,0x3f,0x0b,0xc4,0xd4,0x61,
1143 0x96,0x94,0xf1,0x0f,0x4a,0x49,0xac,0xde,0xd2,0xe8,0x42,0xb3,0x4a,0x0b,0x64,
1144 0x7a,0x32,0x5f,0x2b,0x5b,0x0f,0x8b,0x8b,0xe0,0x33,0x23,0x34,0x64,0xf8,0xb5,
1145 0x7f,0x69,0x60,0xb8,0x71,0xe9,0xff,0x92,0x42,0xb1,0xf7,0x23,0xa8,0xa7,0x92,
1146 0x04,0x3d,0x6b,0xff,0xf7,0xab,0xbb,0x14,0x1f,0x4c,0x10,0x97,0xd5,0x6b,0x71,
1147 0x12,0xfd,0x93,0xa0,0x4a,0x3b,0x75,0x72,0x40,0x96,0x1c,0x5f,0x40,0x40,0x57,
1148 0x13
1149 };
1150 static const unsigned char rsa_keygen0_d[] = {
1151 0x47,0x47,0x49,0x1d,0x66,0x2a,0x4b,0x68,0xf5,0xd8,0x4a,0x24,0xfd,0x6c,0xbf,
1152 0x56,0xb7,0x70,0xf7,0x9a,0x21,0xc8,0x80,0x9e,0xf4,0x84,0xcd,0x88,0x01,0x28,
1153 0xea,0x50,0xab,0x13,0x63,0xdf,0xea,0x14,0x38,0xb5,0x07,0x42,0x81,0x2f,0xda,
1154 0xe9,0x24,0x02,0x7e,0xaf,0xef,0x74,0x09,0x0e,0x80,0xfa,0xfb,0xd1,0x19,0x41,
1155 0xe5,0xba,0x0f,0x7c,0x0a,0xa4,0x15,0x55,0xa2,0x58,0x8c,0x3a,0x48,0x2c,0xc6,
1156 0xde,0x4a,0x76,0xfb,0x72,0xb6,0x61,0xe6,0xd2,0x10,0x44,0x4c,0x33,0xb8,0xd2,
1157 0x74,0xb1,0x9d,0x3b,0xcd,0x2f,0xb1,0x4f,0xc3,0x98,0xbd,0x83,0xb7,0x7e,0x75,
1158 0xe8,0xa7,0x6a,0xee,0xcc,0x51,0x8c,0x99,0x17,0x67,0x7f,0x27,0xf9,0x0d,0x6a,
1159 0xb7,0xd4,0x80,0x17,0x89,0x39,0x9c,0xf3,0xd7,0x0f,0xdf,0xb0,0x55,0x80,0x1d,
1160 0xaf,0x57,0x2e,0xd0,0xf0,0x4f,0x42,0x69,0x55,0xbc,0x83,0xd6,0x97,0x83,0x7a,
1161 0xe6,0xc6,0x30,0x6d,0x3d,0xb5,0x21,0xa7,0xc4,0x62,0x0a,0x20,0xce,0x5e,0x5a,
1162 0x17,0x98,0xb3,0x6f,0x6b,0x9a,0xeb,0x6b,0xa3,0xc4,0x75,0xd8,0x2b,0xdc,0x5c,
1163 0x6f,0xec,0x5d,0x49,0xac,0xa8,0xa4,0x2f,0xb8,0x8c,0x4f,0x2e,0x46,0x21,0xee,
1164 0x72,0x6a,0x0e,0x22,0x80,0x71,0xc8,0x76,0x40,0x44,0x61,0x16,0xbf,0xa5,0xf8,
1165 0x89,0xc7,0xe9,0x87,0xdf,0xbd,0x2e,0x4b,0x4e,0xc2,0x97,0x53,0xe9,0x49,0x1c,
1166 0x05,0xb0,0x0b,0x9b,0x9f,0x21,0x19,0x41,0xe9,0xf5,0x61,0xd7,0x33,0x2e,0x2c,
1167 0x94,0xb8,0xa8,0x9a,0x3a,0xcc,0x6a,0x24,0x8d,0x19,0x13,0xee,0xb9,0xb0,0x48,
1168 0x61
1169 };
1170
1171 static const struct rsa_keygen_st rsa_keygen_data[] = {
1172 {
1173 2048,
1174 ITM(rsa_keygen0_e),
1175 ITM(rsa_keygen0_xp1),
1176 ITM(rsa_keygen0_xp2),
1177 ITM(rsa_keygen0_xp),
1178 ITM(rsa_keygen0_xq1),
1179 ITM(rsa_keygen0_xq2),
1180 ITM(rsa_keygen0_xq),
1181
1182 ITM(rsa_keygen0_p1),
1183 ITM(rsa_keygen0_p2),
1184 ITM(rsa_keygen0_q1),
1185 ITM(rsa_keygen0_q2),
1186
1187 ITM(rsa_keygen0_p),
1188 ITM(rsa_keygen0_q),
1189 ITM(rsa_keygen0_n),
1190 ITM(rsa_keygen0_d),
1191 },
1192 };
1193
1194 #define NO_PSS_SALT_LEN -1
1195 struct rsa_siggen_st {
1196 const char *sig_pad_mode;
1197 size_t mod;
1198 const char *digest_alg;
1199 const unsigned char *msg;
1200 size_t msg_len;
1201 int pss_salt_len;
1202 };
1203 static const unsigned char rsa_siggen0_msg[] = {
1204 0xa3, 0x76, 0x35, 0xc2, 0x6d, 0x6b, 0xa0, 0xe1,
1205 0x2e, 0x0b, 0x58, 0x33, 0x0d, 0x30, 0xdd, 0x07,
1206 0xa9, 0x53, 0xd6, 0x37, 0x07, 0xad, 0xa8, 0x67,
1207 };
1208 static const struct rsa_siggen_st rsa_siggen_data[] = {
1209 {
1210 "pkcs1", /* pkcs1v1.5 */
1211 2048,
1212 "SHA384",
1213 ITM(rsa_siggen0_msg),
1214 NO_PSS_SALT_LEN,
1215 },
1216 {
1217 "x931",
1218 2048,
1219 "SHA384",
1220 ITM(rsa_siggen0_msg),
1221 NO_PSS_SALT_LEN,
1222 },
1223 {
1224 "pss",
1225 2048,
1226 "SHA384",
1227 ITM(rsa_siggen0_msg),
1228 62
1229 },
1230 };
1231
1232 struct rsa_sigver_st {
1233 const char *sig_pad_mode;
1234 size_t mod;
1235 const char *digest_alg;
1236 const unsigned char *msg;
1237 size_t msg_len;
1238 const unsigned char *n;
1239 size_t n_len;
1240 const unsigned char *e;
1241 size_t e_len;
1242 const unsigned char *sig;
1243 size_t sig_len;
1244 int pss_salt_len;
1245 int pass;
1246 };
1247
1248 static const unsigned char rsa_sigver15_0_n[] = {
1249 0xbb, 0xbc, 0xf3, 0x35, 0x6f, 0x8e, 0x2e, 0x4f,
1250 0x32, 0xb5, 0xbb, 0x47, 0x9d, 0x02, 0x2a, 0xac,
1251 0x93, 0x9e, 0x70, 0x50, 0x0f, 0x59, 0x0d, 0x38,
1252 0x1c, 0xe5, 0xda, 0x87, 0x61, 0x6b, 0xbf, 0xa8,
1253 0x2c, 0x2f, 0x97, 0xbc, 0x4b, 0xd4, 0xae, 0x21,
1254 0xed, 0xbe, 0x7a, 0x98, 0x15, 0xa8, 0xe2, 0xf0,
1255 0x5f, 0x4d, 0xf8, 0xe2, 0x7c, 0x7e, 0x87, 0x52,
1256 0x8e, 0xbf, 0xb6, 0x3f, 0x1a, 0x12, 0x96, 0x87,
1257 0x2c, 0xd2, 0xac, 0x85, 0x87, 0xe5, 0xcd, 0x4c,
1258 0x31, 0x2b, 0x98, 0x16, 0x9f, 0xcf, 0x3e, 0xef,
1259 0x50, 0xaa, 0xee, 0xc0, 0x6c, 0x80, 0x94, 0xc5,
1260 0xb1, 0xc7, 0x0d, 0xd4, 0x24, 0x94, 0x44, 0x3a,
1261 0x44, 0xdb, 0x10, 0xdc, 0x21, 0x57, 0xe0, 0x77,
1262 0xe5, 0x9c, 0xc4, 0x49, 0x06, 0xe3, 0x5a, 0xea,
1263 0x64, 0xf4, 0x54, 0xca, 0xfc, 0x5a, 0x2b, 0x92,
1264 0x76, 0xe1, 0x86, 0x6f, 0x3b, 0x4e, 0x7d, 0xe7,
1265 0xb9, 0x62, 0xc4, 0x63, 0x12, 0x65, 0x16, 0x58,
1266 0x11, 0x23, 0xba, 0x1b, 0x95, 0x06, 0x1c, 0xdd,
1267 0xdc, 0x49, 0x0b, 0x67, 0x7c, 0xb0, 0xdb, 0x45,
1268 0x88, 0x6e, 0x42, 0xdd, 0x67, 0xbf, 0xec, 0x0e,
1269 0xfa, 0x64, 0x06, 0x3e, 0xb9, 0x40, 0xee, 0xc6,
1270 0x56, 0xdf, 0xe7, 0xd8, 0xed, 0xf1, 0xf7, 0x53,
1271 0xec, 0xd6, 0x1e, 0xb1, 0x66, 0x66, 0x80, 0x16,
1272 0x5b, 0xba, 0x8c, 0x75, 0xe2, 0x6c, 0x19, 0xe7,
1273 0xf9, 0xc8, 0xae, 0x75, 0xc9, 0xc4, 0x19, 0xe6,
1274 0xba, 0xfd, 0x3e, 0x12, 0xf0, 0x88, 0x90, 0xee,
1275 0x39, 0xf8, 0x85, 0x3c, 0x20, 0x3b, 0xfe, 0xb9,
1276 0xa0, 0x07, 0x93, 0x6d, 0x20, 0x78, 0xf2, 0xc2,
1277 0xa5, 0x49, 0x51, 0xa3, 0xb7, 0x13, 0x83, 0xeb,
1278 0x19, 0x55, 0x08, 0x4f, 0x28, 0x32, 0x1a, 0x9b,
1279 0xab, 0x05, 0x9a, 0xaa, 0x28, 0xdc, 0xfa, 0xbf,
1280 0xf3, 0x52, 0x40, 0x0c, 0x4a, 0xb3, 0xd6, 0xb5,
1281 };
1282 static const unsigned char rsa_sigver15_0_e[] = {
1283 0x01, 0x00, 0x01,
1284 };
1285 static const unsigned char rsa_sigver15_0_msg[] = {
1286 0xba, 0x1a, 0x03, 0xda, 0x95, 0xd4, 0x36, 0x60,
1287 0xe6, 0x77, 0xc7, 0x80, 0x49, 0x42, 0xc7, 0x98,
1288 0xf6, 0x9e, 0xcf, 0x6f, 0xe5, 0xaf, 0x41, 0x6c,
1289 0x36, 0x29, 0xd0, 0x06, 0xcf, 0x65, 0x43, 0x7c,
1290 0x47, 0xb4, 0x75, 0xc6, 0x03, 0xf3, 0xa1, 0xcb,
1291 0x9e, 0x5f, 0xdc, 0xd4, 0x8e, 0xab, 0xe3, 0x41,
1292 0x05, 0x50, 0x17, 0x7b, 0x16, 0x25, 0xc6, 0x29,
1293 0x19, 0x2f, 0xac, 0xa7, 0x50, 0xba, 0xba, 0xb3,
1294 0xcb, 0xa8, 0x16, 0x6a, 0x88, 0x0a, 0x62, 0x74,
1295 0xdf, 0xed, 0x41, 0x7b, 0x1d, 0x76, 0x17, 0xe1,
1296 0x70, 0x32, 0x11, 0xb2, 0x03, 0xa7, 0x66, 0xd7,
1297 0x69, 0x2f, 0xdc, 0x8d, 0x3f, 0x06, 0x8d, 0x16,
1298 0x0d, 0xa1, 0xeb, 0xae, 0x6e, 0x41, 0x02, 0xc1,
1299 0x71, 0xc9, 0xfd, 0x5b, 0x3e, 0xcc, 0xec, 0xe0,
1300 0xfd, 0xeb, 0xc4, 0xfd, 0xf3, 0x5e, 0xa7, 0xde,
1301 0xee, 0xd0, 0x66, 0xa2, 0xe4, 0x70, 0x45, 0x0c,
1302 };
1303 static const unsigned char rsa_sigver15_0_sig[] = {
1304 0x4a, 0x8a, 0xcb, 0x88, 0x89, 0xd3, 0xa9, 0x48,
1305 0x84, 0x09, 0x2e, 0x2c, 0x50, 0x02, 0xb9, 0xad,
1306 0xe5, 0x10, 0xac, 0x27, 0x8f, 0x2d, 0x36, 0x7e,
1307 0x6e, 0x32, 0x5c, 0x1d, 0xcb, 0xfa, 0xb8, 0xc7,
1308 0x1a, 0x27, 0x11, 0x2b, 0x34, 0xf4, 0xa9, 0xda,
1309 0xa0, 0x99, 0x86, 0xbe, 0x81, 0xd0, 0xd9, 0x2a,
1310 0x88, 0x25, 0x99, 0xb3, 0x02, 0x50, 0xf1, 0xa5,
1311 0x4f, 0x3a, 0x1d, 0x7f, 0xcf, 0x7d, 0x76, 0x00,
1312 0x06, 0x87, 0x9f, 0x39, 0x3a, 0x3c, 0xc0, 0xc6,
1313 0x46, 0x7a, 0x65, 0x0d, 0x85, 0x06, 0xd8, 0x51,
1314 0xbe, 0xc5, 0x00, 0x80, 0xeb, 0x73, 0xbb, 0x71,
1315 0x8c, 0xcc, 0x72, 0x83, 0x1f, 0x9d, 0x73, 0x75,
1316 0xb8, 0xc8, 0x4c, 0x07, 0x5b, 0xda, 0x8c, 0x9b,
1317 0x6f, 0x65, 0x8c, 0x2e, 0x23, 0x62, 0x6c, 0x8d,
1318 0x94, 0x54, 0x5b, 0x7f, 0xe6, 0x5c, 0x90, 0xa3,
1319 0x07, 0xe2, 0x14, 0x4d, 0xe7, 0x71, 0x6c, 0xfd,
1320 0x64, 0x12, 0x14, 0x12, 0x14, 0x00, 0x1b, 0xc4,
1321 0x65, 0xe7, 0x28, 0x5c, 0x34, 0x2d, 0xda, 0x94,
1322 0xfd, 0x71, 0xcb, 0x27, 0xa6, 0x0e, 0x63, 0xd4,
1323 0xd6, 0x14, 0x65, 0xc0, 0xe3, 0x65, 0x94, 0x61,
1324 0x59, 0xb8, 0xc9, 0x3b, 0x9b, 0xc2, 0x82, 0xe2,
1325 0x76, 0xe7, 0x17, 0xf1, 0xef, 0x32, 0x9e, 0x8a,
1326 0x04, 0xf3, 0x1e, 0xcc, 0x16, 0xb4, 0x45, 0x0e,
1327 0x77, 0xdb, 0x8b, 0x38, 0x6c, 0xcc, 0x98, 0xf4,
1328 0xf8, 0xb5, 0x45, 0x2c, 0xde, 0x23, 0x36, 0xe7,
1329 0x83, 0xf0, 0xb4, 0xb5, 0xe3, 0xd3, 0xd4, 0x59,
1330 0xf1, 0x46, 0x7f, 0x0f, 0x55, 0x58, 0xff, 0x75,
1331 0xc7, 0x7f, 0xee, 0xf8, 0xe0, 0xb2, 0x52, 0xd8,
1332 0xba, 0x37, 0x4f, 0x7b, 0xba, 0xa3, 0xf0, 0x13,
1333 0xa7, 0x3a, 0x21, 0xac, 0xdc, 0x9e, 0x63, 0x36,
1334 0x38, 0xe7, 0x90, 0xeb, 0xea, 0x7f, 0x83, 0xf4,
1335 0x9d, 0xf3, 0x6b, 0x31, 0x44, 0x47, 0x27, 0x8e,
1336 };
1337
1338 #define rsa_sigver15_1_n rsa_sigver15_0_n
1339 #define rsa_sigver15_1_e rsa_sigver15_0_e
1340 static const unsigned char rsa_sigver15_1_msg[] = {
1341 0x52, 0x68, 0x35, 0xd6, 0x4a, 0x95, 0xaa, 0xbd,
1342 0x02, 0x69, 0x7f, 0x92, 0xc7, 0x8c, 0x04, 0x71,
1343 0x17, 0x10, 0x5a, 0x0d, 0xab, 0x5e, 0x91, 0x45,
1344 0xb5, 0x70, 0x0d, 0xf8, 0x66, 0x41, 0x2e, 0x19,
1345 0xb3, 0x82, 0x30, 0x06, 0x59, 0x8f, 0x4f, 0x15,
1346 0x1e, 0xa1, 0x2f, 0x70, 0x5a, 0x45, 0x7c, 0x24,
1347 0xb7, 0x0d, 0xcd, 0x74, 0x35, 0x85, 0xcf, 0x73,
1348 0x71, 0x68, 0x9f, 0xd2, 0x26, 0x14, 0x77, 0xf6,
1349 0xf4, 0x3c, 0x8d, 0x4d, 0x60, 0xdd, 0x38, 0xe3,
1350 0x1d, 0x73, 0x55, 0x30, 0x8a, 0x6c, 0xe9, 0x35,
1351 0x7b, 0xdd, 0x08, 0xc7, 0x3c, 0x74, 0xf5, 0x2a,
1352 0xd3, 0xae, 0x8a, 0xe1, 0x86, 0x49, 0xda, 0xc5,
1353 0x9d, 0xfd, 0x16, 0x55, 0x69, 0x67, 0xad, 0x4d,
1354 0x85, 0x46, 0xb7, 0x7a, 0x5c, 0xe9, 0x94, 0xcc,
1355 0xeb, 0xe8, 0xd0, 0xad, 0xc9, 0x13, 0x4a, 0x91,
1356 0x64, 0xa8, 0x96, 0xce, 0x8d, 0xc9, 0x9f, 0xaf,
1357 };
1358 static const unsigned char rsa_sigver15_1_sig[] = {
1359 0x81, 0x96, 0xdb, 0x65, 0x66, 0x5d, 0xec, 0x14,
1360 0xb3, 0x42, 0xf6, 0x93, 0x89, 0xae, 0x49, 0x81,
1361 0x98, 0xda, 0x71, 0x6d, 0x72, 0x9b, 0xcb, 0x39,
1362 0xe4, 0x85, 0xd1, 0x9f, 0xbe, 0xb8, 0x69, 0x0e,
1363 0xbe, 0xc0, 0x07, 0x88, 0xee, 0xbf, 0xf9, 0x5d,
1364 0x20, 0x0f, 0x90, 0x48, 0x93, 0x53, 0xbb, 0xc6,
1365 0x2f, 0xf8, 0xb7, 0x1d, 0xd2, 0x15, 0x0f, 0x1f,
1366 0x25, 0xab, 0x5b, 0xae, 0x52, 0xe6, 0x8e, 0x06,
1367 0x43, 0xe1, 0xd9, 0x4a, 0x4c, 0xee, 0x24, 0x0e,
1368 0xeb, 0x4f, 0x9b, 0x1a, 0xcb, 0x6d, 0x22, 0x93,
1369 0xa8, 0xa8, 0xcd, 0x4b, 0xa2, 0xf6, 0x88, 0x1a,
1370 0xaf, 0x3b, 0x2b, 0xdf, 0x04, 0x2d, 0x2b, 0x27,
1371 0x54, 0x90, 0x41, 0xb0, 0x4a, 0xda, 0xb1, 0xdf,
1372 0xce, 0x39, 0xda, 0xd7, 0xda, 0x00, 0x97, 0x89,
1373 0x9a, 0xaf, 0x4c, 0xc3, 0x0b, 0x6d, 0xb3, 0xce,
1374 0x59, 0x0b, 0xd9, 0x91, 0x17, 0x31, 0x6a, 0xe7,
1375 0x92, 0xec, 0x62, 0xe1, 0xe9, 0x73, 0xc7, 0x14,
1376 0x06, 0x16, 0x42, 0x8a, 0x68, 0xb1, 0x7c, 0xb8,
1377 0xa1, 0x45, 0xf0, 0x06, 0xf6, 0x85, 0xb5, 0x93,
1378 0xf1, 0x45, 0xc4, 0xe5, 0xf1, 0x76, 0x71, 0xb4,
1379 0xdc, 0x03, 0x55, 0xde, 0xb1, 0xd3, 0x5a, 0x0f,
1380 0x1f, 0x4f, 0xdd, 0xaa, 0x87, 0x8e, 0x46, 0x4d,
1381 0xe3, 0xd0, 0x5b, 0x28, 0x01, 0xc4, 0x94, 0xf7,
1382 0x00, 0x93, 0xae, 0xa3, 0xb5, 0x64, 0x65, 0xa1,
1383 0x16, 0x29, 0x2e, 0xc7, 0xbb, 0xeb, 0x71, 0x02,
1384 0xf9, 0x26, 0xb6, 0xa6, 0x24, 0xdc, 0x6a, 0x0e,
1385 0x0d, 0xad, 0x50, 0xf5, 0x4b, 0xe7, 0x0e, 0x9a,
1386 0x39, 0x20, 0x70, 0xe2, 0xdf, 0x3b, 0x6f, 0x9d,
1387 0xe3, 0x8f, 0x15, 0x6d, 0x5a, 0xaf, 0x12, 0xf7,
1388 0xf7, 0x85, 0x6f, 0x0e, 0xe4, 0x6e, 0x27, 0xf7,
1389 0xb3, 0x44, 0x38, 0x73, 0x45, 0x80, 0x7a, 0x72,
1390 0x82, 0xf3, 0xc8, 0x32, 0xb8, 0x25, 0xef, 0xdc,
1391 };
1392
1393 static const unsigned char rsa_sigverpss_0_n[] = {
1394 0xb2, 0xee, 0xdd, 0xdf, 0xa0, 0x35, 0x92, 0x21,
1395 0xf4, 0x8e, 0xc3, 0x24, 0x39, 0xed, 0xe2, 0x38,
1396 0xc0, 0xaa, 0xff, 0x35, 0x75, 0x27, 0x05, 0xd4,
1397 0x84, 0x78, 0x23, 0x50, 0xa5, 0x64, 0x1e, 0x11,
1398 0x45, 0x2a, 0xb1, 0xeb, 0x97, 0x07, 0x0b, 0xff,
1399 0xb3, 0x1f, 0xc4, 0xa4, 0x80, 0xae, 0x1c, 0x8c,
1400 0x66, 0x71, 0x95, 0x80, 0x60, 0xea, 0x4d, 0xde,
1401 0x90, 0x98, 0xe8, 0xe2, 0x96, 0xa7, 0x0e, 0x5f,
1402 0x00, 0x74, 0xed, 0x79, 0xc3, 0xe2, 0xc2, 0x4e,
1403 0xbe, 0x07, 0xbd, 0xb1, 0xb2, 0xeb, 0x6c, 0x29,
1404 0x9a, 0x59, 0x29, 0x81, 0xa3, 0x83, 0xa3, 0x00,
1405 0x24, 0xa8, 0xfd, 0x45, 0xbb, 0xca, 0x1e, 0x44,
1406 0x47, 0xbb, 0x82, 0x4a, 0x5b, 0x71, 0x46, 0xc0,
1407 0xb4, 0xcc, 0x1b, 0x5e, 0x88, 0x9c, 0x89, 0x69,
1408 0xb4, 0xb0, 0x7c, 0x8e, 0xea, 0x24, 0xc0, 0x2f,
1409 0xc8, 0x3f, 0x9d, 0x9f, 0x43, 0xd3, 0xf0, 0x25,
1410 0x67, 0xf1, 0xf0, 0x9b, 0xd4, 0xff, 0x17, 0x9f,
1411 0xc3, 0x41, 0x2f, 0x53, 0x33, 0xdd, 0x73, 0x8a,
1412 0x5c, 0x74, 0x04, 0x3b, 0x60, 0xcc, 0x9f, 0xca,
1413 0x01, 0xb0, 0x0d, 0xe0, 0xcf, 0xb2, 0xf0, 0x08,
1414 0x73, 0xb6, 0x67, 0x6c, 0x54, 0x9e, 0x1c, 0x01,
1415 0xb5, 0x34, 0xab, 0xcf, 0x77, 0xfe, 0x04, 0x01,
1416 0xc1, 0xd2, 0x4d, 0x47, 0x60, 0x5c, 0x68, 0x47,
1417 0x8a, 0x47, 0x3c, 0x3a, 0xa3, 0xb2, 0x75, 0x87,
1418 0x6e, 0x01, 0x7b, 0xdb, 0xe9, 0x6e, 0x63, 0xb2,
1419 0x65, 0xab, 0xc6, 0xed, 0x0d, 0xa6, 0x84, 0xff,
1420 0xf3, 0xcf, 0xd3, 0x9a, 0x96, 0x9b, 0x5c, 0x22,
1421 0xf8, 0x07, 0x7d, 0x63, 0x75, 0x50, 0x91, 0x5b,
1422 0xc4, 0x1f, 0x29, 0x1f, 0x5d, 0xb0, 0x6e, 0xfa,
1423 0x9b, 0x16, 0xf0, 0xe4, 0xda, 0x2c, 0x94, 0x20,
1424 0x9b, 0x44, 0x51, 0x38, 0xd0, 0xe4, 0x86, 0xc9,
1425 0x76, 0x12, 0x04, 0x1a, 0x25, 0x14, 0xb7, 0x14,
1426 0xdb, 0x6e, 0xd2, 0xc3, 0x57, 0x2c, 0x4c, 0xec,
1427 0xfe, 0x25, 0xed, 0x3e, 0xe3, 0x26, 0xa8, 0xd4,
1428 0xd0, 0x21, 0xbc, 0x09, 0x7e, 0xb0, 0x02, 0x3c,
1429 0xa3, 0x43, 0xa4, 0x1f, 0x73, 0x54, 0x5f, 0xa3,
1430 0xe2, 0x49, 0x4e, 0x25, 0xe8, 0xfc, 0xfb, 0xa9,
1431 0x29, 0xc0, 0x7d, 0xd0, 0x06, 0xd5, 0x5c, 0x52,
1432 0x68, 0x3c, 0xf8, 0xc5, 0xdb, 0x92, 0x27, 0x7c,
1433 0xd8, 0x56, 0x1a, 0x7d, 0xe3, 0x32, 0xe5, 0x08,
1434 0xc9, 0x36, 0x9d, 0x7e, 0xd2, 0x2d, 0xc2, 0x53,
1435 0xf2, 0x7e, 0xce, 0x8a, 0x10, 0x5c, 0xf7, 0xe9,
1436 0x99, 0xa6, 0xa8, 0xf5, 0x8d, 0x6c, 0xed, 0xf3,
1437 0xa1, 0xc8, 0x2a, 0x75, 0x77, 0x99, 0x18, 0xe1,
1438 0x32, 0xdb, 0x35, 0x4a, 0x8b, 0x4a, 0xec, 0xc2,
1439 0x15, 0xe9, 0x4b, 0x89, 0x13, 0x81, 0xfb, 0x0c,
1440 0xf9, 0xb4, 0xd8, 0xee, 0xb5, 0xba, 0x45, 0xa1,
1441 0xea, 0x01, 0xf9, 0xbb, 0xd5, 0xa1, 0x73, 0xa1,
1442 0x5b, 0xef, 0x98, 0xa8, 0xcf, 0x74, 0xf4, 0xd5,
1443 0x1a, 0xe2, 0xa7, 0xb9, 0x37, 0x43, 0xb1, 0x29,
1444 0x94, 0xc3, 0x71, 0x74, 0x34, 0x7d, 0x6f, 0xac,
1445 0x97, 0xb3, 0x5b, 0x3a, 0x0a, 0x3c, 0xe2, 0x94,
1446 0x6c, 0x39, 0xb8, 0xe9, 0x2c, 0xf9, 0xc3, 0x8b,
1447 0xd1, 0x80, 0x4d, 0x22, 0x64, 0x63, 0x20, 0x1b,
1448 0xeb, 0xf9, 0x09, 0x14, 0x86, 0x6e, 0xf4, 0x6d,
1449 0xfc, 0xe5, 0x1b, 0xf7, 0xf2, 0xe0, 0x4d, 0xc8,
1450 0xeb, 0x24, 0x35, 0x16, 0x0a, 0x81, 0x9f, 0x9e,
1451 0x47, 0xd8, 0xea, 0x85, 0xda, 0x77, 0x6c, 0x3d,
1452 0xd4, 0xa9, 0x15, 0xbd, 0xda, 0x5d, 0xf0, 0x72,
1453 0x8d, 0xb5, 0x12, 0x72, 0xb1, 0x62, 0xa0, 0xad,
1454 0xc8, 0x0e, 0x5b, 0x47, 0x4c, 0x69, 0xf7, 0x07,
1455 0xe8, 0xd9, 0x9b, 0xc7, 0x2f, 0xd5, 0x68, 0x1e,
1456 0x1c, 0xe0, 0x8f, 0x40, 0x45, 0x5f, 0x08, 0xc8,
1457 0x95, 0x57, 0xb7, 0x35, 0x92, 0x97, 0xf9, 0x7d,
1458 };
1459 static const unsigned char rsa_sigverpss_0_e[] = {
1460 0x01, 0x00, 0x01,
1461 };
1462 static const unsigned char rsa_sigverpss_0_msg[] = {
1463 0x32, 0x03, 0x0c, 0x2e, 0x06, 0xfc, 0x0f, 0xa5,
1464 0x65, 0xcd, 0x0f, 0x88, 0x52, 0x80, 0xc3, 0x43,
1465 0xda, 0x01, 0x36, 0x48, 0xf5, 0x76, 0xc8, 0x03,
1466 0xae, 0xce, 0x76, 0x0f, 0x83, 0x9d, 0x5c, 0xaa,
1467 0x0f, 0x27, 0x78, 0x66, 0xe6, 0xba, 0xb1, 0x22,
1468 0xc1, 0x42, 0x18, 0x39, 0xdb, 0x17, 0x6d, 0xf9,
1469 0x9a, 0x19, 0xe5, 0x57, 0x72, 0xff, 0x2a, 0xe0,
1470 0x07, 0xec, 0xa4, 0xf3, 0x91, 0x43, 0xf7, 0x2e,
1471 0x85, 0xbd, 0xcd, 0x26, 0x72, 0xb9, 0xd5, 0x5b,
1472 0x28, 0xd3, 0x0c, 0x6b, 0x20, 0xb7, 0x3b, 0x85,
1473 0x18, 0x38, 0xc0, 0x21, 0xfe, 0x9c, 0x92, 0xee,
1474 0x0f, 0x3a, 0x80, 0x0c, 0x40, 0x48, 0xb9, 0x7c,
1475 0xdd, 0xee, 0x91, 0xd5, 0x70, 0x9e, 0x82, 0x38,
1476 0xe4, 0xa8, 0x71, 0x85, 0xea, 0x09, 0x33, 0xcf,
1477 0x9c, 0x84, 0x50, 0x0e, 0x60, 0xf5, 0x07, 0x14,
1478 0x10, 0xe1, 0x92, 0xc3, 0x58, 0x51, 0xab, 0x7c,
1479 };
1480 static const unsigned char rsa_sigverpss_0_sig[] = {
1481 0x43, 0xb2, 0x4a, 0x50, 0xa7, 0xe2, 0x6c, 0x5d,
1482 0x50, 0xc5, 0x39, 0xc1, 0xc1, 0x35, 0xbd, 0x66,
1483 0xbd, 0x86, 0x54, 0xc5, 0x2e, 0x65, 0xfc, 0x19,
1484 0x19, 0x6a, 0x22, 0x43, 0x22, 0x11, 0x26, 0xae,
1485 0x51, 0x78, 0xfa, 0xfa, 0xc1, 0xf0, 0x77, 0x1b,
1486 0xd6, 0x5b, 0x93, 0xbd, 0x84, 0xe4, 0x35, 0xbd,
1487 0x8d, 0x91, 0xb2, 0x7c, 0xb2, 0xb1, 0xda, 0xd7,
1488 0x72, 0x62, 0x88, 0x3e, 0xe9, 0x40, 0x27, 0x4e,
1489 0xa5, 0x17, 0x94, 0xf1, 0xe9, 0xdd, 0x8c, 0x6c,
1490 0x5b, 0xc0, 0x0b, 0xe3, 0x7c, 0x8b, 0xc8, 0x10,
1491 0x57, 0x35, 0x69, 0xb7, 0x56, 0xe0, 0x2f, 0x61,
1492 0x2e, 0x13, 0x11, 0x79, 0xfa, 0x60, 0x8f, 0x2a,
1493 0x65, 0x73, 0xf5, 0x17, 0x34, 0x74, 0x72, 0x22,
1494 0xff, 0x22, 0x5b, 0x97, 0x59, 0x44, 0xf4, 0xfb,
1495 0x4a, 0x2b, 0x7e, 0x28, 0xe3, 0x79, 0x84, 0x24,
1496 0x63, 0xeb, 0xde, 0x63, 0x88, 0xe0, 0xbd, 0x28,
1497 0xef, 0x49, 0x6d, 0xd4, 0x2a, 0x87, 0x53, 0xba,
1498 0x5f, 0xde, 0xe3, 0xd4, 0xb2, 0xc2, 0x6f, 0x49,
1499 0x10, 0xae, 0x5e, 0x15, 0xdd, 0x0f, 0x91, 0xe2,
1500 0xeb, 0x1e, 0xc5, 0x36, 0x8e, 0xdf, 0xa6, 0x17,
1501 0x25, 0x21, 0x16, 0x06, 0x72, 0x37, 0x77, 0x19,
1502 0xe5, 0x88, 0x1b, 0x0b, 0x5b, 0x80, 0x44, 0x8f,
1503 0x13, 0xef, 0xbb, 0xfa, 0xf6, 0x4a, 0x11, 0x6a,
1504 0x6a, 0x0c, 0xe0, 0x42, 0x6b, 0x7d, 0xfd, 0xad,
1505 0xb0, 0x4b, 0xff, 0x3f, 0x20, 0xca, 0x5f, 0x64,
1506 0xcc, 0xc9, 0x5b, 0x89, 0xc2, 0x05, 0x33, 0xf9,
1507 0xa5, 0x31, 0x55, 0xfb, 0xdc, 0xeb, 0xd1, 0x24,
1508 0xbf, 0x17, 0x0f, 0xc8, 0xfd, 0xe9, 0x6a, 0xc1,
1509 0xa7, 0x94, 0x36, 0x72, 0x22, 0x29, 0x2c, 0x1c,
1510 0xd1, 0x8b, 0x7b, 0x37, 0x42, 0x25, 0x8d, 0xe3,
1511 0xcc, 0x06, 0x5f, 0x3c, 0x15, 0xfa, 0x74, 0x8a,
1512 0x83, 0xf0, 0xcc, 0xf5, 0x30, 0xd1, 0xa8, 0x88,
1513 0x9f, 0x4e, 0x1d, 0xd8, 0xe3, 0x1b, 0xb5, 0xe3,
1514 0xdb, 0xce, 0xbc, 0x03, 0xfe, 0xe6, 0xa2, 0xb4,
1515 0x94, 0x76, 0xd1, 0xb7, 0xce, 0xae, 0x6a, 0x7c,
1516 0xbd, 0x4f, 0xd6, 0xfe, 0x60, 0xd0, 0x78, 0xd4,
1517 0x04, 0x3f, 0xe0, 0x17, 0x2a, 0x41, 0x26, 0x5a,
1518 0x81, 0x80, 0xcd, 0x40, 0x7c, 0x4f, 0xd6, 0xd6,
1519 0x1d, 0x1f, 0x58, 0x59, 0xaf, 0xa8, 0x00, 0x91,
1520 0x69, 0xb1, 0xf8, 0x3b, 0xef, 0x59, 0x7e, 0x83,
1521 0x4e, 0xca, 0x1d, 0x33, 0x35, 0xb6, 0xa5, 0x9a,
1522 0x0e, 0xc5, 0xe5, 0x11, 0xdd, 0x5d, 0xb7, 0x32,
1523 0x66, 0x23, 0x63, 0x08, 0xbc, 0x2e, 0x9c, 0x10,
1524 0x30, 0xa4, 0x13, 0x38, 0xee, 0xc7, 0x10, 0xf6,
1525 0xed, 0xe9, 0xe1, 0xd1, 0x89, 0x8b, 0x94, 0x21,
1526 0xde, 0x76, 0x72, 0x90, 0xc4, 0xbc, 0x59, 0x31,
1527 0x1b, 0x1b, 0xd7, 0xa0, 0xd0, 0x3d, 0xaa, 0x43,
1528 0x66, 0xfa, 0x43, 0x8d, 0xcc, 0x37, 0xdc, 0x60,
1529 0x59, 0xaf, 0x02, 0x98, 0xe5, 0xe0, 0x17, 0xd6,
1530 0xc3, 0x84, 0xf2, 0xaa, 0x5d, 0x88, 0xa8, 0x78,
1531 0xbf, 0xbd, 0x18, 0x34, 0x9f, 0x5c, 0x6d, 0x22,
1532 0x0c, 0x77, 0x4f, 0x16, 0xf2, 0x85, 0x88, 0x2e,
1533 0x9a, 0x2b, 0x30, 0x1e, 0x17, 0xc8, 0xc7, 0xd4,
1534 0x20, 0x93, 0x47, 0x0d, 0x32, 0x7d, 0xcb, 0x77,
1535 0x85, 0x82, 0xc3, 0x80, 0x75, 0x10, 0x83, 0x33,
1536 0xd5, 0xde, 0x47, 0xd4, 0x22, 0x55, 0x4d, 0xca,
1537 0x4f, 0x90, 0xd2, 0x9f, 0x80, 0x58, 0x22, 0x4c,
1538 0x5a, 0xaa, 0x53, 0x9e, 0xeb, 0xde, 0x62, 0x8a,
1539 0xfb, 0xd7, 0x4b, 0x28, 0xd5, 0xe1, 0x02, 0xf9,
1540 0x61, 0x74, 0x42, 0x12, 0x32, 0x5d, 0x1b, 0x10,
1541 0x8f, 0x51, 0x8d, 0x7c, 0x59, 0xc5, 0xb7, 0x5a,
1542 0x68, 0xe7, 0xdd, 0xb0, 0xc0, 0x22, 0xbc, 0xf1,
1543 0x37, 0xcc, 0x63, 0xa2, 0x85, 0xb9, 0x11, 0x91,
1544 0x43, 0xb9, 0x7b, 0xfb, 0x4a, 0x21, 0xc9, 0xd5,
1545 };
1546
1547 #define rsa_sigverpss_1_n rsa_sigverpss_0_n
1548 #define rsa_sigverpss_1_e rsa_sigverpss_0_e
1549 static const unsigned char rsa_sigverpss_1_msg[] = {
1550 0x29, 0xdc, 0x70, 0xd8, 0xa5, 0xde, 0x41, 0x1d,
1551 0xed, 0x05, 0x16, 0x04, 0x48, 0x05, 0x21, 0x05,
1552 0x1c, 0x40, 0x8a, 0xbb, 0x6c, 0x3c, 0x11, 0xf3,
1553 0x9f, 0x55, 0xf4, 0x03, 0x83, 0xaf, 0x13, 0x5d,
1554 0x91, 0x6f, 0x52, 0x63, 0x73, 0x2b, 0x3f, 0x7d,
1555 0xc3, 0x9e, 0xf5, 0x69, 0x16, 0xa1, 0x40, 0xd3,
1556 0x39, 0x57, 0x01, 0x26, 0xba, 0xa7, 0xd4, 0xa1,
1557 0xaa, 0xef, 0xf1, 0xad, 0xa2, 0xf6, 0x50, 0x6e,
1558 0x04, 0x23, 0x11, 0x98, 0x83, 0xed, 0x1a, 0x84,
1559 0xe6, 0x93, 0x02, 0x83, 0x08, 0x0d, 0x2e, 0x72,
1560 0x24, 0x42, 0x39, 0x8e, 0x4f, 0x7b, 0x99, 0x8a,
1561 0x46, 0x18, 0x80, 0xdf, 0x6a, 0x82, 0x01, 0x64,
1562 0x09, 0x60, 0x74, 0x1e, 0xdf, 0x0e, 0x1b, 0x59,
1563 0xdd, 0x4a, 0x06, 0xf7, 0x29, 0x31, 0x33, 0x09,
1564 0x65, 0x6b, 0xfa, 0x9c, 0x34, 0xa2, 0xa8, 0xd5,
1565 0xfa, 0x38, 0x6b, 0x41, 0xe4, 0x39, 0x6e, 0x66,
1566 };
1567 static const unsigned char rsa_sigverpss_1_sig[] = {
1568 0x48, 0x7f, 0x71, 0x82, 0x63, 0x1d, 0xf2, 0xee,
1569 0xe8, 0x79, 0xeb, 0x3a, 0xaf, 0x41, 0x8a, 0x7c,
1570 0xab, 0x0b, 0xd4, 0x57, 0xb6, 0x62, 0x9f, 0x6f,
1571 0xec, 0xc1, 0xd4, 0xef, 0x55, 0x51, 0xd1, 0x0a,
1572 0x0e, 0x1d, 0x8a, 0x64, 0x69, 0x08, 0x57, 0xf5,
1573 0x04, 0xa8, 0x6c, 0xde, 0x76, 0x4d, 0x81, 0xf4,
1574 0x95, 0x7e, 0x95, 0x6d, 0x41, 0x31, 0x2f, 0x9d,
1575 0xe7, 0x47, 0x45, 0x45, 0x9f, 0xa8, 0xf8, 0xe3,
1576 0x30, 0xa6, 0x41, 0x0f, 0x12, 0x05, 0x6d, 0x2b,
1577 0x1a, 0xae, 0xef, 0xd4, 0x6b, 0xc6, 0xf4, 0x61,
1578 0xa5, 0x07, 0xfe, 0xe8, 0xd0, 0xfd, 0xa3, 0x93,
1579 0x58, 0xb4, 0x22, 0x37, 0x1b, 0x84, 0xcb, 0xef,
1580 0xae, 0x24, 0xec, 0x62, 0xe2, 0x7d, 0xf4, 0x09,
1581 0x5a, 0xc3, 0x0f, 0x4b, 0x49, 0xb7, 0xe7, 0xb2,
1582 0x9b, 0x01, 0x2c, 0x8a, 0x39, 0xdd, 0x10, 0xec,
1583 0x30, 0xb9, 0x7e, 0x39, 0x98, 0x94, 0x2a, 0xa4,
1584 0xb3, 0x97, 0x7f, 0x85, 0x6e, 0x19, 0x75, 0x9e,
1585 0x91, 0x94, 0xaa, 0xb5, 0xb0, 0x1f, 0x72, 0x50,
1586 0xb5, 0x6d, 0x7a, 0xff, 0x90, 0xcc, 0x24, 0x80,
1587 0x20, 0x23, 0x1c, 0xf3, 0xbd, 0x01, 0xc7, 0x82,
1588 0x63, 0x04, 0xcc, 0xbd, 0xfb, 0x41, 0x9a, 0xb8,
1589 0xeb, 0x6d, 0x78, 0x02, 0xee, 0x4a, 0x6d, 0xbb,
1590 0xf7, 0xb7, 0xcf, 0x91, 0xca, 0x11, 0xf2, 0x62,
1591 0xec, 0x18, 0x14, 0xcd, 0x10, 0xd8, 0x60, 0xe5,
1592 0x20, 0x86, 0x74, 0x84, 0xd5, 0x35, 0x34, 0x69,
1593 0x65, 0x93, 0x31, 0x99, 0xb6, 0x2d, 0x43, 0x23,
1594 0x1d, 0x73, 0x55, 0xfa, 0x03, 0x76, 0x22, 0xcc,
1595 0x66, 0xbc, 0x20, 0x2f, 0x7f, 0x4f, 0x78, 0xdd,
1596 0xd1, 0x1f, 0xb6, 0x79, 0x6b, 0x58, 0x58, 0x57,
1597 0x56, 0x87, 0xbc, 0x72, 0x6c, 0x81, 0x0a, 0xe2,
1598 0xae, 0xb2, 0x4b, 0x66, 0x5b, 0x65, 0x35, 0x2b,
1599 0x89, 0x0b, 0xa8, 0x5c, 0x34, 0xb3, 0x5f, 0xb0,
1600 0x21, 0x5d, 0x4c, 0x60, 0x57, 0x73, 0xb6, 0x16,
1601 0x94, 0xa7, 0x55, 0x52, 0x2a, 0x87, 0x10, 0xc9,
1602 0x7c, 0x86, 0xb9, 0xdd, 0xf5, 0xb9, 0x30, 0xc0,
1603 0xe6, 0x2a, 0xc9, 0x08, 0x3a, 0x88, 0xdc, 0x27,
1604 0xea, 0x2f, 0xd9, 0x37, 0x06, 0x36, 0xd8, 0xe5,
1605 0x66, 0x11, 0x54, 0x72, 0x4c, 0xc8, 0xa2, 0xc1,
1606 0xed, 0xf5, 0x17, 0x3b, 0x06, 0x2b, 0x4c, 0xc9,
1607 0x49, 0x2b, 0x98, 0x6f, 0xb8, 0x77, 0x96, 0x0c,
1608 0x6b, 0x47, 0x81, 0x6c, 0xf3, 0x94, 0x3d, 0x3b,
1609 0x24, 0x2d, 0x26, 0x9c, 0x40, 0xc1, 0x1f, 0xa7,
1610 0xb2, 0xb4, 0x29, 0xb6, 0x05, 0xe5, 0x6e, 0x3c,
1611 0xab, 0xd4, 0xaa, 0x3d, 0x78, 0x63, 0x3e, 0xf2,
1612 0x75, 0x0d, 0xc3, 0x46, 0x0e, 0x68, 0xd7, 0x3d,
1613 0xb9, 0xcb, 0x9a, 0x0a, 0xce, 0xec, 0x6f, 0x21,
1614 0x8c, 0x86, 0xaa, 0xeb, 0x7b, 0x56, 0x41, 0xa6,
1615 0x7a, 0xd3, 0x03, 0x02, 0x5c, 0x76, 0x01, 0xf7,
1616 0x5d, 0x5e, 0x8e, 0x7d, 0xac, 0x35, 0x84, 0x11,
1617 0xc6, 0xbc, 0x9a, 0x53, 0xcc, 0x3b, 0x4f, 0x5b,
1618 0x23, 0x79, 0x30, 0x52, 0xc3, 0x73, 0x5d, 0xc8,
1619 0xf1, 0xec, 0x2e, 0x0d, 0xda, 0x64, 0x90, 0x50,
1620 0x62, 0xcf, 0x18, 0xc5, 0x52, 0x45, 0xe7, 0x38,
1621 0x1a, 0xec, 0x01, 0x18, 0xbb, 0x85, 0x97, 0x7f,
1622 0x68, 0x2b, 0x6f, 0xfc, 0xcd, 0x08, 0xc8, 0xe2,
1623 0xca, 0x7e, 0xa6, 0x4f, 0xca, 0x5d, 0xdd, 0xf8,
1624 0xfa, 0x52, 0x1c, 0x91, 0x82, 0x56, 0x07, 0xb2,
1625 0x03, 0x3e, 0xa2, 0x8d, 0x60, 0xff, 0x78, 0x05,
1626 0x1a, 0xfc, 0x6e, 0x27, 0x80, 0xbd, 0x90, 0x98,
1627 0x83, 0x46, 0xba, 0xec, 0xee, 0x89, 0xe3, 0x1b,
1628 0xc0, 0xcd, 0x2f, 0x05, 0x37, 0x18, 0xb5, 0xfa,
1629 0xc3, 0x91, 0x85, 0x0f, 0xb7, 0x74, 0x1c, 0x64,
1630 0xf0, 0xf8, 0x56, 0x35, 0xb8, 0x1d, 0xc3, 0x39,
1631 0x5c, 0xea, 0x8a, 0x92, 0x31, 0xd2, 0x11, 0x4b,
1632 };
1633
1634 static const unsigned char rsa_sigverx931_0_n[] = {
1635 0xa0, 0x16, 0x14, 0x80, 0x8b, 0x17, 0x2b, 0xad,
1636 0xd7, 0x07, 0x31, 0x6d, 0xfc, 0xba, 0x25, 0x83,
1637 0x09, 0xa0, 0xf7, 0x71, 0xc6, 0x06, 0x22, 0x87,
1638 0xd6, 0xbd, 0x13, 0xd9, 0xfe, 0x7c, 0xf7, 0xe6,
1639 0x48, 0xdb, 0x27, 0xd8, 0xa5, 0x49, 0x8e, 0x8c,
1640 0xea, 0xbe, 0xe0, 0x04, 0x6f, 0x3d, 0x3b, 0x73,
1641 0xdc, 0xc5, 0xd4, 0xdc, 0x85, 0xef, 0xea, 0x10,
1642 0x46, 0xf3, 0x88, 0xb9, 0x93, 0xbc, 0xa0, 0xb6,
1643 0x06, 0x02, 0x82, 0xb4, 0x2d, 0x54, 0xec, 0x79,
1644 0x50, 0x8a, 0xfc, 0xfa, 0x62, 0x45, 0xbb, 0xd7,
1645 0x26, 0xcd, 0x88, 0xfa, 0xe8, 0x0f, 0x26, 0x5b,
1646 0x1f, 0x21, 0x3f, 0x3b, 0x5d, 0x98, 0x3f, 0x02,
1647 0x8c, 0xa1, 0xbf, 0xc0, 0x70, 0x4d, 0xd1, 0x41,
1648 0xfd, 0xb9, 0x55, 0x12, 0x90, 0xc8, 0x6e, 0x0f,
1649 0x19, 0xa8, 0x5c, 0x31, 0xd6, 0x16, 0x0e, 0xdf,
1650 0x08, 0x84, 0xcd, 0x4b, 0xfd, 0x28, 0x8d, 0x7d,
1651 0x6e, 0xea, 0xc7, 0x95, 0x4a, 0xc3, 0x84, 0x54,
1652 0x7f, 0xb0, 0x20, 0x29, 0x96, 0x39, 0x4c, 0x3e,
1653 0x85, 0xec, 0x22, 0xdd, 0xb9, 0x14, 0xbb, 0x04,
1654 0x2f, 0x4c, 0x0c, 0xe3, 0xfa, 0xae, 0x47, 0x79,
1655 0x59, 0x8e, 0x4e, 0x7d, 0x4a, 0x17, 0xae, 0x16,
1656 0x38, 0x66, 0x4e, 0xff, 0x45, 0x7f, 0xac, 0x5e,
1657 0x75, 0x9f, 0x51, 0x18, 0xe6, 0xad, 0x6b, 0x8b,
1658 0x3d, 0x08, 0x4d, 0x9a, 0xd2, 0x11, 0xba, 0xa8,
1659 0xc3, 0xb5, 0x17, 0xb5, 0xdf, 0xe7, 0x39, 0x89,
1660 0x27, 0x7b, 0xeb, 0xf4, 0xe5, 0x7e, 0xa9, 0x7b,
1661 0x39, 0x40, 0x6f, 0xe4, 0x82, 0x14, 0x3d, 0x62,
1662 0xb6, 0xd4, 0x43, 0xd0, 0x0a, 0x2f, 0xc1, 0x73,
1663 0x3d, 0x99, 0x37, 0xbe, 0x62, 0x13, 0x6a, 0x8b,
1664 0xeb, 0xc5, 0x64, 0xd5, 0x2a, 0x8b, 0x4f, 0x7f,
1665 0x82, 0x48, 0x69, 0x3e, 0x08, 0x1b, 0xb5, 0x77,
1666 0xd3, 0xdc, 0x1b, 0x2c, 0xe5, 0x59, 0xf6, 0x33,
1667 0x47, 0xa0, 0x0f, 0xff, 0x8a, 0x6a, 0x1d, 0x66,
1668 0x24, 0x67, 0x36, 0x7d, 0x21, 0xda, 0xc1, 0xd4,
1669 0x11, 0x6c, 0xe8, 0x5f, 0xd7, 0x8a, 0x53, 0x5c,
1670 0xb2, 0xe2, 0xf9, 0x14, 0x29, 0x0f, 0xcf, 0x28,
1671 0x32, 0x4f, 0xc6, 0x17, 0xf6, 0xbc, 0x0e, 0xb8,
1672 0x99, 0x7c, 0x14, 0xa3, 0x40, 0x3f, 0xf3, 0xe4,
1673 0x31, 0xbe, 0x54, 0x64, 0x5a, 0xad, 0x1d, 0xb0,
1674 0x37, 0xcc, 0xd9, 0x0b, 0xa4, 0xbc, 0xe0, 0x07,
1675 0x37, 0xd1, 0xe1, 0x65, 0xc6, 0x53, 0xfe, 0x60,
1676 0x6a, 0x64, 0xa4, 0x01, 0x00, 0xf3, 0x5b, 0x9a,
1677 0x28, 0x61, 0xde, 0x7a, 0xd7, 0x0d, 0x56, 0x1e,
1678 0x4d, 0xa8, 0x6a, 0xb5, 0xf2, 0x86, 0x2a, 0x4e,
1679 0xaa, 0x37, 0x23, 0x5a, 0x3b, 0x69, 0x66, 0x81,
1680 0xc8, 0x8e, 0x1b, 0x31, 0x0f, 0x28, 0x31, 0x9a,
1681 0x2d, 0xe5, 0x79, 0xcc, 0xa4, 0xca, 0x60, 0x45,
1682 0xf7, 0x83, 0x73, 0x5a, 0x01, 0x29, 0xda, 0xf7,
1683
1684 };
1685 static const unsigned char rsa_sigverx931_0_e[] = {
1686 0x01, 0x00, 0x01,
1687 };
1688 static const unsigned char rsa_sigverx931_0_msg[] = {
1689 0x82, 0x2e, 0x41, 0x70, 0x9d, 0x1f, 0xe9, 0x47,
1690 0xec, 0xf1, 0x79, 0xcc, 0x05, 0xef, 0xdb, 0xcd,
1691 0xca, 0x8b, 0x8e, 0x61, 0x45, 0xad, 0xa6, 0xd9,
1692 0xd7, 0x4b, 0x15, 0xf4, 0x92, 0x3a, 0x2a, 0x52,
1693 0xe3, 0x44, 0x57, 0x2b, 0x74, 0x7a, 0x37, 0x41,
1694 0x50, 0xcb, 0xcf, 0x13, 0x49, 0xd6, 0x15, 0x54,
1695 0x97, 0xfd, 0xae, 0x9b, 0xc1, 0xbb, 0xfc, 0x5c,
1696 0xc1, 0x37, 0x58, 0x17, 0x63, 0x19, 0x9c, 0xcf,
1697 0xee, 0x9c, 0xe5, 0xbe, 0x06, 0xe4, 0x97, 0x47,
1698 0xd1, 0x93, 0xa1, 0x2c, 0x59, 0x97, 0x02, 0x01,
1699 0x31, 0x45, 0x8c, 0xe1, 0x5c, 0xac, 0xe7, 0x5f,
1700 0x6a, 0x23, 0xda, 0xbf, 0xe4, 0x25, 0xc6, 0x67,
1701 0xea, 0x5f, 0x73, 0x90, 0x1b, 0x06, 0x0f, 0x41,
1702 0xb5, 0x6e, 0x74, 0x7e, 0xfd, 0xd9, 0xaa, 0xbd,
1703 0xe2, 0x8d, 0xad, 0x99, 0xdd, 0x29, 0x70, 0xca,
1704 0x1b, 0x38, 0x21, 0x55, 0xde, 0x07, 0xaf, 0x00,
1705
1706 };
1707 static const unsigned char rsa_sigverx931_0_sig[] = {
1708 0x29, 0xa9, 0x3a, 0x8e, 0x9e, 0x90, 0x1b, 0xdb,
1709 0xaf, 0x0b, 0x47, 0x5b, 0xb5, 0xc3, 0x8c, 0xc3,
1710 0x70, 0xbe, 0x73, 0xf9, 0x65, 0x8e, 0xc6, 0x1e,
1711 0x95, 0x0b, 0xdb, 0x24, 0x76, 0x79, 0xf1, 0x00,
1712 0x71, 0xcd, 0xc5, 0x6a, 0x7b, 0xd2, 0x8b, 0x18,
1713 0xc4, 0xdd, 0xf1, 0x2a, 0x31, 0x04, 0x3f, 0xfc,
1714 0x36, 0x06, 0x20, 0x71, 0x3d, 0x62, 0xf2, 0xb5,
1715 0x79, 0x0a, 0xd5, 0xd2, 0x81, 0xf1, 0xb1, 0x4f,
1716 0x9a, 0x17, 0xe8, 0x67, 0x64, 0x48, 0x09, 0x75,
1717 0xff, 0x2d, 0xee, 0x36, 0xca, 0xca, 0x1d, 0x74,
1718 0x99, 0xbe, 0x5c, 0x94, 0x31, 0xcc, 0x12, 0xf4,
1719 0x59, 0x7e, 0x17, 0x00, 0x4f, 0x7b, 0xa4, 0xb1,
1720 0xda, 0xdb, 0x3e, 0xa4, 0x34, 0x10, 0x4a, 0x19,
1721 0x0a, 0xd2, 0xa7, 0xa0, 0xc5, 0xe6, 0xef, 0x82,
1722 0xd4, 0x2e, 0x21, 0xbe, 0x15, 0x73, 0xac, 0xef,
1723 0x05, 0xdb, 0x6a, 0x8a, 0x1a, 0xcb, 0x8e, 0xa5,
1724 0xee, 0xfb, 0x28, 0xbf, 0x96, 0xa4, 0x2b, 0xd2,
1725 0x85, 0x2b, 0x20, 0xc3, 0xaf, 0x9a, 0x32, 0x04,
1726 0xa0, 0x49, 0x24, 0x47, 0xd0, 0x09, 0xf7, 0xcf,
1727 0x73, 0xb6, 0xf6, 0x70, 0xda, 0x3b, 0xf8, 0x5a,
1728 0x28, 0x2e, 0x14, 0x6c, 0x52, 0xbd, 0x2a, 0x7c,
1729 0x8e, 0xc1, 0xa8, 0x0e, 0xb1, 0x1e, 0x6b, 0x8d,
1730 0x76, 0xea, 0x70, 0x81, 0xa0, 0x02, 0x63, 0x74,
1731 0xbc, 0x7e, 0xb9, 0xac, 0x0e, 0x7b, 0x1b, 0x75,
1732 0x82, 0xe2, 0x98, 0x4e, 0x24, 0x55, 0xd4, 0xbd,
1733 0x14, 0xde, 0x58, 0x56, 0x3a, 0x5d, 0x4e, 0x57,
1734 0x0d, 0x54, 0x74, 0xe8, 0x86, 0x8c, 0xcb, 0x07,
1735 0x9f, 0x0b, 0xfb, 0xc2, 0x08, 0x5c, 0xd7, 0x05,
1736 0x3b, 0xc8, 0xd2, 0x15, 0x68, 0x8f, 0x3d, 0x3c,
1737 0x4e, 0x85, 0xa9, 0x25, 0x6f, 0xf5, 0x2e, 0xca,
1738 0xca, 0xa8, 0x27, 0x89, 0x61, 0x4e, 0x1f, 0x57,
1739 0x2d, 0x99, 0x10, 0x3f, 0xbc, 0x9e, 0x96, 0x5e,
1740 0x2f, 0x0a, 0x25, 0xa7, 0x5c, 0xea, 0x65, 0x2a,
1741 0x22, 0x35, 0xa3, 0xf9, 0x13, 0x89, 0x05, 0x2e,
1742 0x19, 0x73, 0x1d, 0x70, 0x74, 0x98, 0x15, 0x4b,
1743 0xab, 0x56, 0x52, 0xe0, 0x01, 0x42, 0x95, 0x6a,
1744 0x46, 0x2c, 0x78, 0xff, 0x26, 0xbc, 0x48, 0x10,
1745 0x38, 0x25, 0xab, 0x32, 0x7c, 0x79, 0x7c, 0x5d,
1746 0x6f, 0x45, 0x54, 0x74, 0x2d, 0x93, 0x56, 0x52,
1747 0x11, 0x34, 0x1e, 0xe3, 0x4b, 0x6a, 0x17, 0x4f,
1748 0x37, 0x14, 0x75, 0xac, 0xa3, 0xa1, 0xca, 0xda,
1749 0x38, 0x06, 0xa9, 0x78, 0xb9, 0x5d, 0xd0, 0x59,
1750 0x1b, 0x5d, 0x1e, 0xc2, 0x0b, 0xfb, 0x39, 0x37,
1751 0x44, 0x85, 0xb6, 0x36, 0x06, 0x95, 0xbc, 0x15,
1752 0x35, 0xb9, 0xe6, 0x27, 0x42, 0xe3, 0xc8, 0xec,
1753 0x30, 0x37, 0x20, 0x26, 0x9a, 0x11, 0x61, 0xc0,
1754 0xdb, 0xb2, 0x5a, 0x26, 0x78, 0x27, 0xb9, 0x13,
1755 0xc9, 0x1a, 0xa7, 0x67, 0x93, 0xe8, 0xbe, 0xcb,
1756 };
1757
1758 #define rsa_sigverx931_1_n rsa_sigverx931_0_n
1759 #define rsa_sigverx931_1_e rsa_sigverx931_0_e
1760 static const unsigned char rsa_sigverx931_1_msg[] = {
1761 0x79, 0x02, 0xb9, 0xd2, 0x3e, 0x84, 0x02, 0xc8,
1762 0x2a, 0x94, 0x92, 0x14, 0x8d, 0xd5, 0xd3, 0x8d,
1763 0xb2, 0xf6, 0x00, 0x8b, 0x61, 0x2c, 0xd2, 0xf9,
1764 0xa8, 0xe0, 0x5d, 0xac, 0xdc, 0xa5, 0x34, 0xf3,
1765 0xda, 0x6c, 0xd4, 0x70, 0x92, 0xfb, 0x40, 0x26,
1766 0xc7, 0x9b, 0xe8, 0xd2, 0x10, 0x11, 0xcf, 0x7f,
1767 0x23, 0xd0, 0xed, 0x55, 0x52, 0x6d, 0xd3, 0xb2,
1768 0x56, 0x53, 0x8d, 0x7c, 0x4c, 0xb8, 0xcc, 0xb5,
1769 0xfd, 0xd0, 0x45, 0x4f, 0x62, 0x40, 0x54, 0x42,
1770 0x68, 0xd5, 0xe5, 0xdd, 0xf0, 0x76, 0x94, 0x59,
1771 0x1a, 0x57, 0x13, 0xb4, 0xc3, 0x70, 0xcc, 0xbd,
1772 0x4c, 0x2e, 0xc8, 0x6b, 0x9d, 0x68, 0xd0, 0x72,
1773 0x6a, 0x94, 0xd2, 0x18, 0xb5, 0x3b, 0x86, 0x45,
1774 0x95, 0xaa, 0x50, 0xda, 0x35, 0xeb, 0x69, 0x44,
1775 0x1f, 0xf3, 0x3a, 0x51, 0xbb, 0x1d, 0x08, 0x42,
1776 0x12, 0xd7, 0xd6, 0x21, 0xd8, 0x9b, 0x87, 0x55,
1777 };
1778
1779 static const unsigned char rsa_sigverx931_1_sig[] = {
1780 0x3b, 0xba, 0xb3, 0xb1, 0xb2, 0x6a, 0x29, 0xb5,
1781 0xf9, 0x94, 0xf1, 0x00, 0x5c, 0x16, 0x67, 0x67,
1782 0x73, 0xd3, 0xde, 0x7e, 0x07, 0xfa, 0xaa, 0x95,
1783 0xeb, 0x5a, 0x55, 0xdc, 0xb2, 0xa9, 0x70, 0x5a,
1784 0xee, 0x8f, 0x8d, 0x69, 0x85, 0x2b, 0x00, 0xe3,
1785 0xdc, 0xe2, 0x73, 0x9b, 0x68, 0xeb, 0x93, 0x69,
1786 0x08, 0x03, 0x17, 0xd6, 0x50, 0x21, 0x14, 0x23,
1787 0x8c, 0xe6, 0x54, 0x3a, 0xd9, 0xfc, 0x8b, 0x14,
1788 0x81, 0xb1, 0x8b, 0x9d, 0xd2, 0xbe, 0x58, 0x75,
1789 0x94, 0x74, 0x93, 0xc9, 0xbb, 0x4e, 0xf6, 0x1f,
1790 0x73, 0x7d, 0x1a, 0x5f, 0xbd, 0xbf, 0x59, 0x37,
1791 0x5b, 0x98, 0x54, 0xad, 0x3a, 0xef, 0xa0, 0xef,
1792 0xcb, 0xc3, 0xe8, 0x84, 0xd8, 0x3d, 0xf5, 0x60,
1793 0xb8, 0xc3, 0x8d, 0x1e, 0x78, 0xa0, 0x91, 0x94,
1794 0xb7, 0xd7, 0xb1, 0xd4, 0xe2, 0xee, 0x81, 0x93,
1795 0xfc, 0x41, 0xf0, 0x31, 0xbb, 0x03, 0x52, 0xde,
1796 0x80, 0x20, 0x3a, 0x68, 0xe6, 0xc5, 0x50, 0x1b,
1797 0x08, 0x3f, 0x40, 0xde, 0xb3, 0xe5, 0x81, 0x99,
1798 0x7f, 0xdb, 0xb6, 0x5d, 0x61, 0x27, 0xd4, 0xfb,
1799 0xcd, 0xc5, 0x7a, 0xea, 0xde, 0x7a, 0x66, 0xef,
1800 0x55, 0x3f, 0x85, 0xea, 0x84, 0xc5, 0x0a, 0xf6,
1801 0x3c, 0x40, 0x38, 0xf7, 0x6c, 0x66, 0xe5, 0xbe,
1802 0x61, 0x41, 0xd3, 0xb1, 0x08, 0xe1, 0xb4, 0xf9,
1803 0x6e, 0xf6, 0x0e, 0x4a, 0x72, 0x6c, 0x61, 0x63,
1804 0x3e, 0x41, 0x33, 0x94, 0xd6, 0x27, 0xa4, 0xd9,
1805 0x3a, 0x20, 0x2b, 0x39, 0xea, 0xe5, 0x82, 0x48,
1806 0xd6, 0x5b, 0x58, 0x85, 0x44, 0xb0, 0xd2, 0xfd,
1807 0xfb, 0x3e, 0xeb, 0x78, 0xac, 0xbc, 0xba, 0x16,
1808 0x92, 0x0e, 0x20, 0xc1, 0xb2, 0xd1, 0x92, 0xa8,
1809 0x00, 0x88, 0xc0, 0x41, 0x46, 0x38, 0xb6, 0x54,
1810 0x70, 0x0c, 0x00, 0x62, 0x97, 0x6a, 0x8e, 0x66,
1811 0x5a, 0xa1, 0x6c, 0xf7, 0x6d, 0xc2, 0x27, 0x56,
1812 0x60, 0x5b, 0x0c, 0x52, 0xac, 0x5c, 0xae, 0x99,
1813 0x55, 0x11, 0x62, 0x52, 0x09, 0x48, 0x53, 0x90,
1814 0x3c, 0x0b, 0xd4, 0xdc, 0x7b, 0xe3, 0x4c, 0xe3,
1815 0xa8, 0x6d, 0xc5, 0xdf, 0xc1, 0x5c, 0x59, 0x25,
1816 0x99, 0x30, 0xde, 0x57, 0x6a, 0x84, 0x25, 0x34,
1817 0x3e, 0x64, 0x11, 0xdb, 0x7a, 0x82, 0x8e, 0x70,
1818 0xd2, 0x5c, 0x0e, 0x81, 0xa0, 0x24, 0x53, 0x75,
1819 0x98, 0xd6, 0x10, 0x01, 0x6a, 0x14, 0xed, 0xc3,
1820 0x6f, 0xc4, 0x18, 0xb8, 0xd2, 0x9f, 0x59, 0x53,
1821 0x81, 0x3a, 0x86, 0x31, 0xfc, 0x9e, 0xbf, 0x6c,
1822 0x52, 0x93, 0x86, 0x9c, 0xaa, 0x6c, 0x6f, 0x07,
1823 0x8a, 0x40, 0x33, 0x64, 0xb2, 0x70, 0x48, 0x85,
1824 0x05, 0x59, 0x65, 0x2d, 0x6b, 0x9a, 0xad, 0xab,
1825 0x20, 0x7e, 0x02, 0x6d, 0xde, 0xcf, 0x22, 0x0b,
1826 0xea, 0x6e, 0xbd, 0x1c, 0x39, 0x3a, 0xfd, 0xa4,
1827 0xde, 0x54, 0xae, 0xde, 0x5e, 0xf7, 0xb0, 0x6d,
1828 };
1829
1830 static const struct rsa_sigver_st rsa_sigver_data[] = {
1831 {
1832 "pkcs1", /* pkcs1v1.5 */
1833 2048,
1834 "SHA224",
1835 ITM(rsa_sigver15_0_msg),
1836 ITM(rsa_sigver15_0_n),
1837 ITM(rsa_sigver15_0_e),
1838 ITM(rsa_sigver15_0_sig),
1839 NO_PSS_SALT_LEN,
1840 PASS
1841 },
1842 {
1843 "pkcs1", /* pkcs1v1.5 */
1844 2048,
1845 "SHA224",
1846 ITM(rsa_sigver15_1_msg),
1847 ITM(rsa_sigver15_1_n),
1848 ITM(rsa_sigver15_1_e),
1849 ITM(rsa_sigver15_1_sig),
1850 NO_PSS_SALT_LEN,
1851 FAIL
1852 },
1853 {
1854 "x931",
1855 3072,
1856 "SHA1",
1857 ITM(rsa_sigverx931_0_msg),
1858 ITM(rsa_sigverx931_0_n),
1859 ITM(rsa_sigverx931_0_e),
1860 ITM(rsa_sigverx931_0_sig),
1861 NO_PSS_SALT_LEN,
1862 PASS
1863 },
1864 {
1865 "x931",
1866 3072,
1867 "SHA256",
1868 ITM(rsa_sigverx931_1_msg),
1869 ITM(rsa_sigverx931_1_n),
1870 ITM(rsa_sigverx931_1_e),
1871 ITM(rsa_sigverx931_1_sig),
1872 NO_PSS_SALT_LEN,
1873 FAIL
1874 },
1875 {
1876 "pss",
1877 4096,
1878 "SHA384",
1879 ITM(rsa_sigverpss_0_msg),
1880 ITM(rsa_sigverpss_0_n),
1881 ITM(rsa_sigverpss_0_e),
1882 ITM(rsa_sigverpss_0_sig),
1883 62,
1884 PASS
1885 },
1886 {
1887 "pss",
1888 4096,
1889 "SHA384",
1890 ITM(rsa_sigverpss_1_msg),
1891 ITM(rsa_sigverpss_1_n),
1892 ITM(rsa_sigverpss_1_e),
1893 ITM(rsa_sigverpss_1_sig),
1894 62,
1895 FAIL
1896 },
1897 };
1898
1899 struct rsa_decrypt_prim_st {
1900 const unsigned char *ct;
1901 size_t ct_len;
1902 };
1903
1904 static const unsigned char rsa_decrypt_prim_0_ct[] = {
1905 0x09, 0x7e, 0x82, 0xfe, 0xc7, 0x24, 0x65, 0xe0,
1906 0x49, 0x2e, 0x78, 0xed, 0xf4, 0x7d, 0x05, 0x0d,
1907 0xff, 0x2f, 0x1a, 0x95, 0xeb, 0x74, 0x60, 0x3d,
1908 0xd3, 0x3a, 0xec, 0x8a, 0x2c, 0x8b, 0x00, 0xa5,
1909 0x75, 0x2c, 0x87, 0x7b, 0xa5, 0x76, 0x08, 0xee,
1910 0x99, 0xab, 0x5b, 0x21, 0x69, 0x90, 0x72, 0x0d,
1911 0x55, 0xe4, 0x7d, 0x1d, 0xcb, 0xaa, 0xeb, 0x32,
1912 0x24, 0xf7, 0xce, 0x95, 0xb5, 0x3e, 0x0e, 0x57,
1913 0xd4, 0x2a, 0x5b, 0xfc, 0x1f, 0xf7, 0x28, 0x3f,
1914 0xd6, 0x31, 0x36, 0x92, 0xc5, 0x13, 0xe3, 0x4e,
1915 0x28, 0x53, 0xbe, 0x60, 0x5f, 0x82, 0x12, 0x7a,
1916 0x50, 0xe6, 0x91, 0x40, 0xcf, 0x52, 0x3a, 0xd2,
1917 0x15, 0x20, 0xd5, 0x82, 0x6d, 0x5e, 0xab, 0x47,
1918 0xd1, 0x2d, 0x00, 0xf5, 0xea, 0xf4, 0x68, 0x88,
1919 0x38, 0x43, 0xd6, 0xcb, 0xaa, 0xd0, 0xd1, 0x75,
1920 0xe6, 0x87, 0x5f, 0xd1, 0x89, 0xd3, 0x57, 0x1b,
1921 0xf2, 0x45, 0x8a, 0x92, 0xe6, 0x95, 0xb8, 0x99,
1922 0x80, 0xe9, 0xe6, 0x5f, 0x2b, 0x48, 0x2b, 0xb3,
1923 0x2b, 0x80, 0x56, 0xf8, 0xd4, 0x96, 0x44, 0xb5,
1924 0xae, 0x6d, 0x4a, 0x3d, 0x7b, 0x0a, 0x54, 0x3c,
1925 0xa8, 0x21, 0x8b, 0x64, 0x96, 0xea, 0xc2, 0xef,
1926 0x60, 0xbb, 0xd3, 0x4e, 0xaf, 0x6c, 0x5b, 0x06,
1927 0x57, 0xe8, 0x5e, 0x2c, 0x87, 0x46, 0x12, 0xeb,
1928 0xfb, 0xe2, 0xdb, 0x7b, 0xac, 0x09, 0x8b, 0xa0,
1929 0x98, 0x6e, 0xc6, 0x3f, 0x98, 0xdd, 0x7d, 0xc6,
1930 0xc6, 0x32, 0xc2, 0xcc, 0x73, 0xe2, 0x15, 0xde,
1931 0xb2, 0x0f, 0x41, 0x08, 0x1e, 0x2e, 0xba, 0x93,
1932 0x65, 0x94, 0xab, 0x84, 0x0e, 0x1e, 0xda, 0x1b,
1933 0xf0, 0xe0, 0x13, 0x13, 0xe2, 0xa5, 0x31, 0xb8,
1934 0x80, 0xc1, 0x38, 0xc5, 0x08, 0x09, 0x0a, 0xe2,
1935 0x78, 0x7d, 0xd6, 0xcf, 0x8d, 0x6b, 0xe8, 0x1b,
1936 0x47, 0x83, 0x80, 0x71, 0xe2, 0xd3, 0x01, 0xbc,
1937 };
1938
1939 static const unsigned char rsa_decrypt_prim_1_ct[] = {
1940 0xff, 0xd5, 0xaa, 0x3f, 0x0c, 0x7c, 0x78, 0x7e,
1941 0xe3, 0x8a, 0x4f, 0xcc, 0x20, 0x3f, 0x51, 0xe5,
1942 0xf4, 0x9c, 0xc5, 0x62, 0xcc, 0xa3, 0xcb, 0xce,
1943 0x39, 0x80, 0x35, 0xef, 0xd5, 0x95, 0x56, 0xcb,
1944 0xb2, 0x62, 0x8c, 0xe6, 0x8b, 0x20, 0xe4, 0x36,
1945 0xae, 0xe8, 0x07, 0x07, 0xc2, 0x23, 0x6a, 0xfc,
1946 0x83, 0xf0, 0x04, 0x88, 0x19, 0xf8, 0x9f, 0x5c,
1947 0x59, 0x4d, 0xb3, 0x81, 0x86, 0x9d, 0x3b, 0x61,
1948 0x73, 0x31, 0x03, 0xec, 0x9c, 0xdd, 0x75, 0xb7,
1949 0x37, 0x0a, 0x8d, 0x94, 0xd9, 0x9f, 0x6d, 0x85,
1950 0xb0, 0x5c, 0x08, 0xcc, 0xb4, 0x27, 0x8c, 0xf0,
1951 0xe6, 0xd6, 0xe0, 0xc1, 0x57, 0x59, 0xaa, 0xc7,
1952 0x8f, 0x5c, 0xa7, 0x4b, 0x3c, 0x81, 0x4a, 0xa3,
1953 0x9b, 0x18, 0x88, 0x04, 0x98, 0x54, 0x3d, 0x87,
1954 0x2a, 0x89, 0xb6, 0x41, 0xe8, 0xbd, 0x37, 0x17,
1955 0x03, 0xa8, 0xf1, 0x37, 0xa5, 0x5e, 0x02, 0x13,
1956 0x67, 0x08, 0xec, 0x9e, 0x97, 0xf5, 0xcc, 0x5f,
1957 0x75, 0x37, 0xbe, 0xce, 0xe8, 0x5e, 0xa1, 0xca,
1958 0x46, 0xa3, 0xda, 0xe4, 0x1f, 0xf8, 0xc4, 0xa3,
1959 0x26, 0xbb, 0xed, 0xa2, 0x71, 0xb2, 0x44, 0x00,
1960 0xd3, 0xe5, 0x06, 0xf1, 0xb4, 0xc1, 0xe0, 0x29,
1961 0xca, 0xeb, 0xe0, 0xdf, 0xd1, 0x69, 0x5f, 0xa9,
1962 0x03, 0x7c, 0x49, 0x93, 0xfb, 0xc2, 0xdf, 0x39,
1963 0xbc, 0x2a, 0x6b, 0x59, 0x7d, 0xf4, 0x84, 0x93,
1964 0xa2, 0x8b, 0x7a, 0x5a, 0x7a, 0xa9, 0xff, 0x41,
1965 0x4c, 0x52, 0x5c, 0xf9, 0x59, 0xd2, 0x91, 0xc3,
1966 0xa9, 0xe8, 0x23, 0x36, 0x5f, 0x2f, 0xb9, 0xbe,
1967 0x22, 0xc4, 0xfd, 0x84, 0x5f, 0x81, 0x3d, 0x94,
1968 0xf8, 0xa4, 0x9b, 0xae, 0xc0, 0xb5, 0x78, 0x4f,
1969 0x91, 0x76, 0x02, 0x5d, 0x60, 0x71, 0x8b, 0xeb,
1970 0x08, 0x42, 0xe3, 0xb3, 0x63, 0x05, 0x60, 0x59,
1971 0x98, 0xc1, 0x6d, 0x66, 0xb3, 0xc5, 0x8a, 0xbc,
1972 };
1973
1974 static const struct rsa_decrypt_prim_st rsa_decrypt_prim_data[] = {
1975 {
1976 ITM(rsa_decrypt_prim_0_ct),
1977 },
1978 {
1979 ITM(rsa_decrypt_prim_1_ct),
1980 },
1981 };
1982
1983 struct drbg_st {
1984 const char *drbg_name;
1985 const char *cipher;
1986 int use_df;
1987
1988 const unsigned char *entropy_input;
1989 size_t entropy_input_len;
1990 const unsigned char *nonce;
1991 size_t nonce_len;
1992 const unsigned char *returned_bits;
1993 size_t returned_bits_len;
1994 };
1995
1996 static const unsigned char drbg_entropy_input[] = {
1997 0x36, 0x40, 0x19, 0x40, 0xfa, 0x8b, 0x1f, 0xba,
1998 0x91, 0xa1, 0x66, 0x1f, 0x21, 0x1d, 0x78, 0xa0,
1999 0xb9, 0x38, 0x9a, 0x74, 0xe5, 0xbc, 0xcf, 0xec,
2000 0xe8, 0xd7, 0x66, 0xaf, 0x1a, 0x6d, 0x3b, 0x14
2001 };
2002
2003 static const unsigned char drbg_nonce[] = {
2004 0x49, 0x6f, 0x25, 0xb0, 0xf1, 0x30, 0x1b, 0x4f,
2005 0x50, 0x1b, 0xe3, 0x03, 0x80, 0xa1, 0x37, 0xeb
2006 };
2007
2008 static const unsigned char drbg_returned_bits[] = {
2009 0x58, 0x62, 0xeb, 0x38, 0xbd, 0x55, 0x8d, 0xd9,
2010 0x78, 0xa6, 0x96, 0xe6, 0xdf, 0x16, 0x47, 0x82,
2011 0xdd, 0xd8, 0x87, 0xe7, 0xe9, 0xa6, 0xc9, 0xf3,
2012 0xf1, 0xfb, 0xaf, 0xb7, 0x89, 0x41, 0xb5, 0x35,
2013 0xa6, 0x49, 0x12, 0xdf, 0xd2, 0x24, 0xc6, 0xdc,
2014 0x74, 0x54, 0xe5, 0x25, 0x0b, 0x3d, 0x97, 0x16,
2015 0x5e, 0x16, 0x26, 0x0c, 0x2f, 0xaf, 0x1c, 0xc7,
2016 0x73, 0x5c, 0xb7, 0x5f, 0xb4, 0xf0, 0x7e, 0x1d
2017 };
2018
2019 static const unsigned char drbg_key_0[] = {
2020 0x33, 0x63, 0xd9, 0x00, 0x0e, 0x6d, 0xb4, 0x7c,
2021 0x16, 0xd3, 0xfc, 0x65, 0xf2, 0x87, 0x2c, 0x08,
2022 0xa3, 0x5f, 0x99, 0xb2, 0xd1, 0x74, 0xaf, 0xa5,
2023 0x37, 0xa6, 0x6e, 0xc1, 0x53, 0x05, 0x2d, 0x98
2024 };
2025
2026 static const struct drbg_st drbg_data[] = {
2027 {
2028 "CTR-DRBG",
2029 "AES-256-CTR",
2030 1,
2031 ITM(drbg_entropy_input),
2032 ITM(drbg_nonce),
2033 ITM(drbg_returned_bits)
2034 }
2035 };