xref: /onnv-gate/usr/src/common/crypto/fips/fips_test_vectors.c (revision 12929:f2051cc42292)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 
22 /*
23  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24  */
25 
26 #include <sys/types.h>
27 
28 /*
29  * AES ECB/CBC test vectors
30  */
31 
32 /* AES Known Key (up to 256-bits). */
33 uint8_t aes_known_key[] = {
34 	'A', 'E', 'S', '-', '1', '2', '8', ' ',
35 	'R', 'I', 'J', 'N', 'D', 'A', 'E', 'L',
36 	'L', 'E', 'A', 'D', 'N', 'J', 'I', 'R',
37 	' ', '8', '2', '1', '-', 'S', 'E', 'A'
38 };
39 
40 /* AES-CBC Known Initialization Vector (128-bits). */
41 uint8_t aes_cbc_known_initialization_vector[] = {
42 	'S', 'e', 'c', 'u', 'r', 'i', 't', 'y',
43 	'y', 't', 'i', 'r', 'u', 'c', 'e', 'S'
44 };
45 
46 /* AES Known Plaintext (128-bits). (blocksize is 128-bits) */
47 uint8_t aes_known_plaintext[] = {
48 	'S', 'u', 'n', ' ', 'O', 'p', 'e', 'n',
49 	' ', 'S', 'o', 'l', 'a', 'r', 'i', 's'
50 };
51 
52 /* AES Known Ciphertext (128-bit key). */
53 uint8_t aes_ecb128_known_ciphertext[] = {
54 	0xcc, 0xd1, 0xd0, 0xf3, 0xfd, 0x44, 0xb1, 0x4d,
55 	0xfe, 0x33, 0x20, 0x72, 0x3c, 0xf3, 0x4d, 0x27
56 };
57 
58 uint8_t aes_cbc128_known_ciphertext[]  = {
59 	0x59, 0x34, 0x55, 0xd1, 0x89, 0x9b, 0xf4, 0xa5,
60 	0x16, 0x2c, 0x4c, 0x14, 0xd3, 0xe2, 0xe5, 0xed
61 };
62 
63 /* AES Known Ciphertext (192-bit key). */
64 uint8_t aes_ecb192_known_ciphertext[] = {
65 	0xa3, 0x78, 0x10, 0x44, 0xd8, 0xee, 0x8a, 0x98,
66 	0x41, 0xa4, 0xeb, 0x96, 0x57, 0xd8, 0xa0, 0xc5
67 };
68 
69 uint8_t aes_cbc192_known_ciphertext[]  = {
70 	0x22, 0x9c, 0x68, 0xc6, 0x86, 0x68, 0xcc, 0x6a,
71 	0x56, 0x2c, 0xb8, 0xe0, 0x16, 0x4e, 0x8b, 0x78
72 };
73 
74 /* AES Known Ciphertext (256-bit key). */
75 uint8_t aes_ecb256_known_ciphertext[] = {
76 	0xe4, 0x65, 0x92, 0x7f, 0xd0, 0xdd, 0x59, 0x49,
77 	0x79, 0xc3, 0xac, 0x96, 0x30, 0xad, 0x32, 0x52
78 };
79 
80 uint8_t aes_cbc256_known_ciphertext[]  = {
81 	0xd9, 0x44, 0x43, 0xe8, 0xdb, 0x60, 0x6b, 0xde,
82 	0xc2, 0x84, 0xbf, 0xb9, 0xaf, 0x43, 0x3f, 0x51
83 };
84 
85 /* AES-CTR Known Key (128-bits). */
86 uint8_t aes_ctr128_known_key[] = {
87 	0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
88 	0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
89 };
90 
91 /* AES-CTR Known Key (192-bits). */
92 uint8_t aes_ctr192_known_key[] = {
93 	0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52,
94 	0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5,
95 	0x62, 0xf8, 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b
96 };
97 
98 /* AES-CTR Known Key (256-bits). */
99 uint8_t aes_ctr256_known_key[] = {
100 	0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe,
101 	0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
102 	0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
103 	0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4
104 };
105 
106 /* AES-CTR Known Initialization Counter (128-bits). */
107 uint8_t aes_ctr_known_counter[] = {
108 	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
109 	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
110 };
111 
112 /* AES-CTR Known Plaintext (128-bits). */
113 uint8_t aes_ctr_known_plaintext[] = {
114 	0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
115 	0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a
116 };
117 
118 /* AES-CTR Known Ciphertext. */
119 uint8_t aes_ctr128_known_ciphertext[] = {
120 	0x87, 0x4d, 0x61, 0x91, 0xb6, 0x20, 0xe3, 0x26,
121 	0x1b, 0xef, 0x68, 0x64, 0x99, 0x0d, 0xb6, 0xce
122 };
123 
124 uint8_t aes_ctr192_known_ciphertext[]  = {
125 	0x1a, 0xbc, 0x93, 0x24, 0x17, 0x52, 0x1c, 0xa2,
126 	0x4f, 0x2b, 0x04, 0x59, 0xfe, 0x7e, 0x6e, 0x0b
127 };
128 
129 uint8_t aes_ctr256_known_ciphertext[]  = {
130 	0x60, 0x1e, 0xc3, 0x13, 0x77, 0x57, 0x89, 0xa5,
131 	0xb7, 0xa7, 0xf5, 0x04, 0xbb, 0xf3, 0xd2, 0x28
132 };
133 
134 /* AES-CCM Known Key (128-bits). */
135 uint8_t aes_ccm128_known_key[] = {
136 	0x06, 0xfd, 0xf0, 0x83, 0xb5, 0xcb, 0x3b, 0xc7,
137 	0xc0, 0x6d, 0x4d, 0xe5, 0xa6, 0x34, 0xc6, 0x50
138 };
139 
140 /* AES-CCM Known Key (192-bits). */
141 uint8_t aes_ccm192_known_key[] = {
142 	0xde, 0x91, 0x08, 0x63, 0xbe, 0x59, 0xb8, 0x7a,
143 	0x45, 0x9b, 0xa6, 0xce, 0x2d, 0x7e, 0x71, 0x56,
144 	0x1c, 0x5c, 0x15, 0xea, 0x1b, 0x6b, 0x05, 0x06
145 };
146 
147 /* AES-CCM Known Key (256-bits). */
148 uint8_t aes_ccm256_known_key[] = {
149 	0x84, 0x9c, 0x1d, 0xeb, 0x80, 0xf8, 0x5b, 0x7d,
150 	0x25, 0x33, 0x64, 0x75, 0x4b, 0xdc, 0x5d, 0xf0,
151 	0xe8, 0x1c, 0x98, 0x8a, 0x78, 0x8f, 0x15, 0xd1,
152 	0xa2, 0x52, 0x49, 0xfa, 0x18, 0x5e, 0x1f, 0xd3
153 };
154 
155 /* AES-CCM Known Nonce Nlen = 7 bytes (for 128-bits key). */
156 uint8_t aes_ccm128_known_nonce[] = {
157 	0xfd, 0xe2, 0xd5, 0x4c, 0x65, 0x4e, 0xe4
158 };
159 
160 /* AES-CCM Known Nonce Nlen = 7 bytes (192-bits). */
161 uint8_t aes_ccm192_known_nonce[] = {
162 	0xcf, 0xb3, 0x48, 0xfa, 0x04, 0x36, 0xa2
163 };
164 
165 /* AES-CCM Known Nonce Nlen = 7 bytes (256-bits). */
166 uint8_t aes_ccm256_known_nonce[] = {
167 	0x75, 0xa5, 0x5b, 0x58, 0x33, 0x9d, 0x1c
168 };
169 
170 /* AES-CCM Known Adata Alen = 30 bytes (128-bits). */
171 uint8_t aes_ccm128_known_adata[] = {
172 	0xe0, 0xdf, 0xfc, 0x4c, 0x92, 0x90, 0xd8, 0x28,
173 	0xef, 0xe7, 0xc6, 0xbe, 0x4a, 0xbc, 0xd1, 0x3e,
174 	0x23, 0x61, 0x92, 0x2f, 0xfa, 0x27, 0xa4, 0x0e,
175 	0x61, 0x24, 0x58, 0x38, 0x55, 0x33
176 };
177 
178 /* AES-CCM Known Adata Alen = 30 bytes (192-bits). */
179 uint8_t aes_ccm192_known_adata[] = {
180 	0x4c, 0x5b, 0x4f, 0xfe, 0x80, 0xba, 0x7a, 0xe5,
181 	0xd3, 0xe8, 0xbc, 0xf6, 0x55, 0x83, 0xcf, 0x58,
182 	0xa2, 0x82, 0x59, 0x65, 0xba, 0xbd, 0x63, 0x53,
183 	0x0c, 0xb0, 0x0c, 0x14, 0xd4, 0x7b
184 };
185 
186 /* AES-CCM Known Adata Alen = 30 bytes (256-bits). */
187 uint8_t aes_ccm256_known_adata[] = {
188 	0x27, 0xb7, 0xec, 0x91, 0x08, 0xe1, 0x4d, 0x12,
189 	0xd3, 0xd3, 0xb8, 0x49, 0x09, 0xde, 0xd0, 0x9a,
190 	0x8f, 0x23, 0xbf, 0xd6, 0x02, 0x9b, 0x2a, 0x5e,
191 	0x4a, 0x5a, 0x63, 0x8c, 0x72, 0x14
192 };
193 /* AES-CCM Known Payload Plen = 32 bytes (128-bits). */
194 uint8_t aes_ccm128_known_plaintext[] = {
195 	0x77, 0xca, 0xdf, 0xa5, 0xb1, 0x23, 0xfe, 0x07,
196 	0x8d, 0xca, 0x94, 0xe2, 0x66, 0x3f, 0x73, 0xd0,
197 	0x3f, 0x0b, 0x4d, 0xc8, 0x05, 0xf6, 0x1c, 0xef,
198 	0x13, 0x79, 0xc0, 0xb1, 0xfc, 0x76, 0xea, 0x11
199 };
200 
201 /* AES-CCM Known Payload Plen = 32 bytes (192-bits). */
202 uint8_t aes_ccm192_known_plaintext[] = {
203 	0xf9, 0x8a, 0x58, 0x59, 0x44, 0x2d, 0x2a, 0xf9,
204 	0x65, 0x03, 0x36, 0x6d, 0x8a, 0x58, 0x29, 0xf9,
205 	0xef, 0x47, 0x44, 0x30, 0xf4, 0x7e, 0x0d, 0xcd,
206 	0x73, 0x41, 0x45, 0xdf, 0x50, 0xb2, 0x1b, 0x29
207 };
208 
209 /* AES-CCM Known Payload Plen = 32 bytes (256-bits). */
210 uint8_t aes_ccm256_known_plaintext[] = {
211 	0x25, 0x28, 0x3f, 0x05, 0x41, 0xd6, 0x66, 0x3b,
212 	0xdb, 0x8f, 0xe9, 0xe7, 0x7b, 0x06, 0xc0, 0xee,
213 	0xfe, 0xf6, 0xc9, 0x8b, 0x45, 0x08, 0x18, 0x4e,
214 	0x2e, 0xf7, 0x8e, 0x64, 0xc3, 0xf2, 0xad, 0x18
215 };
216 
217 /*
218  * AES-CCM Known Ciphertext
219  * Clen = 32 bytes + Tlen = 16 bytes (128-bits).
220  */
221 uint8_t aes_ccm128_known_ciphertext[] = {
222 	0x33, 0x50, 0x58, 0xbb, 0x5f, 0x13, 0x8d, 0xc9,
223 	0x5b, 0x2c, 0xa4, 0x50, 0x1d, 0x7f, 0xd4, 0xa5,
224 	0xb9, 0xb8, 0x71, 0x83, 0x8f, 0x82, 0x27, 0x5f,
225 	0x75, 0x3e, 0x30, 0xf9, 0x9d, 0xad, 0xc2, 0xe9,
226 	0x66, 0x93, 0x56, 0x98, 0x01, 0x1e, 0x3c, 0x11,
227 	0x74, 0xdb, 0x9b, 0xca, 0xce, 0x0f, 0xc3, 0x35
228 };
229 
230 /*
231  * AES-CCM Known Ciphertext
232  * Clen = 32 bytes + Tlen = 16 bytes (192-bits).
233  */
234 uint8_t aes_ccm192_known_ciphertext[] = {
235 	0xa7, 0x40, 0xd0, 0x25, 0xbd, 0x3e, 0x8f, 0xd5,
236 	0x28, 0x3e, 0xee, 0xaa, 0xf9, 0xa7, 0xfc, 0xf2,
237 	0x33, 0xf6, 0x69, 0xb8, 0xdc, 0x9c, 0x74, 0xb1,
238 	0x46, 0xf4, 0xd6, 0xcc, 0x0a, 0x16, 0x12, 0x0c,
239 	0x7c, 0x3c, 0x43, 0x76, 0x94, 0xf6, 0x9a, 0x14,
240 	0xa0, 0xfb, 0xab, 0x9c, 0x2c, 0xd3, 0x5c, 0x09
241 };
242 
243 /*
244  * AES-CCM Known Ciphertext
245  * Clen = 32 bytes + Tlen = 16 bytes (256-bits).
246  */
247 uint8_t aes_ccm256_known_ciphertext[] = {
248 	0xf6, 0x4d, 0x24, 0x69, 0x0e, 0xde, 0xc9, 0xc0,
249 	0x1e, 0x42, 0xc0, 0x78, 0x29, 0xcf, 0xdb, 0xfe,
250 	0xab, 0x52, 0x9a, 0xb1, 0x07, 0xe4, 0xac, 0xdf,
251 	0x48, 0x46, 0x46, 0xc1, 0xe2, 0xb2, 0x0f, 0x36,
252 	0x5f, 0xeb, 0x44, 0xcf, 0xa8, 0x80, 0x80, 0x23,
253 	0xc9, 0xee, 0xc7, 0x56, 0x24, 0x63, 0x6e, 0x7e
254 };
255 
256 /* AES-GCM Known Key (128-bits). */
257 uint8_t aes_gcm128_known_key[] = {
258 	0x7d, 0xf9, 0x9c, 0xdf, 0x7d, 0x00, 0xd9, 0xea,
259 	0xd3, 0x85, 0x17, 0x1b, 0x29, 0xae, 0xcf, 0xbc
260 };
261 
262 /* AES-GCM Known Key (192-bits). */
263 uint8_t aes_gcm192_known_key[] = {
264 	0x85, 0xf4, 0x34, 0x7a, 0xf5, 0x98, 0x1e, 0xd9,
265 	0x89, 0x85, 0x98, 0x1a, 0x53, 0xfc, 0xc5, 0xbf,
266 	0x53, 0x6c, 0x91, 0x4b, 0x18, 0x3c, 0xe8, 0x12
267 };
268 
269 /* AES-GCM Known Key (256-bits). */
270 uint8_t aes_gcm256_known_key[] = {
271 	0xee, 0xbc, 0x1f, 0x57, 0x48, 0x7f, 0x51, 0x92,
272 	0x1c, 0x04, 0x65, 0x66, 0x5f, 0x8a, 0xe6, 0xd1,
273 	0x65, 0x8b, 0xb2, 0x6d, 0xe6, 0xf8, 0xa0, 0x69,
274 	0xa3, 0x52, 0x02, 0x93, 0xa5, 0x72, 0x07, 0x8f
275 };
276 
277 /* AES-GCM Known Initialization Vector (128-bits). */
278 uint8_t aes_gcm128_known_iv[] = {
279 	0x27, 0x4c, 0x4e, 0xae, 0xfe, 0xef, 0xae, 0x26,
280 	0x80, 0xb0, 0xef, 0xd5
281 };
282 
283 /* AES-GCM Known Initialization Vector (192-bits). */
284 uint8_t aes_gcm192_known_iv[] = {
285 	0xd4, 0xfb, 0x33, 0xc6, 0x51, 0xc8, 0x86, 0xff,
286 	0x28, 0x80, 0xef, 0x96
287 };
288 
289 /* AES-GCM Known Initialization Vector (256-bits). */
290 uint8_t aes_gcm256_known_iv[] = {
291 	0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0,
292 	0xee, 0xd0, 0x66, 0x84
293 };
294 
295 /* AES-GCM Known AAD Alen = 16 bytes (128-bits). */
296 uint8_t aes_gcm128_known_adata[] = {
297 	0x60, 0xe8, 0xb0, 0x37, 0xec, 0xdf, 0x4d, 0x82,
298 	0x8c, 0x83, 0x0d, 0xcf, 0xc5, 0xce, 0xd4, 0x9c
299 };
300 
301 /* AES-GCM Known AAD Alen = 16 bytes (192-bits). */
302 uint8_t aes_gcm192_known_adata[] = {
303 	0x44, 0x3a, 0xdf, 0xad, 0xbb, 0x29, 0xd6, 0x8c,
304 	0x55, 0xe2, 0x02, 0x2d, 0xca, 0x62, 0x9b, 0x51
305 };
306 
307 /* AES-GCM Known AAD Alen = 16 bytes (256-bits). */
308 uint8_t aes_gcm256_known_adata[] = {
309 	0x4d, 0x23, 0xc3, 0xce, 0xc3, 0x34, 0xb4, 0x9b,
310 	0xdb, 0x37, 0x0c, 0x43, 0x7f, 0xec, 0x78, 0xde
311 };
312 
313 /* AES-GCM Known Payload Plen = 16 bytes (128-bits). */
314 uint8_t aes_gcm128_known_plaintext[] = {
315 	0x99, 0x66, 0x7d, 0xc9, 0x62, 0xb3, 0x9f, 0x14,
316 	0x8c, 0xdd, 0xfe, 0x68, 0xf9, 0x0a, 0x43, 0xf9
317 };
318 /* AES-GCM Known Payload Plen = 16 bytes (192-bits). */
319 uint8_t aes_gcm192_known_plaintext[] = {
320 	0x7f, 0x9c, 0x08, 0x1d, 0x6a, 0xcc, 0xa8, 0xab,
321 	0x71, 0x75, 0xcb, 0xd0, 0x49, 0x42, 0xba, 0xad
322 };
323 /* AES-GCM Known Payload Plen = 16 bytes (256-bits). */
324 uint8_t aes_gcm256_known_plaintext[] = {
325 	0xf5, 0x6e, 0x87, 0x05, 0x5b, 0xc3, 0x2d, 0x0e,
326 	0xeb, 0x31, 0xb2, 0xea, 0xcc, 0x2b, 0xf2, 0xa5
327 };
328 
329 /* AES-GCM Known Ciphertext Clen = 16 bytes (128-bits) + tag */
330 uint8_t aes_gcm128_known_ciphertext[] = {
331 	0x2b, 0x5f, 0x57, 0xf2, 0x62, 0x27, 0xe0, 0x94,
332 	0xe7, 0xf8, 0x01, 0x23, 0xf9, 0xed, 0xbd, 0xe8,
333 	0x16, 0xee, 0x08, 0xb4, 0xd8, 0x07, 0xe5, 0xdb,
334 	0xd5, 0x70, 0x3c, 0xb3, 0xcf, 0x53, 0x8c, 0x14
335 };
336 
337 /* AES-GCM Known Ciphertext Clen = 16 bytes (192-bits) + tag */
338 uint8_t aes_gcm192_known_ciphertext[] = {
339 	0xdd, 0x7e, 0x7e, 0x45, 0x5b, 0x21, 0xd8, 0x84,
340 	0x3d, 0x7b, 0xc3, 0x1f, 0x21, 0x07, 0xf9, 0x55,
341 	0x9f, 0x0e, 0x8d, 0xe2, 0x6d, 0xb4, 0x95, 0xf5,
342 	0x91, 0x1f, 0xb6, 0x0c, 0xf5, 0xf2, 0x3a, 0xf9
343 };
344 
345 /* AES-GCM Known Ciphertext Clen = 16 bytes (256-bits)+ tag */
346 uint8_t aes_gcm256_known_ciphertext[] = {
347 	0xf7, 0x26, 0x44, 0x13, 0xa8, 0x4c, 0x0e, 0x7c,
348 	0xd5, 0x36, 0x86, 0x7e, 0xb9, 0xf2, 0x17, 0x36,
349 	0x67, 0xba, 0x05, 0x10, 0x26, 0x2a, 0xe4, 0x87,
350 	0xd7, 0x37, 0xee, 0x62, 0x98, 0xf7, 0x7e, 0x0c
351 };
352 
353 /*
354  * Source: NIST gcmEncryptExtIV128.txt
355  * Count = 0, [Keylen = 128], [IVlen = 96], [PTlen = 0],
356  * [AADlen = 128], [Taglen = 128]
357  *
358  * Source: NIST gcmEncryptExtIV192.txt
359  * Count = 0, [Keylen = 192], [IVlen = 96], [PTlen = 0],
360  * [AADlen = 128], [Taglen = 128]
361  *
362  * Source: NIST gcmEncryptExtIV256.txt
363  * Count = 0, [Keylen = 256], [IVlen = 96], [PTlen = 0],
364  * [AADlen = 128], [Taglen = 128]
365  */
366 
367 /* AES-GMAC Known Key (128-bits). */
368 uint8_t aes_gmac128_known_key[] = {
369 	0x7d, 0x70, 0xd2, 0x32, 0x48, 0xc4, 0x7e, 0xb3,
370 	0xd2, 0x73, 0xdf, 0x81, 0xed, 0x30, 0x24, 0xbd
371 };
372 
373 /* AES-GMAC Known Key (192-bits). */
374 uint8_t aes_gmac192_known_key[] = {
375 	0x03, 0x60, 0x22, 0xfe, 0x26, 0x9a, 0xdc, 0xad,
376 	0xb5, 0x73, 0x11, 0xa4, 0xa0, 0xed, 0x2a, 0x84,
377 	0x18, 0x34, 0xb8, 0xb6, 0xd8, 0xa0, 0x7f, 0x41
378 };
379 
380 /* AES-GMAC Known Key (256-bits). */
381 uint8_t aes_gmac256_known_key[] = {
382 	0xbb, 0x10, 0x10, 0x06, 0x4f, 0xb8, 0x35, 0x23,
383 	0xea, 0x9d, 0xf3, 0x2b, 0xad, 0x9f, 0x1f, 0x2a,
384 	0x4f, 0xce, 0xfc, 0x0f, 0x21, 0x07, 0xc0, 0xaa,
385 	0xba, 0xd9, 0xb7, 0x56, 0xd8, 0x09, 0x21, 0x9d
386 };
387 
388 /* AES-GMAC Known Initialization Vector (128-bits). */
389 uint8_t aes_gmac128_known_iv[] = {
390 	0xab, 0x53, 0x23, 0x33, 0xd6, 0x76, 0x51, 0x20,
391 	0x8b, 0x8c, 0x34, 0x85
392 };
393 
394 /* AES-GMAC Known Initialization Vector (192-bits). */
395 uint8_t aes_gmac192_known_iv[] = {
396 	0x85, 0x65, 0xb2, 0x15, 0x3a, 0x3f, 0x34, 0x9a,
397 	0x07, 0x31, 0x06, 0x79
398 };
399 
400 /* AES-GMAC Known Initialization Vector (256-bits). */
401 uint8_t aes_gmac256_known_iv[] = {
402 	0x2f, 0x9a, 0xd0, 0x12, 0xad, 0xfc, 0x12, 0x73,
403 	0x43, 0xfb, 0xe0, 0x56
404 };
405 
406 /* AES-GMAC Known Tag (128-bits). */
407 uint8_t aes_gmac128_known_tag[] = {
408 	0xcf, 0x89, 0x50, 0xa3, 0x10, 0xf5, 0xab, 0x8b,
409 	0x69, 0xd5, 0x00, 0x11, 0x1a, 0x44, 0xb0, 0x96
410 };
411 
412 /* AES-GMAC Known Tag (192-bits). */
413 uint8_t aes_gmac192_known_tag[] = {
414 	0x90, 0x21, 0xaf, 0x4c, 0xa0, 0x8d, 0x01, 0xef,
415 	0x82, 0x5a, 0x42, 0xf9, 0xbe, 0x3a, 0xb3, 0xe9
416 };
417 
418 /* AES-GMAC Known Tag (256-bits). */
419 uint8_t aes_gmac256_known_tag[] = {
420 	0xef, 0x06, 0xd5, 0x4d, 0xfd, 0x00, 0x02, 0x1d,
421 	0x75, 0x27, 0xdf, 0xf2, 0x6f, 0xc9, 0xd4, 0x84
422 };
423 
424 /* AES-GMAC Known AAD Alen = 16 bytes (128-bits). */
425 uint8_t aes_gmac128_known_adata[] = {
426 	0x7d, 0x1d, 0x42, 0xe8, 0x94, 0x60, 0xe9, 0x44,
427 	0xbf, 0xa4, 0x83, 0xdb, 0xe6, 0x92, 0xf0, 0x8d
428 };
429 
430 /* AES-GMAC Known AAD Alen = 16 bytes (192-bits). */
431 uint8_t aes_gmac192_known_adata[] = {
432 	0xad, 0xcf, 0x4f, 0xbb, 0xa0, 0xe0, 0x6a, 0x63,
433 	0x70, 0x71, 0x1a, 0x57, 0xf8, 0xdc, 0xd0, 0xc9
434 };
435 
436 /* AES-GMAC Known AAD Alen = 16 bytes (256-bits). */
437 uint8_t aes_gmac256_known_adata[] = {
438 	0xdb, 0x98, 0xd9, 0x0d, 0x1b, 0x69, 0x5c, 0xdb,
439 	0x74, 0x7a, 0x34, 0x3f, 0xbb, 0xc9, 0xf1, 0x41
440 };
441 
442 /* DES3 Known Key. */
443 uint8_t des3_known_key[] = {
444 	'A', 'N', 'S', 'I', ' ', 'T', 'r', 'i',
445 	'p', 'l', 'e', '-', 'D', 'E', 'S', ' ',
446 	'K', 'e', 'y', ' ', 'D', 'a', 't', 'a'
447 };
448 
449 /* DES3-CBC Known Initialization Vector (64-bits). */
450 uint8_t des3_cbc_known_iv[] = {
451 	'S', 'e', 'c', 'u', 'r', 'i', 't', 'y'
452 };
453 
454 /* DES3 Known Plaintext (64-bits). */
455 uint8_t des3_ecb_known_plaintext[] = {
456 	'S', 'o', 'l', 'a', 'r', 'i', 's', '!'
457 };
458 uint8_t des3_cbc_known_plaintext[] = {
459 	'S', 'o', 'l', 'a', 'r', 'i', 's', '!'
460 };
461 
462 /* DES3 Known Ciphertext (64-bits). */
463 uint8_t des3_ecb_known_ciphertext[] = {
464 	0x17, 0x0d, 0x1f, 0x13, 0xd3, 0xa0, 0x3a, 0x63
465 };
466 
467 uint8_t des3_cbc_known_ciphertext[] = {
468 	0x7f, 0x62, 0x44, 0xb3, 0xf8, 0x77, 0xf8, 0xf8
469 };
470 
471 
472 
473 /*
474  * SHA-1 Known Hash Message
475  * Source from NIST SHA1ShortMsg (L = 512-bits).
476  */
477 uint8_t sha1_known_hash_message[] = {
478 	0x7e, 0x3a, 0x4c, 0x32, 0x5c, 0xb9, 0xc5, 0x2b,
479 	0x88, 0x38, 0x7f, 0x93, 0xd0, 0x1a, 0xe8, 0x6d,
480 	0x42, 0x09, 0x8f, 0x5e, 0xfa, 0x7f, 0x94, 0x57,
481 	0x38, 0x8b, 0x5e, 0x74, 0xb6, 0xd2, 0x8b, 0x24,
482 	0x38, 0xd4, 0x2d, 0x8b, 0x64, 0x70, 0x33, 0x24,
483 	0xd4, 0xaa, 0x25, 0xab, 0x6a, 0xad, 0x15, 0x3a,
484 	0xe3, 0x0c, 0xd2, 0xb2, 0xaf, 0x4d, 0x5e, 0x5c,
485 	0x00, 0xa8, 0xa2, 0xd0, 0x22, 0x0c, 0x61, 0x16
486 };
487 
488 /* SHA-1 Known Digest Message (160-bits). */
489 uint8_t sha1_known_digest[] = {
490 	0xa3, 0x05, 0x44, 0x27, 0xcd, 0xb1, 0x3f, 0x16,
491 	0x4a, 0x61, 0x0b, 0x34, 0x87, 0x02, 0x72, 0x4c,
492 	0x80, 0x8a, 0x0d, 0xcc
493 };
494 
495 /* Source from NIST HMAC.txt Count = 0 */
496 uint8_t HMAC_known_secret_key[] = {
497 	0x7b, 0x10, 0xf4, 0x12, 0x4b, 0x15, 0xc8, 0x2e
498 };
499 
500 /* known SHA1 hmac - truncated (10 bytes) */
501 uint8_t known_SHA1_hmac[] = {
502 	0x4e, 0xad, 0x12, 0xc2, 0xfe, 0x3d, 0x6e, 0xa4,
503 	0x3a, 0xcb
504 };
505 
506 uint8_t hmac_sha1_known_hash_message[] = {
507 	0x27, 0xdc, 0xb5, 0xb1, 0xda, 0xf6, 0x0c, 0xfd,
508 	0x3e, 0x2f, 0x73, 0xd4, 0xd6, 0x4c, 0xa9, 0xc6,
509 	0x84, 0xf8, 0xbf, 0x71, 0xfc, 0x68, 0x2a, 0x46,
510 	0x79, 0x3b, 0x17, 0x90, 0xaf, 0xa4, 0xfe, 0xb1,
511 	0x00, 0xca, 0x7a, 0xaf, 0xf2, 0x6f, 0x58, 0xf0,
512 	0xe1, 0xd0, 0xed, 0x42, 0xf1, 0xcd, 0xad, 0x1f,
513 	0x47, 0x4a, 0xfa, 0x2e, 0x79, 0xd5, 0x3a, 0x0c,
514 	0x42, 0x89, 0x2c, 0x4d, 0x7b, 0x32, 0x7c, 0xbe,
515 	0x46, 0xb2, 0x95, 0xed, 0x8d, 0xa3, 0xb6, 0xec,
516 	0xab, 0x3d, 0x48, 0x51, 0x68, 0x7a, 0x6f, 0x81,
517 	0x2b, 0x79, 0xdf, 0x2f, 0x6b, 0x20, 0xf1, 0x1f,
518 	0x67, 0x06, 0xf5, 0x30, 0x17, 0x90, 0xca, 0x99,
519 	0x62, 0x5a, 0xad, 0x73, 0x91, 0xd8, 0x4f, 0x78,
520 	0x04, 0x3d, 0x2a, 0x0a, 0x23, 0x9b, 0x14, 0x77,
521 	0x98, 0x4c, 0x15, 0x7b, 0xbc, 0x92, 0x76, 0x06,
522 	0x4e, 0x7a, 0x1a, 0x40, 0x6b, 0x06, 0x12, 0xca
523 };
524 
525 /*
526  * SHA-1 HMAC Known MAC (Case 2)
527  * Source from FIPS PUB 198 (A.2)
528  */
529 uint8_t sha1_hmac_known_secret_key_2[] = {
530 	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
531 	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
532 	0x40, 0x41, 0x42, 0x43
533 };
534 
535 uint8_t	sha1_hmac_known_hash_message_2[] = {
536 	'S', 'a', 'm', 'p', 'l', 'e', ' ', '#', '2'
537 };
538 
539 uint8_t sha1_known_hmac_2[] = {
540 	0x09, 0x22, 0xd3, 0x40, 0x5f, 0xaa, 0x3d, 0x19,
541 	0x4f, 0x82, 0xa4, 0x58, 0x30, 0x73, 0x7d, 0x5c,
542 	0xc6, 0xc7, 0x5d, 0x24
543 };
544 
545 /*
546  * SHA-256 Known Hash Message (512-bits).
547  * Source from NIST SHA256ShortMsg (Len = 512)
548  */
549 uint8_t sha256_known_hash_message[] = {
550 	0x35, 0x92, 0xec, 0xfd, 0x1e, 0xac, 0x61, 0x8f,
551 	0xd3, 0x90, 0xe7, 0xa9, 0xc2, 0x4b, 0x65, 0x65,
552 	0x32, 0x50, 0x93, 0x67, 0xc2, 0x1a, 0x0e, 0xac,
553 	0x12, 0x12, 0xac, 0x83, 0xc0, 0xb2, 0x0c, 0xd8,
554 	0x96, 0xeb, 0x72, 0xb8, 0x01, 0xc4, 0xd2, 0x12,
555 	0xc5, 0x45, 0x2b, 0xbb, 0xf0, 0x93, 0x17, 0xb5,
556 	0x0c, 0x5c, 0x9f, 0xb1, 0x99, 0x75, 0x53, 0xd2,
557 	0xbb, 0xc2, 0x9b, 0xb4, 0x2f, 0x57, 0x48, 0xad
558 };
559 
560 /* known SHA256 Digest Message (32 bytes) */
561 uint8_t known_sha256_digest[] = {
562 	0x10, 0x5a, 0x60, 0x86, 0x58, 0x30, 0xac, 0x3a,
563 	0x37, 0x1d, 0x38, 0x43, 0x32, 0x4d, 0x4b, 0xb5,
564 	0xfa, 0x8e, 0xc0, 0xe0, 0x2d, 0xda, 0xa3, 0x89,
565 	0xad, 0x8d, 0xa4, 0xf1, 0x02, 0x15, 0xc4, 0x54
566 };
567 
568 /*
569  * SHA-384 Known Hash Message (512-bits).
570  * Source from NIST SHA384ShortMsg (Len = 512)
571  */
572 uint8_t sha384_known_hash_message[] = {
573 	0x58, 0xbe, 0xab, 0xf9, 0x79, 0xab, 0x35, 0xab,
574 	0xba, 0x29, 0x37, 0x6d, 0x5d, 0xc2, 0x27, 0xab,
575 	0xb3, 0xd2, 0xff, 0x4d, 0x90, 0x30, 0x49, 0x82,
576 	0xfc, 0x10, 0x79, 0xbc, 0x2b, 0x28, 0x80, 0xfc,
577 	0xb0, 0x12, 0x9e, 0x4f, 0xed, 0xf2, 0x78, 0x98,
578 	0xce, 0x58, 0x6a, 0x91, 0xb7, 0x68, 0x1e, 0x0d,
579 	0xba, 0x38, 0x5e, 0x80, 0x0e, 0x79, 0x26, 0xc0,
580 	0xbc, 0x5a, 0xfe, 0x0d, 0x9c, 0xa9, 0x86, 0x50
581 };
582 
583 /* known SHA384 Digest Message (48 bytes) */
584 uint8_t known_sha384_digest[] = {
585 	0xa0, 0x88, 0x8e, 0x1c, 0x4d, 0x7e, 0x80, 0xcb,
586 	0xaa, 0xaf, 0xa8, 0xbb, 0x1c, 0xa1, 0xca, 0x91,
587 	0x2a, 0x93, 0x21, 0x75, 0xc2, 0xef, 0x98, 0x2c,
588 	0xe1, 0xf1, 0x23, 0xa8, 0xc1, 0xae, 0xe9, 0x63,
589 	0x5a, 0xd7, 0x5b, 0xe5, 0x25, 0x90, 0xa9, 0x24,
590 	0xbe, 0xd3, 0xf5, 0xec, 0x36, 0xc3, 0x56, 0x90
591 };
592 
593 /*
594  * SHA-512 Known Hash Message (512-bits).
595  * Source from NIST SHA512ShortMsg (Len = 512)
596  */
597 uint8_t sha512_known_hash_message[] = {
598 	0x09, 0x5c, 0x7f, 0x30, 0x82, 0x4f, 0xc9, 0x28,
599 	0x58, 0xcc, 0x93, 0x47, 0xc0, 0x85, 0xd5, 0x78,
600 	0x88, 0x5f, 0xf3, 0x61, 0x4d, 0xd3, 0x8e, 0xe7,
601 	0xee, 0x94, 0xa0, 0xf4, 0x40, 0x72, 0xc8, 0x77,
602 	0x04, 0x7e, 0xe2, 0xad, 0x16, 0x6f, 0xdb, 0xa0,
603 	0xe7, 0x44, 0xc3, 0xed, 0x2c, 0x2b, 0x24, 0xc9,
604 	0xd8, 0xa2, 0x93, 0x46, 0x48, 0xdc, 0x84, 0xd3,
605 	0xbe, 0x66, 0x63, 0x02, 0x11, 0x0a, 0xe0, 0x8f
606 };
607 
608 /* known SHA512 Digest Message (64 bytes) */
609 uint8_t known_sha512_digest[] = {
610 	0xd5, 0xcd, 0xaf, 0x83, 0xbb, 0x4a, 0x27, 0xea,
611 	0xad, 0x8d, 0x8f, 0x18, 0xe4, 0xbe, 0xe9, 0xc2,
612 	0x5b, 0xe9, 0x49, 0xa7, 0x61, 0xa0, 0xfd, 0x0f,
613 	0xb2, 0x28, 0x4c, 0xab, 0x14, 0x3c, 0xad, 0x60,
614 	0xbe, 0xb5, 0x68, 0x87, 0x34, 0xb2, 0xf8, 0x1e,
615 	0x9e, 0x2d, 0x64, 0x0b, 0x42, 0x5f, 0xd3, 0x2c,
616 	0xcb, 0x3d, 0x20, 0xd0, 0x2d, 0x63, 0xc2, 0xc9,
617 	0x4c, 0x03, 0xab, 0x3d, 0x9e, 0x7d, 0x9b, 0x4a
618 };
619 
620 /* SHA-2 HMAC Test Vectors */
621 
622 /*
623  * SHA-256 HMAC Known Hash Message (512-bits).
624  * (Not used by HW provider because of the key size limitation
625  */
626 uint8_t sha256_hmac_known_hash_message[] = {
627 	0x54, 0x68, 0x65, 0x20, 0x74, 0x65, 0x73, 0x74,
628 	0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
629 	0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x68, 0x65,
630 	0x20, 0x4D, 0x44, 0x32, 0x2C, 0x20, 0x4D, 0x44,
631 	0x35, 0x2C, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x53,
632 	0x48, 0x41, 0x2D, 0x31, 0x20, 0x68, 0x61, 0x73,
633 	0x68, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x6C, 0x67,
634 	0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x73, 0x2E
635 };
636 
637 uint8_t sha256_hmac_known_secret_key[] = {
638 	0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
639 	0x74, 0x68, 0x65, 0x20, 0x53, 0x48, 0x41, 0x2D,
640 	0x32, 0x35, 0x36, 0x20, 0x48, 0x4D, 0x41, 0x43,
641 	0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x20,
642 	0x6B, 0x65, 0x79, 0x21
643 };
644 
645 /* known SHA256 hmac (32 bytes) */
646 uint8_t known_sha256_hmac[] = {
647 	0x02, 0x87, 0x21, 0x93, 0x84, 0x8a, 0x35, 0xae,
648 	0xdb, 0xb6, 0x79, 0x26, 0x96, 0xf0, 0x50, 0xeb,
649 	0x33, 0x49, 0x57, 0xf1, 0xb2, 0x32, 0xd3, 0x63,
650 	0x03, 0x65, 0x57, 0xa2, 0xba, 0xa2, 0x5f, 0x35
651 };
652 
653 /*
654  * SHA-256 HMAC Known Hash Message from RFC 4231
655  * Test Case 2 and 4
656  */
657 uint8_t sha256_hmac_known_hash_message_1[] = {
658 	0x77, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20,
659 	0x79, 0x61, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20,
660 	0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x68,
661 	0x69, 0x6e, 0x67, 0x3f
662 };
663 uint8_t sha256_hmac_known_secret_key_1[] = {
664 	0x4a, 0x65, 0x66, 0x65
665 };
666 uint8_t sha256_known_hmac_1[] = {
667 	0x5b, 0xdc, 0xc1, 0x46, 0xbf, 0x60, 0x75, 0x4e,
668 	0x6a, 0x04, 0x24, 0x26, 0x08, 0x95, 0x75, 0xc7,
669 	0x5a, 0x00, 0x3f, 0x08, 0x9d, 0x27, 0x39, 0x83,
670 	0x9d, 0xec, 0x58, 0xb9, 0x64, 0xec, 0x38, 0x43
671 };
672 
673 uint8_t sha256_hmac_known_hash_message_2[] = {
674 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
675 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
676 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
677 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
678 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
679 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
680 	0xcd, 0xcd
681 };
682 uint8_t sha256_hmac_known_secret_key_2[] = {
683 	0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
684 	0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
685 	0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
686 	0x19
687 };
688 uint8_t sha256_known_hmac_2[] = {
689 	0x82, 0x55, 0x8a, 0x38, 0x9a, 0x44, 0x3c, 0x0e,
690 	0xa4, 0xcc, 0x81, 0x98, 0x99, 0xf2, 0x08, 0x3a,
691 	0x85, 0xf0, 0xfa, 0xa3, 0xe5, 0x78, 0xf8, 0x07,
692 	0x7a, 0x2e, 0x3f, 0xf4, 0x67, 0x29, 0x66, 0x5b
693 };
694 
695 /*
696  * SHA-384 HMAC Known Hash Message (512-bits).
697  * Source from NIST HMAC.txt (Count = 15, Klen = 16, Tlen = 48)
698  */
699 uint8_t sha384_hmac_known_secret_key[] = {
700 	0x01, 0xac, 0x59, 0xf4, 0x2f, 0x8b, 0xb9, 0x1d,
701 	0x1b, 0xd1, 0x0f, 0xe6, 0x99, 0x0d, 0x7a, 0x87
702 };
703 
704 uint8_t sha384_hmac_known_hash_message[] = {
705 	0x3c, 0xaf, 0x18, 0xc4, 0x76, 0xed, 0xd5, 0x61,
706 	0x5f, 0x34, 0x3a, 0xc7, 0xb7, 0xd3, 0xa9, 0xda,
707 	0x9e, 0xfa, 0xde, 0x75, 0x56, 0x72, 0xd5, 0xba,
708 	0x4b, 0x8a, 0xe8, 0xa7, 0x50, 0x55, 0x39, 0xea,
709 	0x2c, 0x12, 0x4f, 0xf7, 0x55, 0xec, 0x04, 0x57,
710 	0xfb, 0xe4, 0x9e, 0x43, 0x48, 0x0b, 0x3c, 0x71,
711 	0xe7, 0xf4, 0x74, 0x2e, 0xc3, 0x69, 0x3a, 0xad,
712 	0x11, 0x5d, 0x03, 0x9f, 0x90, 0x22, 0x2b, 0x03,
713 	0x0f, 0xdc, 0x94, 0x40, 0x31, 0x36, 0x91, 0x71,
714 	0x6d, 0x53, 0x02, 0x00, 0x58, 0x08, 0xc0, 0x76,
715 	0x27, 0x48, 0x3b, 0x91, 0x6f, 0xdf, 0x61, 0x98,
716 	0x30, 0x63, 0xc2, 0xeb, 0x12, 0x68, 0xf2, 0xde,
717 	0xee, 0xf4, 0x2f, 0xc7, 0x90, 0x33, 0x44, 0x56,
718 	0xbc, 0x6b, 0xad, 0x25, 0x6e, 0x31, 0xfc, 0x90,
719 	0x66, 0xde, 0x7c, 0xc7, 0xe4, 0x3d, 0x13, 0x21,
720 	0xb1, 0x86, 0x6d, 0xb4, 0x5e, 0x90, 0x56, 0x22
721 };
722 
723 /* known SHA384 hmac (48 bytes) */
724 uint8_t known_sha384_hmac[] = {
725 	0x19, 0x85, 0xfa, 0x21, 0x63, 0xa5, 0x94, 0x3f,
726 	0xc5, 0xd9, 0x2f, 0x1f, 0xe8, 0x83, 0x12, 0x15,
727 	0xe7, 0xe9, 0x1f, 0x0b, 0xff, 0x53, 0x32, 0xbc,
728 	0x71, 0x3a, 0x07, 0x2b, 0xdb, 0x3a, 0x8f, 0x9e,
729 	0x5c, 0x51, 0x57, 0x46, 0x3a, 0x3b, 0xfe, 0xb3,
730 	0x62, 0x31, 0x41, 0x6e, 0x65, 0x97, 0x3e, 0x64
731 };
732 
733 /*
734  * SHA-512 HMAC Known Hash Message (512-bits).
735  * Source from NIST HMAC.txt (Count = 30, Klen = 20, Tlen = 64)
736  */
737 uint8_t sha512_hmac_known_secret_key[] = {
738 	0xa7, 0x36, 0xf2, 0x74, 0xfd, 0xa6, 0x8e, 0x1b,
739 	0xd5, 0xf9, 0x47, 0x1e, 0x85, 0xfd, 0x41, 0x5d,
740 	0x7f, 0x2b, 0xa1, 0xbc
741 };
742 
743 uint8_t sha512_hmac_known_hash_message[] = {
744 	0xa6, 0xcc, 0xc3, 0x55, 0x2c, 0x33, 0xe9, 0x17,
745 	0x8b, 0x6b, 0x82, 0xc6, 0x53, 0xd6, 0x3d, 0xe2,
746 	0x54, 0x0f, 0x17, 0x08, 0x07, 0xc3, 0xd9, 0x6a,
747 	0x2a, 0xc2, 0xe2, 0x7d, 0xab, 0x55, 0x26, 0xf1,
748 	0xc7, 0xd3, 0x77, 0xe6, 0x73, 0x6f, 0x04, 0x5d,
749 	0xfb, 0x54, 0x1f, 0xec, 0xe9, 0xf4, 0x43, 0xb7,
750 	0x28, 0x9c, 0x55, 0x9b, 0x69, 0x4c, 0x2a, 0xac,
751 	0xc6, 0xc7, 0x4a, 0xe2, 0xa5, 0xe6, 0xf3, 0x0f,
752 	0xe0, 0x31, 0x61, 0x14, 0x23, 0xb0, 0x4d, 0x55,
753 	0x95, 0xff, 0xb4, 0x6a, 0xba, 0xa1, 0xd9, 0x18,
754 	0x98, 0x96, 0x8d, 0x7f, 0x18, 0x30, 0xae, 0x94,
755 	0xb0, 0x22, 0xee, 0xd2, 0x3f, 0xda, 0xd5, 0x2d,
756 	0x38, 0x11, 0x0a, 0x48, 0x03, 0xa0, 0xce, 0xe7,
757 	0xa0, 0x95, 0xc9, 0xa7, 0x8e, 0x86, 0x09, 0xed,
758 	0xeb, 0x25, 0x48, 0x1c, 0xdc, 0x15, 0x6d, 0x0b,
759 	0x2f, 0xfc, 0x56, 0xb6, 0x3f, 0xda, 0xd5, 0x33
760 };
761 
762 /* known SHA512 hmac (64 bytes) */
763 uint8_t known_sha512_hmac[] = {
764 	0xf7, 0x18, 0x03, 0x43, 0x1e, 0x07, 0xa5, 0xa6,
765 	0xe5, 0xfd, 0x4a, 0xe4, 0xcf, 0xc2, 0x75, 0x3b,
766 	0xc8, 0x0d, 0x26, 0xe1, 0x67, 0x23, 0xd9, 0xe8,
767 	0x8b, 0x40, 0x5a, 0x02, 0x34, 0x8e, 0xf4, 0xb9,
768 	0x67, 0x92, 0xc9, 0x9c, 0xed, 0x64, 0xdc, 0x70,
769 	0xea, 0x47, 0x53, 0x78, 0xb7, 0x46, 0x6a, 0xc2,
770 	0xca, 0xf4, 0xa4, 0x20, 0xb0, 0x1f, 0xf6, 0x1e,
771 	0x72, 0xc5, 0xb5, 0xee, 0x8e, 0xaa, 0xd4, 0xd4
772 };
773 
774 /*
775  * RSA: 1024-bit RSA known key
776  */
777 uint8_t rsa_modulus_1024[] = {
778 	0x94, 0x32, 0xb9, 0x12, 0x1d, 0x68, 0x2c, 0xda,
779 	0x2b, 0xe0, 0xe4, 0x97, 0x1b, 0x4d, 0xdc, 0x43,
780 	0xdf, 0x38, 0x6e, 0x7b, 0x9f, 0x07, 0x58, 0xae,
781 	0x9d, 0x82, 0x1e, 0xc7, 0xbc, 0x92, 0xbf, 0xd3,
782 	0xce, 0x00, 0xbb, 0x91, 0xc9, 0x79, 0x06, 0x03,
783 	0x1f, 0xbc, 0x9f, 0x94, 0x75, 0x29, 0x5f, 0xd7,
784 	0xc5, 0xf3, 0x73, 0x8a, 0xa4, 0x35, 0x43, 0x7a,
785 	0x00, 0x32, 0x97, 0x3e, 0x86, 0xef, 0x70, 0x6f,
786 	0x18, 0x56, 0x15, 0xaa, 0x6a, 0x87, 0xe7, 0x8d,
787 	0x7d, 0xdd, 0x1f, 0xa4, 0xe4, 0x31, 0xd4, 0x7a,
788 	0x8c, 0x0e, 0x20, 0xd2, 0x23, 0xf5, 0x57, 0x3c,
789 	0x1b, 0xa8, 0x44, 0xa4, 0x57, 0x8f, 0x33, 0x52,
790 	0xad, 0x83, 0xae, 0x4a, 0x97, 0xa6, 0x1e, 0xa6,
791 	0x2b, 0xfa, 0xea, 0xeb, 0x6e, 0x71, 0xb8, 0xb6,
792 	0x0a, 0x36, 0xed, 0x83, 0xce, 0xb0, 0xdf, 0xc1,
793 	0xd4, 0x3a, 0xe9, 0x99, 0x6f, 0xf3, 0x96, 0xb7
794 };
795 uint8_t rsa_public_exponent_1024[] = {0x01, 0x00, 0x01};
796 uint8_t rsa_private_exponent_1024[] = {
797 	0x8e, 0xc9, 0x70, 0x57, 0x6b, 0xcd, 0xfb, 0xa9,
798 	0x19, 0xad, 0xcd, 0x91, 0x69, 0xd5, 0x52, 0xec,
799 	0x72, 0x1e, 0x45, 0x15, 0x06, 0xdc, 0x65, 0x2d,
800 	0x98, 0xc4, 0xce, 0x33, 0x54, 0x15, 0x70, 0x8d,
801 	0xfa, 0x65, 0xea, 0x53, 0x44, 0xf3, 0x3e, 0x3f,
802 	0xb4, 0x4c, 0x60, 0xd5, 0x01, 0x2d, 0xa4, 0x12,
803 	0x99, 0xbf, 0x3f, 0x0b, 0xcd, 0xbb, 0x24, 0x10,
804 	0x60, 0x30, 0x5e, 0x58, 0xf8, 0x59, 0xaa, 0xd1,
805 	0x63, 0x3b, 0xbc, 0xcb, 0x94, 0x58, 0x38, 0x24,
806 	0xfc, 0x65, 0x25, 0xc5, 0xa6, 0x51, 0xa2, 0x2e,
807 	0xf1, 0x5e, 0xf5, 0xc1, 0xf5, 0x46, 0xf7, 0xbd,
808 	0xc7, 0x62, 0xa8, 0xe2, 0x27, 0xd6, 0x94, 0x5b,
809 	0xd3, 0xa2, 0xb5, 0x76, 0x42, 0x67, 0x6b, 0x86,
810 	0x91, 0x97, 0x4d, 0x07, 0x92, 0x00, 0x4a, 0xdf,
811 	0x0b, 0x65, 0x64, 0x05, 0x03, 0x48, 0x27, 0xeb,
812 	0xce, 0x9a, 0x49, 0x7f, 0x3e, 0x10, 0xe0, 0x01
813 };
814 uint8_t rsa_prime1_1024[] = {
815 	0xe4, 0xe7, 0x50, 0x8c, 0x48, 0x2b, 0x0a, 0xda,
816 	0xb1, 0xf0, 0xd5, 0x1e, 0x0b, 0xf3, 0xdc, 0xfc,
817 	0xa9, 0x60, 0x20, 0x73, 0xa0, 0x89, 0x20, 0xa8,
818 	0x2e, 0x1a, 0x50, 0x95, 0xdc, 0x45, 0xef, 0x29,
819 	0x21, 0x69, 0x22, 0xca, 0x3f, 0x2c, 0xfe, 0x6e,
820 	0xb3, 0xc9, 0xee, 0x2d, 0xb1, 0xb9, 0xbd, 0x6c,
821 	0xdd, 0x89, 0xbb, 0x0a, 0x9a, 0x0e, 0x14, 0xa1,
822 	0x88, 0x4a, 0x56, 0x5d, 0xb5, 0x0f, 0xd2, 0x01
823 };
824 uint8_t rsa_prime2_1024[] = {
825 	0xa5, 0xbd, 0xb6, 0xb8, 0x49, 0x97, 0x9d, 0x2c,
826 	0x04, 0x06, 0x5b, 0xee, 0xae, 0x5f, 0x78, 0x06,
827 	0x49, 0xa2, 0x11, 0xbf, 0xff, 0x40, 0x4f, 0x56,
828 	0x88, 0xc7, 0xe9, 0x55, 0x79, 0xeb, 0xc6, 0x68,
829 	0x1c, 0xb3, 0x13, 0x9f, 0x41, 0x6c, 0x10, 0x3c,
830 	0x26, 0xd2, 0xd6, 0x68, 0xb3, 0x1e, 0x6b, 0x93,
831 	0x08, 0x86, 0xfe, 0x15, 0x47, 0xa7, 0x52, 0x3a,
832 	0xb4, 0x28, 0x43, 0x78, 0xef, 0x34, 0x78, 0xb7
833 };
834 uint8_t rsa_exponent1_1024[] =  {
835 	0x58, 0x83, 0x51, 0xd4, 0x4c, 0xfb, 0xc7, 0xe0,
836 	0xb5, 0x3a, 0x09, 0x4e, 0xeb, 0x14, 0x4b, 0x79,
837 	0xb0, 0x0d, 0x29, 0xbf, 0x4c, 0x6e, 0x7a, 0x20,
838 	0x4e, 0x63, 0x82, 0x91, 0xd0, 0x71, 0x82, 0x7f,
839 	0x87, 0x19, 0xde, 0x88, 0x12, 0x51, 0xd5, 0xb8,
840 	0xfc, 0xf0, 0xb2, 0x97, 0x1c, 0xc8, 0x54, 0x05,
841 	0x4a, 0xcd, 0x3d, 0x74, 0x66, 0x09, 0xd7, 0xd4,
842 	0x76, 0x9d, 0x38, 0x34, 0x58, 0x15, 0x5c, 0x01
843 };
844 uint8_t rsa_exponent2_1024[] = {
845 	0x4a, 0xc6, 0x27, 0x6c, 0x47, 0x0f, 0x56, 0xc2,
846 	0x67, 0xe2, 0x72, 0x91, 0x61, 0x2c, 0x03, 0x1b,
847 	0x5b, 0x16, 0xfa, 0x49, 0x13, 0xa0, 0x70, 0xea,
848 	0xca, 0x74, 0xde, 0x89, 0x48, 0xa3, 0x1d, 0x75,
849 	0x15, 0x15, 0x99, 0x91, 0xac, 0xd3, 0x53, 0x13,
850 	0xc0, 0x34, 0x38, 0xb5, 0x2d, 0xb2, 0x58, 0xb8,
851 	0x12, 0x0d, 0xcd, 0x0d, 0xce, 0xb0, 0xe7, 0x41,
852 	0x42, 0xcc, 0x33, 0x7c, 0x98, 0xf6, 0xa4, 0x4b
853 };
854 uint8_t rsa_coefficient_1024[] = {
855 	0x60, 0x6a, 0x6c, 0x5a, 0xf1, 0x55, 0xe9, 0xe4,
856 	0x67, 0x72, 0x2f, 0x99, 0x03, 0x6a, 0x56, 0xa1,
857 	0xed, 0xf2, 0x59, 0xfa, 0xec, 0x88, 0xc5, 0xb7,
858 	0xa8, 0x71, 0x4a, 0x5f, 0xab, 0x86, 0xb0, 0x50,
859 	0x93, 0x3c, 0xe3, 0x70, 0xf9, 0xf2, 0x72, 0xe6,
860 	0xd2, 0xb5, 0x30, 0x3e, 0x60, 0x29, 0x70, 0xd4,
861 	0xf0, 0x31, 0x15, 0x36, 0x3a, 0x27, 0xb6, 0xdf,
862 	0x18, 0xb0, 0xf0, 0x32, 0xef, 0xa3, 0x84, 0xcb
863 };
864 
865 
866 /*
867  * RSA: 2048-bit RSA known key
868  */
869 uint8_t rsa_modulus_2048[] = {
870 	0x7f, 0xf1, 0xed, 0x5a, 0xa0, 0xe2, 0x97, 0x05,
871 	0x03, 0xc0, 0xf3, 0xcf, 0x86, 0x4a, 0x01, 0x15,
872 	0xc3, 0x4f, 0x32, 0xf4, 0xf7, 0xbe, 0x57, 0x4a,
873 	0xe1, 0x87, 0xf2, 0x1c, 0xd3, 0xa5, 0x96, 0xc1,
874 	0x54, 0xe5, 0x97, 0x19, 0x7d, 0xf1, 0x13, 0xc3,
875 	0x4d, 0xcf, 0x5a, 0x08, 0x76, 0xfc, 0x6c, 0x93,
876 	0x87, 0x71, 0x20, 0x66, 0xb7, 0xbf, 0x37, 0xbb,
877 	0xc9, 0xf5, 0x16, 0xf4, 0x9c, 0x5c, 0x64, 0x58,
878 	0xc4, 0x9e, 0x17, 0x0e, 0x99, 0x6d, 0x3f, 0x7d,
879 	0x4f, 0xf1, 0x01, 0xde, 0x76, 0x55, 0xa9, 0xfe,
880 	0xa0, 0xa4, 0x95, 0xd1, 0x4e, 0xc6, 0x8b, 0x0a,
881 	0x86, 0x5b, 0x60, 0x40, 0xf1, 0x74, 0x91, 0x26,
882 	0xcf, 0xc4, 0xf7, 0x7a, 0x86, 0xd7, 0x72, 0x47,
883 	0x25, 0x9e, 0x3e, 0x5a, 0xbd, 0x7f, 0x11, 0x9a,
884 	0x28, 0x9e, 0x00, 0x8d, 0xfb, 0x9d, 0x93, 0x8e,
885 	0xb4, 0xcc, 0x7f, 0x22, 0x00, 0x8a, 0x3b, 0xbb,
886 	0xca, 0x45, 0x8e, 0x93, 0xd3, 0xe4, 0x89, 0x96,
887 	0xe1, 0xb8, 0x5f, 0xdf, 0x75, 0x94, 0x89, 0xa5,
888 	0xad, 0x39, 0x76, 0x43, 0xa7, 0xdf, 0xe4, 0x62,
889 	0x39, 0x01, 0x56, 0x31, 0x46, 0x2b, 0xf4, 0x05,
890 	0xa9, 0xa9, 0x33, 0x96, 0x16, 0x75, 0x3f, 0xf2,
891 	0xcd, 0x6b, 0x0d, 0xa9, 0xf2, 0x9b, 0x30, 0x6d,
892 	0x17, 0xec, 0x1a, 0x5a, 0x14, 0x5a, 0x8e, 0xaa,
893 	0x52, 0x35, 0x83, 0x0a, 0x59, 0xbc, 0x56, 0x96,
894 	0x18, 0x08, 0xbf, 0x91, 0xf7, 0x69, 0x81, 0x66,
895 	0xda, 0x13, 0xb6, 0x77, 0xb9, 0x6a, 0x4a, 0x71,
896 	0xd9, 0xae, 0x43, 0x0d, 0xad, 0xb4, 0x5f, 0x11,
897 	0x87, 0x91, 0x84, 0xc6, 0x59, 0xfe, 0xb0, 0x05,
898 	0x83, 0x21, 0x66, 0x7a, 0x70, 0xeb, 0x15, 0xbb,
899 	0xc3, 0x40, 0x37, 0xce, 0xbc, 0xe7, 0x4f, 0x95,
900 	0xf1, 0x83, 0xcf, 0x89, 0xdd, 0xdc, 0xea, 0x01,
901 	0xe1, 0x42, 0xe9, 0x52, 0x8b, 0x1f, 0x91, 0x25};
902 uint8_t rsa_public_exponent_2048[] = { 0x3 };
903 uint8_t rsa_private_exponent_2048[] = {
904 	0x55, 0x4b, 0xf3, 0x91, 0xc0, 0x97, 0x0f, 0x58,
905 	0xad, 0x2b, 0x4d, 0x35, 0x04, 0x31, 0x56, 0x0e,
906 	0x82, 0x34, 0xcc, 0xa3, 0x4f, 0xd4, 0x3a, 0x31,
907 	0xeb, 0xaf, 0xf6, 0xbd, 0xe2, 0x6e, 0x64, 0x80,
908 	0xe3, 0x43, 0xba, 0x10, 0xfe, 0xa0, 0xb7, 0xd7,
909 	0x89, 0x34, 0xe6, 0xb0, 0x4f, 0x52, 0xf3, 0x0d,
910 	0x04, 0xf6, 0x15, 0x99, 0xcf, 0xd4, 0xcf, 0xd2,
911 	0x86, 0xa3, 0x64, 0xa3, 0x12, 0xe8, 0x42, 0xe5,
912 	0xd8, 0x69, 0x64, 0xb4, 0x66, 0x48, 0xd4, 0xfe,
913 	0x35, 0x4b, 0x56, 0x94, 0x4e, 0xe3, 0xc6, 0xa9,
914 	0xc0, 0x6d, 0xb9, 0x36, 0x34, 0x84, 0x5c, 0xb1,
915 	0xae, 0xe7, 0x95, 0x80, 0xa0, 0xf8, 0x60, 0xc4,
916 	0x8a, 0x83, 0x4f, 0xa7, 0x04, 0x8f, 0xa1, 0x84,
917 	0xc3, 0xbe, 0xd4, 0x3c, 0x7e, 0x54, 0xb6, 0x66,
918 	0xc5, 0xbe, 0xab, 0x09, 0x52, 0x69, 0x0d, 0x09,
919 	0xcd, 0xdd, 0xaa, 0x16, 0xab, 0x06, 0xd2, 0x7c,
920 	0x3c, 0x58, 0x7d, 0x53, 0x4b, 0x14, 0x41, 0x35,
921 	0x9a, 0x78, 0x74, 0xf5, 0x8e, 0x67, 0x50, 0x52,
922 	0xc5, 0x17, 0xcd, 0xfd, 0x7a, 0xe4, 0x9b, 0xbb,
923 	0xaf, 0x4b, 0x17, 0xa7, 0x3c, 0x09, 0x1d, 0xd6,
924 	0xa1, 0x11, 0x06, 0x36, 0x68, 0x83, 0x66, 0xd6,
925 	0x49, 0x44, 0x9f, 0x0b, 0xe3, 0x17, 0x1a, 0xc5,
926 	0xd7, 0x9a, 0x65, 0x5d, 0x15, 0x81, 0x6a, 0x5d,
927 	0xdd, 0xd7, 0xf4, 0x54, 0xa3, 0x6f, 0x1e, 0x60,
928 	0x87, 0x2a, 0x59, 0xaa, 0x73, 0xf0, 0xdd, 0xdb,
929 	0x66, 0xa8, 0x19, 0x31, 0xfd, 0x00, 0x09, 0x8f,
930 	0xce, 0x9a, 0xec, 0xff, 0x88, 0x5c, 0x4e, 0x67,
931 	0x55, 0xa0, 0x14, 0xdf, 0x28, 0x61, 0x5f, 0x47,
932 	0x8d, 0x49, 0xb3, 0xee, 0x5e, 0xfc, 0xc8, 0x41,
933 	0x75, 0x59, 0x93, 0xa4, 0x24, 0x69, 0xc0, 0x1a,
934 	0x18, 0x04, 0xda, 0x38, 0x0e, 0xf3, 0xa5, 0x04,
935 	0xbf, 0xe3, 0xf9, 0xf3, 0x7c, 0xe5, 0x82, 0xeb};
936 uint8_t rsa_prime1_2048[] = {
937 	0x97, 0x5e, 0xb8, 0x7b, 0x74, 0xe6, 0xe3, 0x7b,
938 	0x4b, 0xdf, 0x5b, 0xb8, 0x0f, 0xe6, 0xa1, 0xcc,
939 	0x1c, 0x84, 0xc9, 0x60, 0x5d, 0x80, 0x17, 0x6d,
940 	0x61, 0xc2, 0x4d, 0x14, 0x0c, 0x71, 0xda, 0x02,
941 	0x74, 0x6f, 0x1f, 0x85, 0x4f, 0xb9, 0x69, 0xb9,
942 	0x3c, 0x23, 0x74, 0x60, 0x14, 0xc2, 0xb2, 0x44,
943 	0x0c, 0x18, 0xde, 0xfa, 0x12, 0x2c, 0xb8, 0x68,
944 	0x71, 0x62, 0x07, 0x8c, 0x02, 0xe3, 0x08, 0xf9,
945 	0x49, 0xc1, 0x15, 0x13, 0x0f, 0x76, 0x50, 0xd6,
946 	0x6e, 0xd3, 0x7b, 0xfa, 0x68, 0x0e, 0x75, 0x07,
947 	0x0b, 0xee, 0x2c, 0xd7, 0x34, 0xc9, 0x98, 0x33,
948 	0x16, 0xca, 0x60, 0x54, 0x36, 0x12, 0x65, 0xc4,
949 	0x1c, 0xf1, 0xe5, 0x7c, 0x6a, 0x6a, 0x0f, 0x11,
950 	0x45, 0xbb, 0x60, 0xa0, 0x35, 0x97, 0xaa, 0x25,
951 	0x58, 0x29, 0x1b, 0xf8, 0x4d, 0xb5, 0x86, 0x58,
952 	0x68, 0x19, 0x30, 0x6d, 0x07, 0x78, 0x1d, 0x9d};
953 uint8_t rsa_prime2_2048[] = {
954 	0xd8, 0x62, 0x1a, 0x1b, 0x6e, 0x5f, 0x44, 0x4b,
955 	0x2e, 0x24, 0x54, 0xb7, 0x10, 0x12, 0xef, 0x5d,
956 	0x69, 0x10, 0xf7, 0xe7, 0x12, 0x08, 0xe3, 0x5b,
957 	0x50, 0x4e, 0x65, 0xa2, 0x5f, 0xac, 0x6d, 0x41,
958 	0x43, 0xa0, 0x8a, 0xbf, 0x29, 0xf6, 0xbb, 0xf8,
959 	0x23, 0x60, 0xaa, 0xb8, 0x09, 0x35, 0xd6, 0x00,
960 	0x48, 0x6b, 0xa3, 0x54, 0x61, 0xeb, 0xb6, 0xb5,
961 	0x14, 0x0f, 0x8c, 0xff, 0x61, 0xb2, 0xa0, 0x0c,
962 	0x03, 0x88, 0x23, 0xff, 0x3a, 0x09, 0xe3, 0xc7,
963 	0x51, 0x44, 0x14, 0xb2, 0x55, 0xdb, 0xc7, 0x13,
964 	0x17, 0xd7, 0xb2, 0xb7, 0x2c, 0x60, 0x51, 0x43,
965 	0x70, 0x57, 0x05, 0x23, 0x67, 0x5a, 0x3b, 0x56,
966 	0x12, 0x40, 0xf3, 0x18, 0x78, 0x05, 0xda, 0x48,
967 	0x4d, 0x7e, 0x79, 0xb8, 0x50, 0xb1, 0x05, 0x49,
968 	0x75, 0x53, 0x6c, 0x3d, 0x79, 0xb9, 0xec, 0x22,
969 	0x59, 0x53, 0xc1, 0xf8, 0x48, 0x4f, 0x2f, 0x29};
970 uint8_t rsa_exponent1_2048[] = {
971 	0x64, 0xe9, 0xd0, 0x52, 0x4d, 0xef, 0x42, 0x52,
972 	0x32, 0x94, 0xe7, 0xd0, 0x0a, 0x99, 0xc1, 0x32,
973 	0xbd, 0xad, 0xdb, 0x95, 0x93, 0xaa, 0xba, 0x48,
974 	0xeb, 0xd6, 0xde, 0x0d, 0x5d, 0xa1, 0x3c, 0x01,
975 	0xa2, 0xf4, 0xbf, 0xae, 0x35, 0x26, 0x46, 0x7b,
976 	0x7d, 0x6c, 0xf8, 0x40, 0x0d, 0xd7, 0x21, 0x82,
977 	0xb2, 0xbb, 0x3f, 0x51, 0x61, 0x73, 0x25, 0x9a,
978 	0xf6, 0x41, 0x5a, 0x5d, 0x57, 0x42, 0x05, 0xfb,
979 	0x86, 0x80, 0xb8, 0xb7, 0x5f, 0xa4, 0x35, 0xe4,
980 	0x49, 0xe2, 0x52, 0xa6, 0xf0, 0x09, 0xa3, 0x5a,
981 	0x07, 0xf4, 0x1d, 0xe4, 0xcd, 0xdb, 0xba, 0xcc,
982 	0xb9, 0xdc, 0x40, 0x38, 0x24, 0x0c, 0x43, 0xd8,
983 	0x13, 0x4b, 0xee, 0x52, 0xf1, 0x9c, 0x0a, 0x0b,
984 	0x83, 0xd2, 0x40, 0x6a, 0xce, 0x65, 0x1c, 0x18,
985 	0xe5, 0x70, 0xbd, 0x50, 0x33, 0xce, 0x59, 0x90,
986 	0x45, 0x66, 0x20, 0x48, 0xaf, 0xa5, 0x69, 0x13};
987 uint8_t rsa_exponent2_2048[] = {
988 	0x90, 0x41, 0x66, 0xbc, 0xf4, 0x3f, 0x82, 0xdc,
989 	0xc9, 0x6d, 0x8d, 0xcf, 0x60, 0x0c, 0x9f, 0x93,
990 	0x9b, 0x60, 0xa5, 0x44, 0xb6, 0xb0, 0x97, 0x92,
991 	0x35, 0x89, 0x99, 0x16, 0xea, 0x72, 0xf3, 0x80,
992 	0xd7, 0xc0, 0x5c, 0x7f, 0x71, 0x4f, 0x27, 0xfa,
993 	0xc2, 0x40, 0x71, 0xd0, 0x06, 0x23, 0xe4, 0x00,
994 	0x30, 0x47, 0xc2, 0x38, 0x41, 0x47, 0xcf, 0x23,
995 	0x62, 0xb5, 0x08, 0xaa, 0x41, 0x21, 0xc0, 0x08,
996 	0x02, 0x5a, 0xc2, 0xaa, 0x26, 0xb1, 0x42, 0x84,
997 	0xe0, 0xd8, 0x0d, 0xcc, 0x39, 0x3d, 0x2f, 0x62,
998 	0x0f, 0xe5, 0x21, 0xcf, 0x72, 0xea, 0xe0, 0xd7,
999 	0xa0, 0x3a, 0x03, 0x6c, 0xef, 0x91, 0x7c, 0xe4,
1000 	0x0c, 0x2b, 0x4c, 0xba, 0xfa, 0xae, 0x91, 0x85,
1001 	0x88, 0xfe, 0xfb, 0xd0, 0x35, 0xcb, 0x58, 0xdb,
1002 	0xa3, 0x8c, 0xf2, 0xd3, 0xa6, 0x7b, 0xf2, 0xc1,
1003 	0x90, 0xe2, 0x81, 0x50, 0x30, 0x34, 0xca, 0x1b};
1004 uint8_t rsa_coefficient_2048[] = {
1005 	0x86, 0xfd, 0x64, 0x2c, 0x28, 0x72, 0x4e, 0x59,
1006 	0x2a, 0x29, 0xcd, 0xe2, 0xd1, 0xf6, 0x19, 0xc8,
1007 	0xf8, 0xf0, 0x69, 0x77, 0x94, 0x03, 0x70, 0x0d,
1008 	0x87, 0x27, 0x37, 0x4d, 0xe8, 0xed, 0x56, 0x9f,
1009 	0x15, 0x99, 0x14, 0x3f, 0xf8, 0x35, 0x2f, 0x7c,
1010 	0x01, 0x11, 0x82, 0x99, 0x90, 0x5f, 0x6d, 0xf8,
1011 	0x2c, 0x81, 0x74, 0x22, 0xa1, 0x5c, 0x87, 0x93,
1012 	0xc4, 0xa4, 0x0a, 0xd2, 0xf2, 0xe6, 0x51, 0x4d,
1013 	0x3a, 0x24, 0x16, 0x7a, 0x8a, 0x36, 0xca, 0x03,
1014 	0x58, 0xd7, 0xce, 0x5b, 0x16, 0x3f, 0x65, 0xf7,
1015 	0xe8, 0xdc, 0x91, 0xee, 0x0b, 0x80, 0x20, 0x5d,
1016 	0x12, 0x75, 0x0d, 0xe1, 0xe2, 0x78, 0x13, 0xcc,
1017 	0x3d, 0xe6, 0x84, 0x56, 0x66, 0xa4, 0x69, 0x20,
1018 	0x9f, 0x55, 0xf3, 0xcd, 0x48, 0x84, 0x93, 0xc0,
1019 	0x4d, 0xf9, 0xa7, 0xb3, 0xfa, 0xf3, 0x31, 0x27,
1020 	0x23, 0x70, 0x19, 0x6a, 0xf3, 0x02, 0x7f, 0x9d};
1021 
1022 /*
1023  * RSA: 1024-bit and 2048-bit known plaintext and signatures
1024  */
1025 /* Plaintext message: 1024-bit including NULL termination */
1026 uint8_t rsa_known_plaintext_msg[] = {
1027 	0x42, 0xad, 0xcb, 0xba, 0x92, 0x41, 0x72, 0xf3,
1028 	0x3e, 0x7c, 0xc0, 0xf7, 0x2b, 0xbe, 0x30, 0xdf,
1029 	0x97, 0xa2, 0x11, 0xd1, 0xa6, 0x43, 0x33, 0x22,
1030 	0xc9, 0x14, 0xec, 0x07, 0x69, 0x4c, 0xa8, 0xbc,
1031 	0xb9, 0x87, 0x54, 0xe1, 0x26, 0x2a, 0x9e, 0xfd,
1032 	0xf7, 0xa2, 0x3b, 0xee, 0x77, 0x93, 0xff, 0xa8,
1033 	0x34, 0xf5, 0x89, 0xef, 0xa4, 0xb9, 0x00, 0x86,
1034 	0x46, 0x63, 0x07, 0x5a, 0x8f, 0x87, 0xb4, 0x6e,
1035 	0x0d, 0xd6, 0xb2, 0x32, 0x21, 0x50, 0xab, 0x18,
1036 	0xc0, 0x9c, 0x1e, 0xa1, 0x8a, 0x4e, 0xf3, 0x1f,
1037 	0xe1, 0x4e, 0xf0, 0xe3, 0x9b, 0x9d, 0x33, 0x84,
1038 	0x6d, 0x4b, 0x6f, 0x52, 0x65, 0x2c, 0xc1, 0x41,
1039 	0x6a, 0x13, 0x10, 0xc2, 0xf6, 0x2f, 0xc6, 0xaf,
1040 	0x35, 0xb4, 0xf2, 0xbf, 0x21, 0x16, 0x2b, 0x45,
1041 	0x61, 0x97, 0xcf, 0x4f, 0xa0, 0x1d, 0x99, 0x9d,
1042 	0xa0, 0x92, 0x11, 0x6d, 0x34, 0x63, 0x19, 0x73
1043 };
1044 
1045 uint8_t rsa_x509_known_signature_1024[] = {
1046 	0x43, 0xA3, 0x73, 0x60, 0xD7, 0x6F, 0xAB, 0x76,
1047 	0x8C, 0xF7, 0x7C, 0xDD, 0x26, 0x59, 0x75, 0x91,
1048 	0x0F, 0x06, 0x95, 0x4A, 0x3A, 0x02, 0x9A, 0x19,
1049 	0x33, 0xF0, 0x98, 0x4E, 0x9A, 0x97, 0xEA, 0xFE,
1050 	0x45, 0xB5, 0x94, 0xE0, 0x42, 0x46, 0xC7, 0x74,
1051 	0x65, 0xE6, 0x0F, 0x81, 0xD0, 0x95, 0x17, 0x8F,
1052 	0x82, 0xF6, 0x36, 0x02, 0x59, 0xE9, 0x20, 0x08,
1053 	0x38, 0x70, 0x68, 0x67, 0xFE, 0x9B, 0xEA, 0xF8,
1054 	0xBA, 0xD0, 0x00, 0x3F, 0x75, 0x2A, 0x2F, 0x7A,
1055 	0xC7, 0xE9, 0x44, 0xA4, 0x39, 0xB6, 0x94, 0x85,
1056 	0xA7, 0x8A, 0x3A, 0x97, 0x83, 0x93, 0x18, 0x93,
1057 	0x99, 0xAC, 0xF7, 0x21, 0xD5, 0x76, 0x30, 0xA5,
1058 	0xA1, 0xE5, 0x3B, 0x50, 0x2D, 0x10, 0xBE, 0xD1,
1059 	0x96, 0x41, 0x9D, 0xD9, 0xCD, 0x68, 0xD4, 0x49,
1060 	0x96, 0x78, 0xBB, 0x62, 0x7D, 0xEC, 0x0D, 0x09,
1061 	0xA4, 0x84, 0x6B, 0x6F, 0xA8, 0x41, 0x03, 0x37
1062 };
1063 
1064 uint8_t rsa_pkcs_known_signature_1024[] = {
1065 	0x7B, 0x9C, 0x75, 0x6D, 0x45, 0xC3, 0xED, 0x9F,
1066 	0xFA, 0xE9, 0x9C, 0xFA, 0x8B, 0x1A, 0xAF, 0x86,
1067 	0x25, 0x45, 0x52, 0x21, 0x81, 0x94, 0x2C, 0x87,
1068 	0x51, 0x65, 0x77, 0x2F, 0x25, 0xA8, 0x6C, 0x85,
1069 	0x06, 0xA8, 0xA3, 0xF6, 0x3B, 0xA6, 0xC8, 0x44,
1070 	0xF5, 0xBF, 0xE8, 0xE0, 0xF8, 0x20, 0xB5, 0x84,
1071 	0xF3, 0xAE, 0x1B, 0x24, 0xA6, 0x19, 0xC5, 0x63,
1072 	0xFD, 0x54, 0xFA, 0x88, 0xA2, 0x2D, 0x2C, 0x39,
1073 	0x38, 0x4B, 0x68, 0x70, 0xF7, 0xD3, 0x8D, 0xE1,
1074 	0x90, 0xE7, 0x41, 0x8D, 0x03, 0x75, 0x39, 0x38,
1075 	0x3B, 0x96, 0x47, 0xFF, 0xA7, 0x9B, 0x72, 0x08,
1076 	0x76, 0x7D, 0x00, 0x61, 0xD4, 0x07, 0x47, 0xED,
1077 	0xB3, 0x62, 0x4D, 0xFD, 0x79, 0x44, 0xD5, 0xF5,
1078 	0xDA, 0xDE, 0xE5, 0x89, 0xFB, 0x57, 0xA8, 0x0A,
1079 	0x92, 0x41, 0x92, 0x3A, 0x47, 0x85, 0x1D, 0x72,
1080 	0xAF, 0x58, 0x85, 0x9D, 0x46, 0x4A, 0xD2, 0x7D
1081 };
1082 
1083 uint8_t rsa_x509_known_signature_2048[] = {
1084 	0x74, 0xEB, 0x2F, 0x01, 0x93, 0xF0, 0xB9, 0x64,
1085 	0x12, 0xD6, 0xD6, 0x75, 0xF0, 0x6C, 0xDC, 0x44,
1086 	0x5F, 0x09, 0xAC, 0x98, 0x6C, 0xF9, 0x23, 0x7E,
1087 	0xBB, 0x44, 0xCB, 0x9A, 0x3C, 0xE9, 0x76, 0x7B,
1088 	0x81, 0xAA, 0x69, 0xA6, 0x77, 0x34, 0x85, 0x8E,
1089 	0xDB, 0x13, 0x9A, 0xE3, 0xD0, 0xBF, 0x2A, 0x3C,
1090 	0x8B, 0x50, 0x3E, 0x8A, 0x95, 0xF7, 0x09, 0x39,
1091 	0xED, 0x3F, 0x5A, 0x52, 0x68, 0xA1, 0xF3, 0x42,
1092 	0xA8, 0x09, 0x13, 0xAE, 0xFD, 0x9F, 0x40, 0x0C,
1093 	0x3D, 0x84, 0x68, 0x07, 0xFF, 0x30, 0x0F, 0x6B,
1094 	0x6F, 0xB7, 0x1F, 0x09, 0x11, 0x8E, 0x7B, 0x3F,
1095 	0x88, 0xF5, 0x41, 0x07, 0xE1, 0x5C, 0x71, 0x28,
1096 	0xAE, 0x71, 0x51, 0xAE, 0xC3, 0xC9, 0xCB, 0xED,
1097 	0xAC, 0x87, 0x32, 0xAB, 0xD0, 0x2F, 0x65, 0xA3,
1098 	0x7D, 0x90, 0xDC, 0xFF, 0x7A, 0x9D, 0xCE, 0xBC,
1099 	0xCA, 0x00, 0x6E, 0x65, 0x3C, 0x99, 0x2F, 0x00,
1100 	0x8A, 0x5A, 0xD9, 0x5A, 0x01, 0x83, 0x99, 0x1D,
1101 	0x8D, 0xD7, 0x10, 0x3B, 0xE2, 0x9C, 0x9C, 0x49,
1102 	0xCA, 0x9C, 0xF6, 0x42, 0x0E, 0x4D, 0xCD, 0x11,
1103 	0x70, 0x0C, 0xCC, 0x2C, 0x8F, 0xAA, 0xA5, 0x7C,
1104 	0xA8, 0x1D, 0xBD, 0x99, 0x63, 0x6E, 0x44, 0x9D,
1105 	0xE6, 0xC0, 0x55, 0x2F, 0x0F, 0x27, 0x43, 0xA3,
1106 	0x3C, 0x46, 0xC4, 0x52, 0x59, 0x4F, 0xD4, 0x07,
1107 	0xAD, 0xE2, 0xBA, 0x19, 0x23, 0x23, 0xB6, 0x78,
1108 	0xFE, 0x65, 0x6D, 0x0D, 0x62, 0x0E, 0xAB, 0xE5,
1109 	0x5A, 0x58, 0x28, 0x17, 0xE9, 0x1D, 0x2F, 0x3E,
1110 	0x04, 0xED, 0x01, 0x56, 0x0B, 0xB9, 0x4E, 0x2D,
1111 	0xF8, 0xC9, 0x7D, 0x12, 0xFE, 0x8A, 0x00, 0x3E,
1112 	0x72, 0x9F, 0x28, 0x77, 0x92, 0x58, 0x6E, 0x11,
1113 	0x75, 0xF1, 0x31, 0x5B, 0x43, 0xF4, 0x95, 0xD3,
1114 	0x59, 0x31, 0xA7, 0xD1, 0x8B, 0x91, 0xED, 0xDE,
1115 	0xD9, 0xC0, 0x04, 0xBA, 0x1F, 0x4E, 0x1D, 0xB6
1116 };
1117 
1118 uint8_t rsa_pkcs_known_signature_2048[] = {
1119 	0x77, 0x5A, 0x7C, 0x5B, 0x95, 0xB8, 0x02, 0xB5,
1120 	0xF7, 0xDF, 0x8A, 0x3F, 0x90, 0x7D, 0x32, 0x6E,
1121 	0x3B, 0x79, 0x0F, 0x74, 0xAD, 0x4D, 0xE1, 0x61,
1122 	0xCD, 0x5D, 0x32, 0x4C, 0x4A, 0x94, 0x90, 0xB2,
1123 	0xDB, 0xB0, 0xCE, 0x0E, 0xC8, 0xC2, 0x2D, 0x8B,
1124 	0x26, 0x49, 0xE8, 0x0F, 0x37, 0x85, 0x64, 0xF0,
1125 	0x2B, 0x94, 0xA5, 0x05, 0xC7, 0x32, 0x4C, 0xFD,
1126 	0xE8, 0x1F, 0x5B, 0x3C, 0x74, 0x08, 0x16, 0x02,
1127 	0xAE, 0xB6, 0xB8, 0xF1, 0x4A, 0x2F, 0x3F, 0x92,
1128 	0xCD, 0x8B, 0x82, 0xCA, 0xCC, 0xB4, 0x8E, 0x68,
1129 	0xD6, 0x2F, 0x21, 0x8C, 0x4C, 0x63, 0xA4, 0xEA,
1130 	0xDE, 0xE5, 0xF2, 0x8A, 0x3F, 0x9B, 0x81, 0x50,
1131 	0x12, 0x30, 0x05, 0xF2, 0x63, 0x64, 0xB2, 0x41,
1132 	0x8A, 0x77, 0xAF, 0x07, 0xC1, 0x91, 0x6E, 0x32,
1133 	0x43, 0xEC, 0x3B, 0xB2, 0xE5, 0xAE, 0x95, 0x81,
1134 	0xEE, 0x34, 0x4C, 0xAF, 0x26, 0x8C, 0x14, 0x7D,
1135 	0xB3, 0x0D, 0x47, 0x95, 0x46, 0xFF, 0x5E, 0x12,
1136 	0xCC, 0x02, 0x68, 0x52, 0x58, 0x90, 0xE8, 0x38,
1137 	0xC5, 0x7F, 0x6F, 0x6A, 0xA6, 0x1C, 0x92, 0xDB,
1138 	0x43, 0x82, 0x13, 0x2A, 0x33, 0x0F, 0xEB, 0xEC,
1139 	0xF3, 0x52, 0x47, 0x06, 0x0B, 0xB0, 0x38, 0x52,
1140 	0xB7, 0x60, 0xB5, 0x4D, 0xC3, 0xF8, 0x26, 0x60,
1141 	0x99, 0x67, 0xFA, 0x5C, 0x40, 0x3A, 0x71, 0x8F,
1142 	0x30, 0x04, 0xEF, 0xD2, 0xBD, 0x31, 0xA3, 0x1F,
1143 	0x9A, 0x5D, 0xAA, 0x0C, 0x8E, 0xA1, 0x87, 0x78,
1144 	0x62, 0xFD, 0x15, 0x8C, 0xB4, 0xF5, 0xAF, 0x84,
1145 	0xFB, 0x26, 0xC9, 0xDA, 0x58, 0x67, 0x55, 0x27,
1146 	0x1C, 0x20, 0xEA, 0xDD, 0x5E, 0xC0, 0xBE, 0x88,
1147 	0x46, 0x9C, 0xEF, 0x70, 0x75, 0x91, 0x31, 0x44,
1148 	0x40, 0xCD, 0x61, 0x3F, 0xB6, 0x9C, 0x18, 0x6D,
1149 	0xCD, 0x16, 0x07, 0x89, 0x7D, 0x73, 0x03, 0xE3,
1150 	0x54, 0x22, 0x11, 0x76, 0xF5, 0xE6, 0x4F, 0xF0
1151 };
1152 
1153 
1154 uchar_t dsa_base_1024[] = {
1155 	0x34, 0x32, 0xEF, 0xA6, 0x81, 0x0E, 0xF7, 0xA2,
1156 	0x6F, 0x0C, 0x05, 0xB8, 0x6F, 0xE4, 0x0B, 0xD7,
1157 	0xB4, 0x5B, 0x77, 0x3E, 0x0D, 0x6D, 0xA9, 0x37,
1158 	0x39, 0x69, 0xEC, 0x26, 0x58, 0xDD, 0xE5, 0xF7,
1159 	0x26, 0x2A, 0x8C, 0xBD, 0x47, 0x7B, 0x53, 0x12,
1160 	0x65, 0xD5, 0x86, 0x7C, 0xAA, 0x47, 0x8D, 0x2C,
1161 	0xBD, 0x8A, 0x82, 0x5B, 0x5E, 0xEB, 0x94, 0xAE,
1162 	0x79, 0x1D, 0x76, 0x64, 0x9E, 0x3E, 0x33, 0x5A,
1163 	0xFC, 0xB6, 0x86, 0x83, 0x6A, 0xAF, 0x7D, 0xC4,
1164 	0x50, 0x56, 0x60, 0xEF, 0x57, 0x86, 0x6C, 0xD9,
1165 	0x44, 0x72, 0xF2, 0x19, 0xB0, 0x46, 0x52, 0x04,
1166 	0xC3, 0x92, 0xF4, 0xF1, 0x36, 0xEF, 0xFA, 0xAF,
1167 	0xFA, 0x86, 0xBB, 0x2B, 0x07, 0x04, 0x9F, 0xF5,
1168 	0xD4, 0xEC, 0xB5, 0x60, 0x81, 0x8A, 0x6E, 0x5F,
1169 	0x96, 0x4C, 0x84, 0x9E, 0xD0, 0x9E, 0xA9, 0x28,
1170 	0x95, 0xF9, 0x17, 0x5E, 0x95, 0x4F, 0xA8, 0x45
1171 };
1172 uchar_t dsa_prime_1024[] = {
1173 	0xB6, 0x6F, 0x0C, 0xED, 0xAF, 0x2C, 0x79, 0x76,
1174 	0x03, 0xC1, 0xB6, 0x4A, 0x60, 0x24, 0x89, 0x6D,
1175 	0xFC, 0x8A, 0x8C, 0x4F, 0x0A, 0x61, 0x4B, 0x55,
1176 	0xB2, 0x4E, 0xDC, 0x2E, 0xB7, 0xFA, 0xFF, 0x9A,
1177 	0xF7, 0xA4, 0x86, 0x71, 0x0E, 0xBF, 0x2A, 0xBB,
1178 	0x60, 0x64, 0x49, 0xFB, 0xB8, 0x8C, 0x86, 0xA1,
1179 	0x92, 0xBC, 0x0A, 0xF8, 0xF3, 0x62, 0x5E, 0x0D,
1180 	0x40, 0xA7, 0x61, 0xCB, 0x45, 0x21, 0x90, 0xF0,
1181 	0x3F, 0xC9, 0x25, 0x79, 0x5B, 0x3A, 0xDE, 0x4E,
1182 	0xAE, 0xFA, 0x21, 0x74, 0x6F, 0x9A, 0x09, 0xED,
1183 	0xA6, 0x7D, 0x6C, 0x89, 0x5A, 0x3E, 0x28, 0xE8,
1184 	0x5D, 0x31, 0x20, 0xD9, 0xAF, 0xE8, 0x9F, 0xA4,
1185 	0xA6, 0xD7, 0xFE, 0x2F, 0x26, 0x4E, 0x85, 0x61,
1186 	0x9B, 0xE6, 0x5E, 0x67, 0x90, 0xF5, 0xDA, 0x8F,
1187 	0xE2, 0xD1, 0x26, 0xB1, 0x66, 0xC6, 0xB0, 0xCA,
1188 	0x7C, 0xE8, 0x08, 0x85, 0x57, 0xE5, 0xAD, 0x01
1189 };
1190 uchar_t dsa_subprime_1024[] = {
1191 	0x80, 0xBD, 0xBC, 0x1F, 0x32, 0x59, 0x51, 0xC6,
1192 	0xE0, 0x36, 0xC7, 0x74, 0x47, 0x16, 0xCF, 0x06,
1193 	0xDC, 0x8A, 0xA9, 0x07
1194 };
1195 uchar_t dsa_privalue_1024[] = {
1196 	0x3F, 0x02, 0xC5, 0xA7, 0x0C, 0x35, 0xAE, 0xF9,
1197 	0x9B, 0xED, 0xF4, 0x93, 0xB4, 0x10, 0x09, 0x68,
1198 	0x83, 0x2F, 0xCB, 0x9C
1199 };
1200 uchar_t dsa_pubvalue_1024[] = {
1201 	0x10, 0xEF, 0xCB, 0x38, 0x16, 0xCC, 0xCA, 0x91,
1202 	0x13, 0x6C, 0x56, 0x54, 0x67, 0xBF, 0x14, 0x98,
1203 	0xB7, 0x9B, 0x67, 0x91, 0xC9, 0x43, 0x6E, 0x04,
1204 	0x79, 0x85, 0x0D, 0x74, 0x4C, 0x8B, 0x0E, 0x33,
1205 	0x8E, 0x2C, 0xF4, 0x47, 0x4D, 0x2C, 0x3D, 0xE3,
1206 	0x50, 0x28, 0x0B, 0x19, 0x8E, 0x7F, 0x25, 0x85,
1207 	0xD9, 0xF8, 0x75, 0xE3, 0xE8, 0xE7, 0xDF, 0xAE,
1208 	0x6D, 0xC5, 0x63, 0x25, 0x1E, 0x4E, 0x69, 0xBF,
1209 	0xCE, 0xA1, 0x9A, 0xEA, 0xDB, 0xC5, 0x73, 0x20,
1210 	0x41, 0x9C, 0x1D, 0xCE, 0x28, 0x1D, 0xFE, 0x87,
1211 	0x0C, 0x6A, 0x1D, 0x44, 0xF0, 0x56, 0x01, 0x0D,
1212 	0xF7, 0x1D, 0x82, 0xFD, 0x8D, 0x20, 0xF2, 0xA3,
1213 	0x83, 0x28, 0xD3, 0xED, 0x40, 0x36, 0x0A, 0x4C,
1214 	0xAB, 0x2A, 0xB4, 0x9F, 0xA7, 0x9C, 0x53, 0x69,
1215 	0xBB, 0xC6, 0xB8, 0x78, 0x5E, 0xAF, 0x8F, 0x4E,
1216 	0xFF, 0xCB, 0x2C, 0xB7, 0xD3, 0x53, 0x6D, 0x0A
1217 };
1218 
1219 uchar_t dsa_known_data[] = {
1220 	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
1221 	'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'
1222 };
1223 
1224 /*
1225  * NIST-Approved Curves
1226  */
1227 
1228 /* P-192 */
1229 uchar_t ec_param_oid_secp192r1[] =	/* prime192v1/P192 */
1230 	{0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x1};
1231 uchar_t ec_point_p192r1[] = {
1232 	0x04, 0xa8, 0x57, 0x22, 0x30, 0x43, 0x82, 0xa4,
1233 	0x80, 0x2c, 0x46, 0x79, 0x23, 0x8b, 0xe5, 0x08,
1234 	0x02, 0xf7, 0xc6, 0x86, 0xda, 0xe8, 0x9b, 0x7b,
1235 	0x8c, 0x79, 0xa5, 0x6e, 0x0c, 0x1c, 0x37, 0x47,
1236 	0x1d, 0x51, 0x67, 0xe3, 0xdd, 0x2a, 0xc3, 0x1a,
1237 	0x29, 0xec, 0xd3, 0xbc, 0xf6, 0x95, 0xeb, 0x22,
1238 	0xe0
1239 };
1240 uchar_t ec_value_p192r1[] = {
1241 	0x52, 0x9b, 0x30, 0x58, 0x69, 0x72, 0x1b, 0x57,
1242 	0x9c, 0xe5, 0x29, 0xa1, 0x52, 0x70, 0xb9, 0xbe,
1243 	0xf4, 0x3a, 0x63, 0xdd, 0x89, 0xc0, 0xd0, 0xa8
1244 };
1245 
1246 /* P-224 */
1247 uchar_t ec_param_oid_secp224r1[] =
1248 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x21};
1249 uchar_t ec_point_p224r1[] = {
1250 	0x04,
1251 	0x2B, 0xFF, 0xAF, 0xA1, 0xAA, 0x9A, 0x05, 0x44,
1252 	0xBC, 0xC8, 0xD4, 0xAF, 0xC8, 0x53, 0x92, 0xD8,
1253 	0xC5, 0x01, 0x70, 0xF2, 0x97, 0x5B, 0x7A, 0x23,
1254 	0x7D, 0x39, 0x6A, 0xCD, 0x32, 0xF3, 0x3C, 0x69,
1255 	0x8F, 0x42, 0x00, 0xD6, 0x38, 0x0A, 0xF4, 0xCE,
1256 	0x6D, 0x43, 0x98, 0xDF, 0x2E, 0x62, 0x90, 0x6E,
1257 	0xAD, 0xF7, 0x4E, 0x6C, 0x67, 0x83, 0xC5, 0x69
1258 	};
1259 uchar_t ec_value_p224r1[] = {
1260 	0x91, 0xE9, 0x9A, 0xA5, 0x6F, 0xA7, 0x9D, 0x90,
1261 	0xED, 0x41, 0x25, 0x42, 0xA8, 0x31, 0x4E, 0xE2,
1262 	0xEB, 0x95, 0x14, 0x89, 0x6D, 0x78, 0xA0, 0x14,
1263 	0x45, 0x8B, 0x85, 0x0E
1264 };
1265 
1266 
1267 /* P-256 */
1268 uchar_t ec_param_oid_secp256r1[] =
1269 	{0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x7};
1270 uchar_t ec_point_p256r1[] = {
1271 	0x04, 0xa0, 0x90, 0x62, 0x74, 0x7d, 0x00, 0x6a,
1272 	0x84, 0x01, 0xcd, 0x7b, 0x29, 0xf6, 0x53, 0xe3,
1273 	0xd3, 0x2b, 0xb7, 0x1f, 0x51, 0x8a, 0x0c, 0xba,
1274 	0xe9, 0x3e, 0xd6, 0xa4, 0x90, 0xd3, 0x3a, 0x70,
1275 	0x29, 0x11, 0x70, 0xac, 0x03, 0x8b, 0xb0, 0x11,
1276 	0xd7, 0x05, 0xd5, 0xce, 0x17, 0x4d, 0x1e, 0x50,
1277 	0xdc, 0xea, 0x3b, 0x42, 0x0b, 0x94, 0xcb, 0xda,
1278 	0x4a, 0x07, 0xc9, 0xe6, 0x8e, 0x1d, 0x59, 0xd2, 0x77
1279 };
1280 uchar_t ec_value_p256r1[] = {
1281 	0xf3, 0x58, 0xee, 0xc7, 0xec, 0x32, 0x1c, 0x1a,
1282 	0xc6, 0x10, 0xb2, 0x97, 0x15, 0x4e, 0x84, 0x5b,
1283 	0xed, 0x36, 0x94, 0xc1, 0xa0, 0xaa, 0x8b, 0x91,
1284 	0xba, 0x26, 0x73, 0xeb, 0x6b, 0x2d, 0x4c, 0xde
1285 };
1286 
1287 /* P-384 */
1288 uchar_t ec_param_oid_secp384r1[] =
1289 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22};
1290 uchar_t ec_point_p384r1[] = {
1291 	0x04, 0x2a, 0x87, 0x73, 0x17, 0x2f, 0x61, 0xf6,
1292 	0xbc, 0xd1, 0x8b, 0x31, 0x3d, 0xa1, 0x37, 0x4b,
1293 	0x39, 0xa6, 0x1e, 0xe1, 0x8a, 0x88, 0x17, 0x2b,
1294 	0x86, 0x1a, 0x36, 0xd1, 0x1c, 0x0f, 0x53, 0xd9,
1295 	0xc7, 0x48, 0x31, 0x64, 0xcd, 0x20, 0x38, 0x14,
1296 	0xdd, 0x16, 0xde, 0x8d, 0xf7, 0xf6, 0x89, 0x43,
1297 	0xa0, 0x34, 0x15, 0x5f, 0x70, 0x99, 0x96, 0x55,
1298 	0x03, 0x26, 0x7c, 0x34, 0x9f, 0xe4, 0xfe, 0xaa,
1299 	0xcc, 0xbb, 0xa1, 0x91, 0x2c, 0xbd, 0xe8, 0xc6,
1300 	0x7b, 0xef, 0x17, 0x87, 0x2d, 0x9f, 0xe3, 0x2b,
1301 	0x99, 0x17, 0x6d, 0x96, 0xed, 0x44, 0x55, 0x28,
1302 	0x53, 0xce, 0xcd, 0x31, 0x8c, 0x3d, 0x90, 0x2f, 0xcf
1303 };
1304 uchar_t ec_value_p384r1[] = {
1305 	0xfc, 0xcb, 0x14, 0xdd, 0x5f, 0x86, 0x31, 0x74,
1306 	0x27, 0xef, 0x19, 0x18, 0x6c, 0x02, 0x2b, 0x94,
1307 	0xbf, 0x56, 0x9f, 0x36, 0x5e, 0x38, 0x6b, 0x82,
1308 	0x91, 0x70, 0xc4, 0x0f, 0xd6, 0xbe, 0x32, 0x5c,
1309 	0x4d, 0xe3, 0x75, 0x98, 0x05, 0x8c, 0x61, 0xe8,
1310 	0x70, 0x32, 0x6f, 0xbc, 0xc9, 0x85, 0x0a, 0x34
1311 };
1312 
1313 /* P-521 */
1314 uchar_t ec_param_oid_secp521r1[] =
1315 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x23};
1316 uchar_t ec_point_p521r1[] = {
1317 	0x04, 0x01, 0x41, 0x65, 0x78, 0xe4, 0xbd, 0x99,
1318 	0x50, 0xc8, 0x2e, 0x4a, 0x82, 0xac, 0x6c, 0x20,
1319 	0xcf, 0xf8, 0x2e, 0x72, 0x40, 0x1d, 0x5f, 0x51,
1320 	0x5f, 0xcc, 0xb3, 0xa8, 0x52, 0x8c, 0xa6, 0x41,
1321 	0x43, 0xd6, 0xd8, 0x13, 0xfd, 0xd8, 0xbb, 0xd9,
1322 	0x7c, 0xa7, 0xbf, 0xa8, 0xa8, 0x65, 0x0f, 0xc8,
1323 	0xb9, 0x60, 0x13, 0xbc, 0xd3, 0x16, 0x6a, 0x5f,
1324 	0xf0, 0x52, 0x49, 0xce, 0x61, 0x8f, 0x1a, 0xf3,
1325 	0x6d, 0xe6, 0xce, 0x01, 0x15, 0x98, 0xb0, 0x2f,
1326 	0xa0, 0x28, 0x4b, 0x2b, 0xf1, 0xf4, 0xd0, 0x9e,
1327 	0xbd, 0xa2, 0xf5, 0xad, 0x04, 0x23, 0xf6, 0x55,
1328 	0xdb, 0x08, 0x45, 0x7b, 0xde, 0x6e, 0x7b, 0xce,
1329 	0x1d, 0x26, 0x08, 0xc3, 0x01, 0xfd, 0xb1, 0xe1,
1330 	0x56, 0xd3, 0xcc, 0x38, 0x38, 0x93, 0x4d, 0x6e,
1331 	0xb1, 0x95, 0xd1, 0x9c, 0x91, 0x65, 0x4c, 0x85,
1332 	0xe7, 0x64, 0x4f, 0xe5, 0x27, 0x48, 0x81, 0x02,
1333 	0x2f, 0x58, 0x29, 0x17, 0x6b
1334 };
1335 uchar_t ec_value_p521r1[] = {
1336 	0x01, 0x74, 0x8a, 0x92, 0xca, 0x6f, 0x31, 0x1f,
1337 	0x45, 0x22, 0x84, 0x9f, 0x33, 0x20, 0x56, 0xb0,
1338 	0x5a, 0xdd, 0xda, 0x73, 0x89, 0xb3, 0x21, 0xab,
1339 	0xe5, 0xe0, 0xac, 0xe1, 0x6c, 0xa5, 0x59, 0x1b,
1340 	0x54, 0x56, 0xd6, 0x45, 0xcb, 0xcf, 0x9f, 0xbd,
1341 	0xec, 0x26, 0x43, 0xe8, 0xc4, 0x84, 0xec, 0xa6,
1342 	0xdf, 0x09, 0xfc, 0xe3, 0xe3, 0xcb, 0x89, 0x01,
1343 	0xce, 0x19, 0x12, 0x3d, 0x61, 0x10, 0x1d, 0x6a,
1344 	0xca, 0x39
1345 };
1346 
1347 
1348 /* K-163 */
1349 uchar_t ec_param_oid_sect163k1[] =
1350 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x01};
1351 uchar_t ec_point_t163k1[] = {
1352 	0x04, 0x05, 0x95, 0xe3, 0x64, 0xed, 0x0b, 0xf5,
1353 	0x0b, 0x28, 0x20, 0x31, 0xb5, 0x25, 0x35, 0x0d,
1354 	0xc0, 0x5b, 0x16, 0x64, 0x18, 0x7d, 0x01, 0xe4,
1355 	0x11, 0xda, 0xa4, 0x1e, 0x79, 0x7b, 0xcd, 0x5a,
1356 	0x29, 0xed, 0xdf, 0xec, 0xa0, 0xc2, 0xb5, 0xf7,
1357 	0xf3, 0xf6, 0x5a
1358 };
1359 uchar_t ec_value_t163k1[] = {
1360 	0x03, 0x0d, 0x02, 0xa7, 0xb7, 0x7b, 0x86, 0xe1,
1361 	0x6a, 0x4e, 0xea, 0xd5, 0xa5, 0x01, 0x5c, 0x7c,
1362 	0x73, 0x60, 0x5b, 0x44, 0x80
1363 };
1364 
1365 /* K-233 */
1366 uchar_t ec_param_oid_sect233k1[] =
1367 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x1a};
1368 uchar_t ec_point_t233k1[] = {
1369 	0x04, 0x00, 0xf1, 0x3e, 0x3d, 0xd9, 0xbf, 0x5c,
1370 	0x68, 0x9d, 0xb3, 0x2a, 0x4f, 0x0e, 0xb0, 0xfa,
1371 	0x97, 0x1a, 0x50, 0xbc, 0xbb, 0x5f, 0x86, 0x05,
1372 	0xe3, 0x60, 0x04, 0x81, 0x4b, 0xce, 0x62, 0x01,
1373 	0xe7, 0x57, 0xeb, 0xe2, 0x52, 0xc8, 0x4b, 0x84,
1374 	0x46, 0xd4, 0xca, 0xce, 0x1d, 0xf8, 0x07, 0x0c,
1375 	0x5b, 0x8c, 0x56, 0xce, 0x08, 0xdb, 0x4e, 0x1b,
1376 	0xf7, 0xed, 0x56, 0x19, 0x13
1377 };
1378 uchar_t ec_value_t233k1[] = {
1379 	0x00, 0x61, 0xba, 0xcf, 0x3f, 0x7c, 0x0c, 0x16,
1380 	0x81, 0x84, 0x7a, 0x2b, 0x07, 0x88, 0x86, 0x83,
1381 	0xc7, 0xdb, 0xc0, 0xc6, 0xc7, 0xb9, 0x55, 0x80,
1382 	0x7d, 0x9b, 0x89, 0x0f, 0x6f, 0x9d
1383 };
1384 
1385 
1386 /* K-283 */
1387 uchar_t ec_param_oid_sect283k1[] =
1388 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x10};
1389 uchar_t ec_point_t283k1[] = {
1390 	0x04, 0x03, 0x63, 0x96, 0xa4, 0xdd, 0x64, 0xf6,
1391 	0x9a, 0x76, 0x4e, 0x46, 0x64, 0x39, 0x3f, 0x6d,
1392 	0xb6, 0xcc, 0xf8, 0xa8, 0x85, 0xea, 0xd4, 0x59,
1393 	0x38, 0xf5, 0xce, 0xb4, 0x57, 0xf3, 0x68, 0xd9,
1394 	0x3a, 0x11, 0xd6, 0x88, 0x2f, 0x03, 0x7f, 0x23,
1395 	0x70, 0x4a, 0x11, 0x3f, 0x4d, 0x04, 0x57, 0x48,
1396 	0xa0, 0x31, 0xd7, 0x0f, 0xec, 0x35, 0x57, 0x4c,
1397 	0x01, 0x11, 0xe5, 0xf0, 0x71, 0xa9, 0x69, 0x44,
1398 	0xc9, 0xf1, 0xc1, 0xf9, 0xe8, 0xb3, 0x90, 0xae, 0x7f
1399 };
1400 uchar_t ec_value_t283k1[] = {
1401 	0x01, 0x4d, 0x29, 0x14, 0xf0, 0xed, 0xd5, 0x7d,
1402 	0x44, 0x23, 0xc8, 0xa0, 0xc3, 0x4c, 0x90, 0x54,
1403 	0x52, 0xaa, 0x30, 0x90, 0xd9, 0x85, 0xc1, 0x45,
1404 	0xbf, 0x1d, 0xd6, 0x2b, 0x91, 0x47, 0x87, 0x40,
1405 	0xcf, 0x76, 0xa7, 0xa4
1406 };
1407 
1408 /* K-409 */
1409 uchar_t ec_param_oid_sect409k1[] =
1410 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x24};
1411 uchar_t ec_point_t409k1[] = {
1412 	0x04, 0x00, 0xed, 0xe7, 0xa4, 0xe0, 0xe6, 0x06,
1413 	0xd5, 0xc7, 0x39, 0x08, 0xf3, 0x35, 0xe4, 0x20,
1414 	0xd3, 0xb8, 0xbb, 0x24, 0x41, 0x6a, 0x7a, 0xa6,
1415 	0x47, 0x72, 0x29, 0xc8, 0x57, 0x59, 0x3d, 0xc3,
1416 	0x53, 0xac, 0x0e, 0xeb, 0x00, 0x48, 0xe4, 0x9b,
1417 	0xa3, 0xc6, 0x05, 0x01, 0x7f, 0xa7, 0x81, 0xff,
1418 	0x18, 0x48, 0xf6, 0x3b, 0x2a, 0x01, 0xb8, 0xef,
1419 	0x75, 0x39, 0x2b, 0xb5, 0x3d, 0x80, 0x54, 0xef,
1420 	0xee, 0x37, 0xc8, 0x59, 0xdb, 0xad, 0xff, 0xad,
1421 	0x52, 0x42, 0x40, 0x2b, 0xcc, 0xdd, 0xa1, 0xd7,
1422 	0x83, 0xd0, 0x7d, 0x21, 0xab, 0xc7, 0xbf, 0xb2,
1423 	0x1a, 0x4e, 0xb4, 0xe6, 0xb4, 0x1c, 0xe5, 0x9b,
1424 	0xbb, 0xb9, 0xef, 0x68, 0x5c, 0xbf, 0x0d, 0xfd, 0x42
1425 };
1426 uchar_t ec_value_t409k1[] = {
1427 	0x00, 0x74, 0xa9, 0xea, 0x4e, 0xeb, 0x48, 0x7d,
1428 	0xc4, 0x7c, 0xd6, 0x09, 0xf9, 0x1d, 0x06, 0x0c,
1429 	0xbf, 0x61, 0xa8, 0x8a, 0x70, 0x11, 0x2c, 0xca,
1430 	0x2d, 0xb8, 0x0b, 0x3a, 0x83, 0x22, 0x9b, 0x69,
1431 	0x22, 0x25, 0x13, 0xe3, 0x4c, 0xe1, 0xed, 0x4e,
1432 	0xdd, 0xe4, 0x27, 0x38, 0xc0, 0x75, 0x91, 0xb7,
1433 	0xfd, 0x6a, 0x73, 0x1c
1434 };
1435 
1436 
1437 /* K-571 */
1438 uchar_t ec_param_oid_sect571k1[] =
1439 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x26};
1440 uchar_t ec_point_t571k1[] = {
1441 	0x04, 0x02, 0x90, 0x9c, 0xfe, 0x4f, 0x09, 0x18,
1442 	0x38, 0x71, 0xdc, 0x84, 0xda, 0x80, 0x1d, 0xa5,
1443 	0xba, 0xad, 0x52, 0xce, 0x72, 0x19, 0x42, 0xb8,
1444 	0x6f, 0xa4, 0x31, 0x68, 0xb6, 0xb2, 0x59, 0x4e,
1445 	0x49, 0x73, 0x6e, 0xb6, 0xf7, 0x04, 0x19, 0x6d,
1446 	0x78, 0x5b, 0x28, 0x5a, 0xf6, 0x9b, 0x33, 0x6b,
1447 	0xac, 0x58, 0x1a, 0xcb, 0x52, 0xab, 0xb8, 0x51,
1448 	0xe1, 0x27, 0x6e, 0x55, 0x2b, 0xaa, 0x78, 0xd8,
1449 	0x27, 0x19, 0x2f, 0x3b, 0xfd, 0x5d, 0x4d, 0xa7,
1450 	0x17, 0x05, 0x8a, 0x27, 0xfa, 0x9f, 0xd5, 0xf0,
1451 	0xfe, 0xf7, 0x01, 0x7b, 0x2d, 0x53, 0xc5, 0x4a,
1452 	0x82, 0xc9, 0xae, 0xb3, 0xde, 0xf8, 0x93, 0xc7,
1453 	0x10, 0x2a, 0x95, 0x43, 0x3f, 0x1f, 0xdd, 0xcb,
1454 	0x59, 0xf8, 0xc8, 0x2d, 0xa3, 0xce, 0x7e, 0x65,
1455 	0x39, 0x85, 0x61, 0x01, 0xb3, 0x25, 0x11, 0xc8,
1456 	0x7a, 0xed, 0x15, 0xc4, 0x9d, 0x60, 0x8e, 0xc7,
1457 	0x34, 0x6e, 0x15, 0xa1, 0x0f, 0x9c, 0x86, 0x3d,
1458 	0x8d, 0x2f, 0xdc, 0x9e, 0xb3, 0xfd, 0xb7, 0x1c, 0x98
1459 };
1460 uchar_t ec_value_t571k1[] = {
1461 	0x00, 0x18, 0xf8, 0xad, 0x6b, 0x49, 0xa4, 0x31,
1462 	0x97, 0x4b, 0xcf, 0x23, 0xa0, 0x7f, 0xf4, 0x66,
1463 	0x81, 0x7d, 0xa2, 0x72, 0x11, 0x7d, 0x5b, 0xe1,
1464 	0xab, 0x9f, 0xf1, 0xb7, 0xee, 0xea, 0x88, 0xee,
1465 	0xd6, 0x20, 0x18, 0xfd, 0x51, 0xb2, 0xa4, 0x06,
1466 	0xdc, 0x35, 0x13, 0x32, 0x93, 0x56, 0xbe, 0x55,
1467 	0x01, 0xf3, 0xd3, 0x8c, 0xba, 0x8c, 0xcd, 0xd0,
1468 	0xa2, 0x49, 0x9c, 0x7d, 0xac, 0x50, 0x4a, 0x17,
1469 	0xca, 0xbc, 0x52, 0x39, 0x97, 0xf5, 0xfe, 0xc8
1470 };
1471 
1472 /* B-163 */
1473 uchar_t ec_param_oid_sect163r2[] =
1474 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x0f};
1475 uchar_t ec_point_t163r2[] = {
1476 	0x04, 0x05, 0xe7, 0xb8, 0x3c, 0xd5, 0x6b, 0xc1,
1477 	0xeb, 0x43, 0x0b, 0xbc, 0xc1, 0xd7, 0xc2, 0xf9,
1478 	0xa2, 0xc5, 0x88, 0x4d, 0x48, 0x46, 0x04, 0xd2,
1479 	0x80, 0x2f, 0x35, 0x35, 0x38, 0xda, 0x85, 0xab,
1480 	0x23, 0xce, 0x85, 0xe5, 0x89, 0xcf, 0x00, 0x5d,
1481 	0xf5, 0x39, 0xfc
1482 };
1483 uchar_t ec_value_t163r2[] = {
1484 	0x01, 0x4d, 0xbd, 0x26, 0x63, 0xc4, 0x6a, 0xec,
1485 	0x6d, 0xa5, 0x46, 0x8d, 0xa2, 0x65, 0x64, 0x20,
1486 	0xb5, 0x05, 0x8a, 0x94, 0x24
1487 };
1488 
1489 
1490 /* B-233 */
1491 uchar_t ec_param_oid_sect233r1[] =
1492 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x1b};
1493 uchar_t ec_point_t233r1[] = {
1494 	0x04, 0x01, 0x68, 0x1d, 0x09, 0x0b, 0x67, 0xe4,
1495 	0x9c, 0xc1, 0xd9, 0xac, 0x98, 0xec, 0x26, 0x91,
1496 	0x0a, 0x08, 0x3b, 0xeb, 0x48, 0xc1, 0xea, 0x79,
1497 	0x37, 0xff, 0xc5, 0x3d, 0xad, 0xe9, 0xea, 0x01,
1498 	0xab, 0x06, 0x22, 0x4f, 0xb3, 0xfa, 0x23, 0xe3,
1499 	0x15, 0xf3, 0x7d, 0xa0, 0x5a, 0xff, 0x1d, 0x00,
1500 	0xe0, 0xa2, 0x70, 0xbc, 0x31, 0xef, 0xa0, 0xc9,
1501 	0xd4, 0xba, 0xa5, 0x16, 0x62
1502 };
1503 uchar_t ec_value_t233r1[] = {
1504 	0x00, 0x88, 0x3e, 0x26, 0x83, 0x08, 0x9c, 0xd9,
1505 	0x7a, 0x46, 0xae, 0xf8, 0x6d, 0xd3, 0x9c, 0xee,
1506 	0xd8, 0xae, 0xf9, 0xd0, 0x5d, 0x96, 0x7e, 0xf9,
1507 	0xb0, 0x1c, 0x21, 0x26, 0x9d, 0x64
1508 };
1509 
1510 
1511 /* B-283 */
1512 uchar_t ec_param_oid_sect283r1[] =
1513 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x11};
1514 uchar_t ec_point_t283r1[] = {
1515 	0x04, 0x03, 0x78, 0x8d, 0x40, 0xd6, 0x34, 0xb6,
1516 	0xa0, 0x54, 0x66, 0x23, 0x9d, 0xc0, 0x60, 0x65,
1517 	0x7f, 0xeb, 0x6d, 0xe1, 0x9e, 0xee, 0xc3, 0x7a,
1518 	0xce, 0x50, 0x4f, 0x66, 0x45, 0x49, 0xcd, 0xbf,
1519 	0x5a, 0x8c, 0x84, 0xa7, 0x30, 0x07, 0xc6, 0xbf,
1520 	0x90, 0x6b, 0x6d, 0x9b, 0x50, 0x24, 0x66, 0x7b,
1521 	0xd2, 0xc9, 0xfe, 0x27, 0xdd, 0xd3, 0xef, 0x15,
1522 	0x2e, 0xca, 0x09, 0x93, 0x38, 0x4d, 0x90, 0x9c,
1523 	0x0e, 0x6b, 0xad, 0x5b, 0x79, 0xef, 0x45, 0xb0, 0xef
1524 };
1525 uchar_t ec_value_t283r1[] = {
1526 	0x00, 0xa1, 0xbb, 0x28, 0x7a, 0xc8, 0x63, 0x2a,
1527 	0xd4, 0x5e, 0xe1, 0xe2, 0x29, 0x33, 0x74, 0x0f,
1528 	0xbb, 0x26, 0x06, 0x36, 0x4f, 0xab, 0x14, 0x35,
1529 	0x87, 0x40, 0xb3, 0x99, 0x67, 0xe2, 0x83, 0xcd,
1530 	0x44, 0xdf, 0xac, 0xff
1531 };
1532 
1533 /* B-409 */
1534 uchar_t ec_param_oid_sect409r1[] =
1535 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x25};
1536 uchar_t ec_point_t409r1[] = {
1537 	0x04, 0x01, 0x28, 0x3c, 0x30, 0xa0, 0x5f, 0x13,
1538 	0x3e, 0x72, 0xf5, 0x5f, 0xf6, 0xe9, 0x78, 0x20,
1539 	0xb2, 0x8e, 0x81, 0xdd, 0x62, 0xa6, 0x8a, 0x57,
1540 	0xaf, 0x94, 0xab, 0x0a, 0x7e, 0xef, 0xb5, 0xda,
1541 	0xfe, 0xcf, 0x6f, 0x7f, 0xa7, 0x6d, 0x2c, 0xa6,
1542 	0xe4, 0xca, 0x32, 0x7e, 0x7f, 0x45, 0xaa, 0xc8,
1543 	0x88, 0x7a, 0x67, 0x36, 0x07, 0x00, 0xdc, 0x7d,
1544 	0x11, 0xc7, 0x6e, 0x49, 0xc5, 0x57, 0x80, 0xf2,
1545 	0x49, 0xf5, 0xce, 0x62, 0x7b, 0xad, 0xb8, 0xae,
1546 	0x24, 0x8d, 0x1d, 0x77, 0xbf, 0x83, 0xd6, 0xc3,
1547 	0xf3, 0xa9, 0xb9, 0xe3, 0xa6, 0x47, 0x1a, 0x4a,
1548 	0x91, 0x11, 0xd1, 0x4a, 0x48, 0x21, 0x10, 0x16,
1549 	0x85, 0x49, 0xb4, 0x45, 0x7f, 0xdf, 0x0f, 0x34, 0x8a
1550 };
1551 uchar_t ec_value_t409r1[] = {
1552 	0x00, 0xef, 0x9d, 0x02, 0xa8, 0xef, 0xe4, 0xa2,
1553 	0xe7, 0x5b, 0x6e, 0x3f, 0x15, 0x2f, 0x64, 0x5b,
1554 	0x55, 0xc8, 0xbf, 0xec, 0xca, 0x3a, 0xeb, 0x1c,
1555 	0xdd, 0x97, 0x4f, 0x3f, 0xb0, 0x08, 0xfb, 0x4e,
1556 	0x1d, 0xd3, 0x40, 0x83, 0x75, 0x82, 0x56, 0x27,
1557 	0x6b, 0xfd, 0x83, 0xa8, 0xb7, 0xb6, 0x27, 0xc2,
1558 	0x85, 0x22, 0x4f, 0x34
1559 };
1560 
1561 /* B-571 */
1562 uchar_t ec_param_oid_sect571r1[] =
1563 	{0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x27};
1564 uchar_t ec_point_t571r1[] = {
1565 	0x04, 0x04, 0x30, 0x6c, 0xfe, 0x2b, 0xff, 0x12,
1566 	0x23, 0x8a, 0x3b, 0xe0, 0x07, 0x19, 0x8b, 0xd1,
1567 	0xf9, 0x8c, 0x14, 0x3e, 0xea, 0x5f, 0x85, 0x7f,
1568 	0x03, 0x20, 0x89, 0x9f, 0x9f, 0x6d, 0xde, 0xcd,
1569 	0x35, 0x24, 0xa1, 0x83, 0xf7, 0xb9, 0xd1, 0x4b,
1570 	0x4f, 0x20, 0xa8, 0x91, 0x36, 0xa4, 0x75, 0x5e,
1571 	0xee, 0x5a, 0x0e, 0x47, 0xf0, 0xa9, 0xff, 0xb6,
1572 	0x62, 0x65, 0x2b, 0x85, 0x01, 0x49, 0x59, 0x5f,
1573 	0x1d, 0x37, 0x54, 0xf5, 0xdc, 0x61, 0x37, 0x48,
1574 	0xbd, 0x02, 0xf2, 0xa2, 0x7d, 0x73, 0x00, 0xfb,
1575 	0x15, 0x6c, 0x4e, 0x16, 0x22, 0x82, 0xdb, 0x9d,
1576 	0xed, 0x6e, 0xa6, 0x5d, 0x97, 0x19, 0xbb, 0x30,
1577 	0x13, 0x22, 0x71, 0x04, 0xc7, 0xd3, 0x83, 0xc2,
1578 	0x2c, 0xcf, 0x2f, 0xf9, 0x90, 0xe2, 0x9a, 0xca,
1579 	0x97, 0x6b, 0x3c, 0x1d, 0x22, 0xf1, 0x38, 0x6c,
1580 	0x14, 0x4e, 0xa9, 0x8d, 0x37, 0xf5, 0x51, 0xbc,
1581 	0x2b, 0xc8, 0x03, 0x47, 0x25, 0xd5, 0x30, 0x9b,
1582 	0x64, 0xfc, 0x7e, 0x80, 0x70, 0x63, 0xc1, 0x34, 0x86
1583 };
1584 uchar_t ec_value_t571r1[] = {
1585 	0x03, 0xa0, 0xb6, 0xf6, 0x40, 0x71, 0x56, 0xd8,
1586 	0x88, 0xf4, 0x08, 0x13, 0xa1, 0x20, 0x8b, 0x03,
1587 	0x04, 0xae, 0x67, 0xc0, 0x7d, 0x1f, 0x19, 0x4b,
1588 	0x40, 0xab, 0x75, 0x65, 0x5f, 0x61, 0x0b, 0x0b,
1589 	0x72, 0x1d, 0xc3, 0xdf, 0x5c, 0xd2, 0x41, 0xf7,
1590 	0x74, 0xe2, 0x26, 0x4d, 0xba, 0xab, 0xcb, 0x6e,
1591 	0xcd, 0x86, 0x57, 0x48, 0x7f, 0x3f, 0x2b, 0x91,
1592 	0xab, 0x50, 0x61, 0xd0, 0x01, 0xd9, 0x1a, 0xec,
1593 	0x7b, 0xb8, 0xcb, 0x3c, 0x72, 0xa7, 0xd5, 0x39
1594 };
1595