1 /*This is an automatically generated file!*/
2 
3 #include "edhoc.h"
4 #include <stdint.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 
8 
9 struct test_vector {
10         const uint8_t *method;
11         uint32_t method_len;
12 
13         const uint8_t *SUITES_I;
14         uint32_t SUITES_I_len;
15 
16         const uint8_t *SUITES_R;
17         uint32_t SUITES_R_len;
18 
19         const uint8_t *x_raw;
20         uint32_t x_raw_len;
21 
22         const uint8_t *g_x_raw;
23         uint32_t g_x_raw_len;
24 
25         const uint8_t *g_x;
26         uint32_t g_x_len;
27 
28         const uint8_t *c_i;
29         uint32_t c_i_len;
30 
31         const uint8_t *ead_1;
32         uint32_t ead_1_len;
33 
34         const uint8_t *message_1;
35         uint32_t message_1_len;
36 
37         const uint8_t *y_raw;
38         uint32_t y_raw_len;
39 
40         const uint8_t *g_y_raw;
41         uint32_t g_y_raw_len;
42 
43         const uint8_t *g_y;
44         uint32_t g_y_len;
45 
46         const uint8_t *g_xy_raw;
47         uint32_t g_xy_raw_len;
48 
49         const uint8_t *salt_raw;
50         uint32_t salt_raw_len;
51 
52         const uint8_t *prk_2e_raw;
53         uint32_t prk_2e_raw_len;
54 
55         const uint8_t *sk_r_raw;
56         uint32_t sk_r_raw_len;
57 
58         const uint8_t *pk_r_raw;
59         uint32_t pk_r_raw_len;
60 
61         const uint8_t *prk_3e2m_raw;
62         uint32_t prk_3e2m_raw_len;
63 
64         const uint8_t *c_r;
65         uint32_t c_r_len;
66 
67         const uint8_t *h_message_1_raw;
68         uint32_t h_message_1_raw_len;
69 
70         const uint8_t *h_message_1;
71         uint32_t h_message_1_len;
72 
73         const uint8_t *input_th_2;
74         uint32_t input_th_2_len;
75 
76         const uint8_t *th_2_raw;
77         uint32_t th_2_raw_len;
78 
79         const uint8_t *th_2;
80         uint32_t th_2_len;
81 
82         const uint8_t *id_cred_r;
83         uint32_t id_cred_r_len;
84 
85         const uint8_t *cred_r;
86         uint32_t cred_r_len;
87 
88         const uint8_t *ead_2;
89         uint32_t ead_2_len;
90 
91         const uint8_t *info_mac_2;
92         uint32_t info_mac_2_len;
93 
94         const uint8_t *mac_2_raw;
95         uint32_t mac_2_raw_len;
96 
97         const uint8_t *mac_2;
98         uint32_t mac_2_len;
99 
100         const uint8_t *m_2;
101         uint32_t m_2_len;
102 
103         const uint8_t *sig_or_mac_2_raw;
104         uint32_t sig_or_mac_2_raw_len;
105 
106         const uint8_t *sig_or_mac_2;
107         uint32_t sig_or_mac_2_len;
108 
109         const uint8_t *plaintext_2;
110         uint32_t plaintext_2_len;
111 
112         const uint8_t *info_keystream_2;
113         uint32_t info_keystream_2_len;
114 
115         const uint8_t *keystream_2_raw;
116         uint32_t keystream_2_raw_len;
117 
118         const uint8_t *ciphertext_2_raw;
119         uint32_t ciphertext_2_raw_len;
120 
121         const uint8_t *ciphertext_2;
122         uint32_t ciphertext_2_len;
123 
124         const uint8_t *message_2;
125         uint32_t message_2_len;
126 
127         const uint8_t *sk_i_raw;
128         uint32_t sk_i_raw_len;
129 
130         const uint8_t *pk_i_raw;
131         uint32_t pk_i_raw_len;
132 
133         const uint8_t *prk_4x3m_raw;
134         uint32_t prk_4x3m_raw_len;
135 
136         const uint8_t *input_TH_3;
137         uint32_t input_TH_3_len;
138 
139         const uint8_t *th_3_raw;
140         uint32_t th_3_raw_len;
141 
142         const uint8_t *th_3;
143         uint32_t th_3_len;
144 
145         const uint8_t *id_cred_i;
146         uint32_t id_cred_i_len;
147 
148         const uint8_t *cred_i;
149         uint32_t cred_i_len;
150 
151         const uint8_t *ead_3;
152         uint32_t ead_3_len;
153 
154         const uint8_t *info_mac_3;
155         uint32_t info_mac_3_len;
156 
157         const uint8_t *mac_3_raw;
158         uint32_t mac_3_raw_len;
159 
160         const uint8_t *mac_3;
161         uint32_t mac_3_len;
162 
163         const uint8_t *m_3;
164         uint32_t m_3_len;
165 
166         const uint8_t *sig_or_mac_3_raw;
167         uint32_t sig_or_mac_3_raw_len;
168 
169         const uint8_t *sig_or_mac_3;
170         uint32_t sig_or_mac_3_len;
171 
172         const uint8_t *p_3;
173         uint32_t p_3_len;
174 
175         const uint8_t *a_3;
176         uint32_t a_3_len;
177 
178         const uint8_t *info_k_3;
179         uint32_t info_k_3_len;
180 
181         const uint8_t *k_3_raw;
182         uint32_t k_3_raw_len;
183 
184         const uint8_t *info_iv_3;
185         uint32_t info_iv_3_len;
186 
187         const uint8_t *iv_3_raw;
188         uint32_t iv_3_raw_len;
189 
190         const uint8_t *ciphertext_3_raw;
191         uint32_t ciphertext_3_raw_len;
192 
193         const uint8_t *ciphertext_3;
194         uint32_t ciphertext_3_len;
195 
196         const uint8_t *message_3;
197         uint32_t message_3_len;
198 
199         const uint8_t *input_th_4;
200         uint32_t input_th_4_len;
201 
202         const uint8_t *th_4_raw;
203         uint32_t th_4_raw_len;
204 
205         const uint8_t *th_4;
206         uint32_t th_4_len;
207 
208         const uint8_t *ead_4;
209         uint32_t ead_4_len;
210 
211         const uint8_t *p_4;
212         uint32_t p_4_len;
213 
214         const uint8_t *a_4;
215         uint32_t a_4_len;
216 
217         const uint8_t *info_k_4;
218         uint32_t info_k_4_len;
219 
220         const uint8_t *k_4_raw;
221         uint32_t k_4_raw_len;
222 
223         const uint8_t *info_iv_4;
224         uint32_t info_iv_4_len;
225 
226         const uint8_t *iv_4_raw;
227         uint32_t iv_4_raw_len;
228 
229         const uint8_t *ciphertext_4_raw;
230         uint32_t ciphertext_4_raw_len;
231 
232         const uint8_t *ciphertext_4;
233         uint32_t ciphertext_4_len;
234 
235         const uint8_t *message_4;
236         uint32_t message_4_len;
237 
238         int32_t *oscore_aead_alg;
239 
240         int32_t *oscore_hash_alg;
241 
242         const uint8_t *client_sender_id_raw;
243         uint32_t client_sender_id_raw_len;
244 
245         const uint8_t *server_sender_id_raw;
246         uint32_t server_sender_id_raw_len;
247 
248         const uint8_t *info_oscore_secret;
249         uint32_t info_oscore_secret_len;
250 
251         const uint8_t *oscore_secret_raw;
252         uint32_t oscore_secret_raw_len;
253 
254         const uint8_t *info_oscore_salt;
255         uint32_t info_oscore_salt_len;
256 
257         const uint8_t *oscore_salt_raw;
258         uint32_t oscore_salt_raw_len;
259 
260         const uint8_t *key_update_nonce_raw;
261         uint32_t key_update_nonce_raw_len;
262 
263         const uint8_t *prk_4x3m_key_update_raw;
264         uint32_t prk_4x3m_key_update_raw_len;
265 
266         const uint8_t *oscore_secret_key_update_raw;
267         uint32_t oscore_secret_key_update_raw_len;
268 
269         const uint8_t *oscore_salt_key_update_raw;
270         uint32_t oscore_salt_key_update_raw_len;
271 
272         const uint8_t *ca_r;
273         uint32_t ca_r_len;
274 
275         const uint8_t *ca_i;
276         uint32_t ca_i_len;
277 
278         const uint8_t *ca_r_pk;
279         uint32_t ca_r_pk_len;
280 
281         const uint8_t *ca_i_pk;
282         uint32_t ca_i_pk_len;
283 
284         const uint8_t *i_raw;
285         uint32_t i_raw_len;
286 
287         const uint8_t *g_i_raw;
288         uint32_t g_i_raw_len;
289 
290         const uint8_t *r_raw;
291         uint32_t r_raw_len;
292 
293         const uint8_t *g_r_raw;
294         uint32_t g_r_raw_len;
295 
296         const uint8_t *c_i_raw;
297         uint32_t c_i_raw_len;
298         int32_t *c_i_raw_int;
299 
300         const uint8_t *c_r_raw;
301         uint32_t c_r_raw_len;
302         int32_t *c_r_raw_int;
303 };
304 
305 
306 /***************** test_vector_1 ************/
307 
308 static const uint8_t test_vector_1_method[] = {
309 	0x00};
310 static const uint8_t test_vector_1_SUITES_I[] = {
311 	0x02};
312 static const uint8_t test_vector_1_SUITES_R[] = {
313 	0x02};
314 static const uint8_t test_vector_1_x_raw[] = {
315 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
316 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
317 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
318 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
319 static const uint8_t test_vector_1_g_x_raw[] = {
320 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
321 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
322 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
323 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
324 static const uint8_t test_vector_1_g_x_raw_y_coordinate[] = {
325 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
326 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
327 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
328 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
329 static const uint8_t test_vector_1_g_x[] = {
330 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
331 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
332 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
333 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
334 	0xc3, 0xb6};
335 int32_t test_vector_1_c_i_raw = -24;
336 static const uint8_t test_vector_1_c_i[] = {
337 	0x37};
338 static const uint8_t test_vector_1_ead_1[] = {
339 	};
340 static const uint8_t test_vector_1_message_1[] = {
341 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
342 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
343 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
344 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
345 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
346 static const uint8_t test_vector_1_y_raw[] = {
347 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
348 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
349 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
350 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
351 static const uint8_t test_vector_1_g_y_raw[] = {
352 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
353 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
354 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
355 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
356 static const uint8_t test_vector_1_g_y_raw_y_coordinate[] = {
357 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
358 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
359 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
360 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
361 static const uint8_t test_vector_1_g_y[] = {
362 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
363 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
364 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
365 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
366 	0xf5, 0xd5};
367 static const uint8_t test_vector_1_g_xy_raw[] = {
368 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
369 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
370 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
371 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
372 static const uint8_t test_vector_1_salt_raw[] = {
373 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
374 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
375 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
376 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
377 static const uint8_t test_vector_1_prk_2e_raw[] = {
378 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
379 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
380 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
381 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
382 static const uint8_t test_vector_1_salt_3e2m[] = {
383 	0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9,
384 	0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11,
385 	0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff,
386 	0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01};
387 static const uint8_t test_vector_1_sk_r_raw[] = {
388 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
389 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
390 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
391 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
392 static const uint8_t test_vector_1_pk_r_raw[] = {
393 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
394 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
395 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
396 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
397 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
398 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
399 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
400 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
401 	0x72};
402 static const uint8_t test_vector_1_prk_3e2m_raw[] = {
403 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
404 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
405 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
406 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
407 int32_t test_vector_1_c_r_raw = -8;
408 static const uint8_t test_vector_1_c_r[] = {
409 	0x27};
410 static const uint8_t test_vector_1_h_message_1_raw[] = {
411 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
412 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
413 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
414 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
415 static const uint8_t test_vector_1_h_message_1[] = {
416 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
417 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
418 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
419 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
420 	0x67, 0x26};
421 static const uint8_t test_vector_1_input_th_2[] = {
422 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
423 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
424 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
425 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
426 	0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f,
427 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
428 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
429 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
430 	0x18, 0x2a, 0x4e, 0x67, 0x26};
431 static const uint8_t test_vector_1_th_2_raw[] = {
432 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
433 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
434 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
435 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6};
436 static const uint8_t test_vector_1_th_2[] = {
437 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
438 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
439 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
440 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
441 	0xab, 0xa6};
442 static const uint8_t test_vector_1_id_cred_r[] = {
443 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
444 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
445 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
446 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
447 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
448 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
449 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
450 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
451 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
452 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
453 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
454 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
455 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
456 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
457 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
458 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
459 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
460 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
461 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
462 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
463 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
464 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
465 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
466 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
467 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
468 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
469 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
470 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
471 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
472 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
473 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
474 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
475 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
476 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
477 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
478 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
479 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58};
480 static const uint8_t test_vector_1_cred_r[] = {
481 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
482 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
483 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
484 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
485 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
486 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
487 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
488 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
489 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
490 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
491 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
492 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
493 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
494 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
495 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
496 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
497 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
498 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
499 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
500 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
501 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
502 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
503 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
504 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
505 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
506 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
507 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
508 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
509 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
510 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
511 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
512 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
513 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
514 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
515 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
516 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
517 	0x3b, 0x13, 0x3d, 0x05, 0x58};
518 static const uint8_t test_vector_1_ca_r[] = {
519 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
520 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
521 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
522 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
523 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
524 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
525 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
526 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
527 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
528 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
529 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
530 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
531 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
532 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
533 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
534 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
535 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
536 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
537 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
538 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
539 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
540 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
541 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
542 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
543 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
544 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
545 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
546 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
547 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
548 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
549 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
550 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
551 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
552 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
553 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
554 	0x13, 0x6b, 0xf3, 0x06};
555 static const uint8_t test_vector_1_ca_r_pk[] = {
556 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
557 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
558 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
559 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
560 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
561 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
562 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
563 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
564 	0x95};
565 static const uint8_t test_vector_1_ead_2[] = {
566 	};
567 static const uint8_t test_vector_1_info_mac_2[] = {
568 	0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59,
569 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
570 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
571 	0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08,
572 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
573 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
574 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
575 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
576 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32,
577 	0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a,
578 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
579 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
580 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
581 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
582 	0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
583 	0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
584 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
585 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
586 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3,
587 	0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94,
588 	0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2,
589 	0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93,
590 	0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19,
591 	0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02,
592 	0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a,
593 	0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22,
594 	0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a,
595 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
596 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
597 	0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8,
598 	0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf,
599 	0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22,
600 	0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05,
601 	0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c,
602 	0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce,
603 	0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23,
604 	0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b,
605 	0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xe9, 0x2b,
606 	0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed,
607 	0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4,
608 	0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2,
609 	0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01,
610 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
611 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61,
612 	0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a,
613 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
614 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
615 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
616 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
617 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30,
618 	0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17,
619 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
620 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
621 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
622 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
623 	0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,
624 	0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
625 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
626 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
627 	0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49,
628 	0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c,
629 	0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17,
630 	0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62,
631 	0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2,
632 	0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f,
633 	0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd,
634 	0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c,
635 	0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06,
636 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
637 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20,
638 	0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7,
639 	0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83,
640 	0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8,
641 	0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19,
642 	0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89,
643 	0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00,
644 	0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70,
645 	0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13,
646 	0x3d, 0x05, 0x58, 0x18, 0x20};
647 static const uint8_t test_vector_1_mac_2_raw[] = {
648 	0xd5, 0x38, 0xb0, 0x78, 0xcb, 0x4f, 0x31, 0x51,
649 	0xff, 0x55, 0x47, 0xd7, 0xa8, 0xc1, 0x23, 0x92,
650 	0xac, 0x48, 0x63, 0x23, 0x4d, 0xba, 0x3a, 0x9f,
651 	0x39, 0xe0, 0x00, 0xb2, 0xec, 0x94, 0xb8, 0x3d};
652 static const uint8_t test_vector_1_mac_2[] = {
653 	0x58, 0x20, 0xd5, 0x38, 0xb0, 0x78, 0xcb, 0x4f,
654 	0x31, 0x51, 0xff, 0x55, 0x47, 0xd7, 0xa8, 0xc1,
655 	0x23, 0x92, 0xac, 0x48, 0x63, 0x23, 0x4d, 0xba,
656 	0x3a, 0x9f, 0x39, 0xe0, 0x00, 0xb2, 0xec, 0x94,
657 	0xb8, 0x3d};
658 static const uint8_t test_vector_1_m_2[] = {
659 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
660 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
661 	0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
662 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
663 	0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30,
664 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
665 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
666 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
667 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
668 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
669 	0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33,
670 	0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
671 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
672 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
673 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
674 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73,
675 	0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59,
676 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
677 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
678 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
679 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
680 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
681 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
682 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
683 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
684 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
685 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
686 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
687 	0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
688 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
689 	0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5,
690 	0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b,
691 	0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1,
692 	0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed,
693 	0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5,
694 	0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c,
695 	0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8,
696 	0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58,
697 	0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59,
698 	0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36,
699 	0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f,
700 	0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60,
701 	0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f,
702 	0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30,
703 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
704 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
705 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
706 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
707 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
708 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
709 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
710 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
711 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
712 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
713 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
714 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
715 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
716 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
717 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
718 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
719 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
720 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
721 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
722 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
723 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
724 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
725 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
726 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
727 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
728 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
729 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
730 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
731 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
732 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
733 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
734 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
735 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
736 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
737 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
738 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
739 	0x58, 0x58, 0x20, 0xd5, 0x38, 0xb0, 0x78, 0xcb,
740 	0x4f, 0x31, 0x51, 0xff, 0x55, 0x47, 0xd7, 0xa8,
741 	0xc1, 0x23, 0x92, 0xac, 0x48, 0x63, 0x23, 0x4d,
742 	0xba, 0x3a, 0x9f, 0x39, 0xe0, 0x00, 0xb2, 0xec,
743 	0x94, 0xb8, 0x3d};
744 static const uint8_t test_vector_1_sig_or_mac_2_raw[] = {
745 	0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36, 0x91, 0xf4,
746 	0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd, 0x42, 0x0f,
747 	0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4, 0xee, 0x47,
748 	0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17, 0x17, 0xaf,
749 	0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76, 0x4e, 0xfc,
750 	0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc, 0xf8, 0xf2,
751 	0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed, 0xb7, 0xaa,
752 	0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf, 0x96, 0xfd};
753 static const uint8_t test_vector_1_sig_or_mac_2[] = {
754 	0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36,
755 	0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd,
756 	0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4,
757 	0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17,
758 	0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76,
759 	0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc,
760 	0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed,
761 	0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf,
762 	0x96, 0xfd};
763 static const uint8_t test_vector_1_plaintext_2[] = {
764 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
765 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
766 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
767 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
768 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
769 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
770 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
771 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
772 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
773 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
774 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
775 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
776 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
777 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
778 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
779 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
780 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
781 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
782 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
783 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
784 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
785 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
786 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
787 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
788 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
789 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
790 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
791 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
792 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
793 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
794 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
795 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
796 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
797 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
798 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
799 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
800 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58,
801 	0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36,
802 	0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd,
803 	0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4,
804 	0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17,
805 	0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76,
806 	0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc,
807 	0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed,
808 	0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf,
809 	0x96, 0xfd};
810 static const uint8_t test_vector_1_info_keystream_2[] = {
811 	0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43,
812 	0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b,
813 	0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9,
814 	0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92,
815 	0xfb, 0xab, 0xa6, 0x19, 0x01, 0x6a};
816 static const uint8_t test_vector_1_keystream_2_raw[] = {
817 	0xdc, 0x1a, 0x12, 0x50, 0x37, 0xd4, 0x3f, 0x39,
818 	0xe9, 0xb5, 0xb1, 0x06, 0x56, 0x18, 0x35, 0xfd,
819 	0xd1, 0x5c, 0xd2, 0x86, 0x32, 0xf7, 0xbe, 0xb4,
820 	0xf1, 0x80, 0xc1, 0x9c, 0x66, 0x3e, 0xce, 0xc5,
821 	0x82, 0xc2, 0xef, 0xce, 0x13, 0x12, 0x71, 0x3c,
822 	0x9a, 0x83, 0x81, 0x1e, 0x26, 0xea, 0x16, 0xa8,
823 	0x3f, 0x0b, 0x58, 0x00, 0xe2, 0x94, 0xf8, 0xc5,
824 	0x82, 0xac, 0xc6, 0x13, 0x7a, 0x16, 0x75, 0x7b,
825 	0xed, 0xff, 0xd5, 0xb2, 0x3b, 0x8a, 0x21, 0x55,
826 	0xc5, 0xe5, 0xaf, 0x14, 0x8d, 0x76, 0x4c, 0x25,
827 	0xdd, 0xa2, 0x97, 0x00, 0xdd, 0xa5, 0x80, 0xc3,
828 	0xf9, 0x3a, 0xe1, 0x03, 0x21, 0x9d, 0xe6, 0x2f,
829 	0xd7, 0x9b, 0x3e, 0xb3, 0x72, 0xdf, 0xd7, 0x57,
830 	0x78, 0x49, 0xed, 0x13, 0x2d, 0xd8, 0x09, 0x11,
831 	0x9d, 0x52, 0xa9, 0x86, 0x12, 0x7f, 0x99, 0xfa,
832 	0x81, 0xe3, 0x7d, 0x0c, 0x55, 0xca, 0x41, 0xd7,
833 	0xb3, 0x25, 0xa2, 0xfb, 0x80, 0xf1, 0xae, 0xc7,
834 	0x4e, 0x0d, 0x26, 0xf1, 0xb1, 0x5b, 0x61, 0xe1,
835 	0x22, 0x66, 0xfb, 0x67, 0xf0, 0xe3, 0xc6, 0x11,
836 	0xad, 0xd6, 0xb3, 0x48, 0xfe, 0xe7, 0xc0, 0xe0,
837 	0xdd, 0x29, 0x78, 0x33, 0x95, 0x65, 0x06, 0xbd,
838 	0xcb, 0x94, 0x64, 0x99, 0xf1, 0x7b, 0x3d, 0x80,
839 	0x13, 0x73, 0xe8, 0x4a, 0x33, 0xd7, 0xc3, 0xd1,
840 	0x26, 0xe2, 0x62, 0x4c, 0x99, 0x79, 0x4d, 0xc2,
841 	0x97, 0x1c, 0x74, 0x1e, 0xbf, 0x4f, 0xf5, 0x19,
842 	0x4a, 0xe7, 0x33, 0x0c, 0xc7, 0xfa, 0xbb, 0xb3,
843 	0x40, 0xd7, 0xe2, 0x8c, 0xbd, 0x06, 0x53, 0x07,
844 	0x79, 0xeb, 0x8e, 0x82, 0x9f, 0x8f, 0x8d, 0xb3,
845 	0xde, 0x60, 0xb0, 0x2e, 0x46, 0x15, 0x51, 0x23,
846 	0x77, 0x12, 0x52, 0xf7, 0xf1, 0x11, 0x32, 0x49,
847 	0x37, 0x45, 0xab, 0x48, 0xe6, 0x51, 0xe1, 0xed,
848 	0x9e, 0x5e, 0x71, 0xfd, 0xee, 0xb5, 0x01, 0x9c,
849 	0x58, 0x40, 0xd2, 0x5c, 0x7c, 0xa3, 0x03, 0x97,
850 	0x59, 0xb1, 0x7f, 0x31, 0x7a, 0x49, 0x56, 0x89,
851 	0x50, 0x33, 0x70, 0x87, 0x5f, 0xab, 0x97, 0x3c,
852 	0x38, 0x1b, 0x75, 0x73, 0x2d, 0x92, 0x05, 0x92,
853 	0x88, 0x6a, 0x75, 0x4f, 0x14, 0x74, 0x9d, 0xf3,
854 	0x57, 0x0d, 0xa3, 0x4f, 0x35, 0xd1, 0xd6, 0x15,
855 	0xf5, 0xdd, 0x03, 0x25, 0x0e, 0xc2, 0x44, 0xd6,
856 	0x86, 0x7e, 0x3d, 0x4d, 0x81, 0x70, 0x59, 0x41,
857 	0x03, 0x07, 0x38, 0x75, 0x00, 0x37, 0x8b, 0x19,
858 	0x68, 0xa1, 0xd6, 0xca, 0xbd, 0xec, 0x01, 0xfa,
859 	0x4f, 0x71, 0x4a, 0xf9, 0x0d, 0xf1, 0xdd, 0x8e,
860 	0x54, 0xf4, 0x65, 0x13, 0xfb, 0x6f, 0x59, 0x5b,
861 	0x26, 0x78, 0x90, 0x4c, 0xb6, 0x21, 0xba, 0x97,
862 	0x9d, 0xd1};
863 static const uint8_t test_vector_1_ciphertext_2_raw[] = {
864 	0x7d, 0x02, 0x33, 0x09, 0x36, 0xf6, 0x0f, 0xbb,
865 	0xe8, 0xab, 0x81, 0x87, 0x93, 0xb8, 0x36, 0xff,
866 	0xd0, 0x5e, 0xd0, 0x82, 0x53, 0x1e, 0x26, 0xaa,
867 	0xc1, 0x8a, 0xc7, 0x94, 0x4c, 0xb8, 0x86, 0x0b,
868 	0xbf, 0xc6, 0xec, 0xcc, 0x23, 0x07, 0x40, 0x2f,
869 	0xaa, 0x92, 0x87, 0x1d, 0x73, 0xee, 0x15, 0xa4,
870 	0x35, 0x4e, 0x1c, 0x48, 0xad, 0xd7, 0xd8, 0x97,
871 	0xed, 0xc3, 0xb2, 0x23, 0x64, 0x01, 0x78, 0x49,
872 	0xdf, 0xcf, 0xe4, 0x80, 0x0b, 0xbb, 0x16, 0x64,
873 	0xf6, 0xd5, 0x9d, 0x4e, 0x9a, 0x7b, 0x7e, 0x1c,
874 	0xec, 0x90, 0xa4, 0x31, 0xef, 0x96, 0xb0, 0xf3,
875 	0xc9, 0x0a, 0xbb, 0x33, 0x3b, 0xac, 0xfe, 0x1f,
876 	0xc1, 0x9d, 0x3d, 0xe6, 0x76, 0xdc, 0xdb, 0x58,
877 	0x3d, 0x0d, 0xa5, 0x5c, 0x6e, 0xf8, 0x5b, 0x74,
878 	0xee, 0x22, 0xc6, 0xe8, 0x76, 0x1a, 0xeb, 0xca,
879 	0xd8, 0xd3, 0x6e, 0x0a, 0x52, 0xe0, 0xc7, 0x9f,
880 	0x7d, 0x18, 0xa0, 0xfa, 0x86, 0xf9, 0x84, 0x41,
881 	0x06, 0xc3, 0x1b, 0xf2, 0xb0, 0x5c, 0x62, 0xa3,
882 	0x22, 0x62, 0x40, 0xa4, 0xb9, 0x83, 0x94, 0x7f,
883 	0x09, 0x05, 0x9d, 0xdc, 0xf2, 0x4a, 0xea, 0xc3,
884 	0x9c, 0x61, 0xa5, 0xf1, 0x82, 0xf4, 0xa7, 0x97,
885 	0x30, 0x5f, 0xc8, 0x0a, 0x93, 0x5b, 0x7b, 0x5d,
886 	0x57, 0x83, 0xad, 0x53, 0xd1, 0x80, 0xe0, 0xba,
887 	0x0c, 0xee, 0x80, 0x4e, 0xa6, 0x70, 0x7c, 0x33,
888 	0x64, 0x9a, 0xbe, 0x64, 0x42, 0xe9, 0xba, 0xd4,
889 	0xaa, 0xf7, 0xbf, 0x2e, 0x8b, 0xab, 0x51, 0x0c,
890 	0x20, 0xa5, 0xd2, 0x86, 0xbb, 0x0e, 0x79, 0x81,
891 	0x31, 0x25, 0xb3, 0x86, 0x9c, 0x8d, 0x8e, 0xfb,
892 	0xde, 0x50, 0xf5, 0x2c, 0x66, 0x25, 0x48, 0x6d,
893 	0x82, 0xee, 0x37, 0x3f, 0x46, 0x84, 0xff, 0x84,
894 	0x3c, 0xf1, 0x9a, 0xf7, 0x65, 0xbf, 0x86, 0xac,
895 	0x5f, 0x69, 0x7d, 0xdf, 0x26, 0x5e, 0x8f, 0x75,
896 	0xb5, 0x92, 0x75, 0x59, 0x65, 0xa1, 0x22, 0x97,
897 	0xec, 0x32, 0x71, 0xad, 0xf3, 0xef, 0x7c, 0x4e,
898 	0x6c, 0xd2, 0x9b, 0x49, 0x5f, 0xca, 0xe7, 0x41,
899 	0x80, 0xb3, 0xfb, 0x50, 0x5d, 0x09, 0x4f, 0x5e,
900 	0xd0, 0xcb, 0x44, 0x74, 0x07, 0x49, 0x98, 0xab,
901 	0x0f, 0x4d, 0x00, 0x45, 0x65, 0x8c, 0x51, 0x23,
902 	0x64, 0x29, 0xe6, 0x5c, 0x2f, 0xf1, 0xb2, 0x2b,
903 	0xc4, 0x71, 0x23, 0x3a, 0xa4, 0x26, 0x72, 0xa5,
904 	0xed, 0x40, 0x28, 0xdc, 0x5d, 0x74, 0x26, 0x0e,
905 	0x7f, 0x0e, 0x08, 0xda, 0x5c, 0xa4, 0xbf, 0x8c,
906 	0x01, 0x8d, 0x1b, 0x56, 0x36, 0x85, 0x5d, 0x32,
907 	0xac, 0x06, 0xf6, 0x9d, 0x3c, 0x3a, 0x59, 0xb6,
908 	0x91, 0xd2, 0xcb, 0xd2, 0x7d, 0x1d, 0x17, 0x28,
909 	0x0b, 0x2c};
910 static const uint8_t test_vector_1_ciphertext_2[] = {
911 	0x59, 0x01, 0x6a, 0x7d, 0x02, 0x33, 0x09, 0x36,
912 	0xf6, 0x0f, 0xbb, 0xe8, 0xab, 0x81, 0x87, 0x93,
913 	0xb8, 0x36, 0xff, 0xd0, 0x5e, 0xd0, 0x82, 0x53,
914 	0x1e, 0x26, 0xaa, 0xc1, 0x8a, 0xc7, 0x94, 0x4c,
915 	0xb8, 0x86, 0x0b, 0xbf, 0xc6, 0xec, 0xcc, 0x23,
916 	0x07, 0x40, 0x2f, 0xaa, 0x92, 0x87, 0x1d, 0x73,
917 	0xee, 0x15, 0xa4, 0x35, 0x4e, 0x1c, 0x48, 0xad,
918 	0xd7, 0xd8, 0x97, 0xed, 0xc3, 0xb2, 0x23, 0x64,
919 	0x01, 0x78, 0x49, 0xdf, 0xcf, 0xe4, 0x80, 0x0b,
920 	0xbb, 0x16, 0x64, 0xf6, 0xd5, 0x9d, 0x4e, 0x9a,
921 	0x7b, 0x7e, 0x1c, 0xec, 0x90, 0xa4, 0x31, 0xef,
922 	0x96, 0xb0, 0xf3, 0xc9, 0x0a, 0xbb, 0x33, 0x3b,
923 	0xac, 0xfe, 0x1f, 0xc1, 0x9d, 0x3d, 0xe6, 0x76,
924 	0xdc, 0xdb, 0x58, 0x3d, 0x0d, 0xa5, 0x5c, 0x6e,
925 	0xf8, 0x5b, 0x74, 0xee, 0x22, 0xc6, 0xe8, 0x76,
926 	0x1a, 0xeb, 0xca, 0xd8, 0xd3, 0x6e, 0x0a, 0x52,
927 	0xe0, 0xc7, 0x9f, 0x7d, 0x18, 0xa0, 0xfa, 0x86,
928 	0xf9, 0x84, 0x41, 0x06, 0xc3, 0x1b, 0xf2, 0xb0,
929 	0x5c, 0x62, 0xa3, 0x22, 0x62, 0x40, 0xa4, 0xb9,
930 	0x83, 0x94, 0x7f, 0x09, 0x05, 0x9d, 0xdc, 0xf2,
931 	0x4a, 0xea, 0xc3, 0x9c, 0x61, 0xa5, 0xf1, 0x82,
932 	0xf4, 0xa7, 0x97, 0x30, 0x5f, 0xc8, 0x0a, 0x93,
933 	0x5b, 0x7b, 0x5d, 0x57, 0x83, 0xad, 0x53, 0xd1,
934 	0x80, 0xe0, 0xba, 0x0c, 0xee, 0x80, 0x4e, 0xa6,
935 	0x70, 0x7c, 0x33, 0x64, 0x9a, 0xbe, 0x64, 0x42,
936 	0xe9, 0xba, 0xd4, 0xaa, 0xf7, 0xbf, 0x2e, 0x8b,
937 	0xab, 0x51, 0x0c, 0x20, 0xa5, 0xd2, 0x86, 0xbb,
938 	0x0e, 0x79, 0x81, 0x31, 0x25, 0xb3, 0x86, 0x9c,
939 	0x8d, 0x8e, 0xfb, 0xde, 0x50, 0xf5, 0x2c, 0x66,
940 	0x25, 0x48, 0x6d, 0x82, 0xee, 0x37, 0x3f, 0x46,
941 	0x84, 0xff, 0x84, 0x3c, 0xf1, 0x9a, 0xf7, 0x65,
942 	0xbf, 0x86, 0xac, 0x5f, 0x69, 0x7d, 0xdf, 0x26,
943 	0x5e, 0x8f, 0x75, 0xb5, 0x92, 0x75, 0x59, 0x65,
944 	0xa1, 0x22, 0x97, 0xec, 0x32, 0x71, 0xad, 0xf3,
945 	0xef, 0x7c, 0x4e, 0x6c, 0xd2, 0x9b, 0x49, 0x5f,
946 	0xca, 0xe7, 0x41, 0x80, 0xb3, 0xfb, 0x50, 0x5d,
947 	0x09, 0x4f, 0x5e, 0xd0, 0xcb, 0x44, 0x74, 0x07,
948 	0x49, 0x98, 0xab, 0x0f, 0x4d, 0x00, 0x45, 0x65,
949 	0x8c, 0x51, 0x23, 0x64, 0x29, 0xe6, 0x5c, 0x2f,
950 	0xf1, 0xb2, 0x2b, 0xc4, 0x71, 0x23, 0x3a, 0xa4,
951 	0x26, 0x72, 0xa5, 0xed, 0x40, 0x28, 0xdc, 0x5d,
952 	0x74, 0x26, 0x0e, 0x7f, 0x0e, 0x08, 0xda, 0x5c,
953 	0xa4, 0xbf, 0x8c, 0x01, 0x8d, 0x1b, 0x56, 0x36,
954 	0x85, 0x5d, 0x32, 0xac, 0x06, 0xf6, 0x9d, 0x3c,
955 	0x3a, 0x59, 0xb6, 0x91, 0xd2, 0xcb, 0xd2, 0x7d,
956 	0x1d, 0x17, 0x28, 0x0b, 0x2c};
957 static const uint8_t test_vector_1_message_2[] = {
958 	0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0,
959 	0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd,
960 	0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93,
961 	0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a,
962 	0x4f, 0xf5, 0xd5, 0x7d, 0x02, 0x33, 0x09, 0x36,
963 	0xf6, 0x0f, 0xbb, 0xe8, 0xab, 0x81, 0x87, 0x93,
964 	0xb8, 0x36, 0xff, 0xd0, 0x5e, 0xd0, 0x82, 0x53,
965 	0x1e, 0x26, 0xaa, 0xc1, 0x8a, 0xc7, 0x94, 0x4c,
966 	0xb8, 0x86, 0x0b, 0xbf, 0xc6, 0xec, 0xcc, 0x23,
967 	0x07, 0x40, 0x2f, 0xaa, 0x92, 0x87, 0x1d, 0x73,
968 	0xee, 0x15, 0xa4, 0x35, 0x4e, 0x1c, 0x48, 0xad,
969 	0xd7, 0xd8, 0x97, 0xed, 0xc3, 0xb2, 0x23, 0x64,
970 	0x01, 0x78, 0x49, 0xdf, 0xcf, 0xe4, 0x80, 0x0b,
971 	0xbb, 0x16, 0x64, 0xf6, 0xd5, 0x9d, 0x4e, 0x9a,
972 	0x7b, 0x7e, 0x1c, 0xec, 0x90, 0xa4, 0x31, 0xef,
973 	0x96, 0xb0, 0xf3, 0xc9, 0x0a, 0xbb, 0x33, 0x3b,
974 	0xac, 0xfe, 0x1f, 0xc1, 0x9d, 0x3d, 0xe6, 0x76,
975 	0xdc, 0xdb, 0x58, 0x3d, 0x0d, 0xa5, 0x5c, 0x6e,
976 	0xf8, 0x5b, 0x74, 0xee, 0x22, 0xc6, 0xe8, 0x76,
977 	0x1a, 0xeb, 0xca, 0xd8, 0xd3, 0x6e, 0x0a, 0x52,
978 	0xe0, 0xc7, 0x9f, 0x7d, 0x18, 0xa0, 0xfa, 0x86,
979 	0xf9, 0x84, 0x41, 0x06, 0xc3, 0x1b, 0xf2, 0xb0,
980 	0x5c, 0x62, 0xa3, 0x22, 0x62, 0x40, 0xa4, 0xb9,
981 	0x83, 0x94, 0x7f, 0x09, 0x05, 0x9d, 0xdc, 0xf2,
982 	0x4a, 0xea, 0xc3, 0x9c, 0x61, 0xa5, 0xf1, 0x82,
983 	0xf4, 0xa7, 0x97, 0x30, 0x5f, 0xc8, 0x0a, 0x93,
984 	0x5b, 0x7b, 0x5d, 0x57, 0x83, 0xad, 0x53, 0xd1,
985 	0x80, 0xe0, 0xba, 0x0c, 0xee, 0x80, 0x4e, 0xa6,
986 	0x70, 0x7c, 0x33, 0x64, 0x9a, 0xbe, 0x64, 0x42,
987 	0xe9, 0xba, 0xd4, 0xaa, 0xf7, 0xbf, 0x2e, 0x8b,
988 	0xab, 0x51, 0x0c, 0x20, 0xa5, 0xd2, 0x86, 0xbb,
989 	0x0e, 0x79, 0x81, 0x31, 0x25, 0xb3, 0x86, 0x9c,
990 	0x8d, 0x8e, 0xfb, 0xde, 0x50, 0xf5, 0x2c, 0x66,
991 	0x25, 0x48, 0x6d, 0x82, 0xee, 0x37, 0x3f, 0x46,
992 	0x84, 0xff, 0x84, 0x3c, 0xf1, 0x9a, 0xf7, 0x65,
993 	0xbf, 0x86, 0xac, 0x5f, 0x69, 0x7d, 0xdf, 0x26,
994 	0x5e, 0x8f, 0x75, 0xb5, 0x92, 0x75, 0x59, 0x65,
995 	0xa1, 0x22, 0x97, 0xec, 0x32, 0x71, 0xad, 0xf3,
996 	0xef, 0x7c, 0x4e, 0x6c, 0xd2, 0x9b, 0x49, 0x5f,
997 	0xca, 0xe7, 0x41, 0x80, 0xb3, 0xfb, 0x50, 0x5d,
998 	0x09, 0x4f, 0x5e, 0xd0, 0xcb, 0x44, 0x74, 0x07,
999 	0x49, 0x98, 0xab, 0x0f, 0x4d, 0x00, 0x45, 0x65,
1000 	0x8c, 0x51, 0x23, 0x64, 0x29, 0xe6, 0x5c, 0x2f,
1001 	0xf1, 0xb2, 0x2b, 0xc4, 0x71, 0x23, 0x3a, 0xa4,
1002 	0x26, 0x72, 0xa5, 0xed, 0x40, 0x28, 0xdc, 0x5d,
1003 	0x74, 0x26, 0x0e, 0x7f, 0x0e, 0x08, 0xda, 0x5c,
1004 	0xa4, 0xbf, 0x8c, 0x01, 0x8d, 0x1b, 0x56, 0x36,
1005 	0x85, 0x5d, 0x32, 0xac, 0x06, 0xf6, 0x9d, 0x3c,
1006 	0x3a, 0x59, 0xb6, 0x91, 0xd2, 0xcb, 0xd2, 0x7d,
1007 	0x1d, 0x17, 0x28, 0x0b, 0x2c, 0x27};
1008 static const uint8_t test_vector_1_sk_i_raw[] = {
1009 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
1010 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
1011 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
1012 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
1013 static const uint8_t test_vector_1_pk_i_raw[] = {
1014 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
1015 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
1016 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
1017 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
1018 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
1019 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
1020 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
1021 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
1022 	0xc8};
1023 static const uint8_t test_vector_1_salt_4e3m[] = {
1024 	0x61, 0x5a, 0xe4, 0xc6, 0xd5, 0xf2, 0x8b, 0xc7,
1025 	0x69, 0xf9, 0xf2, 0xf5, 0xdd, 0x96, 0xdf, 0x30,
1026 	0x4e, 0x04, 0xcd, 0xdb, 0x99, 0x1b, 0xc3, 0xd8,
1027 	0x2e, 0x20, 0xad, 0x25, 0xd0, 0x55, 0x41, 0x6a};
1028 static const uint8_t test_vector_1_prk_4e3m_raw[] = {
1029 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
1030 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
1031 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
1032 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
1033 static const uint8_t test_vector_1_input_TH_3[] = {
1034 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
1035 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
1036 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
1037 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
1038 	0xab, 0xa6, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22,
1039 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
1040 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
1041 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1042 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1043 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1044 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1045 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1046 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
1047 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
1048 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1049 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
1050 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
1051 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1052 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
1053 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
1054 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
1055 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
1056 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
1057 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
1058 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
1059 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
1060 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
1061 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
1062 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
1063 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
1064 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
1065 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
1066 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
1067 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
1068 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
1069 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
1070 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
1071 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
1072 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
1073 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
1074 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
1075 	0x05, 0x58, 0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d,
1076 	0x87, 0x36, 0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33,
1077 	0xf6, 0xfd, 0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56,
1078 	0x2b, 0xe4, 0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43,
1079 	0xad, 0x17, 0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48,
1080 	0xbe, 0x76, 0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74,
1081 	0x80, 0xbc, 0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55,
1082 	0x00, 0xed, 0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c,
1083 	0xad, 0xbf, 0x96, 0xfd, 0x59, 0x01, 0x22, 0x30,
1084 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
1085 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
1086 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1087 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
1088 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1089 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1090 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
1091 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
1092 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
1093 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
1094 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
1095 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1096 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
1097 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
1098 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
1099 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
1100 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
1101 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
1102 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
1103 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
1104 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
1105 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
1106 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
1107 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
1108 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
1109 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1110 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
1111 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
1112 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
1113 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
1114 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
1115 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
1116 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
1117 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
1118 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
1119 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
1120 	0x58};
1121 static const uint8_t test_vector_1_th_3_raw[] = {
1122 	0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a, 0x6d, 0x0a,
1123 	0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b, 0x48, 0xc4,
1124 	0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0, 0x05, 0x29,
1125 	0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78, 0x32, 0x2f};
1126 static const uint8_t test_vector_1_th_3[] = {
1127 	0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a,
1128 	0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b,
1129 	0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0,
1130 	0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78,
1131 	0x32, 0x2f};
1132 static const uint8_t test_vector_1_id_cred_i[] = {
1133 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
1134 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
1135 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
1136 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
1137 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
1138 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1139 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
1140 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
1141 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
1142 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
1143 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
1144 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
1145 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
1146 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
1147 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
1148 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
1149 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
1150 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
1151 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
1152 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
1153 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
1154 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
1155 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
1156 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
1157 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
1158 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
1159 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1160 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
1161 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
1162 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
1163 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
1164 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
1165 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
1166 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
1167 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
1168 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
1169 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde};
1170 static const uint8_t test_vector_1_cred_i[] = {
1171 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
1172 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
1173 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
1174 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1175 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
1176 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
1177 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
1178 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
1179 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
1180 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
1181 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
1182 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
1183 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
1184 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
1185 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
1186 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
1187 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1188 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
1189 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
1190 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
1191 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
1192 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
1193 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
1194 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
1195 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
1196 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
1197 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1198 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
1199 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
1200 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
1201 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
1202 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
1203 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
1204 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
1205 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
1206 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
1207 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
1208 static const uint8_t test_vector_1_ca_i[] = {
1209 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
1210 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
1211 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1212 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1213 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1214 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1215 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1216 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
1217 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
1218 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1219 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
1220 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1221 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1222 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
1223 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
1224 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1225 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
1226 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
1227 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
1228 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
1229 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
1230 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
1231 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
1232 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
1233 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
1234 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1235 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
1236 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
1237 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
1238 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
1239 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
1240 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
1241 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
1242 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
1243 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
1244 	0x13, 0x6b, 0xf3, 0x06};
1245 static const uint8_t test_vector_1_ca_i_pk[] = {
1246 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
1247 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
1248 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
1249 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
1250 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
1251 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
1252 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
1253 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
1254 	0x95};
1255 static const uint8_t test_vector_1_ead_3[] = {
1256 	};
1257 static const uint8_t test_vector_1_info_mac_3[] = {
1258 	0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59,
1259 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
1260 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
1261 	0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08,
1262 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
1263 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
1264 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
1265 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
1266 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31,
1267 	0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a,
1268 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
1269 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
1270 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
1271 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
1272 	0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
1273 	0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
1274 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
1275 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
1276 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75,
1277 	0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6,
1278 	0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47,
1279 	0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29,
1280 	0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d,
1281 	0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11,
1282 	0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3,
1283 	0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93,
1284 	0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a,
1285 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
1286 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
1287 	0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21,
1288 	0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f,
1289 	0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59,
1290 	0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4,
1291 	0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1,
1292 	0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99,
1293 	0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf,
1294 	0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a,
1295 	0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x7b, 0x7d,
1296 	0xa5, 0x33, 0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd,
1297 	0x0b, 0xd3, 0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12,
1298 	0x3d, 0xd1, 0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2,
1299 	0x7b, 0x48, 0x7f, 0x78, 0x32, 0x2f, 0x59, 0x01,
1300 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
1301 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62,
1302 	0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1303 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
1304 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
1305 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
1306 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
1307 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37,
1308 	0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17,
1309 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
1310 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
1311 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
1312 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
1313 	0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74,
1314 	0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
1315 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
1316 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
1317 	0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9,
1318 	0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03,
1319 	0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf,
1320 	0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c,
1321 	0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6,
1322 	0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33,
1323 	0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87,
1324 	0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf,
1325 	0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06,
1326 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1327 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21,
1328 	0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38,
1329 	0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d,
1330 	0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b,
1331 	0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d,
1332 	0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85,
1333 	0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23,
1334 	0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65,
1335 	0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07,
1336 	0xa2, 0xbe, 0xde, 0x18, 0x20};
1337 static const uint8_t test_vector_1_mac_3_raw[] = {
1338 	0x19, 0x8d, 0x8c, 0x6d, 0xb6, 0x47, 0x38, 0x7d,
1339 	0xcb, 0x79, 0x6e, 0xb5, 0xfb, 0x54, 0xce, 0x16,
1340 	0x64, 0x97, 0x91, 0x6a, 0xce, 0x5b, 0x58, 0x58,
1341 	0x29, 0x61, 0xf9, 0xf3, 0x2e, 0x55, 0x24, 0x09};
1342 static const uint8_t test_vector_1_mac_3[] = {
1343 	0x58, 0x20, 0x19, 0x8d, 0x8c, 0x6d, 0xb6, 0x47,
1344 	0x38, 0x7d, 0xcb, 0x79, 0x6e, 0xb5, 0xfb, 0x54,
1345 	0xce, 0x16, 0x64, 0x97, 0x91, 0x6a, 0xce, 0x5b,
1346 	0x58, 0x58, 0x29, 0x61, 0xf9, 0xf3, 0x2e, 0x55,
1347 	0x24, 0x09};
1348 static const uint8_t test_vector_1_m_3[] = {
1349 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
1350 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
1351 	0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
1352 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
1353 	0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30,
1354 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1355 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
1356 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
1357 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
1358 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
1359 	0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31,
1360 	0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
1361 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
1362 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
1363 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
1364 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69,
1365 	0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59,
1366 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
1367 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
1368 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
1369 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
1370 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
1371 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
1372 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
1373 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
1374 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
1375 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
1376 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
1377 	0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1378 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
1379 	0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a,
1380 	0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe,
1381 	0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c,
1382 	0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91,
1383 	0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c,
1384 	0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06,
1385 	0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e,
1386 	0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91,
1387 	0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59,
1388 	0x01, 0x47, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33,
1389 	0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3,
1390 	0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1,
1391 	0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48,
1392 	0x7f, 0x78, 0x32, 0x2f, 0x59, 0x01, 0x22, 0x30,
1393 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
1394 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
1395 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1396 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
1397 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1398 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1399 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
1400 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
1401 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
1402 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
1403 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
1404 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1405 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
1406 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
1407 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
1408 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
1409 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
1410 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
1411 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
1412 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
1413 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
1414 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
1415 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
1416 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
1417 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
1418 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1419 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
1420 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
1421 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
1422 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
1423 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
1424 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
1425 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
1426 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
1427 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
1428 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
1429 	0xde, 0x58, 0x20, 0x19, 0x8d, 0x8c, 0x6d, 0xb6,
1430 	0x47, 0x38, 0x7d, 0xcb, 0x79, 0x6e, 0xb5, 0xfb,
1431 	0x54, 0xce, 0x16, 0x64, 0x97, 0x91, 0x6a, 0xce,
1432 	0x5b, 0x58, 0x58, 0x29, 0x61, 0xf9, 0xf3, 0x2e,
1433 	0x55, 0x24, 0x09};
1434 static const uint8_t test_vector_1_sig_or_mac_3_raw[] = {
1435 	0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76, 0x4d, 0xb3,
1436 	0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84, 0xb0, 0x4d,
1437 	0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72, 0x13, 0x6f,
1438 	0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4, 0xf3, 0x81,
1439 	0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11, 0xb7, 0x17,
1440 	0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40, 0x32, 0xe0,
1441 	0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5, 0x78, 0xe8,
1442 	0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11, 0x62, 0xdb};
1443 static const uint8_t test_vector_1_sig_or_mac_3[] = {
1444 	0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76,
1445 	0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84,
1446 	0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72,
1447 	0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4,
1448 	0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11,
1449 	0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40,
1450 	0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5,
1451 	0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11,
1452 	0x62, 0xdb};
1453 static const uint8_t test_vector_1_p_3[] = {
1454 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
1455 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
1456 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
1457 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
1458 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
1459 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1460 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
1461 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
1462 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
1463 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
1464 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
1465 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
1466 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
1467 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
1468 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
1469 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
1470 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
1471 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
1472 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
1473 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
1474 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
1475 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
1476 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
1477 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
1478 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
1479 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
1480 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1481 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
1482 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
1483 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
1484 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
1485 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
1486 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
1487 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
1488 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
1489 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
1490 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde,
1491 	0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76,
1492 	0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84,
1493 	0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72,
1494 	0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4,
1495 	0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11,
1496 	0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40,
1497 	0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5,
1498 	0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11,
1499 	0x62, 0xdb};
1500 static const uint8_t test_vector_1_a_3[] = {
1501 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
1502 	0x74, 0x30, 0x40, 0x58, 0x20, 0x7b, 0x7d, 0xa5,
1503 	0x33, 0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b,
1504 	0xd3, 0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d,
1505 	0xd1, 0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b,
1506 	0x48, 0x7f, 0x78, 0x32, 0x2f};
1507 static const uint8_t test_vector_1_info_k_3[] = {
1508 	0x03, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf,
1509 	0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c,
1510 	0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39,
1511 	0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f,
1512 	0x78, 0x32, 0x2f, 0x10};
1513 static const uint8_t test_vector_1_k_3_raw[] = {
1514 	0x89, 0x31, 0x3e, 0x97, 0x37, 0x0d, 0xb3, 0x73,
1515 	0xa9, 0xbf, 0x55, 0x32, 0xc7, 0xc2, 0xcb, 0x18};
1516 static const uint8_t test_vector_1_info_iv_3[] = {
1517 	0x04, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf,
1518 	0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c,
1519 	0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39,
1520 	0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f,
1521 	0x78, 0x32, 0x2f, 0x0d};
1522 static const uint8_t test_vector_1_iv_3_raw[] = {
1523 	0xf7, 0xe8, 0x47, 0xe4, 0x2e, 0x1a, 0xaa, 0x84,
1524 	0x3a, 0xd4, 0x71, 0xfb, 0x69};
1525 static const uint8_t test_vector_1_ciphertext_3_raw[] = {
1526 	0x0d, 0x88, 0x60, 0xa9, 0x45, 0x42, 0x4e, 0x80,
1527 	0x4e, 0xc9, 0xe5, 0xb7, 0x3b, 0xfc, 0xca, 0x34,
1528 	0x8a, 0xbe, 0xd8, 0xae, 0xc6, 0x46, 0x40, 0x3b,
1529 	0x54, 0x78, 0xbb, 0x4d, 0x2e, 0xb7, 0xd1, 0x04,
1530 	0xda, 0xab, 0xa1, 0x1e, 0x5a, 0x16, 0xa3, 0x86,
1531 	0x34, 0x5c, 0xf2, 0xde, 0x5d, 0x16, 0x01, 0x43,
1532 	0xc4, 0xa1, 0x1a, 0x17, 0xa2, 0xb3, 0x38, 0x6d,
1533 	0x63, 0x28, 0xf5, 0x0d, 0x02, 0xe8, 0x2b, 0x9a,
1534 	0x19, 0xfc, 0x96, 0x60, 0xe4, 0x7c, 0xd6, 0xcf,
1535 	0x3d, 0x98, 0x6d, 0xa1, 0xbb, 0x69, 0xfe, 0x9a,
1536 	0x12, 0x19, 0x3b, 0x7f, 0x21, 0x6d, 0x31, 0x8d,
1537 	0x7a, 0x1c, 0xb2, 0x3c, 0xa2, 0x88, 0x34, 0x75,
1538 	0x7b, 0xa9, 0xd6, 0xdd, 0x06, 0x45, 0x9f, 0xbb,
1539 	0xf1, 0xf1, 0xb4, 0xd1, 0x92, 0x76, 0xa9, 0xbf,
1540 	0xf8, 0x3a, 0x0c, 0x7b, 0x55, 0x52, 0x2d, 0xac,
1541 	0x00, 0x0f, 0x92, 0x59, 0x59, 0xf2, 0x2c, 0xa1,
1542 	0x5c, 0xb0, 0xc5, 0x8b, 0xac, 0x51, 0x38, 0x2e,
1543 	0xa8, 0x4c, 0x3c, 0xf9, 0x24, 0xcd, 0x73, 0x9b,
1544 	0xdb, 0x07, 0x23, 0x9d, 0x99, 0x4a, 0xf7, 0xfa,
1545 	0xdb, 0x63, 0xe2, 0x5b, 0xf9, 0x27, 0xf2, 0xa7,
1546 	0x27, 0xe7, 0x30, 0xfb, 0xcf, 0x16, 0xc3, 0xec,
1547 	0xe1, 0x0e, 0x83, 0xeb, 0x19, 0x82, 0x1d, 0x0c,
1548 	0x2a, 0x2d, 0xcc, 0xdd, 0xf4, 0xc1, 0x5a, 0x47,
1549 	0x55, 0x6f, 0x76, 0xb1, 0xb1, 0xf3, 0x93, 0xfc,
1550 	0xa9, 0x28, 0x13, 0xa8, 0xaa, 0x79, 0xdf, 0x4f,
1551 	0x2e, 0x26, 0xd6, 0x75, 0xc1, 0xe1, 0x5c, 0x4d,
1552 	0xc6, 0x0e, 0xb3, 0xe4, 0xcb, 0x01, 0xe5, 0x95,
1553 	0x22, 0xda, 0x10, 0xcf, 0x0e, 0x43, 0x9e, 0xe5,
1554 	0x9a, 0x51, 0xe6, 0x9b, 0xfc, 0x63, 0xc9, 0x49,
1555 	0xbd, 0x6e, 0x17, 0xf7, 0x0a, 0x26, 0x66, 0x30,
1556 	0xac, 0x4d, 0x18, 0x3b, 0xc0, 0x32, 0xf7, 0xaf,
1557 	0xa3, 0x2d, 0xda, 0xd3, 0xd5, 0x17, 0x0d, 0x0a,
1558 	0x6c, 0xb6, 0x72, 0xac, 0xbb, 0xfb, 0x9b, 0x1f,
1559 	0x24, 0x98, 0x19, 0x04, 0x30, 0x5c, 0x90, 0x7e,
1560 	0x53, 0x01, 0x60, 0x3f, 0x26, 0x87, 0x40, 0x2e,
1561 	0x75, 0xb3, 0xcb, 0x64, 0xe0, 0xa9, 0x27, 0xc0,
1562 	0x28, 0xb6, 0x7e, 0x67, 0x11, 0xde, 0x7c, 0x88,
1563 	0xaf, 0xa2, 0x9c, 0x66, 0xf8, 0xbe, 0x82, 0x9a,
1564 	0xf7, 0xc3, 0x83, 0xb2, 0x76, 0x92, 0xc0, 0xe3,
1565 	0x87, 0x23, 0xd1, 0x3c, 0xb5, 0x33, 0x6a, 0x04,
1566 	0xcb, 0xb2, 0xfe, 0x02, 0x8d, 0xe6, 0x4c, 0x99,
1567 	0xdc, 0xcf, 0x54, 0x15, 0x97, 0x3a, 0xb1, 0x18,
1568 	0xbe, 0x24, 0x91, 0x32, 0xf9, 0x90, 0xd6, 0x4f,
1569 	0x7e, 0x84, 0xb5, 0xfb, 0x84, 0x94, 0x67, 0xd1,
1570 	0xaa, 0xaa, 0xe3, 0x7c, 0xc7, 0xdb, 0x01, 0x3e,
1571 	0x95, 0xed, 0x84, 0x53, 0x27, 0x3c, 0x46, 0x76,
1572 	0x22, 0x70};
1573 static const uint8_t test_vector_1_ciphertext_3[] = {
1574 	0x59, 0x01, 0x72, 0x0d, 0x88, 0x60, 0xa9, 0x45,
1575 	0x42, 0x4e, 0x80, 0x4e, 0xc9, 0xe5, 0xb7, 0x3b,
1576 	0xfc, 0xca, 0x34, 0x8a, 0xbe, 0xd8, 0xae, 0xc6,
1577 	0x46, 0x40, 0x3b, 0x54, 0x78, 0xbb, 0x4d, 0x2e,
1578 	0xb7, 0xd1, 0x04, 0xda, 0xab, 0xa1, 0x1e, 0x5a,
1579 	0x16, 0xa3, 0x86, 0x34, 0x5c, 0xf2, 0xde, 0x5d,
1580 	0x16, 0x01, 0x43, 0xc4, 0xa1, 0x1a, 0x17, 0xa2,
1581 	0xb3, 0x38, 0x6d, 0x63, 0x28, 0xf5, 0x0d, 0x02,
1582 	0xe8, 0x2b, 0x9a, 0x19, 0xfc, 0x96, 0x60, 0xe4,
1583 	0x7c, 0xd6, 0xcf, 0x3d, 0x98, 0x6d, 0xa1, 0xbb,
1584 	0x69, 0xfe, 0x9a, 0x12, 0x19, 0x3b, 0x7f, 0x21,
1585 	0x6d, 0x31, 0x8d, 0x7a, 0x1c, 0xb2, 0x3c, 0xa2,
1586 	0x88, 0x34, 0x75, 0x7b, 0xa9, 0xd6, 0xdd, 0x06,
1587 	0x45, 0x9f, 0xbb, 0xf1, 0xf1, 0xb4, 0xd1, 0x92,
1588 	0x76, 0xa9, 0xbf, 0xf8, 0x3a, 0x0c, 0x7b, 0x55,
1589 	0x52, 0x2d, 0xac, 0x00, 0x0f, 0x92, 0x59, 0x59,
1590 	0xf2, 0x2c, 0xa1, 0x5c, 0xb0, 0xc5, 0x8b, 0xac,
1591 	0x51, 0x38, 0x2e, 0xa8, 0x4c, 0x3c, 0xf9, 0x24,
1592 	0xcd, 0x73, 0x9b, 0xdb, 0x07, 0x23, 0x9d, 0x99,
1593 	0x4a, 0xf7, 0xfa, 0xdb, 0x63, 0xe2, 0x5b, 0xf9,
1594 	0x27, 0xf2, 0xa7, 0x27, 0xe7, 0x30, 0xfb, 0xcf,
1595 	0x16, 0xc3, 0xec, 0xe1, 0x0e, 0x83, 0xeb, 0x19,
1596 	0x82, 0x1d, 0x0c, 0x2a, 0x2d, 0xcc, 0xdd, 0xf4,
1597 	0xc1, 0x5a, 0x47, 0x55, 0x6f, 0x76, 0xb1, 0xb1,
1598 	0xf3, 0x93, 0xfc, 0xa9, 0x28, 0x13, 0xa8, 0xaa,
1599 	0x79, 0xdf, 0x4f, 0x2e, 0x26, 0xd6, 0x75, 0xc1,
1600 	0xe1, 0x5c, 0x4d, 0xc6, 0x0e, 0xb3, 0xe4, 0xcb,
1601 	0x01, 0xe5, 0x95, 0x22, 0xda, 0x10, 0xcf, 0x0e,
1602 	0x43, 0x9e, 0xe5, 0x9a, 0x51, 0xe6, 0x9b, 0xfc,
1603 	0x63, 0xc9, 0x49, 0xbd, 0x6e, 0x17, 0xf7, 0x0a,
1604 	0x26, 0x66, 0x30, 0xac, 0x4d, 0x18, 0x3b, 0xc0,
1605 	0x32, 0xf7, 0xaf, 0xa3, 0x2d, 0xda, 0xd3, 0xd5,
1606 	0x17, 0x0d, 0x0a, 0x6c, 0xb6, 0x72, 0xac, 0xbb,
1607 	0xfb, 0x9b, 0x1f, 0x24, 0x98, 0x19, 0x04, 0x30,
1608 	0x5c, 0x90, 0x7e, 0x53, 0x01, 0x60, 0x3f, 0x26,
1609 	0x87, 0x40, 0x2e, 0x75, 0xb3, 0xcb, 0x64, 0xe0,
1610 	0xa9, 0x27, 0xc0, 0x28, 0xb6, 0x7e, 0x67, 0x11,
1611 	0xde, 0x7c, 0x88, 0xaf, 0xa2, 0x9c, 0x66, 0xf8,
1612 	0xbe, 0x82, 0x9a, 0xf7, 0xc3, 0x83, 0xb2, 0x76,
1613 	0x92, 0xc0, 0xe3, 0x87, 0x23, 0xd1, 0x3c, 0xb5,
1614 	0x33, 0x6a, 0x04, 0xcb, 0xb2, 0xfe, 0x02, 0x8d,
1615 	0xe6, 0x4c, 0x99, 0xdc, 0xcf, 0x54, 0x15, 0x97,
1616 	0x3a, 0xb1, 0x18, 0xbe, 0x24, 0x91, 0x32, 0xf9,
1617 	0x90, 0xd6, 0x4f, 0x7e, 0x84, 0xb5, 0xfb, 0x84,
1618 	0x94, 0x67, 0xd1, 0xaa, 0xaa, 0xe3, 0x7c, 0xc7,
1619 	0xdb, 0x01, 0x3e, 0x95, 0xed, 0x84, 0x53, 0x27,
1620 	0x3c, 0x46, 0x76, 0x22, 0x70};
1621 static const uint8_t test_vector_1_message_3[] = {
1622 	0x59, 0x01, 0x72, 0x0d, 0x88, 0x60, 0xa9, 0x45,
1623 	0x42, 0x4e, 0x80, 0x4e, 0xc9, 0xe5, 0xb7, 0x3b,
1624 	0xfc, 0xca, 0x34, 0x8a, 0xbe, 0xd8, 0xae, 0xc6,
1625 	0x46, 0x40, 0x3b, 0x54, 0x78, 0xbb, 0x4d, 0x2e,
1626 	0xb7, 0xd1, 0x04, 0xda, 0xab, 0xa1, 0x1e, 0x5a,
1627 	0x16, 0xa3, 0x86, 0x34, 0x5c, 0xf2, 0xde, 0x5d,
1628 	0x16, 0x01, 0x43, 0xc4, 0xa1, 0x1a, 0x17, 0xa2,
1629 	0xb3, 0x38, 0x6d, 0x63, 0x28, 0xf5, 0x0d, 0x02,
1630 	0xe8, 0x2b, 0x9a, 0x19, 0xfc, 0x96, 0x60, 0xe4,
1631 	0x7c, 0xd6, 0xcf, 0x3d, 0x98, 0x6d, 0xa1, 0xbb,
1632 	0x69, 0xfe, 0x9a, 0x12, 0x19, 0x3b, 0x7f, 0x21,
1633 	0x6d, 0x31, 0x8d, 0x7a, 0x1c, 0xb2, 0x3c, 0xa2,
1634 	0x88, 0x34, 0x75, 0x7b, 0xa9, 0xd6, 0xdd, 0x06,
1635 	0x45, 0x9f, 0xbb, 0xf1, 0xf1, 0xb4, 0xd1, 0x92,
1636 	0x76, 0xa9, 0xbf, 0xf8, 0x3a, 0x0c, 0x7b, 0x55,
1637 	0x52, 0x2d, 0xac, 0x00, 0x0f, 0x92, 0x59, 0x59,
1638 	0xf2, 0x2c, 0xa1, 0x5c, 0xb0, 0xc5, 0x8b, 0xac,
1639 	0x51, 0x38, 0x2e, 0xa8, 0x4c, 0x3c, 0xf9, 0x24,
1640 	0xcd, 0x73, 0x9b, 0xdb, 0x07, 0x23, 0x9d, 0x99,
1641 	0x4a, 0xf7, 0xfa, 0xdb, 0x63, 0xe2, 0x5b, 0xf9,
1642 	0x27, 0xf2, 0xa7, 0x27, 0xe7, 0x30, 0xfb, 0xcf,
1643 	0x16, 0xc3, 0xec, 0xe1, 0x0e, 0x83, 0xeb, 0x19,
1644 	0x82, 0x1d, 0x0c, 0x2a, 0x2d, 0xcc, 0xdd, 0xf4,
1645 	0xc1, 0x5a, 0x47, 0x55, 0x6f, 0x76, 0xb1, 0xb1,
1646 	0xf3, 0x93, 0xfc, 0xa9, 0x28, 0x13, 0xa8, 0xaa,
1647 	0x79, 0xdf, 0x4f, 0x2e, 0x26, 0xd6, 0x75, 0xc1,
1648 	0xe1, 0x5c, 0x4d, 0xc6, 0x0e, 0xb3, 0xe4, 0xcb,
1649 	0x01, 0xe5, 0x95, 0x22, 0xda, 0x10, 0xcf, 0x0e,
1650 	0x43, 0x9e, 0xe5, 0x9a, 0x51, 0xe6, 0x9b, 0xfc,
1651 	0x63, 0xc9, 0x49, 0xbd, 0x6e, 0x17, 0xf7, 0x0a,
1652 	0x26, 0x66, 0x30, 0xac, 0x4d, 0x18, 0x3b, 0xc0,
1653 	0x32, 0xf7, 0xaf, 0xa3, 0x2d, 0xda, 0xd3, 0xd5,
1654 	0x17, 0x0d, 0x0a, 0x6c, 0xb6, 0x72, 0xac, 0xbb,
1655 	0xfb, 0x9b, 0x1f, 0x24, 0x98, 0x19, 0x04, 0x30,
1656 	0x5c, 0x90, 0x7e, 0x53, 0x01, 0x60, 0x3f, 0x26,
1657 	0x87, 0x40, 0x2e, 0x75, 0xb3, 0xcb, 0x64, 0xe0,
1658 	0xa9, 0x27, 0xc0, 0x28, 0xb6, 0x7e, 0x67, 0x11,
1659 	0xde, 0x7c, 0x88, 0xaf, 0xa2, 0x9c, 0x66, 0xf8,
1660 	0xbe, 0x82, 0x9a, 0xf7, 0xc3, 0x83, 0xb2, 0x76,
1661 	0x92, 0xc0, 0xe3, 0x87, 0x23, 0xd1, 0x3c, 0xb5,
1662 	0x33, 0x6a, 0x04, 0xcb, 0xb2, 0xfe, 0x02, 0x8d,
1663 	0xe6, 0x4c, 0x99, 0xdc, 0xcf, 0x54, 0x15, 0x97,
1664 	0x3a, 0xb1, 0x18, 0xbe, 0x24, 0x91, 0x32, 0xf9,
1665 	0x90, 0xd6, 0x4f, 0x7e, 0x84, 0xb5, 0xfb, 0x84,
1666 	0x94, 0x67, 0xd1, 0xaa, 0xaa, 0xe3, 0x7c, 0xc7,
1667 	0xdb, 0x01, 0x3e, 0x95, 0xed, 0x84, 0x53, 0x27,
1668 	0x3c, 0x46, 0x76, 0x22, 0x70};
1669 static const uint8_t test_vector_1_input_th_4[] = {
1670 	0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a,
1671 	0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b,
1672 	0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0,
1673 	0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78,
1674 	0x32, 0x2f, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22,
1675 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
1676 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
1677 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1678 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1679 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1680 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1681 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1682 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
1683 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
1684 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1685 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
1686 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
1687 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1688 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
1689 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
1690 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
1691 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
1692 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
1693 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
1694 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
1695 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
1696 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
1697 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
1698 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
1699 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
1700 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
1701 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
1702 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
1703 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
1704 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
1705 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
1706 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
1707 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
1708 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
1709 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
1710 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
1711 	0xbe, 0xde, 0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22,
1712 	0x19, 0x76, 0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1,
1713 	0xf8, 0x84, 0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63,
1714 	0x11, 0x72, 0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92,
1715 	0x7f, 0xa4, 0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf,
1716 	0x0e, 0x11, 0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4,
1717 	0xd7, 0x40, 0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45,
1718 	0x9f, 0xe5, 0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70,
1719 	0x2a, 0x11, 0x62, 0xdb, 0x59, 0x01, 0x22, 0x30,
1720 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
1721 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
1722 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1723 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
1724 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1725 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1726 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
1727 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
1728 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
1729 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
1730 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
1731 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1732 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
1733 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
1734 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
1735 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
1736 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
1737 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
1738 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
1739 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
1740 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
1741 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
1742 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
1743 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
1744 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
1745 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1746 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
1747 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
1748 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
1749 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
1750 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
1751 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
1752 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
1753 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
1754 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
1755 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
1756 	0xde};
1757 static const uint8_t test_vector_1_th_4_raw[] = {
1758 	0x25, 0x54, 0x2f, 0x9c, 0xa5, 0x81, 0x77, 0x1f,
1759 	0x1d, 0xc5, 0x12, 0xd4, 0xe1, 0x95, 0xc4, 0x66,
1760 	0x5a, 0x27, 0x12, 0x91, 0x18, 0x2d, 0xdf, 0x49,
1761 	0x47, 0xff, 0x69, 0x15, 0xa8, 0x61, 0x4c, 0x7c};
1762 static const uint8_t test_vector_1_th_4[] = {
1763 	0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5, 0x81,
1764 	0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1, 0x95,
1765 	0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18, 0x2d,
1766 	0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8, 0x61,
1767 	0x4c, 0x7c};
1768 static const uint8_t test_vector_1_ead_4[] = {
1769 	};
1770 static const uint8_t test_vector_1_p_4[] = {
1771 	};
1772 static const uint8_t test_vector_1_a_4[] = {
1773 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
1774 	0x74, 0x30, 0x40, 0x58, 0x20, 0x25, 0x54, 0x2f,
1775 	0x9c, 0xa5, 0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12,
1776 	0xd4, 0xe1, 0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12,
1777 	0x91, 0x18, 0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69,
1778 	0x15, 0xa8, 0x61, 0x4c, 0x7c};
1779 static const uint8_t test_vector_1_info_k_4[] = {
1780 	0x08, 0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5,
1781 	0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1,
1782 	0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18,
1783 	0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8,
1784 	0x61, 0x4c, 0x7c, 0x10};
1785 static const uint8_t test_vector_1_k_4_raw[] = {
1786 	0x9c, 0x8e, 0xa2, 0xce, 0xa2, 0x93, 0x55, 0x73,
1787 	0x71, 0xd2, 0x2d, 0x37, 0xaa, 0x20, 0x70, 0x98};
1788 static const uint8_t test_vector_1_info_iv_4[] = {
1789 	0x09, 0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5,
1790 	0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1,
1791 	0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18,
1792 	0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8,
1793 	0x61, 0x4c, 0x7c, 0x0d};
1794 static const uint8_t test_vector_1_iv_4_raw[] = {
1795 	0x37, 0x3e, 0x5c, 0x16, 0x3e, 0x4c, 0x39, 0x7f,
1796 	0x77, 0xd8, 0x8f, 0xe0, 0xe7};
1797 static const uint8_t test_vector_1_ciphertext_4_raw[] = {
1798 	0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8, 0x2e};
1799 static const uint8_t test_vector_1_ciphertext_4[] = {
1800 	0x48, 0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8,
1801 	0x2e};
1802 static const uint8_t test_vector_1_message_4[] = {
1803 	0x48, 0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8,
1804 	0x2e};
1805 static const uint8_t test_vector_1_prk_out[] = {
1806 	0xf8, 0x76, 0x74, 0x4b, 0x44, 0x64, 0xed, 0x78,
1807 	0x6f, 0xe9, 0xe6, 0x89, 0xe4, 0xf5, 0xbd, 0x3d,
1808 	0xa6, 0xc2, 0xed, 0xcf, 0x65, 0xe8, 0xe0, 0x3c,
1809 	0x0c, 0xbb, 0x06, 0xe9, 0xbf, 0x2d, 0xbd, 0x0d};
1810 static const uint8_t test_vector_1_prk_exporter[] = {
1811 	0x62, 0x59, 0x46, 0x35, 0x59, 0x20, 0xb9, 0xb9,
1812 	0xf4, 0x6f, 0x77, 0x1e, 0x09, 0xd9, 0x2d, 0x38,
1813 	0xe9, 0x9d, 0x60, 0x79, 0x0d, 0xb3, 0xf4, 0x69,
1814 	0xd0, 0x80, 0x21, 0x44, 0x41, 0xe9, 0xd7, 0x8b};
1815 int32_t test_vector_1_oscore_aead_alg = 10;
1816 int32_t test_vector_1_oscore_hash_alg = -16;
1817 static const uint8_t test_vector_1_client_sender_id_raw[] = {
1818 	0x27};
1819 static const uint8_t test_vector_1_server_sender_id_raw[] = {
1820 	0x37};
1821 static const uint8_t test_vector_1_info_oscore_secret[] = {
1822 	0x00, 0x40, 0x10};
1823 static const uint8_t test_vector_1_oscore_secret_raw[] = {
1824 	0xf3, 0x66, 0xb1, 0x32, 0xd4, 0xb0, 0xfe, 0xbd,
1825 	0x92, 0xb5, 0xb8, 0xba, 0x2e, 0x73, 0x92, 0xc0};
1826 static const uint8_t test_vector_1_info_oscore_salt[] = {
1827 	0x01, 0x40, 0x08};
1828 static const uint8_t test_vector_1_oscore_salt_raw[] = {
1829 	0xf6, 0x1f, 0x88, 0xb0, 0x57, 0x94, 0xd8, 0x99};
1830 static const uint8_t test_vector_1_prk_out_updated[] = {
1831 	0x3d, 0x4b, 0x92, 0x2b, 0xb6, 0xb4, 0x7a, 0x23,
1832 	0x42, 0x13, 0xad, 0x88, 0x69, 0x43, 0x58, 0x09,
1833 	0x3e, 0xe9, 0xb6, 0xd0, 0x7a, 0x4c, 0xde, 0x0b,
1834 	0x3c, 0x66, 0xf8, 0x37, 0xa6, 0x0d, 0xfc, 0xa5};
1835 static const uint8_t test_vector_1_prk_exporter_update[] = {
1836 	0xbf, 0x70, 0xfd, 0xb6, 0x83, 0x3e, 0xc0, 0xb6,
1837 	0x76, 0xca, 0x1b, 0xef, 0x5b, 0xb4, 0x1f, 0x48,
1838 	0x75, 0xdb, 0x05, 0xe2, 0xb5, 0x4b, 0x8b, 0x7e,
1839 	0x03, 0xef, 0xb4, 0x46, 0xae, 0xef, 0x1e, 0x44};
1840 static const uint8_t test_vector_1_oscore_secret_key_update_raw[] = {
1841 	0x20, 0x38, 0x25, 0x12, 0x30, 0x76, 0x41, 0x37,
1842 	0xed, 0x94, 0x6f, 0x8b, 0xf1, 0x82, 0xc1, 0x51};
1843 static const uint8_t test_vector_1_oscore_salt_key_update_raw[] = {
1844 	0xf0, 0x0e, 0xa8, 0x85, 0xba, 0xdd, 0x15, 0xdb};
1845 
1846 /***************** test_vector_2 ************/
1847 
1848  static const uint8_t test_vector_2_method[] = {
1849 	0x00};
1850 static const uint8_t test_vector_2_SUITES_I[] = {
1851 	0x02};
1852 static const uint8_t test_vector_2_SUITES_R[] = {
1853 	0x02};
1854 static const uint8_t test_vector_2_x_raw[] = {
1855 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
1856 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
1857 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
1858 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
1859 static const uint8_t test_vector_2_g_x_raw[] = {
1860 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
1861 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
1862 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
1863 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
1864 static const uint8_t test_vector_2_g_x_raw_y_coordinate[] = {
1865 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
1866 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
1867 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
1868 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
1869 static const uint8_t test_vector_2_g_x[] = {
1870 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
1871 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
1872 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
1873 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
1874 	0xc3, 0xb6};
1875 int32_t test_vector_2_c_i_raw = -24;
1876 static const uint8_t test_vector_2_c_i[] = {
1877 	0x37};
1878 static const uint8_t test_vector_2_ead_1[] = {
1879 	};
1880 static const uint8_t test_vector_2_message_1[] = {
1881 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
1882 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
1883 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
1884 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
1885 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
1886 static const uint8_t test_vector_2_y_raw[] = {
1887 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
1888 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
1889 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
1890 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
1891 static const uint8_t test_vector_2_g_y_raw[] = {
1892 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
1893 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
1894 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
1895 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
1896 static const uint8_t test_vector_2_g_y_raw_y_coordinate[] = {
1897 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
1898 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
1899 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
1900 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
1901 static const uint8_t test_vector_2_g_y[] = {
1902 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
1903 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
1904 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
1905 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
1906 	0xf5, 0xd5};
1907 static const uint8_t test_vector_2_g_xy_raw[] = {
1908 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
1909 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
1910 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
1911 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
1912 static const uint8_t test_vector_2_salt_raw[] = {
1913 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1914 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1915 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1916 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
1917 static const uint8_t test_vector_2_prk_2e_raw[] = {
1918 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
1919 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
1920 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
1921 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
1922 static const uint8_t test_vector_2_salt_3e2m[] = {
1923 	0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9,
1924 	0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11,
1925 	0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff,
1926 	0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01};
1927 static const uint8_t test_vector_2_sk_r_raw[] = {
1928 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
1929 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
1930 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
1931 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
1932 static const uint8_t test_vector_2_pk_r_raw[] = {
1933 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
1934 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
1935 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
1936 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
1937 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
1938 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
1939 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
1940 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
1941 	0x72};
1942 static const uint8_t test_vector_2_prk_3e2m_raw[] = {
1943 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
1944 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
1945 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
1946 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
1947 int32_t test_vector_2_c_r_raw = -8;
1948 static const uint8_t test_vector_2_c_r[] = {
1949 	0x27};
1950 static const uint8_t test_vector_2_h_message_1_raw[] = {
1951 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
1952 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
1953 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
1954 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
1955 static const uint8_t test_vector_2_h_message_1[] = {
1956 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
1957 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
1958 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
1959 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
1960 	0x67, 0x26};
1961 static const uint8_t test_vector_2_input_th_2[] = {
1962 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
1963 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
1964 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
1965 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
1966 	0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f,
1967 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
1968 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
1969 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
1970 	0x18, 0x2a, 0x4e, 0x67, 0x26};
1971 static const uint8_t test_vector_2_th_2_raw[] = {
1972 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
1973 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
1974 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
1975 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6};
1976 static const uint8_t test_vector_2_th_2[] = {
1977 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
1978 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
1979 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
1980 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
1981 	0xab, 0xa6};
1982 static const uint8_t test_vector_2_id_cred_r[] = {
1983 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80,
1984 	0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4};
1985 static const uint8_t test_vector_2_cred_r[] = {
1986 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
1987 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
1988 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
1989 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1990 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
1991 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
1992 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
1993 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
1994 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
1995 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
1996 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
1997 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
1998 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
1999 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
2000 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
2001 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2002 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2003 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
2004 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
2005 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
2006 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
2007 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
2008 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
2009 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
2010 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
2011 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
2012 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2013 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2014 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
2015 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
2016 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
2017 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
2018 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
2019 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
2020 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
2021 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
2022 	0x3b, 0x13, 0x3d, 0x05, 0x58};
2023 static const uint8_t test_vector_2_ca_r[] = {
2024 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
2025 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
2026 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2027 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
2028 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
2029 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
2030 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
2031 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
2032 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
2033 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
2034 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
2035 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2036 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2037 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
2038 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2039 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2040 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
2041 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
2042 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
2043 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
2044 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
2045 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
2046 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
2047 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
2048 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
2049 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2050 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
2051 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
2052 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
2053 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
2054 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
2055 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
2056 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
2057 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
2058 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
2059 	0x13, 0x6b, 0xf3, 0x06};
2060 static const uint8_t test_vector_2_ca_r_pk[] = {
2061 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
2062 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
2063 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
2064 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
2065 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
2066 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
2067 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
2068 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
2069 	0x95};
2070 static const uint8_t test_vector_2_ead_2[] = {
2071 	};
2072 static const uint8_t test_vector_2_info_mac_2[] = {
2073 	0x02, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82,
2074 	0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8,
2075 	0xab, 0xf4, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36,
2076 	0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f,
2077 	0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60,
2078 	0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f,
2079 	0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30,
2080 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
2081 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
2082 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2083 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
2084 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2085 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2086 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
2087 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
2088 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
2089 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
2090 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
2091 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2092 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
2093 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
2094 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
2095 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
2096 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
2097 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
2098 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
2099 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
2100 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
2101 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
2102 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
2103 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
2104 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
2105 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
2106 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
2107 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
2108 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
2109 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
2110 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
2111 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
2112 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
2113 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
2114 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
2115 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
2116 	0x58, 0x18, 0x20};
2117 static const uint8_t test_vector_2_mac_2_raw[] = {
2118 	0x61, 0xb4, 0x21, 0x43, 0x51, 0x5f, 0x46, 0x09,
2119 	0x7a, 0xd3, 0xee, 0xd0, 0x42, 0x3f, 0xf0, 0x6c,
2120 	0xf0, 0xbf, 0xe1, 0x02, 0xd6, 0xd7, 0x29, 0x58,
2121 	0x95, 0x9d, 0xd8, 0xb9, 0x8a, 0x54, 0xe8, 0xe7};
2122 static const uint8_t test_vector_2_mac_2[] = {
2123 	0x58, 0x20, 0x61, 0xb4, 0x21, 0x43, 0x51, 0x5f,
2124 	0x46, 0x09, 0x7a, 0xd3, 0xee, 0xd0, 0x42, 0x3f,
2125 	0xf0, 0x6c, 0xf0, 0xbf, 0xe1, 0x02, 0xd6, 0xd7,
2126 	0x29, 0x58, 0x95, 0x9d, 0xd8, 0xb9, 0x8a, 0x54,
2127 	0xe8, 0xe7};
2128 static const uint8_t test_vector_2_m_2[] = {
2129 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
2130 	0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22,
2131 	0x82, 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01,
2132 	0xa8, 0xab, 0xf4, 0x59, 0x01, 0x47, 0x58, 0x20,
2133 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
2134 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
2135 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
2136 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6,
2137 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2138 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2139 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
2140 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2141 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2142 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2143 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2144 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
2145 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
2146 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2147 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2148 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2149 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2150 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
2151 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
2152 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2153 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2154 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
2155 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
2156 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
2157 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
2158 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
2159 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
2160 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
2161 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
2162 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
2163 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2164 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2165 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
2166 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
2167 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
2168 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
2169 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
2170 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
2171 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
2172 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
2173 	0x3b, 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0x61,
2174 	0xb4, 0x21, 0x43, 0x51, 0x5f, 0x46, 0x09, 0x7a,
2175 	0xd3, 0xee, 0xd0, 0x42, 0x3f, 0xf0, 0x6c, 0xf0,
2176 	0xbf, 0xe1, 0x02, 0xd6, 0xd7, 0x29, 0x58, 0x95,
2177 	0x9d, 0xd8, 0xb9, 0x8a, 0x54, 0xe8, 0xe7};
2178 static const uint8_t test_vector_2_sig_or_mac_2_raw[] = {
2179 	0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 0x4a, 0x00,
2180 	0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 0x15, 0x53,
2181 	0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 0xa7, 0xdc,
2182 	0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 0x2c, 0xb6,
2183 	0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 0x94, 0xdd,
2184 	0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 0xbb, 0xbd,
2185 	0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 0x31, 0x3b,
2186 	0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 0x2b, 0x45};
2187 static const uint8_t test_vector_2_sig_or_mac_2[] = {
2188 	0x58, 0x40, 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf,
2189 	0x4a, 0x00, 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd,
2190 	0x15, 0x53, 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92,
2191 	0xa7, 0xdc, 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2,
2192 	0x2c, 0xb6, 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44,
2193 	0x94, 0xdd, 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9,
2194 	0xbb, 0xbd, 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9,
2195 	0x31, 0x3b, 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8,
2196 	0x2b, 0x45};
2197 static const uint8_t test_vector_2_plaintext_2[] = {
2198 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80,
2199 	0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 0x58, 0x40,
2200 	0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 0x4a, 0x00,
2201 	0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 0x15, 0x53,
2202 	0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 0xa7, 0xdc,
2203 	0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 0x2c, 0xb6,
2204 	0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 0x94, 0xdd,
2205 	0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 0xbb, 0xbd,
2206 	0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 0x31, 0x3b,
2207 	0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 0x2b, 0x45};
2208 static const uint8_t test_vector_2_info_keystream_2[] = {
2209 	0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43,
2210 	0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b,
2211 	0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9,
2212 	0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92,
2213 	0xfb, 0xab, 0xa6, 0x18, 0x50};
2214 static const uint8_t test_vector_2_keystream_2_raw[] = {
2215 	0x1a, 0x09, 0xd5, 0xb3, 0xba, 0xd1, 0xc8, 0xf4,
2216 	0x69, 0x24, 0x6f, 0xf3, 0x19, 0x6d, 0x4f, 0x6f,
2217 	0x2c, 0xc6, 0x6d, 0xf8, 0x39, 0xf1, 0x21, 0xe0,
2218 	0xad, 0x3a, 0x8c, 0xea, 0xd4, 0x92, 0x92, 0xa7,
2219 	0xde, 0xa8, 0x3e, 0xa0, 0xa4, 0x6d, 0x4e, 0x1d,
2220 	0x1c, 0x70, 0xa3, 0xf6, 0x7c, 0x6c, 0xbf, 0xa5,
2221 	0xb9, 0x9b, 0x34, 0xb8, 0x11, 0xae, 0x03, 0x57,
2222 	0x7a, 0xdf, 0xe6, 0x4a, 0x56, 0xb2, 0xd7, 0x25,
2223 	0xbd, 0xf3, 0xf1, 0x6e, 0xf2, 0xfe, 0x8d, 0x80,
2224 	0x26, 0xc4, 0x35, 0x75, 0x4f, 0xf8, 0xca, 0x20};
2225 static const uint8_t test_vector_2_ciphertext_2_raw[] = {
2226 	0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99, 0xfc, 0x74,
2227 	0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99, 0x17, 0x2f,
2228 	0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e, 0x6b, 0xe0,
2229 	0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f, 0x87, 0xf4,
2230 	0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff, 0xe9, 0xc1,
2231 	0x77, 0x43, 0xda, 0x28, 0xed, 0x8e, 0x93, 0x13,
2232 	0xd3, 0x35, 0x06, 0xda, 0x94, 0xea, 0x97, 0x8a,
2233 	0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b, 0x6c, 0x98,
2234 	0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47, 0xbc, 0xbb,
2235 	0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40, 0xe1, 0x65};
2236 static const uint8_t test_vector_2_ciphertext_2[] = {
2237 	0x58, 0x50, 0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99,
2238 	0xfc, 0x74, 0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99,
2239 	0x17, 0x2f, 0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e,
2240 	0x6b, 0xe0, 0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f,
2241 	0x87, 0xf4, 0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff,
2242 	0xe9, 0xc1, 0x77, 0x43, 0xda, 0x28, 0xed, 0x8e,
2243 	0x93, 0x13, 0xd3, 0x35, 0x06, 0xda, 0x94, 0xea,
2244 	0x97, 0x8a, 0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b,
2245 	0x6c, 0x98, 0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47,
2246 	0xbc, 0xbb, 0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40,
2247 	0xe1, 0x65};
2248 static const uint8_t test_vector_2_message_2[] = {
2249 	0x58, 0x70, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2250 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2251 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2252 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2253 	0xf5, 0xd5, 0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99,
2254 	0xfc, 0x74, 0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99,
2255 	0x17, 0x2f, 0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e,
2256 	0x6b, 0xe0, 0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f,
2257 	0x87, 0xf4, 0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff,
2258 	0xe9, 0xc1, 0x77, 0x43, 0xda, 0x28, 0xed, 0x8e,
2259 	0x93, 0x13, 0xd3, 0x35, 0x06, 0xda, 0x94, 0xea,
2260 	0x97, 0x8a, 0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b,
2261 	0x6c, 0x98, 0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47,
2262 	0xbc, 0xbb, 0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40,
2263 	0xe1, 0x65, 0x27};
2264 static const uint8_t test_vector_2_sk_i_raw[] = {
2265 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
2266 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
2267 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
2268 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
2269 static const uint8_t test_vector_2_pk_i_raw[] = {
2270 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
2271 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
2272 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
2273 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
2274 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
2275 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
2276 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
2277 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
2278 	0xc8};
2279 static const uint8_t test_vector_2_salt_4e3m[] = {
2280 	0x80, 0xe6, 0xf4, 0x85, 0x3c, 0x64, 0x0a, 0x20,
2281 	0x00, 0xc0, 0x93, 0x5c, 0xe5, 0x9e, 0x25, 0xb0,
2282 	0x82, 0xa0, 0xa7, 0xb6, 0x17, 0x25, 0x3e, 0x19,
2283 	0x18, 0x36, 0x08, 0x46, 0x87, 0x89, 0x0e, 0xdc};
2284 static const uint8_t test_vector_2_prk_4e3m_raw[] = {
2285 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
2286 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
2287 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
2288 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
2289 static const uint8_t test_vector_2_input_TH_3[] = {
2290 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
2291 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
2292 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
2293 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
2294 	0xab, 0xa6, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48,
2295 	0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4,
2296 	0x58, 0x40, 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf,
2297 	0x4a, 0x00, 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd,
2298 	0x15, 0x53, 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92,
2299 	0xa7, 0xdc, 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2,
2300 	0x2c, 0xb6, 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44,
2301 	0x94, 0xdd, 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9,
2302 	0xbb, 0xbd, 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9,
2303 	0x31, 0x3b, 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8,
2304 	0x2b, 0x45, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
2305 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
2306 	0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30,
2307 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2308 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
2309 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
2310 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
2311 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
2312 	0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33,
2313 	0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
2314 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
2315 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
2316 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
2317 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73,
2318 	0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59,
2319 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
2320 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
2321 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
2322 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
2323 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
2324 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
2325 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
2326 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
2327 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
2328 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
2329 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
2330 	0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2331 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
2332 	0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5,
2333 	0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b,
2334 	0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1,
2335 	0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed,
2336 	0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5,
2337 	0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c,
2338 	0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8,
2339 	0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58,
2340 	0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58};
2341 static const uint8_t test_vector_2_th_3_raw[] = {
2342 	0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 0x80, 0x06,
2343 	0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 0x0e, 0x98,
2344 	0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 0x16, 0x63,
2345 	0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 0x4f, 0x2a};
2346 static const uint8_t test_vector_2_th_3[] = {
2347 	0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2,
2348 	0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14,
2349 	0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e,
2350 	0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 0x35,
2351 	0x4f, 0x2a};
2352 static const uint8_t test_vector_2_id_cred_i[] = {
2353 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7,
2354 	0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76};
2355 static const uint8_t test_vector_2_cred_i[] = {
2356 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2357 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2358 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
2359 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2360 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2361 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2362 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2363 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
2364 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
2365 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2366 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2367 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2368 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2369 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
2370 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
2371 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2372 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2373 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
2374 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
2375 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
2376 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
2377 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
2378 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
2379 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
2380 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
2381 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
2382 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2383 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2384 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
2385 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
2386 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
2387 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
2388 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
2389 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
2390 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
2391 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
2392 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
2393 static const uint8_t test_vector_2_ca_i[] = {
2394 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
2395 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
2396 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2397 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
2398 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
2399 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
2400 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
2401 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
2402 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
2403 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
2404 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
2405 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2406 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2407 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
2408 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2409 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2410 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
2411 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
2412 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
2413 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
2414 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
2415 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
2416 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
2417 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
2418 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
2419 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2420 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
2421 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
2422 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
2423 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
2424 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
2425 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
2426 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
2427 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
2428 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
2429 	0x13, 0x6b, 0xf3, 0x06};
2430 static const uint8_t test_vector_2_ca_i_pk[] = {
2431 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
2432 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
2433 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
2434 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
2435 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
2436 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
2437 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
2438 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
2439 	0x95};
2440 static const uint8_t test_vector_2_ead_3[] = {
2441 	};
2442 static const uint8_t test_vector_2_info_mac_3[] = {
2443 	0x06, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82,
2444 	0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16,
2445 	0x26, 0x76, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2,
2446 	0x53, 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9,
2447 	0xa6, 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b,
2448 	0x4c, 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45,
2449 	0x07, 0x35, 0x4f, 0x2a, 0x59, 0x01, 0x22, 0x30,
2450 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
2451 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
2452 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2453 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
2454 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2455 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2456 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
2457 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
2458 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
2459 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
2460 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
2461 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2462 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
2463 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
2464 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
2465 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
2466 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
2467 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
2468 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
2469 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
2470 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
2471 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
2472 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
2473 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
2474 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
2475 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
2476 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
2477 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
2478 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
2479 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
2480 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
2481 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
2482 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
2483 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
2484 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
2485 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
2486 	0xde, 0x18, 0x20};
2487 static const uint8_t test_vector_2_mac_3_raw[] = {
2488 	0xbb, 0xd1, 0xce, 0x72, 0x52, 0xd1, 0xbb, 0xeb,
2489 	0xdc, 0xf1, 0x8c, 0x28, 0x6a, 0x4f, 0xc9, 0xb1,
2490 	0xbd, 0x23, 0x46, 0xb1, 0x2a, 0x66, 0x2e, 0xa2,
2491 	0x16, 0xb7, 0x8c, 0x98, 0x68, 0x82, 0xd1, 0x45};
2492 static const uint8_t test_vector_2_mac_3[] = {
2493 	0x58, 0x20, 0xbb, 0xd1, 0xce, 0x72, 0x52, 0xd1,
2494 	0xbb, 0xeb, 0xdc, 0xf1, 0x8c, 0x28, 0x6a, 0x4f,
2495 	0xc9, 0xb1, 0xbd, 0x23, 0x46, 0xb1, 0x2a, 0x66,
2496 	0x2e, 0xa2, 0x16, 0xb7, 0x8c, 0x98, 0x68, 0x82,
2497 	0xd1, 0x45};
2498 static const uint8_t test_vector_2_m_3[] = {
2499 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
2500 	0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22,
2501 	0x82, 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0,
2502 	0x16, 0x26, 0x76, 0x59, 0x01, 0x47, 0x58, 0x20,
2503 	0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 0x80, 0x06,
2504 	0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 0x0e, 0x98,
2505 	0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 0x16, 0x63,
2506 	0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 0x4f, 0x2a,
2507 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2508 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2509 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
2510 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2511 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2512 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2513 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2514 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
2515 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
2516 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2517 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2518 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2519 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2520 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
2521 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
2522 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2523 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2524 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
2525 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
2526 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
2527 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
2528 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
2529 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
2530 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
2531 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
2532 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
2533 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2534 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2535 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
2536 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
2537 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
2538 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
2539 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
2540 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
2541 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
2542 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
2543 	0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xbb,
2544 	0xd1, 0xce, 0x72, 0x52, 0xd1, 0xbb, 0xeb, 0xdc,
2545 	0xf1, 0x8c, 0x28, 0x6a, 0x4f, 0xc9, 0xb1, 0xbd,
2546 	0x23, 0x46, 0xb1, 0x2a, 0x66, 0x2e, 0xa2, 0x16,
2547 	0xb7, 0x8c, 0x98, 0x68, 0x82, 0xd1, 0x45};
2548 static const uint8_t test_vector_2_sig_or_mac_3_raw[] = {
2549 	0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 0xab, 0x56,
2550 	0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 0x5a, 0x0b,
2551 	0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 0x25, 0x15,
2552 	0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 0x4e, 0x70,
2553 	0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 0xde, 0x8a,
2554 	0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 0x4f, 0xf5,
2555 	0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 0x3e, 0xfc,
2556 	0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 0x3e, 0x86};
2557 static const uint8_t test_vector_2_sig_or_mac_3[] = {
2558 	0x58, 0x40, 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58,
2559 	0xab, 0x56, 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a,
2560 	0x5a, 0x0b, 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c,
2561 	0x25, 0x15, 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d,
2562 	0x4e, 0x70, 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f,
2563 	0xde, 0x8a, 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee,
2564 	0x4f, 0xf5, 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3,
2565 	0x3e, 0xfc, 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b,
2566 	0x3e, 0x86};
2567 static const uint8_t test_vector_2_p_3[] = {
2568 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7,
2569 	0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 0x58, 0x40,
2570 	0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 0xab, 0x56,
2571 	0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 0x5a, 0x0b,
2572 	0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 0x25, 0x15,
2573 	0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 0x4e, 0x70,
2574 	0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 0xde, 0x8a,
2575 	0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 0x4f, 0xf5,
2576 	0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 0x3e, 0xfc,
2577 	0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 0x3e, 0x86};
2578 static const uint8_t test_vector_2_a_3[] = {
2579 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
2580 	0x74, 0x30, 0x40, 0x58, 0x20, 0xa3, 0x67, 0x67,
2581 	0xf2, 0x53, 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2,
2582 	0xe9, 0xa6, 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22,
2583 	0x0b, 0x4c, 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11,
2584 	0x45, 0x07, 0x35, 0x4f, 0x2a};
2585 static const uint8_t test_vector_2_info_k_3[] = {
2586 	0x03, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53,
2587 	0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6,
2588 	0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c,
2589 	0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07,
2590 	0x35, 0x4f, 0x2a, 0x10};
2591 static const uint8_t test_vector_2_k_3_raw[] = {
2592 	0x75, 0xf2, 0x6e, 0xb6, 0xf8, 0x69, 0x98, 0x1c,
2593 	0xe2, 0x98, 0x1d, 0x83, 0xbc, 0x59, 0x60, 0x4c};
2594 static const uint8_t test_vector_2_info_iv_3[] = {
2595 	0x04, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53,
2596 	0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6,
2597 	0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c,
2598 	0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07,
2599 	0x35, 0x4f, 0x2a, 0x0d};
2600 static const uint8_t test_vector_2_iv_3_raw[] = {
2601 	0xee, 0xe0, 0xad, 0xf5, 0x03, 0xb8, 0x2f, 0x1f,
2602 	0x27, 0x74, 0xc4, 0xe2, 0x7a};
2603 static const uint8_t test_vector_2_ciphertext_3_raw[] = {
2604 	0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc, 0x6a, 0xd7,
2605 	0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29, 0xdf, 0x7d,
2606 	0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38, 0x71, 0x33,
2607 	0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4, 0x03, 0x07,
2608 	0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10, 0xd3, 0xd5,
2609 	0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63, 0xb6, 0x84,
2610 	0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46, 0x24, 0xd9,
2611 	0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2, 0xa9, 0xba,
2612 	0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63, 0xbf, 0x2b,
2613 	0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73, 0x41, 0xef,
2614 	0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9, 0x75, 0xb0};
2615 static const uint8_t test_vector_2_ciphertext_3[] = {
2616 	0x58, 0x58, 0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc,
2617 	0x6a, 0xd7, 0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29,
2618 	0xdf, 0x7d, 0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38,
2619 	0x71, 0x33, 0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4,
2620 	0x03, 0x07, 0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10,
2621 	0xd3, 0xd5, 0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63,
2622 	0xb6, 0x84, 0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46,
2623 	0x24, 0xd9, 0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2,
2624 	0xa9, 0xba, 0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63,
2625 	0xbf, 0x2b, 0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73,
2626 	0x41, 0xef, 0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9,
2627 	0x75, 0xb0};
2628 static const uint8_t test_vector_2_message_3[] = {
2629 	0x58, 0x58, 0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc,
2630 	0x6a, 0xd7, 0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29,
2631 	0xdf, 0x7d, 0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38,
2632 	0x71, 0x33, 0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4,
2633 	0x03, 0x07, 0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10,
2634 	0xd3, 0xd5, 0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63,
2635 	0xb6, 0x84, 0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46,
2636 	0x24, 0xd9, 0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2,
2637 	0xa9, 0xba, 0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63,
2638 	0xbf, 0x2b, 0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73,
2639 	0x41, 0xef, 0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9,
2640 	0x75, 0xb0};
2641 static const uint8_t test_vector_2_input_th_4[] = {
2642 	0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2,
2643 	0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14,
2644 	0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e,
2645 	0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 0x35,
2646 	0x4f, 0x2a, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48,
2647 	0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76,
2648 	0x58, 0x40, 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58,
2649 	0xab, 0x56, 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a,
2650 	0x5a, 0x0b, 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c,
2651 	0x25, 0x15, 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d,
2652 	0x4e, 0x70, 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f,
2653 	0xde, 0x8a, 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee,
2654 	0x4f, 0xf5, 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3,
2655 	0x3e, 0xfc, 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b,
2656 	0x3e, 0x86, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
2657 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
2658 	0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30,
2659 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2660 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
2661 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
2662 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
2663 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
2664 	0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31,
2665 	0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
2666 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
2667 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
2668 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
2669 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69,
2670 	0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59,
2671 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
2672 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
2673 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
2674 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
2675 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
2676 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
2677 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
2678 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
2679 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
2680 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
2681 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
2682 	0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2683 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
2684 	0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a,
2685 	0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe,
2686 	0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c,
2687 	0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91,
2688 	0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c,
2689 	0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06,
2690 	0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e,
2691 	0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91,
2692 	0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde};
2693 static const uint8_t test_vector_2_th_4_raw[] = {
2694 	0x14, 0x06, 0x2c, 0x19, 0x72, 0x60, 0x3a, 0x77,
2695 	0xc5, 0x7a, 0x6f, 0xe4, 0xef, 0x82, 0xf4, 0xdd,
2696 	0x34, 0x4e, 0x79, 0x9d, 0xbb, 0x92, 0x12, 0x6b,
2697 	0x89, 0x59, 0x37, 0x51, 0xcf, 0xbd, 0xb2, 0x77};
2698 static const uint8_t test_vector_2_th_4[] = {
2699 	0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72, 0x60,
2700 	0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef, 0x82,
2701 	0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb, 0x92,
2702 	0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf, 0xbd,
2703 	0xb2, 0x77};
2704 static const uint8_t test_vector_2_ead_4[] = {
2705 	};
2706 static const uint8_t test_vector_2_p_4[] = {
2707 	};
2708 static const uint8_t test_vector_2_a_4[] = {
2709 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
2710 	0x74, 0x30, 0x40, 0x58, 0x20, 0x14, 0x06, 0x2c,
2711 	0x19, 0x72, 0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f,
2712 	0xe4, 0xef, 0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79,
2713 	0x9d, 0xbb, 0x92, 0x12, 0x6b, 0x89, 0x59, 0x37,
2714 	0x51, 0xcf, 0xbd, 0xb2, 0x77};
2715 static const uint8_t test_vector_2_info_k_4[] = {
2716 	0x08, 0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72,
2717 	0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef,
2718 	0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb,
2719 	0x92, 0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf,
2720 	0xbd, 0xb2, 0x77, 0x10};
2721 static const uint8_t test_vector_2_k_4_raw[] = {
2722 	0xd4, 0x1a, 0x09, 0xdc, 0xce, 0xda, 0x94, 0x20,
2723 	0xd2, 0x4a, 0x93, 0x17, 0x0b, 0xe0, 0x5c, 0x3c};
2724 static const uint8_t test_vector_2_info_iv_4[] = {
2725 	0x09, 0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72,
2726 	0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef,
2727 	0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb,
2728 	0x92, 0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf,
2729 	0xbd, 0xb2, 0x77, 0x0d};
2730 static const uint8_t test_vector_2_iv_4_raw[] = {
2731 	0x44, 0xbc, 0xee, 0x63, 0xb3, 0xef, 0x66, 0x05,
2732 	0xfe, 0x8a, 0x7b, 0x83, 0xa8};
2733 static const uint8_t test_vector_2_ciphertext_4_raw[] = {
2734 	0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45, 0x7b};
2735 static const uint8_t test_vector_2_ciphertext_4[] = {
2736 	0x48, 0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45,
2737 	0x7b};
2738 static const uint8_t test_vector_2_message_4[] = {
2739 	0x48, 0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45,
2740 	0x7b};
2741 static const uint8_t test_vector_2_prk_out[] = {
2742 	0x52, 0x09, 0x32, 0xd5, 0x35, 0xf8, 0x0c, 0x85,
2743 	0x83, 0xfe, 0x29, 0x6e, 0x8a, 0x54, 0xc4, 0xfb,
2744 	0xd7, 0x94, 0x29, 0x21, 0x0a, 0x7b, 0xa6, 0xa7,
2745 	0xfa, 0x91, 0x82, 0xf0, 0xec, 0xd0, 0xae, 0xf8};
2746 static const uint8_t test_vector_2_prk_exporter[] = {
2747 	0xda, 0xd4, 0xb5, 0x4a, 0x0e, 0x6f, 0xdc, 0x36,
2748 	0xb8, 0xac, 0xef, 0x4c, 0x2d, 0x89, 0x22, 0x56,
2749 	0xce, 0x2f, 0x2a, 0xbb, 0x2f, 0x9b, 0x09, 0x4a,
2750 	0xca, 0xef, 0x1d, 0x90, 0x8f, 0x66, 0xc2, 0x6f};
2751 int32_t test_vector_2_oscore_aead_alg = 10;
2752 int32_t test_vector_2_oscore_hash_alg = -16;
2753 static const uint8_t test_vector_2_client_sender_id_raw[] = {
2754 	0x27};
2755 static const uint8_t test_vector_2_server_sender_id_raw[] = {
2756 	0x37};
2757 static const uint8_t test_vector_2_info_oscore_secret[] = {
2758 	0x00, 0x40, 0x10};
2759 static const uint8_t test_vector_2_oscore_secret_raw[] = {
2760 	0xed, 0xb6, 0x56, 0x9f, 0x49, 0x2b, 0x8f, 0xc1,
2761 	0x64, 0x11, 0x00, 0x42, 0x70, 0x71, 0x99, 0xdf};
2762 static const uint8_t test_vector_2_info_oscore_salt[] = {
2763 	0x01, 0x40, 0x08};
2764 static const uint8_t test_vector_2_oscore_salt_raw[] = {
2765 	0x47, 0xa5, 0xa3, 0x99, 0x87, 0xd9, 0x63, 0xd4};
2766 static const uint8_t test_vector_2_prk_out_updated[] = {
2767 	0xb2, 0x39, 0xc9, 0xe0, 0x03, 0x78, 0x0d, 0x9e,
2768 	0x3d, 0xf6, 0xb7, 0x4f, 0x0b, 0xa1, 0x50, 0x86,
2769 	0x07, 0xf3, 0xd6, 0xbf, 0xc7, 0x2a, 0xf8, 0x0d,
2770 	0x04, 0xe3, 0xef, 0x1e, 0x48, 0x59, 0x74, 0x21};
2771 static const uint8_t test_vector_2_prk_exporter_update[] = {
2772 	0x7b, 0x0e, 0x2e, 0x74, 0x7b, 0x6e, 0x9f, 0xe9,
2773 	0xd3, 0xaf, 0xc5, 0x5d, 0xe3, 0xa8, 0x00, 0x19,
2774 	0x13, 0xe7, 0x0f, 0xe6, 0x46, 0xd1, 0xe6, 0x20,
2775 	0x19, 0x0b, 0x98, 0x75, 0x85, 0x2b, 0x35, 0xd2};
2776 static const uint8_t test_vector_2_oscore_secret_key_update_raw[] = {
2777 	0xb3, 0x54, 0x1b, 0xd2, 0xc8, 0x5c, 0x03, 0x48,
2778 	0x7e, 0x65, 0x98, 0xe7, 0x9f, 0xae, 0x81, 0x9f};
2779 static const uint8_t test_vector_2_oscore_salt_key_update_raw[] = {
2780 	0x6a, 0xd4, 0xae, 0x42, 0x4d, 0x76, 0x21, 0xd7};
2781 
2782 /***************** test_vector_3 ************/
2783 
2784  static const uint8_t test_vector_3_method[] = {
2785 	0x00};
2786 static const uint8_t test_vector_3_SUITES_I[] = {
2787 	0x02};
2788 static const uint8_t test_vector_3_SUITES_R[] = {
2789 	0x02};
2790 static const uint8_t test_vector_3_x_raw[] = {
2791 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
2792 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
2793 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
2794 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
2795 static const uint8_t test_vector_3_g_x_raw[] = {
2796 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
2797 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
2798 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
2799 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
2800 static const uint8_t test_vector_3_g_x_raw_y_coordinate[] = {
2801 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
2802 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
2803 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
2804 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
2805 static const uint8_t test_vector_3_g_x[] = {
2806 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
2807 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
2808 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
2809 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
2810 	0xc3, 0xb6};
2811 int32_t test_vector_3_c_i_raw = -24;
2812 static const uint8_t test_vector_3_c_i[] = {
2813 	0x37};
2814 static const uint8_t test_vector_3_ead_1[] = {
2815 	};
2816 static const uint8_t test_vector_3_message_1[] = {
2817 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
2818 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
2819 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
2820 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
2821 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
2822 static const uint8_t test_vector_3_y_raw[] = {
2823 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
2824 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
2825 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
2826 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
2827 static const uint8_t test_vector_3_g_y_raw[] = {
2828 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
2829 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
2830 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
2831 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
2832 static const uint8_t test_vector_3_g_y_raw_y_coordinate[] = {
2833 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
2834 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
2835 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
2836 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
2837 static const uint8_t test_vector_3_g_y[] = {
2838 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2839 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2840 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2841 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2842 	0xf5, 0xd5};
2843 static const uint8_t test_vector_3_g_xy_raw[] = {
2844 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
2845 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
2846 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
2847 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
2848 static const uint8_t test_vector_3_salt_raw[] = {
2849 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2850 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2851 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2852 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
2853 static const uint8_t test_vector_3_prk_2e_raw[] = {
2854 	0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06,
2855 	0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a,
2856 	0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71,
2857 	0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31};
2858 static const uint8_t test_vector_3_salt_3e2m[] = {
2859 	0x7a, 0xfb, 0x7f, 0x9e, 0x53, 0x3b, 0x00, 0xbb,
2860 	0xea, 0xf8, 0x8c, 0xd1, 0x07, 0x09, 0xec, 0xbb,
2861 	0x36, 0xbe, 0x1c, 0x0b, 0xb9, 0x26, 0x35, 0xef,
2862 	0xd3, 0x4e, 0x9b, 0x9a, 0x81, 0x82, 0x75, 0xa2};
2863 static const uint8_t test_vector_3_sk_r_raw[] = {
2864 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
2865 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
2866 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
2867 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
2868 static const uint8_t test_vector_3_pk_r_raw[] = {
2869 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
2870 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
2871 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
2872 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
2873 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
2874 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
2875 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
2876 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
2877 	0x72};
2878 static const uint8_t test_vector_3_prk_3e2m_raw[] = {
2879 	0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06,
2880 	0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a,
2881 	0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71,
2882 	0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31};
2883 int32_t test_vector_3_c_r_raw = -19;
2884 static const uint8_t test_vector_3_c_r[] = {
2885 	0x32};
2886 static const uint8_t test_vector_3_h_message_1_raw[] = {
2887 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
2888 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
2889 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
2890 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
2891 static const uint8_t test_vector_3_h_message_1[] = {
2892 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
2893 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
2894 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
2895 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
2896 	0x67, 0x26};
2897 static const uint8_t test_vector_3_input_th_2[] = {
2898 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2899 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2900 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2901 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2902 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xc7, 0x93, 0x1f,
2903 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
2904 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
2905 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
2906 	0x18, 0x2a, 0x4e, 0x67, 0x26};
2907 static const uint8_t test_vector_3_th_2_raw[] = {
2908 	0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1,
2909 	0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85,
2910 	0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d,
2911 	0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d};
2912 static const uint8_t test_vector_3_th_2[] = {
2913 	0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42,
2914 	0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d,
2915 	0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91,
2916 	0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b,
2917 	0x85, 0x0d};
2918 static const uint8_t test_vector_3_id_cred_r[] = {
2919 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
2920 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
2921 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
2922 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
2923 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
2924 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2925 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
2926 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
2927 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
2928 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
2929 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
2930 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
2931 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
2932 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
2933 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
2934 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
2935 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
2936 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
2937 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
2938 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
2939 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
2940 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
2941 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
2942 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
2943 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
2944 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
2945 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2946 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
2947 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
2948 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
2949 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
2950 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
2951 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
2952 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
2953 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
2954 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
2955 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58};
2956 static const uint8_t test_vector_3_cred_r[] = {
2957 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2958 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2959 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
2960 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2961 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2962 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2963 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2964 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
2965 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
2966 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2967 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2968 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2969 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2970 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
2971 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
2972 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2973 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2974 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
2975 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
2976 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
2977 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
2978 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
2979 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
2980 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
2981 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
2982 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
2983 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2984 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2985 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
2986 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
2987 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
2988 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
2989 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
2990 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
2991 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
2992 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
2993 	0x3b, 0x13, 0x3d, 0x05, 0x58};
2994 static const uint8_t test_vector_3_ca_r[] = {
2995 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
2996 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
2997 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2998 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
2999 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3000 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3001 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3002 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
3003 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
3004 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3005 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
3006 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3007 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3008 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
3009 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
3010 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3011 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
3012 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
3013 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
3014 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
3015 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
3016 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
3017 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
3018 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
3019 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
3020 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3021 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
3022 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
3023 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
3024 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
3025 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
3026 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
3027 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
3028 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
3029 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
3030 	0x13, 0x6b, 0xf3, 0x06};
3031 static const uint8_t test_vector_3_ca_r_pk[] = {
3032 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
3033 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
3034 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
3035 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
3036 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
3037 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
3038 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
3039 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
3040 	0x95};
3041 static const uint8_t test_vector_3_ead_2[] = {
3042 	};
3043 static const uint8_t test_vector_3_info_mac_2[] = {
3044 	0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59,
3045 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
3046 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
3047 	0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08,
3048 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3049 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
3050 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
3051 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
3052 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32,
3053 	0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a,
3054 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
3055 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
3056 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
3057 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
3058 	0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3059 	0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
3060 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
3061 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
3062 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3,
3063 	0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94,
3064 	0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2,
3065 	0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93,
3066 	0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19,
3067 	0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02,
3068 	0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a,
3069 	0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22,
3070 	0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a,
3071 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
3072 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
3073 	0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8,
3074 	0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf,
3075 	0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22,
3076 	0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05,
3077 	0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c,
3078 	0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce,
3079 	0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23,
3080 	0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b,
3081 	0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xb8, 0x1b,
3082 	0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19,
3083 	0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5,
3084 	0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96,
3085 	0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01,
3086 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
3087 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61,
3088 	0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3089 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
3090 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
3091 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
3092 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
3093 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30,
3094 	0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17,
3095 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
3096 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
3097 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
3098 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
3099 	0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,
3100 	0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
3101 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
3102 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
3103 	0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49,
3104 	0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c,
3105 	0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17,
3106 	0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62,
3107 	0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2,
3108 	0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f,
3109 	0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd,
3110 	0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c,
3111 	0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06,
3112 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
3113 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20,
3114 	0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7,
3115 	0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83,
3116 	0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8,
3117 	0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19,
3118 	0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89,
3119 	0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00,
3120 	0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70,
3121 	0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13,
3122 	0x3d, 0x05, 0x58, 0x18, 0x20};
3123 static const uint8_t test_vector_3_mac_2_raw[] = {
3124 	0xbd, 0x10, 0xb4, 0x5d, 0x70, 0xdb, 0x93, 0xda,
3125 	0xd0, 0x83, 0x08, 0x86, 0x7f, 0x7a, 0x05, 0xa3,
3126 	0x2a, 0xda, 0x37, 0x5e, 0x49, 0xdf, 0x76, 0x63,
3127 	0x69, 0xc4, 0x20, 0x12, 0xcb, 0x1d, 0x6e, 0xea};
3128 static const uint8_t test_vector_3_mac_2[] = {
3129 	0x58, 0x20, 0xbd, 0x10, 0xb4, 0x5d, 0x70, 0xdb,
3130 	0x93, 0xda, 0xd0, 0x83, 0x08, 0x86, 0x7f, 0x7a,
3131 	0x05, 0xa3, 0x2a, 0xda, 0x37, 0x5e, 0x49, 0xdf,
3132 	0x76, 0x63, 0x69, 0xc4, 0x20, 0x12, 0xcb, 0x1d,
3133 	0x6e, 0xea};
3134 static const uint8_t test_vector_3_m_2[] = {
3135 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
3136 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
3137 	0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
3138 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
3139 	0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30,
3140 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3141 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
3142 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
3143 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
3144 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
3145 	0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33,
3146 	0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
3147 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
3148 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
3149 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
3150 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73,
3151 	0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59,
3152 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
3153 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
3154 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
3155 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
3156 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
3157 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
3158 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
3159 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
3160 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
3161 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
3162 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
3163 	0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3164 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
3165 	0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5,
3166 	0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b,
3167 	0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1,
3168 	0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed,
3169 	0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5,
3170 	0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c,
3171 	0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8,
3172 	0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58,
3173 	0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59,
3174 	0x01, 0x47, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3,
3175 	0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0,
3176 	0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc,
3177 	0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2,
3178 	0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 0x22, 0x30,
3179 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
3180 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
3181 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3182 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
3183 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3184 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3185 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
3186 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
3187 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
3188 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
3189 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
3190 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3191 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3192 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
3193 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
3194 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
3195 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
3196 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
3197 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
3198 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
3199 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
3200 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
3201 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
3202 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
3203 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
3204 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3205 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
3206 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
3207 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
3208 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
3209 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
3210 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
3211 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
3212 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
3213 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
3214 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
3215 	0x58, 0x58, 0x20, 0xbd, 0x10, 0xb4, 0x5d, 0x70,
3216 	0xdb, 0x93, 0xda, 0xd0, 0x83, 0x08, 0x86, 0x7f,
3217 	0x7a, 0x05, 0xa3, 0x2a, 0xda, 0x37, 0x5e, 0x49,
3218 	0xdf, 0x76, 0x63, 0x69, 0xc4, 0x20, 0x12, 0xcb,
3219 	0x1d, 0x6e, 0xea};
3220 static const uint8_t test_vector_3_sig_or_mac_2_raw[] = {
3221 	0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe, 0xb4, 0x76,
3222 	0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a, 0x36, 0xff,
3223 	0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97, 0x98, 0xbb,
3224 	0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78, 0x53, 0xa9,
3225 	0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6, 0x18, 0x84,
3226 	0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e, 0x5d, 0x99,
3227 	0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15, 0xd1, 0xa8,
3228 	0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e, 0x72, 0x05};
3229 static const uint8_t test_vector_3_sig_or_mac_2[] = {
3230 	0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe,
3231 	0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a,
3232 	0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97,
3233 	0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78,
3234 	0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6,
3235 	0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e,
3236 	0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15,
3237 	0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e,
3238 	0x72, 0x05};
3239 static const uint8_t test_vector_3_plaintext_2[] = {
3240 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3241 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3242 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
3243 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3244 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3245 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3246 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3247 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3248 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
3249 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3250 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3251 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3252 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3253 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
3254 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
3255 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3256 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3257 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3258 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
3259 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
3260 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
3261 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
3262 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
3263 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
3264 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
3265 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
3266 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3267 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3268 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
3269 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
3270 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
3271 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
3272 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
3273 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
3274 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
3275 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
3276 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58,
3277 	0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe,
3278 	0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a,
3279 	0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97,
3280 	0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78,
3281 	0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6,
3282 	0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e,
3283 	0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15,
3284 	0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e,
3285 	0x72, 0x05};
3286 static const uint8_t test_vector_3_info_keystream_2[] = {
3287 	0x00, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4,
3288 	0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf,
3289 	0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00,
3290 	0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14,
3291 	0x2b, 0x85, 0x0d, 0x19, 0x01, 0x6a};
3292 static const uint8_t test_vector_3_keystream_2_raw[] = {
3293 	0x7d, 0x96, 0x1b, 0xbf, 0x82, 0x61, 0x4c, 0x81,
3294 	0x58, 0x96, 0x12, 0x39, 0x44, 0x17, 0x3f, 0x57,
3295 	0x0a, 0x0f, 0x25, 0x2a, 0xb9, 0x2a, 0xb5, 0xfa,
3296 	0xa1, 0xf3, 0x46, 0x84, 0x48, 0x50, 0x76, 0xe6,
3297 	0xc5, 0xab, 0xea, 0x1f, 0x24, 0xce, 0xde, 0xd2,
3298 	0xa0, 0x47, 0x62, 0xb3, 0x13, 0x94, 0xa9, 0x7a,
3299 	0xbe, 0xdd, 0x11, 0x8f, 0xcd, 0x33, 0x3d, 0x5d,
3300 	0x16, 0xcd, 0x3a, 0x0f, 0x80, 0x06, 0x4e, 0x1c,
3301 	0x48, 0x48, 0xb1, 0x08, 0xad, 0x66, 0xc4, 0x9c,
3302 	0x2d, 0x85, 0x86, 0x8c, 0x2b, 0xf3, 0x5f, 0x98,
3303 	0x87, 0x21, 0x87, 0xc4, 0x6e, 0x58, 0xd8, 0x09,
3304 	0xa6, 0x5b, 0x7b, 0xd9, 0xd8, 0x38, 0x8e, 0xe5,
3305 	0x91, 0x97, 0xd7, 0x43, 0xac, 0xe7, 0xea, 0xa0,
3306 	0x70, 0x3f, 0xc6, 0xd4, 0x3e, 0xdc, 0x4c, 0xe9,
3307 	0x2a, 0x2e, 0xc1, 0xfd, 0x58, 0xfd, 0x71, 0x7f,
3308 	0x03, 0x9a, 0x92, 0x81, 0x99, 0x86, 0x62, 0x29,
3309 	0x64, 0xe8, 0xd6, 0x50, 0x36, 0xdd, 0x88, 0x72,
3310 	0xac, 0x06, 0xa6, 0xb4, 0x62, 0x4c, 0x99, 0x21,
3311 	0xa2, 0x7b, 0x21, 0x37, 0x6d, 0x08, 0x99, 0xa1,
3312 	0xbf, 0x51, 0x16, 0xb5, 0xbe, 0x20, 0x23, 0x15,
3313 	0x8b, 0x04, 0xa6, 0xe8, 0x83, 0xb7, 0x71, 0x34,
3314 	0xf5, 0xa0, 0xf1, 0xa1, 0x71, 0xdc, 0x15, 0x7b,
3315 	0xca, 0x79, 0x4f, 0x29, 0xc8, 0xb8, 0x11, 0xc4,
3316 	0x41, 0xa6, 0xf7, 0x7e, 0x56, 0x79, 0x7c, 0x43,
3317 	0x6d, 0x52, 0xf2, 0xf8, 0xa3, 0x9c, 0xcf, 0x8e,
3318 	0xed, 0xdb, 0x6f, 0xd0, 0x36, 0x68, 0x2d, 0xbd,
3319 	0xbd, 0xf5, 0xa8, 0xd5, 0x5a, 0x1f, 0x52, 0xeb,
3320 	0x26, 0xc3, 0x1c, 0x21, 0x70, 0xd1, 0x9d, 0x85,
3321 	0x10, 0x18, 0xcb, 0x60, 0x7d, 0xc9, 0xc8, 0xa4,
3322 	0xac, 0xec, 0x82, 0xad, 0x1b, 0x30, 0x07, 0x26,
3323 	0x00, 0x55, 0x59, 0x86, 0x98, 0x44, 0x2e, 0x22,
3324 	0xca, 0x9c, 0xc8, 0x36, 0x4e, 0x98, 0xb4, 0xf1,
3325 	0x65, 0x94, 0xe5, 0x08, 0x64, 0x2c, 0xf4, 0xc5,
3326 	0xa0, 0x78, 0x15, 0x30, 0x3c, 0xc0, 0x85, 0xfe,
3327 	0x9c, 0xbf, 0x18, 0x9e, 0xd6, 0xd7, 0x37, 0xea,
3328 	0xc2, 0x81, 0x86, 0x6b, 0xfa, 0xe9, 0x2e, 0x6f,
3329 	0x71, 0x8b, 0x9f, 0x7a, 0xec, 0x8b, 0x90, 0xea,
3330 	0xbf, 0x06, 0x96, 0xfc, 0x07, 0x9e, 0x5e, 0x8b,
3331 	0x0f, 0xfe, 0xbf, 0x49, 0xa9, 0x8b, 0xfd, 0x2e,
3332 	0xe3, 0x54, 0x9e, 0x4d, 0x18, 0xa9, 0xbd, 0x97,
3333 	0x24, 0xac, 0xc1, 0x4c, 0x23, 0xb9, 0x22, 0x00,
3334 	0x77, 0x9a, 0x1d, 0x34, 0x90, 0x20, 0x57, 0x07,
3335 	0xf7, 0x46, 0x92, 0xe3, 0xaf, 0x5d, 0x81, 0xcb,
3336 	0xe0, 0x5b, 0x35, 0x88, 0x30, 0xe5, 0xba, 0x51,
3337 	0x73, 0x24, 0x86, 0x41, 0x48, 0x05, 0x9b, 0xaf,
3338 	0x00, 0x0a};
3339 static const uint8_t test_vector_3_ciphertext_2_raw[] = {
3340 	0xdc, 0x8e, 0x3b, 0xe6, 0x83, 0x43, 0x7c, 0x03,
3341 	0x59, 0x88, 0x22, 0xb8, 0x81, 0xb7, 0x3c, 0x55,
3342 	0x0b, 0x0d, 0x27, 0x2e, 0xd8, 0xc3, 0x2d, 0xe4,
3343 	0x91, 0xf9, 0x40, 0x8c, 0x62, 0xd6, 0x3e, 0x28,
3344 	0xf8, 0xaf, 0xe9, 0x1d, 0x14, 0xdb, 0xef, 0xc1,
3345 	0x90, 0x56, 0x64, 0xb0, 0x46, 0x90, 0xaa, 0x76,
3346 	0xb4, 0x98, 0x55, 0xc7, 0x82, 0x70, 0x1d, 0x0f,
3347 	0x79, 0xa2, 0x4e, 0x3f, 0x9e, 0x11, 0x43, 0x2e,
3348 	0x7a, 0x78, 0x80, 0x3a, 0x9d, 0x57, 0xf3, 0xad,
3349 	0x1e, 0xb5, 0xb4, 0xd6, 0x3c, 0xfe, 0x6d, 0xa1,
3350 	0xb6, 0x13, 0xb4, 0xf5, 0x5c, 0x6b, 0xe8, 0x39,
3351 	0x96, 0x6b, 0x21, 0xe9, 0xc2, 0x09, 0x96, 0xd5,
3352 	0x87, 0x91, 0xd4, 0x16, 0xa8, 0xe4, 0xe6, 0xaf,
3353 	0x35, 0x7b, 0x8e, 0x9b, 0x7d, 0xfc, 0x1e, 0x8c,
3354 	0x59, 0x5e, 0xae, 0x93, 0x3c, 0x98, 0x03, 0x4f,
3355 	0x5a, 0xaa, 0x81, 0x87, 0x9e, 0xac, 0xe4, 0x61,
3356 	0xaa, 0xd5, 0xd4, 0x51, 0x30, 0xd5, 0xa2, 0xf4,
3357 	0xe4, 0xc8, 0x9b, 0xb7, 0x63, 0x4b, 0x9a, 0x63,
3358 	0xa2, 0x7f, 0x9a, 0xf4, 0x24, 0x68, 0xcb, 0xcf,
3359 	0x1b, 0x82, 0x38, 0x21, 0xb2, 0x8d, 0x09, 0x36,
3360 	0xca, 0x4c, 0x7b, 0x2a, 0x94, 0x26, 0xd0, 0x1e,
3361 	0x0e, 0x6b, 0x5d, 0x32, 0x13, 0xfc, 0x53, 0xa6,
3362 	0x8e, 0x89, 0x0a, 0x30, 0x2a, 0xef, 0x32, 0xaf,
3363 	0x6b, 0xaa, 0x15, 0x7c, 0x69, 0x70, 0x4d, 0xb2,
3364 	0x9e, 0xd4, 0x38, 0x82, 0x5e, 0x3a, 0x80, 0x43,
3365 	0x0d, 0xcb, 0xe3, 0xf2, 0x7a, 0x39, 0xc7, 0x02,
3366 	0xdd, 0x87, 0x98, 0xdf, 0x5c, 0x17, 0x78, 0x6d,
3367 	0x6e, 0x0d, 0x21, 0x25, 0x73, 0xd3, 0x9e, 0xcd,
3368 	0x10, 0x28, 0x8e, 0x62, 0x5d, 0xf9, 0xd1, 0xea,
3369 	0x59, 0x10, 0xe7, 0x65, 0xac, 0xa5, 0xca, 0xeb,
3370 	0x0b, 0xe1, 0x68, 0x39, 0x1b, 0xaa, 0x49, 0x63,
3371 	0x0b, 0xab, 0xc4, 0x14, 0x86, 0x73, 0x3a, 0x18,
3372 	0x88, 0x46, 0x42, 0x0d, 0x7d, 0x2e, 0xd5, 0xc5,
3373 	0x15, 0xfb, 0x1b, 0xac, 0xb5, 0x66, 0xaf, 0x39,
3374 	0xa0, 0x5e, 0xf3, 0x50, 0xd6, 0xb6, 0x47, 0x97,
3375 	0x7a, 0x29, 0x08, 0x48, 0x8a, 0x72, 0x64, 0xa3,
3376 	0x29, 0x2a, 0xae, 0x41, 0xff, 0xb6, 0x95, 0xb2,
3377 	0xe7, 0x46, 0xe5, 0x0e, 0xbf, 0x3e, 0xa8, 0x75,
3378 	0xbb, 0x88, 0xda, 0xab, 0x12, 0x4a, 0x2d, 0xb4,
3379 	0xd5, 0xab, 0x31, 0xb8, 0x37, 0xba, 0xbf, 0x00,
3380 	0xbc, 0x17, 0x40, 0x14, 0xbf, 0xa6, 0x9a, 0x78,
3381 	0x24, 0x33, 0xef, 0xb9, 0xe3, 0x24, 0xa7, 0xc1,
3382 	0xef, 0xc2, 0x84, 0x42, 0x30, 0xf1, 0x6b, 0xa5,
3383 	0xbd, 0xc2, 0x9c, 0x7e, 0xe3, 0x6d, 0x54, 0x44,
3384 	0xa2, 0x8c, 0x90, 0xa6, 0x77, 0xc8, 0xbe, 0xe1,
3385 	0x72, 0x0f};
3386 static const uint8_t test_vector_3_ciphertext_2[] = {
3387 	0x59, 0x01, 0x6a, 0xdc, 0x8e, 0x3b, 0xe6, 0x83,
3388 	0x43, 0x7c, 0x03, 0x59, 0x88, 0x22, 0xb8, 0x81,
3389 	0xb7, 0x3c, 0x55, 0x0b, 0x0d, 0x27, 0x2e, 0xd8,
3390 	0xc3, 0x2d, 0xe4, 0x91, 0xf9, 0x40, 0x8c, 0x62,
3391 	0xd6, 0x3e, 0x28, 0xf8, 0xaf, 0xe9, 0x1d, 0x14,
3392 	0xdb, 0xef, 0xc1, 0x90, 0x56, 0x64, 0xb0, 0x46,
3393 	0x90, 0xaa, 0x76, 0xb4, 0x98, 0x55, 0xc7, 0x82,
3394 	0x70, 0x1d, 0x0f, 0x79, 0xa2, 0x4e, 0x3f, 0x9e,
3395 	0x11, 0x43, 0x2e, 0x7a, 0x78, 0x80, 0x3a, 0x9d,
3396 	0x57, 0xf3, 0xad, 0x1e, 0xb5, 0xb4, 0xd6, 0x3c,
3397 	0xfe, 0x6d, 0xa1, 0xb6, 0x13, 0xb4, 0xf5, 0x5c,
3398 	0x6b, 0xe8, 0x39, 0x96, 0x6b, 0x21, 0xe9, 0xc2,
3399 	0x09, 0x96, 0xd5, 0x87, 0x91, 0xd4, 0x16, 0xa8,
3400 	0xe4, 0xe6, 0xaf, 0x35, 0x7b, 0x8e, 0x9b, 0x7d,
3401 	0xfc, 0x1e, 0x8c, 0x59, 0x5e, 0xae, 0x93, 0x3c,
3402 	0x98, 0x03, 0x4f, 0x5a, 0xaa, 0x81, 0x87, 0x9e,
3403 	0xac, 0xe4, 0x61, 0xaa, 0xd5, 0xd4, 0x51, 0x30,
3404 	0xd5, 0xa2, 0xf4, 0xe4, 0xc8, 0x9b, 0xb7, 0x63,
3405 	0x4b, 0x9a, 0x63, 0xa2, 0x7f, 0x9a, 0xf4, 0x24,
3406 	0x68, 0xcb, 0xcf, 0x1b, 0x82, 0x38, 0x21, 0xb2,
3407 	0x8d, 0x09, 0x36, 0xca, 0x4c, 0x7b, 0x2a, 0x94,
3408 	0x26, 0xd0, 0x1e, 0x0e, 0x6b, 0x5d, 0x32, 0x13,
3409 	0xfc, 0x53, 0xa6, 0x8e, 0x89, 0x0a, 0x30, 0x2a,
3410 	0xef, 0x32, 0xaf, 0x6b, 0xaa, 0x15, 0x7c, 0x69,
3411 	0x70, 0x4d, 0xb2, 0x9e, 0xd4, 0x38, 0x82, 0x5e,
3412 	0x3a, 0x80, 0x43, 0x0d, 0xcb, 0xe3, 0xf2, 0x7a,
3413 	0x39, 0xc7, 0x02, 0xdd, 0x87, 0x98, 0xdf, 0x5c,
3414 	0x17, 0x78, 0x6d, 0x6e, 0x0d, 0x21, 0x25, 0x73,
3415 	0xd3, 0x9e, 0xcd, 0x10, 0x28, 0x8e, 0x62, 0x5d,
3416 	0xf9, 0xd1, 0xea, 0x59, 0x10, 0xe7, 0x65, 0xac,
3417 	0xa5, 0xca, 0xeb, 0x0b, 0xe1, 0x68, 0x39, 0x1b,
3418 	0xaa, 0x49, 0x63, 0x0b, 0xab, 0xc4, 0x14, 0x86,
3419 	0x73, 0x3a, 0x18, 0x88, 0x46, 0x42, 0x0d, 0x7d,
3420 	0x2e, 0xd5, 0xc5, 0x15, 0xfb, 0x1b, 0xac, 0xb5,
3421 	0x66, 0xaf, 0x39, 0xa0, 0x5e, 0xf3, 0x50, 0xd6,
3422 	0xb6, 0x47, 0x97, 0x7a, 0x29, 0x08, 0x48, 0x8a,
3423 	0x72, 0x64, 0xa3, 0x29, 0x2a, 0xae, 0x41, 0xff,
3424 	0xb6, 0x95, 0xb2, 0xe7, 0x46, 0xe5, 0x0e, 0xbf,
3425 	0x3e, 0xa8, 0x75, 0xbb, 0x88, 0xda, 0xab, 0x12,
3426 	0x4a, 0x2d, 0xb4, 0xd5, 0xab, 0x31, 0xb8, 0x37,
3427 	0xba, 0xbf, 0x00, 0xbc, 0x17, 0x40, 0x14, 0xbf,
3428 	0xa6, 0x9a, 0x78, 0x24, 0x33, 0xef, 0xb9, 0xe3,
3429 	0x24, 0xa7, 0xc1, 0xef, 0xc2, 0x84, 0x42, 0x30,
3430 	0xf1, 0x6b, 0xa5, 0xbd, 0xc2, 0x9c, 0x7e, 0xe3,
3431 	0x6d, 0x54, 0x44, 0xa2, 0x8c, 0x90, 0xa6, 0x77,
3432 	0xc8, 0xbe, 0xe1, 0x72, 0x0f};
3433 static const uint8_t test_vector_3_message_2[] = {
3434 	0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0,
3435 	0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd,
3436 	0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93,
3437 	0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a,
3438 	0x4f, 0xf5, 0xd5, 0xdc, 0x8e, 0x3b, 0xe6, 0x83,
3439 	0x43, 0x7c, 0x03, 0x59, 0x88, 0x22, 0xb8, 0x81,
3440 	0xb7, 0x3c, 0x55, 0x0b, 0x0d, 0x27, 0x2e, 0xd8,
3441 	0xc3, 0x2d, 0xe4, 0x91, 0xf9, 0x40, 0x8c, 0x62,
3442 	0xd6, 0x3e, 0x28, 0xf8, 0xaf, 0xe9, 0x1d, 0x14,
3443 	0xdb, 0xef, 0xc1, 0x90, 0x56, 0x64, 0xb0, 0x46,
3444 	0x90, 0xaa, 0x76, 0xb4, 0x98, 0x55, 0xc7, 0x82,
3445 	0x70, 0x1d, 0x0f, 0x79, 0xa2, 0x4e, 0x3f, 0x9e,
3446 	0x11, 0x43, 0x2e, 0x7a, 0x78, 0x80, 0x3a, 0x9d,
3447 	0x57, 0xf3, 0xad, 0x1e, 0xb5, 0xb4, 0xd6, 0x3c,
3448 	0xfe, 0x6d, 0xa1, 0xb6, 0x13, 0xb4, 0xf5, 0x5c,
3449 	0x6b, 0xe8, 0x39, 0x96, 0x6b, 0x21, 0xe9, 0xc2,
3450 	0x09, 0x96, 0xd5, 0x87, 0x91, 0xd4, 0x16, 0xa8,
3451 	0xe4, 0xe6, 0xaf, 0x35, 0x7b, 0x8e, 0x9b, 0x7d,
3452 	0xfc, 0x1e, 0x8c, 0x59, 0x5e, 0xae, 0x93, 0x3c,
3453 	0x98, 0x03, 0x4f, 0x5a, 0xaa, 0x81, 0x87, 0x9e,
3454 	0xac, 0xe4, 0x61, 0xaa, 0xd5, 0xd4, 0x51, 0x30,
3455 	0xd5, 0xa2, 0xf4, 0xe4, 0xc8, 0x9b, 0xb7, 0x63,
3456 	0x4b, 0x9a, 0x63, 0xa2, 0x7f, 0x9a, 0xf4, 0x24,
3457 	0x68, 0xcb, 0xcf, 0x1b, 0x82, 0x38, 0x21, 0xb2,
3458 	0x8d, 0x09, 0x36, 0xca, 0x4c, 0x7b, 0x2a, 0x94,
3459 	0x26, 0xd0, 0x1e, 0x0e, 0x6b, 0x5d, 0x32, 0x13,
3460 	0xfc, 0x53, 0xa6, 0x8e, 0x89, 0x0a, 0x30, 0x2a,
3461 	0xef, 0x32, 0xaf, 0x6b, 0xaa, 0x15, 0x7c, 0x69,
3462 	0x70, 0x4d, 0xb2, 0x9e, 0xd4, 0x38, 0x82, 0x5e,
3463 	0x3a, 0x80, 0x43, 0x0d, 0xcb, 0xe3, 0xf2, 0x7a,
3464 	0x39, 0xc7, 0x02, 0xdd, 0x87, 0x98, 0xdf, 0x5c,
3465 	0x17, 0x78, 0x6d, 0x6e, 0x0d, 0x21, 0x25, 0x73,
3466 	0xd3, 0x9e, 0xcd, 0x10, 0x28, 0x8e, 0x62, 0x5d,
3467 	0xf9, 0xd1, 0xea, 0x59, 0x10, 0xe7, 0x65, 0xac,
3468 	0xa5, 0xca, 0xeb, 0x0b, 0xe1, 0x68, 0x39, 0x1b,
3469 	0xaa, 0x49, 0x63, 0x0b, 0xab, 0xc4, 0x14, 0x86,
3470 	0x73, 0x3a, 0x18, 0x88, 0x46, 0x42, 0x0d, 0x7d,
3471 	0x2e, 0xd5, 0xc5, 0x15, 0xfb, 0x1b, 0xac, 0xb5,
3472 	0x66, 0xaf, 0x39, 0xa0, 0x5e, 0xf3, 0x50, 0xd6,
3473 	0xb6, 0x47, 0x97, 0x7a, 0x29, 0x08, 0x48, 0x8a,
3474 	0x72, 0x64, 0xa3, 0x29, 0x2a, 0xae, 0x41, 0xff,
3475 	0xb6, 0x95, 0xb2, 0xe7, 0x46, 0xe5, 0x0e, 0xbf,
3476 	0x3e, 0xa8, 0x75, 0xbb, 0x88, 0xda, 0xab, 0x12,
3477 	0x4a, 0x2d, 0xb4, 0xd5, 0xab, 0x31, 0xb8, 0x37,
3478 	0xba, 0xbf, 0x00, 0xbc, 0x17, 0x40, 0x14, 0xbf,
3479 	0xa6, 0x9a, 0x78, 0x24, 0x33, 0xef, 0xb9, 0xe3,
3480 	0x24, 0xa7, 0xc1, 0xef, 0xc2, 0x84, 0x42, 0x30,
3481 	0xf1, 0x6b, 0xa5, 0xbd, 0xc2, 0x9c, 0x7e, 0xe3,
3482 	0x6d, 0x54, 0x44, 0xa2, 0x8c, 0x90, 0xa6, 0x77,
3483 	0xc8, 0xbe, 0xe1, 0x72, 0x0f, 0x32};
3484 static const uint8_t test_vector_3_sk_i_raw[] = {
3485 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
3486 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
3487 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
3488 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
3489 static const uint8_t test_vector_3_pk_i_raw[] = {
3490 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
3491 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
3492 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
3493 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
3494 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
3495 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
3496 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
3497 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
3498 	0xc8};
3499 static const uint8_t test_vector_3_salt_4e3m[] = {
3500 	0x6f, 0xe0, 0x76, 0xbf, 0x9f, 0x38, 0x19, 0xeb,
3501 	0xfa, 0xdc, 0x3f, 0xa7, 0x5f, 0x2d, 0x70, 0x8c,
3502 	0x2f, 0x1b, 0xc4, 0x7f, 0x7b, 0xe2, 0x15, 0xe1,
3503 	0xeb, 0x96, 0xcf, 0xc0, 0xd3, 0x68, 0x09, 0x7c};
3504 static const uint8_t test_vector_3_prk_4e3m_raw[] = {
3505 	0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06,
3506 	0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a,
3507 	0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71,
3508 	0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31};
3509 static const uint8_t test_vector_3_input_TH_3[] = {
3510 	0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42,
3511 	0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d,
3512 	0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91,
3513 	0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b,
3514 	0x85, 0x0d, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22,
3515 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
3516 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
3517 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3518 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
3519 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3520 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3521 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3522 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
3523 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
3524 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3525 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
3526 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
3527 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3528 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
3529 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
3530 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
3531 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
3532 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
3533 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
3534 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
3535 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
3536 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
3537 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
3538 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
3539 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
3540 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
3541 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3542 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
3543 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
3544 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
3545 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
3546 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
3547 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
3548 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
3549 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
3550 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
3551 	0x05, 0x58, 0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0,
3552 	0xf6, 0xfe, 0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1,
3553 	0xd0, 0x9a, 0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13,
3554 	0x02, 0x97, 0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f,
3555 	0xb8, 0x78, 0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04,
3556 	0xf0, 0xc6, 0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac,
3557 	0xea, 0x6e, 0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88,
3558 	0xee, 0x15, 0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd,
3559 	0x25, 0x4e, 0x72, 0x05, 0x59, 0x01, 0x22, 0x30,
3560 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
3561 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
3562 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3563 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
3564 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3565 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3566 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
3567 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
3568 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
3569 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
3570 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
3571 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3572 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3573 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
3574 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
3575 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
3576 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
3577 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
3578 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
3579 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
3580 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
3581 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
3582 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
3583 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
3584 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
3585 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3586 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
3587 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
3588 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
3589 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
3590 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
3591 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
3592 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
3593 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
3594 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
3595 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
3596 	0x58};
3597 static const uint8_t test_vector_3_th_3_raw[] = {
3598 	0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74, 0x96, 0x7c,
3599 	0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2, 0x11, 0xf6,
3600 	0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42, 0xb6, 0x32,
3601 	0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b, 0xd6, 0x26};
3602 static const uint8_t test_vector_3_th_3[] = {
3603 	0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74,
3604 	0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2,
3605 	0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42,
3606 	0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b,
3607 	0xd6, 0x26};
3608 static const uint8_t test_vector_3_id_cred_i[] = {
3609 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3610 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3611 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
3612 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3613 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3614 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3615 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3616 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3617 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
3618 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3619 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3620 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3621 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3622 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
3623 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
3624 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3625 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3626 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3627 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
3628 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
3629 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
3630 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
3631 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
3632 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
3633 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
3634 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
3635 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3636 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3637 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
3638 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
3639 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
3640 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
3641 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
3642 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
3643 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
3644 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
3645 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde};
3646 static const uint8_t test_vector_3_cred_i[] = {
3647 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
3648 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
3649 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
3650 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
3651 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
3652 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
3653 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
3654 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
3655 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
3656 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
3657 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
3658 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
3659 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
3660 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
3661 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
3662 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
3663 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3664 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
3665 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
3666 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
3667 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
3668 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
3669 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
3670 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
3671 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
3672 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
3673 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3674 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
3675 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
3676 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
3677 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
3678 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
3679 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
3680 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
3681 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
3682 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
3683 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
3684 static const uint8_t test_vector_3_ca_i[] = {
3685 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
3686 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
3687 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3688 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
3689 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3690 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3691 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3692 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
3693 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
3694 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3695 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
3696 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3697 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3698 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
3699 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
3700 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3701 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
3702 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
3703 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
3704 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
3705 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
3706 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
3707 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
3708 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
3709 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
3710 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3711 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
3712 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
3713 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
3714 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
3715 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
3716 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
3717 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
3718 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
3719 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
3720 	0x13, 0x6b, 0xf3, 0x06};
3721 static const uint8_t test_vector_3_ca_i_pk[] = {
3722 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
3723 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
3724 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
3725 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
3726 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
3727 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
3728 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
3729 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
3730 	0x95};
3731 static const uint8_t test_vector_3_ead_3[] = {
3732 	};
3733 static const uint8_t test_vector_3_info_mac_3[] = {
3734 	0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59,
3735 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
3736 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
3737 	0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08,
3738 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3739 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
3740 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
3741 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
3742 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31,
3743 	0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a,
3744 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
3745 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
3746 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
3747 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
3748 	0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
3749 	0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
3750 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
3751 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
3752 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75,
3753 	0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6,
3754 	0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47,
3755 	0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29,
3756 	0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d,
3757 	0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11,
3758 	0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3,
3759 	0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93,
3760 	0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a,
3761 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
3762 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
3763 	0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21,
3764 	0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f,
3765 	0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59,
3766 	0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4,
3767 	0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1,
3768 	0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99,
3769 	0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf,
3770 	0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a,
3771 	0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xa8, 0xda,
3772 	0x4e, 0x27, 0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92,
3773 	0xd4, 0x9e, 0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39,
3774 	0x36, 0xc2, 0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f,
3775 	0x38, 0x96, 0x54, 0x3b, 0xd6, 0x26, 0x59, 0x01,
3776 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
3777 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62,
3778 	0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3779 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
3780 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
3781 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
3782 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
3783 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37,
3784 	0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17,
3785 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
3786 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
3787 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
3788 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
3789 	0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74,
3790 	0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
3791 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
3792 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
3793 	0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9,
3794 	0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03,
3795 	0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf,
3796 	0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c,
3797 	0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6,
3798 	0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33,
3799 	0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87,
3800 	0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf,
3801 	0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06,
3802 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
3803 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21,
3804 	0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38,
3805 	0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d,
3806 	0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b,
3807 	0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d,
3808 	0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85,
3809 	0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23,
3810 	0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65,
3811 	0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07,
3812 	0xa2, 0xbe, 0xde, 0x18, 0x20};
3813 static const uint8_t test_vector_3_mac_3_raw[] = {
3814 	0x78, 0xb4, 0xec, 0xb5, 0xd5, 0xda, 0xd1, 0xd7,
3815 	0x5e, 0xc0, 0x3a, 0x79, 0x08, 0xb8, 0xe1, 0x10,
3816 	0xb1, 0x79, 0xe4, 0x85, 0xc9, 0xfc, 0xff, 0x3c,
3817 	0x8d, 0x80, 0xc2, 0xad, 0xeb, 0xc7, 0xbf, 0x6e};
3818 static const uint8_t test_vector_3_mac_3[] = {
3819 	0x58, 0x20, 0x78, 0xb4, 0xec, 0xb5, 0xd5, 0xda,
3820 	0xd1, 0xd7, 0x5e, 0xc0, 0x3a, 0x79, 0x08, 0xb8,
3821 	0xe1, 0x10, 0xb1, 0x79, 0xe4, 0x85, 0xc9, 0xfc,
3822 	0xff, 0x3c, 0x8d, 0x80, 0xc2, 0xad, 0xeb, 0xc7,
3823 	0xbf, 0x6e};
3824 static const uint8_t test_vector_3_m_3[] = {
3825 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
3826 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
3827 	0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
3828 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
3829 	0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30,
3830 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3831 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
3832 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
3833 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
3834 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
3835 	0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31,
3836 	0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
3837 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
3838 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
3839 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
3840 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69,
3841 	0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59,
3842 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
3843 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
3844 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
3845 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
3846 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
3847 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
3848 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
3849 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
3850 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
3851 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
3852 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
3853 	0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3854 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
3855 	0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a,
3856 	0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe,
3857 	0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c,
3858 	0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91,
3859 	0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c,
3860 	0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06,
3861 	0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e,
3862 	0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91,
3863 	0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59,
3864 	0x01, 0x47, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27,
3865 	0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e,
3866 	0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2,
3867 	0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96,
3868 	0x54, 0x3b, 0xd6, 0x26, 0x59, 0x01, 0x22, 0x30,
3869 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
3870 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
3871 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3872 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
3873 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3874 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3875 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
3876 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
3877 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
3878 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
3879 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
3880 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3881 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
3882 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
3883 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
3884 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
3885 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
3886 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
3887 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
3888 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
3889 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
3890 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
3891 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
3892 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
3893 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
3894 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3895 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
3896 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
3897 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
3898 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
3899 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
3900 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
3901 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
3902 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
3903 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
3904 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
3905 	0xde, 0x58, 0x20, 0x78, 0xb4, 0xec, 0xb5, 0xd5,
3906 	0xda, 0xd1, 0xd7, 0x5e, 0xc0, 0x3a, 0x79, 0x08,
3907 	0xb8, 0xe1, 0x10, 0xb1, 0x79, 0xe4, 0x85, 0xc9,
3908 	0xfc, 0xff, 0x3c, 0x8d, 0x80, 0xc2, 0xad, 0xeb,
3909 	0xc7, 0xbf, 0x6e};
3910 static const uint8_t test_vector_3_sig_or_mac_3_raw[] = {
3911 	0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38, 0x53, 0x97,
3912 	0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91, 0x3b, 0x27,
3913 	0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f, 0x88, 0x23,
3914 	0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3, 0xb2, 0x40,
3915 	0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a, 0x9e, 0x79,
3916 	0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68, 0x3f, 0x4b,
3917 	0x67, 0x55, 0x66, 0xbd, 0x26, 0x47, 0xda, 0xe4,
3918 	0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2, 0x32, 0xbe};
3919 static const uint8_t test_vector_3_sig_or_mac_3[] = {
3920 	0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38,
3921 	0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91,
3922 	0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f,
3923 	0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3,
3924 	0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a,
3925 	0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68,
3926 	0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd, 0x26, 0x47,
3927 	0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2,
3928 	0x32, 0xbe};
3929 static const uint8_t test_vector_3_p_3[] = {
3930 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3931 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3932 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
3933 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3934 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3935 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3936 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3937 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3938 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
3939 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3940 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3941 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3942 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3943 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
3944 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
3945 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3946 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3947 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3948 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
3949 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
3950 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
3951 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
3952 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
3953 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
3954 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
3955 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
3956 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3957 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3958 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
3959 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
3960 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
3961 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
3962 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
3963 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
3964 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
3965 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
3966 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde,
3967 	0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38,
3968 	0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91,
3969 	0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f,
3970 	0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3,
3971 	0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a,
3972 	0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68,
3973 	0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd, 0x26, 0x47,
3974 	0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2,
3975 	0x32, 0xbe};
3976 static const uint8_t test_vector_3_a_3[] = {
3977 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
3978 	0x74, 0x30, 0x40, 0x58, 0x20, 0xa8, 0xda, 0x4e,
3979 	0x27, 0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4,
3980 	0x9e, 0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36,
3981 	0xc2, 0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38,
3982 	0x96, 0x54, 0x3b, 0xd6, 0x26};
3983 static const uint8_t test_vector_3_info_k_3[] = {
3984 	0x03, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2,
3985 	0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f,
3986 	0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea,
3987 	0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54,
3988 	0x3b, 0xd6, 0x26, 0x10};
3989 static const uint8_t test_vector_3_k_3_raw[] = {
3990 	0x4d, 0x40, 0xc6, 0x91, 0x01, 0x21, 0x54, 0xe6,
3991 	0x23, 0xd2, 0x1b, 0x89, 0x2b, 0x15, 0x60, 0xa7};
3992 static const uint8_t test_vector_3_info_iv_3[] = {
3993 	0x04, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2,
3994 	0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f,
3995 	0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea,
3996 	0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54,
3997 	0x3b, 0xd6, 0x26, 0x0d};
3998 static const uint8_t test_vector_3_iv_3_raw[] = {
3999 	0x6f, 0x96, 0xcc, 0xcc, 0x47, 0x8f, 0xd5, 0x7a,
4000 	0x1a, 0xf4, 0x92, 0xdf, 0x89};
4001 static const uint8_t test_vector_3_ciphertext_3_raw[] = {
4002 	0x54, 0x2f, 0xac, 0xfb, 0x80, 0x78, 0x5e, 0xd3,
4003 	0xd0, 0xe4, 0x57, 0x25, 0x31, 0x29, 0xd0, 0x6b,
4004 	0x36, 0xb5, 0x1d, 0x81, 0x0b, 0x07, 0x7c, 0xf8,
4005 	0x30, 0xcd, 0x6b, 0x29, 0xa7, 0x6d, 0xb4, 0xe1,
4006 	0xd2, 0x7e, 0x6c, 0x55, 0x2c, 0x83, 0xd8, 0x59,
4007 	0x7e, 0x45, 0xff, 0x29, 0xee, 0xb8, 0x09, 0x3e,
4008 	0xf0, 0x84, 0xeb, 0x97, 0x77, 0xc7, 0x43, 0x75,
4009 	0xb4, 0xb1, 0x71, 0xa5, 0xc6, 0xf5, 0xdc, 0xe4,
4010 	0x9f, 0xea, 0xa6, 0x1b, 0x99, 0x38, 0x24, 0x86,
4011 	0x18, 0xe3, 0x92, 0x9c, 0xbe, 0xdf, 0x0d, 0x9c,
4012 	0xb4, 0x8c, 0x10, 0xdc, 0x40, 0x97, 0x93, 0x0d,
4013 	0x98, 0x39, 0xd6, 0x9f, 0x89, 0x41, 0x07, 0x05,
4014 	0x7a, 0xea, 0xab, 0xc7, 0x4e, 0xb1, 0xbf, 0x49,
4015 	0xb7, 0x27, 0x40, 0xba, 0x89, 0x2e, 0x7d, 0xfb,
4016 	0x9c, 0x79, 0x58, 0x5c, 0x3e, 0xfe, 0xbd, 0x2f,
4017 	0xf0, 0xdd, 0x7d, 0x6a, 0x16, 0x85, 0xef, 0x2d,
4018 	0xd0, 0x78, 0x3f, 0xef, 0x83, 0x11, 0x75, 0xbd,
4019 	0x77, 0x66, 0x5a, 0x24, 0xaa, 0x8f, 0xda, 0xa0,
4020 	0xcb, 0x97, 0x85, 0x92, 0x4c, 0x6c, 0x1d, 0x77,
4021 	0x57, 0xb3, 0xff, 0x6f, 0x45, 0xa8, 0x42, 0xc3,
4022 	0xb2, 0x73, 0x03, 0xf3, 0x7a, 0xad, 0x98, 0x9e,
4023 	0x6c, 0x54, 0xb8, 0x00, 0xb0, 0xb4, 0xd4, 0x18,
4024 	0xe9, 0xed, 0x88, 0x6f, 0xd3, 0xc6, 0xa3, 0xf9,
4025 	0xa8, 0xd7, 0x90, 0xbe, 0xa3, 0x19, 0x13, 0x86,
4026 	0xed, 0x92, 0x5e, 0x78, 0x17, 0xb1, 0x89, 0x41,
4027 	0xba, 0xa4, 0x35, 0x00, 0x5b, 0x62, 0x1e, 0x64,
4028 	0x49, 0xd2, 0x78, 0x83, 0xfe, 0x75, 0x30, 0x2d,
4029 	0xc8, 0xc9, 0x83, 0x38, 0x25, 0xa7, 0xc0, 0x4e,
4030 	0xd3, 0xb3, 0xbb, 0x19, 0xd0, 0xa9, 0x91, 0xfe,
4031 	0x06, 0x7d, 0x21, 0xab, 0xfc, 0x07, 0x3d, 0x71,
4032 	0x22, 0x78, 0xfb, 0x82, 0x5e, 0x31, 0xba, 0x67,
4033 	0x93, 0x41, 0x8f, 0xec, 0x55, 0x55, 0xd8, 0x7a,
4034 	0x26, 0xd4, 0x4a, 0x47, 0x17, 0x06, 0x19, 0x0b,
4035 	0x93, 0xdd, 0x2a, 0x9f, 0xaf, 0xea, 0x22, 0x1a,
4036 	0xe3, 0xae, 0xf0, 0x43, 0x8b, 0xb8, 0x68, 0x65,
4037 	0x5e, 0x3e, 0xc8, 0x0f, 0x81, 0xce, 0xb4, 0x04,
4038 	0x62, 0x8b, 0xd5, 0x25, 0xe8, 0x2d, 0x5e, 0xf0,
4039 	0x65, 0xb7, 0x17, 0x44, 0x81, 0x39, 0xbd, 0xfb,
4040 	0x08, 0xe5, 0x24, 0x12, 0xff, 0xa1, 0x90, 0xb9,
4041 	0xdc, 0xfb, 0xe6, 0x42, 0xfd, 0xdd, 0x0b, 0xc6,
4042 	0xe9, 0x8d, 0xb2, 0x72, 0x35, 0x53, 0x11, 0x51,
4043 	0xbd, 0xa5, 0x6c, 0x68, 0xc4, 0x08, 0x6b, 0x67,
4044 	0x0e, 0x93, 0x88, 0xea, 0x6e, 0x0a, 0x71, 0x9b,
4045 	0x5c, 0xce, 0x54, 0x79, 0xd1, 0x5b, 0xbe, 0x0e,
4046 	0x0d, 0x13, 0xf6, 0xbd, 0xe9, 0x9f, 0x71, 0x12,
4047 	0x61, 0xa4, 0x82, 0x67, 0x68, 0x2e, 0xa0, 0x70,
4048 	0xf4, 0x85};
4049 static const uint8_t test_vector_3_ciphertext_3[] = {
4050 	0x59, 0x01, 0x72, 0x54, 0x2f, 0xac, 0xfb, 0x80,
4051 	0x78, 0x5e, 0xd3, 0xd0, 0xe4, 0x57, 0x25, 0x31,
4052 	0x29, 0xd0, 0x6b, 0x36, 0xb5, 0x1d, 0x81, 0x0b,
4053 	0x07, 0x7c, 0xf8, 0x30, 0xcd, 0x6b, 0x29, 0xa7,
4054 	0x6d, 0xb4, 0xe1, 0xd2, 0x7e, 0x6c, 0x55, 0x2c,
4055 	0x83, 0xd8, 0x59, 0x7e, 0x45, 0xff, 0x29, 0xee,
4056 	0xb8, 0x09, 0x3e, 0xf0, 0x84, 0xeb, 0x97, 0x77,
4057 	0xc7, 0x43, 0x75, 0xb4, 0xb1, 0x71, 0xa5, 0xc6,
4058 	0xf5, 0xdc, 0xe4, 0x9f, 0xea, 0xa6, 0x1b, 0x99,
4059 	0x38, 0x24, 0x86, 0x18, 0xe3, 0x92, 0x9c, 0xbe,
4060 	0xdf, 0x0d, 0x9c, 0xb4, 0x8c, 0x10, 0xdc, 0x40,
4061 	0x97, 0x93, 0x0d, 0x98, 0x39, 0xd6, 0x9f, 0x89,
4062 	0x41, 0x07, 0x05, 0x7a, 0xea, 0xab, 0xc7, 0x4e,
4063 	0xb1, 0xbf, 0x49, 0xb7, 0x27, 0x40, 0xba, 0x89,
4064 	0x2e, 0x7d, 0xfb, 0x9c, 0x79, 0x58, 0x5c, 0x3e,
4065 	0xfe, 0xbd, 0x2f, 0xf0, 0xdd, 0x7d, 0x6a, 0x16,
4066 	0x85, 0xef, 0x2d, 0xd0, 0x78, 0x3f, 0xef, 0x83,
4067 	0x11, 0x75, 0xbd, 0x77, 0x66, 0x5a, 0x24, 0xaa,
4068 	0x8f, 0xda, 0xa0, 0xcb, 0x97, 0x85, 0x92, 0x4c,
4069 	0x6c, 0x1d, 0x77, 0x57, 0xb3, 0xff, 0x6f, 0x45,
4070 	0xa8, 0x42, 0xc3, 0xb2, 0x73, 0x03, 0xf3, 0x7a,
4071 	0xad, 0x98, 0x9e, 0x6c, 0x54, 0xb8, 0x00, 0xb0,
4072 	0xb4, 0xd4, 0x18, 0xe9, 0xed, 0x88, 0x6f, 0xd3,
4073 	0xc6, 0xa3, 0xf9, 0xa8, 0xd7, 0x90, 0xbe, 0xa3,
4074 	0x19, 0x13, 0x86, 0xed, 0x92, 0x5e, 0x78, 0x17,
4075 	0xb1, 0x89, 0x41, 0xba, 0xa4, 0x35, 0x00, 0x5b,
4076 	0x62, 0x1e, 0x64, 0x49, 0xd2, 0x78, 0x83, 0xfe,
4077 	0x75, 0x30, 0x2d, 0xc8, 0xc9, 0x83, 0x38, 0x25,
4078 	0xa7, 0xc0, 0x4e, 0xd3, 0xb3, 0xbb, 0x19, 0xd0,
4079 	0xa9, 0x91, 0xfe, 0x06, 0x7d, 0x21, 0xab, 0xfc,
4080 	0x07, 0x3d, 0x71, 0x22, 0x78, 0xfb, 0x82, 0x5e,
4081 	0x31, 0xba, 0x67, 0x93, 0x41, 0x8f, 0xec, 0x55,
4082 	0x55, 0xd8, 0x7a, 0x26, 0xd4, 0x4a, 0x47, 0x17,
4083 	0x06, 0x19, 0x0b, 0x93, 0xdd, 0x2a, 0x9f, 0xaf,
4084 	0xea, 0x22, 0x1a, 0xe3, 0xae, 0xf0, 0x43, 0x8b,
4085 	0xb8, 0x68, 0x65, 0x5e, 0x3e, 0xc8, 0x0f, 0x81,
4086 	0xce, 0xb4, 0x04, 0x62, 0x8b, 0xd5, 0x25, 0xe8,
4087 	0x2d, 0x5e, 0xf0, 0x65, 0xb7, 0x17, 0x44, 0x81,
4088 	0x39, 0xbd, 0xfb, 0x08, 0xe5, 0x24, 0x12, 0xff,
4089 	0xa1, 0x90, 0xb9, 0xdc, 0xfb, 0xe6, 0x42, 0xfd,
4090 	0xdd, 0x0b, 0xc6, 0xe9, 0x8d, 0xb2, 0x72, 0x35,
4091 	0x53, 0x11, 0x51, 0xbd, 0xa5, 0x6c, 0x68, 0xc4,
4092 	0x08, 0x6b, 0x67, 0x0e, 0x93, 0x88, 0xea, 0x6e,
4093 	0x0a, 0x71, 0x9b, 0x5c, 0xce, 0x54, 0x79, 0xd1,
4094 	0x5b, 0xbe, 0x0e, 0x0d, 0x13, 0xf6, 0xbd, 0xe9,
4095 	0x9f, 0x71, 0x12, 0x61, 0xa4, 0x82, 0x67, 0x68,
4096 	0x2e, 0xa0, 0x70, 0xf4, 0x85};
4097 static const uint8_t test_vector_3_message_3[] = {
4098 	0x59, 0x01, 0x72, 0x54, 0x2f, 0xac, 0xfb, 0x80,
4099 	0x78, 0x5e, 0xd3, 0xd0, 0xe4, 0x57, 0x25, 0x31,
4100 	0x29, 0xd0, 0x6b, 0x36, 0xb5, 0x1d, 0x81, 0x0b,
4101 	0x07, 0x7c, 0xf8, 0x30, 0xcd, 0x6b, 0x29, 0xa7,
4102 	0x6d, 0xb4, 0xe1, 0xd2, 0x7e, 0x6c, 0x55, 0x2c,
4103 	0x83, 0xd8, 0x59, 0x7e, 0x45, 0xff, 0x29, 0xee,
4104 	0xb8, 0x09, 0x3e, 0xf0, 0x84, 0xeb, 0x97, 0x77,
4105 	0xc7, 0x43, 0x75, 0xb4, 0xb1, 0x71, 0xa5, 0xc6,
4106 	0xf5, 0xdc, 0xe4, 0x9f, 0xea, 0xa6, 0x1b, 0x99,
4107 	0x38, 0x24, 0x86, 0x18, 0xe3, 0x92, 0x9c, 0xbe,
4108 	0xdf, 0x0d, 0x9c, 0xb4, 0x8c, 0x10, 0xdc, 0x40,
4109 	0x97, 0x93, 0x0d, 0x98, 0x39, 0xd6, 0x9f, 0x89,
4110 	0x41, 0x07, 0x05, 0x7a, 0xea, 0xab, 0xc7, 0x4e,
4111 	0xb1, 0xbf, 0x49, 0xb7, 0x27, 0x40, 0xba, 0x89,
4112 	0x2e, 0x7d, 0xfb, 0x9c, 0x79, 0x58, 0x5c, 0x3e,
4113 	0xfe, 0xbd, 0x2f, 0xf0, 0xdd, 0x7d, 0x6a, 0x16,
4114 	0x85, 0xef, 0x2d, 0xd0, 0x78, 0x3f, 0xef, 0x83,
4115 	0x11, 0x75, 0xbd, 0x77, 0x66, 0x5a, 0x24, 0xaa,
4116 	0x8f, 0xda, 0xa0, 0xcb, 0x97, 0x85, 0x92, 0x4c,
4117 	0x6c, 0x1d, 0x77, 0x57, 0xb3, 0xff, 0x6f, 0x45,
4118 	0xa8, 0x42, 0xc3, 0xb2, 0x73, 0x03, 0xf3, 0x7a,
4119 	0xad, 0x98, 0x9e, 0x6c, 0x54, 0xb8, 0x00, 0xb0,
4120 	0xb4, 0xd4, 0x18, 0xe9, 0xed, 0x88, 0x6f, 0xd3,
4121 	0xc6, 0xa3, 0xf9, 0xa8, 0xd7, 0x90, 0xbe, 0xa3,
4122 	0x19, 0x13, 0x86, 0xed, 0x92, 0x5e, 0x78, 0x17,
4123 	0xb1, 0x89, 0x41, 0xba, 0xa4, 0x35, 0x00, 0x5b,
4124 	0x62, 0x1e, 0x64, 0x49, 0xd2, 0x78, 0x83, 0xfe,
4125 	0x75, 0x30, 0x2d, 0xc8, 0xc9, 0x83, 0x38, 0x25,
4126 	0xa7, 0xc0, 0x4e, 0xd3, 0xb3, 0xbb, 0x19, 0xd0,
4127 	0xa9, 0x91, 0xfe, 0x06, 0x7d, 0x21, 0xab, 0xfc,
4128 	0x07, 0x3d, 0x71, 0x22, 0x78, 0xfb, 0x82, 0x5e,
4129 	0x31, 0xba, 0x67, 0x93, 0x41, 0x8f, 0xec, 0x55,
4130 	0x55, 0xd8, 0x7a, 0x26, 0xd4, 0x4a, 0x47, 0x17,
4131 	0x06, 0x19, 0x0b, 0x93, 0xdd, 0x2a, 0x9f, 0xaf,
4132 	0xea, 0x22, 0x1a, 0xe3, 0xae, 0xf0, 0x43, 0x8b,
4133 	0xb8, 0x68, 0x65, 0x5e, 0x3e, 0xc8, 0x0f, 0x81,
4134 	0xce, 0xb4, 0x04, 0x62, 0x8b, 0xd5, 0x25, 0xe8,
4135 	0x2d, 0x5e, 0xf0, 0x65, 0xb7, 0x17, 0x44, 0x81,
4136 	0x39, 0xbd, 0xfb, 0x08, 0xe5, 0x24, 0x12, 0xff,
4137 	0xa1, 0x90, 0xb9, 0xdc, 0xfb, 0xe6, 0x42, 0xfd,
4138 	0xdd, 0x0b, 0xc6, 0xe9, 0x8d, 0xb2, 0x72, 0x35,
4139 	0x53, 0x11, 0x51, 0xbd, 0xa5, 0x6c, 0x68, 0xc4,
4140 	0x08, 0x6b, 0x67, 0x0e, 0x93, 0x88, 0xea, 0x6e,
4141 	0x0a, 0x71, 0x9b, 0x5c, 0xce, 0x54, 0x79, 0xd1,
4142 	0x5b, 0xbe, 0x0e, 0x0d, 0x13, 0xf6, 0xbd, 0xe9,
4143 	0x9f, 0x71, 0x12, 0x61, 0xa4, 0x82, 0x67, 0x68,
4144 	0x2e, 0xa0, 0x70, 0xf4, 0x85};
4145 static const uint8_t test_vector_3_input_th_4[] = {
4146 	0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74,
4147 	0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2,
4148 	0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42,
4149 	0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b,
4150 	0xd6, 0x26, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22,
4151 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4152 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
4153 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4154 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4155 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4156 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4157 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4158 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
4159 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
4160 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4161 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4162 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4163 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4164 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
4165 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4166 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4167 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4168 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
4169 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
4170 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
4171 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
4172 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
4173 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
4174 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
4175 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
4176 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
4177 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4178 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
4179 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
4180 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
4181 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
4182 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
4183 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
4184 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
4185 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
4186 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
4187 	0xbe, 0xde, 0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb,
4188 	0x2e, 0x38, 0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57,
4189 	0x5e, 0x91, 0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb,
4190 	0x0d, 0x9f, 0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82,
4191 	0xa2, 0xb3, 0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47,
4192 	0x43, 0x0a, 0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86,
4193 	0xb0, 0x68, 0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd,
4194 	0x26, 0x47, 0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b,
4195 	0x6c, 0xd2, 0x32, 0xbe, 0x59, 0x01, 0x22, 0x30,
4196 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
4197 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
4198 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
4199 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
4200 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
4201 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4202 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
4203 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
4204 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
4205 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
4206 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
4207 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
4208 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
4209 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
4210 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
4211 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
4212 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
4213 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
4214 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
4215 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
4216 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
4217 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
4218 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
4219 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
4220 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
4221 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
4222 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
4223 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
4224 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
4225 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
4226 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
4227 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
4228 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
4229 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
4230 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
4231 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
4232 	0xde};
4233 static const uint8_t test_vector_3_th_4_raw[] = {
4234 	0xfa, 0x86, 0xdb, 0xec, 0x97, 0x0e, 0x61, 0x45,
4235 	0x81, 0x6b, 0x20, 0x03, 0xf4, 0x9a, 0x13, 0x2f,
4236 	0xf2, 0x2b, 0x47, 0xc0, 0xe1, 0x71, 0x84, 0x13,
4237 	0x58, 0x91, 0x02, 0x25, 0x1d, 0xb8, 0xf7, 0x73};
4238 static const uint8_t test_vector_3_th_4[] = {
4239 	0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97, 0x0e,
4240 	0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4, 0x9a,
4241 	0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1, 0x71,
4242 	0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d, 0xb8,
4243 	0xf7, 0x73};
4244 static const uint8_t test_vector_3_ead_4[] = {
4245 	};
4246 static const uint8_t test_vector_3_p_4[] = {
4247 	};
4248 static const uint8_t test_vector_3_a_4[] = {
4249 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
4250 	0x74, 0x30, 0x40, 0x58, 0x20, 0xfa, 0x86, 0xdb,
4251 	0xec, 0x97, 0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20,
4252 	0x03, 0xf4, 0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47,
4253 	0xc0, 0xe1, 0x71, 0x84, 0x13, 0x58, 0x91, 0x02,
4254 	0x25, 0x1d, 0xb8, 0xf7, 0x73};
4255 static const uint8_t test_vector_3_info_k_4[] = {
4256 	0x08, 0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97,
4257 	0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4,
4258 	0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1,
4259 	0x71, 0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d,
4260 	0xb8, 0xf7, 0x73, 0x10};
4261 static const uint8_t test_vector_3_k_4_raw[] = {
4262 	0x0f, 0x32, 0xd5, 0x98, 0x57, 0x67, 0x3d, 0x56,
4263 	0x51, 0x32, 0x47, 0xae, 0x34, 0x8b, 0xa9, 0xf7};
4264 static const uint8_t test_vector_3_info_iv_4[] = {
4265 	0x09, 0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97,
4266 	0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4,
4267 	0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1,
4268 	0x71, 0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d,
4269 	0xb8, 0xf7, 0x73, 0x0d};
4270 static const uint8_t test_vector_3_iv_4_raw[] = {
4271 	0x4d, 0x4e, 0x41, 0x60, 0xfe, 0xcd, 0x28, 0xc2,
4272 	0xfe, 0x6e, 0x89, 0x2e, 0x6c};
4273 static const uint8_t test_vector_3_ciphertext_4_raw[] = {
4274 	0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95, 0x65};
4275 static const uint8_t test_vector_3_ciphertext_4[] = {
4276 	0x48, 0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95,
4277 	0x65};
4278 static const uint8_t test_vector_3_message_4[] = {
4279 	0x48, 0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95,
4280 	0x65};
4281 static const uint8_t test_vector_3_prk_out[] = {
4282 	0x69, 0xe8, 0x02, 0xd1, 0xea, 0xeb, 0x0d, 0x31,
4283 	0x2a, 0x4d, 0x21, 0x75, 0x38, 0xb5, 0xf3, 0x61,
4284 	0x34, 0x84, 0x5f, 0xb9, 0x04, 0xa4, 0x86, 0xb5,
4285 	0x57, 0x19, 0x8f, 0x60, 0xef, 0xbd, 0xd4, 0x78};
4286 static const uint8_t test_vector_3_prk_exporter[] = {
4287 	0xb8, 0xb0, 0xda, 0x43, 0x53, 0x5e, 0xc7, 0x9f,
4288 	0xd4, 0xd5, 0x35, 0xf8, 0x44, 0x64, 0xae, 0x92,
4289 	0x5b, 0x31, 0xda, 0x66, 0xec, 0x38, 0xb4, 0x53,
4290 	0x5d, 0xf0, 0x59, 0xf5, 0x7e, 0xb1, 0x66, 0xa9};
4291 int32_t test_vector_3_oscore_aead_alg = 10;
4292 int32_t test_vector_3_oscore_hash_alg = -16;
4293 static const uint8_t test_vector_3_client_sender_id_raw[] = {
4294 	0x32};
4295 static const uint8_t test_vector_3_server_sender_id_raw[] = {
4296 	0x37};
4297 static const uint8_t test_vector_3_info_oscore_secret[] = {
4298 	0x00, 0x40, 0x10};
4299 static const uint8_t test_vector_3_oscore_secret_raw[] = {
4300 	0xe2, 0x8d, 0xb1, 0x01, 0x7e, 0xcd, 0x46, 0x5f,
4301 	0x54, 0x6b, 0xb6, 0x29, 0x37, 0x49, 0x9f, 0xa6};
4302 static const uint8_t test_vector_3_info_oscore_salt[] = {
4303 	0x01, 0x40, 0x08};
4304 static const uint8_t test_vector_3_oscore_salt_raw[] = {
4305 	0x68, 0xee, 0x67, 0xb6, 0x04, 0xf8, 0x3c, 0x65};
4306 static const uint8_t test_vector_3_prk_out_updated[] = {
4307 	0xd6, 0xd2, 0x24, 0x60, 0x53, 0x39, 0xea, 0x6a,
4308 	0x59, 0xc3, 0xcf, 0xd7, 0x4d, 0x3a, 0x17, 0xc2,
4309 	0x3f, 0x22, 0x24, 0xfc, 0x21, 0xf9, 0x72, 0xc6,
4310 	0x8d, 0xc7, 0xa9, 0x9b, 0xa3, 0x77, 0x8e, 0x93};
4311 static const uint8_t test_vector_3_prk_exporter_update[] = {
4312 	0x07, 0x27, 0xcf, 0xa2, 0x90, 0xc2, 0x2d, 0xc6,
4313 	0x92, 0xc5, 0x08, 0xe3, 0x77, 0xe2, 0x87, 0x72,
4314 	0xd9, 0x80, 0x74, 0x29, 0x08, 0xa3, 0x5e, 0x29,
4315 	0x43, 0xce, 0x3b, 0x1e, 0x38, 0x70, 0x52, 0xf4};
4316 static const uint8_t test_vector_3_oscore_secret_key_update_raw[] = {
4317 	0x3f, 0xde, 0x55, 0x56, 0x7a, 0xcb, 0x4f, 0x9d,
4318 	0x33, 0xb3, 0xc8, 0xb7, 0x1d, 0xe2, 0x42, 0x67};
4319 static const uint8_t test_vector_3_oscore_salt_key_update_raw[] = {
4320 	0xe5, 0xb5, 0x4c, 0xcd, 0x2c, 0x1d, 0xef, 0xa7};
4321 
4322 /***************** test_vector_4 ************/
4323 
4324  static const uint8_t test_vector_4_method[] = {
4325 	0x00};
4326 static const uint8_t test_vector_4_SUITES_I[] = {
4327 	0x02};
4328 static const uint8_t test_vector_4_SUITES_R[] = {
4329 	0x02};
4330 static const uint8_t test_vector_4_x_raw[] = {
4331 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
4332 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
4333 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
4334 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
4335 static const uint8_t test_vector_4_g_x_raw[] = {
4336 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
4337 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
4338 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
4339 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
4340 static const uint8_t test_vector_4_g_x_raw_y_coordinate[] = {
4341 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
4342 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
4343 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
4344 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
4345 static const uint8_t test_vector_4_g_x[] = {
4346 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
4347 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
4348 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
4349 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
4350 	0xc3, 0xb6};
4351 int32_t test_vector_4_c_i_raw = -24;
4352 static const uint8_t test_vector_4_c_i[] = {
4353 	0x37};
4354 static const uint8_t test_vector_4_ead_1[] = {
4355 	};
4356 static const uint8_t test_vector_4_message_1[] = {
4357 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
4358 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
4359 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
4360 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
4361 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
4362 static const uint8_t test_vector_4_y_raw[] = {
4363 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
4364 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
4365 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
4366 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
4367 static const uint8_t test_vector_4_g_y_raw[] = {
4368 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
4369 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
4370 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
4371 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
4372 static const uint8_t test_vector_4_g_y_raw_y_coordinate[] = {
4373 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
4374 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
4375 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
4376 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
4377 static const uint8_t test_vector_4_g_y[] = {
4378 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4379 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4380 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4381 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4382 	0xf5, 0xd5};
4383 static const uint8_t test_vector_4_g_xy_raw[] = {
4384 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
4385 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
4386 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
4387 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
4388 static const uint8_t test_vector_4_salt_raw[] = {
4389 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4390 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4391 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4392 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
4393 static const uint8_t test_vector_4_prk_2e_raw[] = {
4394 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
4395 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
4396 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
4397 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
4398 static const uint8_t test_vector_4_salt_3e2m[] = {
4399 	0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9,
4400 	0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11,
4401 	0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff,
4402 	0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01};
4403 static const uint8_t test_vector_4_sk_r_raw[] = {
4404 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
4405 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
4406 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
4407 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
4408 static const uint8_t test_vector_4_pk_r_raw[] = {
4409 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
4410 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
4411 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
4412 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
4413 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
4414 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
4415 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
4416 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
4417 	0x72};
4418 static const uint8_t test_vector_4_prk_3e2m_raw[] = {
4419 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
4420 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
4421 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
4422 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
4423 int32_t test_vector_4_c_r_raw = -8;
4424 static const uint8_t test_vector_4_c_r[] = {
4425 	0x27};
4426 static const uint8_t test_vector_4_h_message_1_raw[] = {
4427 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
4428 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
4429 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
4430 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
4431 static const uint8_t test_vector_4_h_message_1[] = {
4432 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
4433 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
4434 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
4435 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
4436 	0x67, 0x26};
4437 static const uint8_t test_vector_4_input_th_2[] = {
4438 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4439 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4440 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4441 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4442 	0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f,
4443 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
4444 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
4445 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
4446 	0x18, 0x2a, 0x4e, 0x67, 0x26};
4447 static const uint8_t test_vector_4_th_2_raw[] = {
4448 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
4449 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
4450 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
4451 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6};
4452 static const uint8_t test_vector_4_th_2[] = {
4453 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
4454 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
4455 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
4456 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
4457 	0xab, 0xa6};
4458 static const uint8_t test_vector_4_id_cred_r[] = {
4459 	0xa1, 0x04, 0x32};
4460 static const uint8_t test_vector_4_cred_r[] = {
4461 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
4462 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
4463 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
4464 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
4465 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
4466 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
4467 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
4468 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
4469 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
4470 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
4471 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
4472 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
4473 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
4474 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
4475 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
4476 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4477 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4478 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
4479 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
4480 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
4481 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
4482 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
4483 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
4484 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
4485 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
4486 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
4487 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4488 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
4489 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
4490 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
4491 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
4492 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
4493 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
4494 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
4495 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
4496 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
4497 	0x3b, 0x13, 0x3d, 0x05, 0x58};
4498 static const uint8_t test_vector_4_ca_r[] = {
4499 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
4500 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4501 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4502 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4503 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4504 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4505 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4506 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4507 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
4508 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4509 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
4510 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
4511 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4512 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
4513 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4514 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4515 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
4516 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
4517 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
4518 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
4519 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
4520 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
4521 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
4522 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
4523 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
4524 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4525 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
4526 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
4527 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
4528 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
4529 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
4530 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
4531 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
4532 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
4533 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
4534 	0x13, 0x6b, 0xf3, 0x06};
4535 static const uint8_t test_vector_4_ca_r_pk[] = {
4536 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
4537 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
4538 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
4539 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
4540 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
4541 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
4542 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
4543 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
4544 	0x95};
4545 static const uint8_t test_vector_4_ead_2[] = {
4546 	};
4547 static const uint8_t test_vector_4_info_mac_2[] = {
4548 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x32, 0x58,
4549 	0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff,
4550 	0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e,
4551 	0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87,
4552 	0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab,
4553 	0xa6, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
4554 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
4555 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
4556 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
4557 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
4558 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
4559 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
4560 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
4561 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
4562 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
4563 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
4564 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
4565 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
4566 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
4567 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
4568 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4569 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4570 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
4571 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
4572 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
4573 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
4574 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
4575 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
4576 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
4577 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
4578 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
4579 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4580 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
4581 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
4582 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
4583 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
4584 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
4585 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
4586 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
4587 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
4588 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
4589 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x18, 0x20};
4590 static const uint8_t test_vector_4_mac_2_raw[] = {
4591 	0x93, 0x92, 0x5a, 0x13, 0x45, 0xcd, 0x35, 0xb3,
4592 	0x84, 0x01, 0xff, 0xf8, 0xc2, 0x73, 0x19, 0x80,
4593 	0x02, 0xf4, 0xbd, 0xc8, 0x0c, 0xc1, 0xa4, 0x72,
4594 	0xfc, 0xe1, 0xf8, 0xcb, 0xea, 0xf8, 0x73, 0xbd};
4595 static const uint8_t test_vector_4_mac_2[] = {
4596 	0x58, 0x20, 0x93, 0x92, 0x5a, 0x13, 0x45, 0xcd,
4597 	0x35, 0xb3, 0x84, 0x01, 0xff, 0xf8, 0xc2, 0x73,
4598 	0x19, 0x80, 0x02, 0xf4, 0xbd, 0xc8, 0x0c, 0xc1,
4599 	0xa4, 0x72, 0xfc, 0xe1, 0xf8, 0xcb, 0xea, 0xf8,
4600 	0x73, 0xbd};
4601 static const uint8_t test_vector_4_m_2[] = {
4602 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
4603 	0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x32,
4604 	0x59, 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b,
4605 	0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58,
4606 	0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d,
4607 	0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9,
4608 	0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22,
4609 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4610 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4611 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4612 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4613 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4614 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4615 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4616 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4617 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
4618 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4619 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4620 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4621 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4622 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
4623 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4624 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4625 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4626 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
4627 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
4628 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
4629 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
4630 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
4631 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
4632 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
4633 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
4634 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
4635 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4636 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
4637 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
4638 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
4639 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
4640 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
4641 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
4642 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
4643 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
4644 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
4645 	0x05, 0x58, 0x58, 0x20, 0x93, 0x92, 0x5a, 0x13,
4646 	0x45, 0xcd, 0x35, 0xb3, 0x84, 0x01, 0xff, 0xf8,
4647 	0xc2, 0x73, 0x19, 0x80, 0x02, 0xf4, 0xbd, 0xc8,
4648 	0x0c, 0xc1, 0xa4, 0x72, 0xfc, 0xe1, 0xf8, 0xcb,
4649 	0xea, 0xf8, 0x73, 0xbd};
4650 static const uint8_t test_vector_4_sig_or_mac_2_raw[] = {
4651 	0x33, 0x17, 0xe6, 0x0d, 0x78, 0x12, 0xd3, 0x38,
4652 	0x25, 0x2a, 0xb3, 0xfd, 0x7b, 0xd9, 0x13, 0x68,
4653 	0x7c, 0x96, 0x51, 0xef, 0x56, 0x5b, 0x53, 0x4e,
4654 	0x5d, 0xe0, 0x60, 0x8a, 0x7b, 0xef, 0x21, 0x25,
4655 	0x8b, 0x38, 0x85, 0xb8, 0x04, 0x72, 0x1d, 0xc1,
4656 	0xf3, 0x73, 0xb9, 0x73, 0xa7, 0x55, 0x96, 0xd8,
4657 	0x47, 0xae, 0x49, 0x76, 0x88, 0x8a, 0xae, 0x04,
4658 	0x7f, 0x91, 0xee, 0x53, 0x7d, 0x24, 0xa7, 0xd1};
4659 static const uint8_t test_vector_4_sig_or_mac_2[] = {
4660 	0x58, 0x40, 0x33, 0x17, 0xe6, 0x0d, 0x78, 0x12,
4661 	0xd3, 0x38, 0x25, 0x2a, 0xb3, 0xfd, 0x7b, 0xd9,
4662 	0x13, 0x68, 0x7c, 0x96, 0x51, 0xef, 0x56, 0x5b,
4663 	0x53, 0x4e, 0x5d, 0xe0, 0x60, 0x8a, 0x7b, 0xef,
4664 	0x21, 0x25, 0x8b, 0x38, 0x85, 0xb8, 0x04, 0x72,
4665 	0x1d, 0xc1, 0xf3, 0x73, 0xb9, 0x73, 0xa7, 0x55,
4666 	0x96, 0xd8, 0x47, 0xae, 0x49, 0x76, 0x88, 0x8a,
4667 	0xae, 0x04, 0x7f, 0x91, 0xee, 0x53, 0x7d, 0x24,
4668 	0xa7, 0xd1};
4669 static const uint8_t test_vector_4_plaintext_2[] = {
4670 	0x32, 0x58, 0x40, 0x33, 0x17, 0xe6, 0x0d, 0x78,
4671 	0x12, 0xd3, 0x38, 0x25, 0x2a, 0xb3, 0xfd, 0x7b,
4672 	0xd9, 0x13, 0x68, 0x7c, 0x96, 0x51, 0xef, 0x56,
4673 	0x5b, 0x53, 0x4e, 0x5d, 0xe0, 0x60, 0x8a, 0x7b,
4674 	0xef, 0x21, 0x25, 0x8b, 0x38, 0x85, 0xb8, 0x04,
4675 	0x72, 0x1d, 0xc1, 0xf3, 0x73, 0xb9, 0x73, 0xa7,
4676 	0x55, 0x96, 0xd8, 0x47, 0xae, 0x49, 0x76, 0x88,
4677 	0x8a, 0xae, 0x04, 0x7f, 0x91, 0xee, 0x53, 0x7d,
4678 	0x24, 0xa7, 0xd1};
4679 static const uint8_t test_vector_4_info_keystream_2[] = {
4680 	0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43,
4681 	0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b,
4682 	0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9,
4683 	0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92,
4684 	0xfb, 0xab, 0xa6, 0x18, 0x43};
4685 static const uint8_t test_vector_4_keystream_2_raw[] = {
4686 	0x83, 0x21, 0x7c, 0xba, 0x0e, 0xda, 0xe9, 0xfa,
4687 	0x30, 0xc3, 0xa0, 0x27, 0xc8, 0xe6, 0x00, 0xef,
4688 	0x83, 0xf1, 0xdc, 0xa2, 0x39, 0xf9, 0x94, 0x9a,
4689 	0xb4, 0x67, 0x9d, 0x3c, 0x84, 0xc5, 0x57, 0xf0,
4690 	0x99, 0x71, 0x19, 0xda, 0x13, 0xc5, 0x70, 0xdd,
4691 	0x37, 0xf3, 0x74, 0x36, 0x94, 0x41, 0x1e, 0xe6,
4692 	0xd6, 0x30, 0x25, 0xdc, 0x10, 0x31, 0xeb, 0x46,
4693 	0x98, 0x1d, 0x08, 0xff, 0xe1, 0xad, 0x81, 0xda,
4694 	0x19, 0x1f, 0x85};
4695 static const uint8_t test_vector_4_ciphertext_2_raw[] = {
4696 	0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c, 0xe4, 0x82,
4697 	0x22, 0x10, 0x98, 0x02, 0xe2, 0x55, 0xfd, 0x94,
4698 	0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8, 0x7b, 0xcc,
4699 	0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5, 0xdd, 0x8b,
4700 	0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40, 0xc8, 0xd9,
4701 	0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8, 0x6d, 0x41,
4702 	0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78, 0x9d, 0xce,
4703 	0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43, 0xd2, 0xa7,
4704 	0x3d, 0xb8, 0x54};
4705 static const uint8_t test_vector_4_ciphertext_2[] = {
4706 	0x58, 0x43, 0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c,
4707 	0xe4, 0x82, 0x22, 0x10, 0x98, 0x02, 0xe2, 0x55,
4708 	0xfd, 0x94, 0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8,
4709 	0x7b, 0xcc, 0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5,
4710 	0xdd, 0x8b, 0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40,
4711 	0xc8, 0xd9, 0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8,
4712 	0x6d, 0x41, 0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78,
4713 	0x9d, 0xce, 0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43,
4714 	0xd2, 0xa7, 0x3d, 0xb8, 0x54};
4715 static const uint8_t test_vector_4_message_2[] = {
4716 	0x58, 0x63, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4717 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4718 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4719 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4720 	0xf5, 0xd5, 0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c,
4721 	0xe4, 0x82, 0x22, 0x10, 0x98, 0x02, 0xe2, 0x55,
4722 	0xfd, 0x94, 0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8,
4723 	0x7b, 0xcc, 0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5,
4724 	0xdd, 0x8b, 0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40,
4725 	0xc8, 0xd9, 0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8,
4726 	0x6d, 0x41, 0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78,
4727 	0x9d, 0xce, 0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43,
4728 	0xd2, 0xa7, 0x3d, 0xb8, 0x54, 0x27};
4729 static const uint8_t test_vector_4_sk_i_raw[] = {
4730 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
4731 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
4732 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
4733 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
4734 static const uint8_t test_vector_4_pk_i_raw[] = {
4735 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
4736 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
4737 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
4738 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
4739 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
4740 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
4741 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
4742 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
4743 	0xc8};
4744 static const uint8_t test_vector_4_salt_4e3m[] = {
4745 	0x16, 0x6c, 0xf1, 0xc0, 0xeb, 0xeb, 0x99, 0xd0,
4746 	0x89, 0xc8, 0xde, 0xe2, 0xd9, 0x80, 0x28, 0xff,
4747 	0x81, 0x67, 0xaf, 0x3a, 0xe3, 0xfb, 0x6f, 0xa1,
4748 	0x8b, 0xf1, 0x6d, 0x13, 0x16, 0x14, 0x91, 0x2e};
4749 static const uint8_t test_vector_4_prk_4e3m_raw[] = {
4750 	0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12,
4751 	0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6,
4752 	0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe,
4753 	0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b};
4754 static const uint8_t test_vector_4_input_TH_3[] = {
4755 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
4756 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
4757 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
4758 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
4759 	0xab, 0xa6, 0x32, 0x58, 0x40, 0x33, 0x17, 0xe6,
4760 	0x0d, 0x78, 0x12, 0xd3, 0x38, 0x25, 0x2a, 0xb3,
4761 	0xfd, 0x7b, 0xd9, 0x13, 0x68, 0x7c, 0x96, 0x51,
4762 	0xef, 0x56, 0x5b, 0x53, 0x4e, 0x5d, 0xe0, 0x60,
4763 	0x8a, 0x7b, 0xef, 0x21, 0x25, 0x8b, 0x38, 0x85,
4764 	0xb8, 0x04, 0x72, 0x1d, 0xc1, 0xf3, 0x73, 0xb9,
4765 	0x73, 0xa7, 0x55, 0x96, 0xd8, 0x47, 0xae, 0x49,
4766 	0x76, 0x88, 0x8a, 0xae, 0x04, 0x7f, 0x91, 0xee,
4767 	0x53, 0x7d, 0x24, 0xa7, 0xd1, 0x59, 0x01, 0x22,
4768 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4769 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4770 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4771 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4772 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4773 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4774 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4775 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4776 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
4777 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4778 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4779 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4780 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4781 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
4782 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4783 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4784 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4785 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
4786 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
4787 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
4788 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
4789 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
4790 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
4791 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
4792 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
4793 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
4794 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4795 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
4796 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
4797 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
4798 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
4799 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
4800 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
4801 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
4802 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
4803 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
4804 	0x05, 0x58};
4805 static const uint8_t test_vector_4_th_3_raw[] = {
4806 	0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 0x3f, 0x29,
4807 	0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 0x67, 0xe2,
4808 	0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 0x70, 0x26,
4809 	0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 0xe7, 0x6d};
4810 static const uint8_t test_vector_4_th_3[] = {
4811 	0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3,
4812 	0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8,
4813 	0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2,
4814 	0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e,
4815 	0xe7, 0x6d};
4816 static const uint8_t test_vector_4_id_cred_i[] = {
4817 	0xa1, 0x04, 0x2b};
4818 static const uint8_t test_vector_4_cred_i[] = {
4819 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
4820 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
4821 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
4822 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
4823 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
4824 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
4825 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
4826 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
4827 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
4828 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
4829 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
4830 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
4831 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
4832 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
4833 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
4834 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4835 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4836 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
4837 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
4838 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
4839 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
4840 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
4841 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
4842 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
4843 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
4844 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
4845 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4846 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
4847 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
4848 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
4849 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
4850 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
4851 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
4852 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
4853 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
4854 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
4855 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
4856 static const uint8_t test_vector_4_ca_i[] = {
4857 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
4858 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4859 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4860 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4861 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4862 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4863 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4864 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4865 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
4866 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4867 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
4868 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
4869 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4870 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
4871 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4872 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4873 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
4874 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
4875 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
4876 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
4877 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
4878 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
4879 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
4880 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
4881 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
4882 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4883 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
4884 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
4885 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
4886 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
4887 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
4888 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
4889 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
4890 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
4891 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
4892 	0x13, 0x6b, 0xf3, 0x06};
4893 static const uint8_t test_vector_4_ca_i_pk[] = {
4894 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
4895 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
4896 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
4897 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
4898 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
4899 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
4900 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
4901 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
4902 	0x95};
4903 static const uint8_t test_vector_4_ead_3[] = {
4904 	};
4905 static const uint8_t test_vector_4_info_mac_3[] = {
4906 	0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x2b, 0x58,
4907 	0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 0x3f,
4908 	0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 0x67,
4909 	0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 0x70,
4910 	0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 0xe7,
4911 	0x6d, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
4912 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
4913 	0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a,
4914 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
4915 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
4916 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
4917 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
4918 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
4919 	0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30,
4920 	0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
4921 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
4922 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
4923 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
4924 	0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74,
4925 	0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30,
4926 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4927 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4928 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
4929 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
4930 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
4931 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
4932 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6,
4933 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
4934 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
4935 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
4936 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8,
4937 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4938 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
4939 	0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f,
4940 	0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf,
4941 	0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58,
4942 	0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f,
4943 	0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a,
4944 	0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35,
4945 	0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d,
4946 	0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30,
4947 	0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x18, 0x20};
4948 static const uint8_t test_vector_4_mac_3_raw[] = {
4949 	0xbe, 0x85, 0x57, 0xbc, 0x02, 0x61, 0x2e, 0xfd,
4950 	0x5d, 0xce, 0x76, 0xdd, 0x0d, 0x3a, 0x4a, 0x08,
4951 	0x5d, 0x1b, 0x68, 0x0d, 0x1d, 0xf7, 0x3d, 0x6c,
4952 	0xcd, 0xfd, 0x98, 0x7b, 0x5f, 0xed, 0xa3, 0x02};
4953 static const uint8_t test_vector_4_mac_3[] = {
4954 	0x58, 0x20, 0xbe, 0x85, 0x57, 0xbc, 0x02, 0x61,
4955 	0x2e, 0xfd, 0x5d, 0xce, 0x76, 0xdd, 0x0d, 0x3a,
4956 	0x4a, 0x08, 0x5d, 0x1b, 0x68, 0x0d, 0x1d, 0xf7,
4957 	0x3d, 0x6c, 0xcd, 0xfd, 0x98, 0x7b, 0x5f, 0xed,
4958 	0xa3, 0x02};
4959 static const uint8_t test_vector_4_m_3[] = {
4960 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
4961 	0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x2b,
4962 	0x59, 0x01, 0x47, 0x58, 0x20, 0xcd, 0x63, 0x99,
4963 	0x97, 0x49, 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3,
4964 	0xf5, 0xc6, 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e,
4965 	0x5b, 0xc4, 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a,
4966 	0xe3, 0xf1, 0x4e, 0xe7, 0x6d, 0x59, 0x01, 0x22,
4967 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4968 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
4969 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4970 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4971 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4972 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4973 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4974 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
4975 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
4976 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4977 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4978 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4979 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4980 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
4981 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4982 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4983 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4984 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
4985 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
4986 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
4987 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
4988 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
4989 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
4990 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
4991 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
4992 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
4993 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4994 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
4995 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
4996 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
4997 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
4998 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
4999 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
5000 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
5001 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
5002 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
5003 	0xbe, 0xde, 0x58, 0x20, 0xbe, 0x85, 0x57, 0xbc,
5004 	0x02, 0x61, 0x2e, 0xfd, 0x5d, 0xce, 0x76, 0xdd,
5005 	0x0d, 0x3a, 0x4a, 0x08, 0x5d, 0x1b, 0x68, 0x0d,
5006 	0x1d, 0xf7, 0x3d, 0x6c, 0xcd, 0xfd, 0x98, 0x7b,
5007 	0x5f, 0xed, 0xa3, 0x02};
5008 static const uint8_t test_vector_4_sig_or_mac_3_raw[] = {
5009 	0xc3, 0x7f, 0x0a, 0xf5, 0xbc, 0xd3, 0xb6, 0x12,
5010 	0x51, 0x81, 0xe7, 0xb9, 0x99, 0x3f, 0x37, 0x11,
5011 	0x7e, 0x7a, 0x36, 0xe2, 0xe1, 0xec, 0xa3, 0x71,
5012 	0x6e, 0x5b, 0x5f, 0x5d, 0xbd, 0xde, 0xb4, 0x86,
5013 	0xe7, 0xa4, 0xe4, 0xbf, 0x6c, 0x61, 0xeb, 0x38,
5014 	0xb1, 0x0a, 0x92, 0x14, 0x43, 0xed, 0xb5, 0x7d,
5015 	0x06, 0x83, 0xa2, 0xf1, 0xc7, 0xb9, 0xa1, 0xee,
5016 	0xc9, 0x2d, 0xd1, 0xc9, 0xde, 0x13, 0xf1, 0x78};
5017 static const uint8_t test_vector_4_sig_or_mac_3[] = {
5018 	0x58, 0x40, 0xc3, 0x7f, 0x0a, 0xf5, 0xbc, 0xd3,
5019 	0xb6, 0x12, 0x51, 0x81, 0xe7, 0xb9, 0x99, 0x3f,
5020 	0x37, 0x11, 0x7e, 0x7a, 0x36, 0xe2, 0xe1, 0xec,
5021 	0xa3, 0x71, 0x6e, 0x5b, 0x5f, 0x5d, 0xbd, 0xde,
5022 	0xb4, 0x86, 0xe7, 0xa4, 0xe4, 0xbf, 0x6c, 0x61,
5023 	0xeb, 0x38, 0xb1, 0x0a, 0x92, 0x14, 0x43, 0xed,
5024 	0xb5, 0x7d, 0x06, 0x83, 0xa2, 0xf1, 0xc7, 0xb9,
5025 	0xa1, 0xee, 0xc9, 0x2d, 0xd1, 0xc9, 0xde, 0x13,
5026 	0xf1, 0x78};
5027 static const uint8_t test_vector_4_p_3[] = {
5028 	0x2b, 0x58, 0x40, 0xc3, 0x7f, 0x0a, 0xf5, 0xbc,
5029 	0xd3, 0xb6, 0x12, 0x51, 0x81, 0xe7, 0xb9, 0x99,
5030 	0x3f, 0x37, 0x11, 0x7e, 0x7a, 0x36, 0xe2, 0xe1,
5031 	0xec, 0xa3, 0x71, 0x6e, 0x5b, 0x5f, 0x5d, 0xbd,
5032 	0xde, 0xb4, 0x86, 0xe7, 0xa4, 0xe4, 0xbf, 0x6c,
5033 	0x61, 0xeb, 0x38, 0xb1, 0x0a, 0x92, 0x14, 0x43,
5034 	0xed, 0xb5, 0x7d, 0x06, 0x83, 0xa2, 0xf1, 0xc7,
5035 	0xb9, 0xa1, 0xee, 0xc9, 0x2d, 0xd1, 0xc9, 0xde,
5036 	0x13, 0xf1, 0x78};
5037 static const uint8_t test_vector_4_a_3[] = {
5038 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5039 	0x74, 0x30, 0x40, 0x58, 0x20, 0xcd, 0x63, 0x99,
5040 	0x97, 0x49, 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3,
5041 	0xf5, 0xc6, 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e,
5042 	0x5b, 0xc4, 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a,
5043 	0xe3, 0xf1, 0x4e, 0xe7, 0x6d};
5044 static const uint8_t test_vector_4_info_k_3[] = {
5045 	0x03, 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49,
5046 	0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6,
5047 	0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4,
5048 	0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1,
5049 	0x4e, 0xe7, 0x6d, 0x10};
5050 static const uint8_t test_vector_4_k_3_raw[] = {
5051 	0xad, 0xf3, 0x6a, 0x8f, 0xa2, 0x8a, 0x8f, 0x6b,
5052 	0xcb, 0xc6, 0x2b, 0x9c, 0xc7, 0x81, 0xb2, 0x5b};
5053 static const uint8_t test_vector_4_info_iv_3[] = {
5054 	0x04, 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49,
5055 	0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6,
5056 	0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4,
5057 	0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1,
5058 	0x4e, 0xe7, 0x6d, 0x0d};
5059 static const uint8_t test_vector_4_iv_3_raw[] = {
5060 	0x6c, 0x40, 0x11, 0xbf, 0x66, 0x2e, 0x08, 0xb2,
5061 	0x38, 0xd7, 0xac, 0x9f, 0x22};
5062 static const uint8_t test_vector_4_ciphertext_3_raw[] = {
5063 	0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91, 0x96, 0xf4,
5064 	0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd, 0x64, 0xa1,
5065 	0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20, 0x98, 0x34,
5066 	0x67, 0x92, 0x13, 0x64, 0x59, 0x1e, 0x54, 0xc6,
5067 	0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f, 0x68, 0x66,
5068 	0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63, 0x10, 0x67,
5069 	0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47, 0xdd, 0x97,
5070 	0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45, 0xf4, 0x7b,
5071 	0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1, 0x9a, 0xf6,
5072 	0xd7, 0x48, 0x8a};
5073 static const uint8_t test_vector_4_ciphertext_3[] = {
5074 	0x58, 0x4b, 0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91,
5075 	0x96, 0xf4, 0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd,
5076 	0x64, 0xa1, 0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20,
5077 	0x98, 0x34, 0x67, 0x92, 0x13, 0x64, 0x59, 0x1e,
5078 	0x54, 0xc6, 0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f,
5079 	0x68, 0x66, 0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63,
5080 	0x10, 0x67, 0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47,
5081 	0xdd, 0x97, 0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45,
5082 	0xf4, 0x7b, 0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1,
5083 	0x9a, 0xf6, 0xd7, 0x48, 0x8a};
5084 static const uint8_t test_vector_4_message_3[] = {
5085 	0x58, 0x4b, 0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91,
5086 	0x96, 0xf4, 0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd,
5087 	0x64, 0xa1, 0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20,
5088 	0x98, 0x34, 0x67, 0x92, 0x13, 0x64, 0x59, 0x1e,
5089 	0x54, 0xc6, 0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f,
5090 	0x68, 0x66, 0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63,
5091 	0x10, 0x67, 0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47,
5092 	0xdd, 0x97, 0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45,
5093 	0xf4, 0x7b, 0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1,
5094 	0x9a, 0xf6, 0xd7, 0x48, 0x8a};
5095 static const uint8_t test_vector_4_input_th_4[] = {
5096 	0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3,
5097 	0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8,
5098 	0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2,
5099 	0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e,
5100 	0xe7, 0x6d, 0x2b, 0x58, 0x40, 0xc3, 0x7f, 0x0a,
5101 	0xf5, 0xbc, 0xd3, 0xb6, 0x12, 0x51, 0x81, 0xe7,
5102 	0xb9, 0x99, 0x3f, 0x37, 0x11, 0x7e, 0x7a, 0x36,
5103 	0xe2, 0xe1, 0xec, 0xa3, 0x71, 0x6e, 0x5b, 0x5f,
5104 	0x5d, 0xbd, 0xde, 0xb4, 0x86, 0xe7, 0xa4, 0xe4,
5105 	0xbf, 0x6c, 0x61, 0xeb, 0x38, 0xb1, 0x0a, 0x92,
5106 	0x14, 0x43, 0xed, 0xb5, 0x7d, 0x06, 0x83, 0xa2,
5107 	0xf1, 0xc7, 0xb9, 0xa1, 0xee, 0xc9, 0x2d, 0xd1,
5108 	0xc9, 0xde, 0x13, 0xf1, 0x78, 0x59, 0x01, 0x22,
5109 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
5110 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
5111 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5112 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5113 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5114 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5115 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5116 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
5117 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
5118 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5119 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
5120 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
5121 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5122 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
5123 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
5124 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
5125 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
5126 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
5127 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
5128 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
5129 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
5130 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
5131 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
5132 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
5133 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
5134 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
5135 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
5136 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
5137 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
5138 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
5139 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
5140 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
5141 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
5142 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
5143 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
5144 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
5145 	0xbe, 0xde};
5146 static const uint8_t test_vector_4_th_4_raw[] = {
5147 	0x57, 0x9e, 0x6b, 0xd8, 0xe3, 0x7b, 0x6f, 0x4e,
5148 	0xdc, 0x50, 0xbb, 0xdd, 0x99, 0xb0, 0xe5, 0x38,
5149 	0xee, 0xc8, 0xad, 0x29, 0x9a, 0x77, 0x1a, 0xae,
5150 	0xb7, 0xae, 0xa1, 0x9d, 0x3c, 0xb7, 0xe2, 0x6a};
5151 static const uint8_t test_vector_4_th_4[] = {
5152 	0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3, 0x7b,
5153 	0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99, 0xb0,
5154 	0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a, 0x77,
5155 	0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c, 0xb7,
5156 	0xe2, 0x6a};
5157 static const uint8_t test_vector_4_ead_4[] = {
5158 	};
5159 static const uint8_t test_vector_4_p_4[] = {
5160 	};
5161 static const uint8_t test_vector_4_a_4[] = {
5162 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5163 	0x74, 0x30, 0x40, 0x58, 0x20, 0x57, 0x9e, 0x6b,
5164 	0xd8, 0xe3, 0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb,
5165 	0xdd, 0x99, 0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad,
5166 	0x29, 0x9a, 0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1,
5167 	0x9d, 0x3c, 0xb7, 0xe2, 0x6a};
5168 static const uint8_t test_vector_4_info_k_4[] = {
5169 	0x08, 0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3,
5170 	0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99,
5171 	0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a,
5172 	0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c,
5173 	0xb7, 0xe2, 0x6a, 0x10};
5174 static const uint8_t test_vector_4_k_4_raw[] = {
5175 	0x2d, 0x51, 0x6b, 0x3f, 0x47, 0x2c, 0xcf, 0x0c,
5176 	0x2c, 0x55, 0x8e, 0x3d, 0x84, 0x4b, 0xde, 0xae};
5177 static const uint8_t test_vector_4_info_iv_4[] = {
5178 	0x09, 0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3,
5179 	0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99,
5180 	0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a,
5181 	0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c,
5182 	0xb7, 0xe2, 0x6a, 0x0d};
5183 static const uint8_t test_vector_4_iv_4_raw[] = {
5184 	0xa5, 0x1d, 0x67, 0xa5, 0x77, 0x7d, 0xcc, 0xf7,
5185 	0xfc, 0x4c, 0x48, 0x34, 0x92};
5186 static const uint8_t test_vector_4_ciphertext_4_raw[] = {
5187 	0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84, 0xf5};
5188 static const uint8_t test_vector_4_ciphertext_4[] = {
5189 	0x48, 0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84,
5190 	0xf5};
5191 static const uint8_t test_vector_4_message_4[] = {
5192 	0x48, 0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84,
5193 	0xf5};
5194 static const uint8_t test_vector_4_prk_out[] = {
5195 	0x00, 0x96, 0xe0, 0xa0, 0x18, 0x32, 0x33, 0xa8,
5196 	0x6f, 0xbc, 0x3b, 0x42, 0x29, 0x19, 0xa6, 0xc9,
5197 	0x3b, 0x0c, 0xf5, 0x75, 0x27, 0x50, 0x38, 0x9a,
5198 	0x21, 0x8b, 0xeb, 0xb6, 0x12, 0x2e, 0x4c, 0xa5};
5199 static const uint8_t test_vector_4_prk_exporter[] = {
5200 	0xeb, 0x00, 0xb9, 0xf5, 0x98, 0x5f, 0x39, 0x33,
5201 	0x5d, 0x62, 0xeb, 0x8c, 0x1a, 0x2c, 0xfa, 0x9e,
5202 	0xb2, 0xae, 0x9e, 0x28, 0xda, 0x4b, 0xea, 0xc5,
5203 	0x68, 0xcb, 0x0a, 0x49, 0x1f, 0xdc, 0x91, 0x60};
5204 int32_t test_vector_4_oscore_aead_alg = 10;
5205 int32_t test_vector_4_oscore_hash_alg = -16;
5206 static const uint8_t test_vector_4_client_sender_id_raw[] = {
5207 	0x27};
5208 static const uint8_t test_vector_4_server_sender_id_raw[] = {
5209 	0x37};
5210 static const uint8_t test_vector_4_info_oscore_secret[] = {
5211 	0x00, 0x40, 0x10};
5212 static const uint8_t test_vector_4_oscore_secret_raw[] = {
5213 	0xb7, 0xd8, 0xc8, 0xc8, 0x96, 0xac, 0xa2, 0xd0,
5214 	0xd0, 0x60, 0x4e, 0xd8, 0x8d, 0xc1, 0x22, 0xc1};
5215 static const uint8_t test_vector_4_info_oscore_salt[] = {
5216 	0x01, 0x40, 0x08};
5217 static const uint8_t test_vector_4_oscore_salt_raw[] = {
5218 	0x40, 0xa3, 0x60, 0xc9, 0x82, 0x53, 0xaa, 0xd0};
5219 static const uint8_t test_vector_4_prk_out_updated[] = {
5220 	0x14, 0xb0, 0xd6, 0xd8, 0x05, 0xe1, 0x68, 0xa0,
5221 	0x71, 0xa9, 0x8d, 0x9b, 0xf2, 0x9c, 0x42, 0x18,
5222 	0xe1, 0xa7, 0x4e, 0xb5, 0x36, 0xb4, 0x67, 0x61,
5223 	0xd0, 0xf0, 0x2b, 0xe3, 0xaf, 0xd5, 0x0f, 0xc4};
5224 static const uint8_t test_vector_4_prk_exporter_update[] = {
5225 	0x96, 0x41, 0xbd, 0x52, 0x40, 0x9f, 0x4c, 0xed,
5226 	0xfb, 0x3c, 0xe8, 0xdf, 0x54, 0x35, 0x89, 0x50,
5227 	0xec, 0x5f, 0xa9, 0x0e, 0x59, 0xe4, 0xa8, 0xec,
5228 	0x70, 0xa4, 0x41, 0x54, 0xd0, 0xd6, 0xb7, 0x7c};
5229 static const uint8_t test_vector_4_oscore_secret_key_update_raw[] = {
5230 	0xa7, 0xe8, 0xa6, 0x1b, 0x05, 0xa7, 0xd9, 0xf9,
5231 	0xec, 0xc2, 0x77, 0x06, 0x4b, 0x16, 0xe1, 0x73};
5232 static const uint8_t test_vector_4_oscore_salt_key_update_raw[] = {
5233 	0x0b, 0xc5, 0xea, 0x00, 0xe2, 0xf3, 0x1f, 0xf2};
5234 
5235 /***************** test_vector_5 ************/
5236 
5237  static const uint8_t test_vector_5_method[] = {
5238 	0x03};
5239 static const uint8_t test_vector_5_SUITES_I[] = {
5240 	0x02};
5241 static const uint8_t test_vector_5_SUITES_R[] = {
5242 	0x02};
5243 static const uint8_t test_vector_5_x_raw[] = {
5244 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
5245 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
5246 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
5247 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
5248 static const uint8_t test_vector_5_g_x_raw[] = {
5249 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
5250 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
5251 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
5252 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
5253 static const uint8_t test_vector_5_g_x_raw_y_coordinate[] = {
5254 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
5255 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
5256 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
5257 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
5258 static const uint8_t test_vector_5_g_x[] = {
5259 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
5260 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
5261 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
5262 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
5263 	0xc3, 0xb6};
5264 int32_t test_vector_5_c_i_raw = -24;
5265 static const uint8_t test_vector_5_c_i[] = {
5266 	0x37};
5267 static const uint8_t test_vector_5_ead_1[] = {
5268 	};
5269 static const uint8_t test_vector_5_message_1[] = {
5270 	0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
5271 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
5272 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
5273 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
5274 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
5275 static const uint8_t test_vector_5_y_raw[] = {
5276 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
5277 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
5278 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
5279 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
5280 static const uint8_t test_vector_5_g_y_raw[] = {
5281 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
5282 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
5283 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
5284 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
5285 static const uint8_t test_vector_5_g_y_raw_y_coordinate[] = {
5286 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
5287 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
5288 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
5289 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
5290 static const uint8_t test_vector_5_g_y[] = {
5291 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5292 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5293 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5294 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5295 	0xf5, 0xd5};
5296 static const uint8_t test_vector_5_g_xy_raw[] = {
5297 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
5298 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
5299 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
5300 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
5301 static const uint8_t test_vector_5_salt_raw[] = {
5302 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5303 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5304 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5305 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
5306 static const uint8_t test_vector_5_prk_2e_raw[] = {
5307 	0x0b, 0x46, 0x4d, 0x36, 0x99, 0x07, 0x60, 0xcd,
5308 	0xab, 0xe1, 0x8c, 0x66, 0xf3, 0xc3, 0xd8, 0xb1,
5309 	0xfd, 0x5b, 0x05, 0x88, 0x17, 0xe4, 0x19, 0xf4,
5310 	0x0d, 0xaa, 0x96, 0x07, 0xa9, 0x43, 0x97, 0xd4};
5311 static const uint8_t test_vector_5_salt_3e2m[] = {
5312 	0x4b, 0x4f, 0xc9, 0xde, 0xda, 0xeb, 0x34, 0x6b,
5313 	0xf7, 0x5e, 0x59, 0x10, 0x82, 0x03, 0xc0, 0xd3,
5314 	0x90, 0x73, 0x3c, 0x94, 0x80, 0xb6, 0x75, 0x65,
5315 	0x5a, 0xf9, 0xc9, 0xdc, 0xa5, 0xb7, 0x33, 0x47};
5316 static const uint8_t test_vector_5_r_raw[] = {
5317 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
5318 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
5319 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
5320 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
5321 static const uint8_t test_vector_5_g_r_raw[] = {
5322 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5323 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5324 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5325 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0};
5326 static const uint8_t test_vector_5_g_r_raw_y_coordinate[] = {
5327 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5328 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5329 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5330 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72};
5331 static const uint8_t test_vector_5_g_rx_raw[] = {
5332 	0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e,
5333 	0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0,
5334 	0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08,
5335 	0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23};
5336 static const uint8_t test_vector_5_prk_3e2m_raw[] = {
5337 	0x8e, 0x79, 0xbb, 0x0c, 0x12, 0xb9, 0x47, 0x68,
5338 	0xa3, 0xed, 0x92, 0xb8, 0x9f, 0xc2, 0x60, 0xf6,
5339 	0x17, 0x8f, 0x7a, 0xa5, 0x71, 0x7b, 0xd9, 0x70,
5340 	0x61, 0x2d, 0xa7, 0x5d, 0x69, 0x02, 0x87, 0x1b};
5341 int32_t test_vector_5_c_r_raw = -19;
5342 static const uint8_t test_vector_5_c_r[] = {
5343 	0x32};
5344 static const uint8_t test_vector_5_h_message_1_raw[] = {
5345 	0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45,
5346 	0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf,
5347 	0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca,
5348 	0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5349 static const uint8_t test_vector_5_h_message_1[] = {
5350 	0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f,
5351 	0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1,
5352 	0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6,
5353 	0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6,
5354 	0x3e, 0x83};
5355 static const uint8_t test_vector_5_input_th_2[] = {
5356 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5357 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5358 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5359 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5360 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb,
5361 	0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35,
5362 	0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09,
5363 	0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe,
5364 	0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5365 static const uint8_t test_vector_5_th_2_raw[] = {
5366 	0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf,
5367 	0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72,
5368 	0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60,
5369 	0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4};
5370 static const uint8_t test_vector_5_th_2[] = {
5371 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5372 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5373 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5374 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5375 	0x5c, 0xb4};
5376 static const uint8_t test_vector_5_id_cred_r[] = {
5377 	0xa1, 0x04, 0x22};
5378 static const uint8_t test_vector_5_cred_r[] = {
5379 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
5380 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
5381 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
5382 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
5383 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
5384 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
5385 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
5386 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
5387 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
5388 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
5389 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
5390 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
5391 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
5392 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
5393 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
5394 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5395 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5396 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
5397 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
5398 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
5399 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
5400 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
5401 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
5402 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
5403 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
5404 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
5405 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5406 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
5407 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
5408 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
5409 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
5410 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
5411 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
5412 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
5413 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
5414 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
5415 	0x3b, 0x13, 0x3d, 0x05, 0x58};
5416 static const uint8_t test_vector_5_ca_r[] = {
5417 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
5418 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
5419 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5420 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5421 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5422 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5423 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5424 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
5425 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
5426 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5427 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
5428 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5429 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5430 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
5431 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5432 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5433 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
5434 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
5435 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
5436 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
5437 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
5438 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
5439 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
5440 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
5441 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
5442 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5443 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
5444 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
5445 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
5446 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
5447 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
5448 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
5449 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
5450 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
5451 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
5452 	0x13, 0x6b, 0xf3, 0x06};
5453 static const uint8_t test_vector_5_ca_r_pk[] = {
5454 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
5455 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
5456 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
5457 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
5458 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
5459 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
5460 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
5461 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
5462 	0x95};
5463 static const uint8_t test_vector_5_ead_2[] = {
5464 	};
5465 static const uint8_t test_vector_5_info_mac_2[] = {
5466 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58,
5467 	0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75,
5468 	0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb,
5469 	0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18,
5470 	0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c,
5471 	0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
5472 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
5473 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
5474 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
5475 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
5476 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
5477 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
5478 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
5479 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
5480 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
5481 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
5482 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
5483 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
5484 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
5485 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
5486 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5487 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5488 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
5489 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5490 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5491 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5492 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
5493 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5494 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5495 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5496 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
5497 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5498 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
5499 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
5500 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
5501 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
5502 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
5503 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
5504 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
5505 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
5506 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
5507 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08};
5508 static const uint8_t test_vector_5_mac_2_raw[] = {
5509 	0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c};
5510 static const uint8_t test_vector_5_mac_2[] = {
5511 	0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd,
5512 	0x6c};
5513 static const uint8_t test_vector_5_sig_or_mac_2_raw[] = {
5514 	0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c};
5515 static const uint8_t test_vector_5_sig_or_mac_2[] = {
5516 	0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd,
5517 	0x6c};
5518 static const uint8_t test_vector_5_plaintext_2[] = {
5519 	0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73,
5520 	0xcd, 0x6c};
5521 static const uint8_t test_vector_5_info_keystream_2[] = {
5522 	0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b,
5523 	0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6,
5524 	0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34,
5525 	0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92,
5526 	0xf6, 0x5c, 0xb4, 0x0a};
5527 static const uint8_t test_vector_5_keystream_2_raw[] = {
5528 	0x7e, 0x0f, 0xff, 0x9a, 0xd8, 0xb8, 0x6f, 0x8d,
5529 	0x78, 0x84};
5530 static const uint8_t test_vector_5_ciphertext_2_raw[] = {
5531 	0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 0xfe,
5532 	0xb5, 0xe8};
5533 static const uint8_t test_vector_5_ciphertext_2[] = {
5534 	0x4a, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed,
5535 	0xfe, 0xb5, 0xe8};
5536 static const uint8_t test_vector_5_message_2[] = {
5537 	0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5538 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5539 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5540 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5541 	0xf5, 0xd5, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02,
5542 	0xed, 0xfe, 0xb5, 0xe8, 0x32};
5543 static const uint8_t test_vector_5_i_raw[] = {
5544 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
5545 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
5546 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
5547 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
5548 static const uint8_t test_vector_5_g_i_raw[] = {
5549 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
5550 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
5551 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
5552 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6};
5553 static const uint8_t test_vector_5_g_i_raw_y_coordinate[] = {
5554 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
5555 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
5556 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
5557 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8};
5558 static const uint8_t test_vector_5_g_iy_raw[] = {
5559 	0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49,
5560 	0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23,
5561 	0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20,
5562 	0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3};
5563 static const uint8_t test_vector_5_salt_4e3m[] = {
5564 	0xb1, 0x2c, 0x9e, 0x6b, 0x41, 0x31, 0x94, 0x03,
5565 	0x9f, 0xae, 0xde, 0xc7, 0x75, 0xf6, 0x2a, 0x2d,
5566 	0xd3, 0x31, 0xb8, 0x78, 0xd2, 0xfb, 0x16, 0xe2,
5567 	0xc3, 0xf7, 0x1f, 0xab, 0xda, 0xef, 0xfb, 0x95};
5568 static const uint8_t test_vector_5_prk_4e3m_raw[] = {
5569 	0x59, 0xce, 0x58, 0xe0, 0xbf, 0x2d, 0x7e, 0x4b,
5570 	0x7e, 0xe8, 0x61, 0x9f, 0x09, 0xae, 0xb5, 0xb2,
5571 	0xa9, 0xd4, 0x01, 0x35, 0xe9, 0x29, 0x51, 0xb7,
5572 	0xb1, 0xcf, 0x33, 0x0c, 0x83, 0x99, 0x36, 0x9d};
5573 static const uint8_t test_vector_5_input_TH_3[] = {
5574 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5575 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5576 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5577 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5578 	0x5c, 0xb4, 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba,
5579 	0x82, 0x73, 0xcd, 0x6c, 0x59, 0x01, 0x22, 0x30,
5580 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
5581 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
5582 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
5583 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
5584 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5585 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5586 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
5587 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
5588 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
5589 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
5590 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
5591 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
5592 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
5593 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
5594 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
5595 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
5596 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
5597 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
5598 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
5599 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
5600 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
5601 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
5602 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
5603 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
5604 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
5605 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
5606 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
5607 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
5608 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
5609 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
5610 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
5611 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
5612 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
5613 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
5614 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
5615 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
5616 	0x58};
5617 static const uint8_t test_vector_5_th_3_raw[] = {
5618 	0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2,
5619 	0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0,
5620 	0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88,
5621 	0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96};
5622 static const uint8_t test_vector_5_th_3[] = {
5623 	0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a,
5624 	0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8,
5625 	0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e,
5626 	0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5,
5627 	0x66, 0x96};
5628 static const uint8_t test_vector_5_id_cred_i[] = {
5629 	0xa1, 0x04, 0x05};
5630 static const uint8_t test_vector_5_cred_i[] = {
5631 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
5632 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
5633 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
5634 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
5635 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
5636 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
5637 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
5638 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
5639 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
5640 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
5641 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
5642 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
5643 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
5644 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
5645 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
5646 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5647 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5648 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
5649 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
5650 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
5651 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
5652 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
5653 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
5654 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
5655 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
5656 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
5657 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5658 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
5659 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
5660 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
5661 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
5662 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
5663 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
5664 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
5665 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
5666 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
5667 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
5668 static const uint8_t test_vector_5_ca_i[] = {
5669 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
5670 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
5671 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5672 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5673 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5674 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5675 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5676 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
5677 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
5678 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5679 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
5680 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5681 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5682 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
5683 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5684 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5685 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
5686 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
5687 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
5688 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
5689 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
5690 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
5691 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
5692 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
5693 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
5694 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5695 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
5696 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
5697 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
5698 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
5699 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
5700 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
5701 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
5702 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
5703 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
5704 	0x13, 0x6b, 0xf3, 0x06};
5705 static const uint8_t test_vector_5_ca_i_pk[] = {
5706 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
5707 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
5708 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
5709 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
5710 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
5711 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
5712 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
5713 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
5714 	0x95};
5715 static const uint8_t test_vector_5_ead_3[] = {
5716 	};
5717 static const uint8_t test_vector_5_info_mac_3[] = {
5718 	0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x05, 0x58,
5719 	0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2,
5720 	0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40,
5721 	0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29,
5722 	0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66,
5723 	0x96, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
5724 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
5725 	0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a,
5726 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
5727 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
5728 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
5729 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
5730 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
5731 	0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30,
5732 	0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
5733 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
5734 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
5735 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
5736 	0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74,
5737 	0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30,
5738 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5739 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5740 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
5741 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
5742 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
5743 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
5744 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6,
5745 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
5746 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
5747 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
5748 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8,
5749 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5750 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
5751 	0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f,
5752 	0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf,
5753 	0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58,
5754 	0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f,
5755 	0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a,
5756 	0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35,
5757 	0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d,
5758 	0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30,
5759 	0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x08};
5760 static const uint8_t test_vector_5_mac_3_raw[] = {
5761 	0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 0xea};
5762 static const uint8_t test_vector_5_mac_3[] = {
5763 	0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2,
5764 	0xea};
5765 static const uint8_t test_vector_5_sig_or_mac_3_raw[] = {
5766 	0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 0xea};
5767 static const uint8_t test_vector_5_sig_or_mac_3[] = {
5768 	0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2,
5769 	0xea};
5770 static const uint8_t test_vector_5_p_3[] = {
5771 	0x05, 0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70,
5772 	0xa2, 0xea};
5773 static const uint8_t test_vector_5_a_3[] = {
5774 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5775 	0x74, 0x30, 0x40, 0x58, 0x20, 0x9d, 0xfe, 0x0e,
5776 	0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0,
5777 	0x82, 0xf0, 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55,
5778 	0x03, 0xf3, 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98,
5779 	0xb6, 0x2d, 0xd5, 0x66, 0x96};
5780 static const uint8_t test_vector_5_info_k_3[] = {
5781 	0x03, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c,
5782 	0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0,
5783 	0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3,
5784 	0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d,
5785 	0xd5, 0x66, 0x96, 0x10};
5786 static const uint8_t test_vector_5_k_3_raw[] = {
5787 	0xd1, 0x27, 0x6f, 0xac, 0x6f, 0x37, 0x6f, 0xf7,
5788 	0x4a, 0x0a, 0x55, 0xc2, 0x5f, 0x12, 0x6e, 0xef};
5789 static const uint8_t test_vector_5_info_iv_3[] = {
5790 	0x04, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c,
5791 	0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0,
5792 	0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3,
5793 	0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d,
5794 	0xd5, 0x66, 0x96, 0x0d};
5795 static const uint8_t test_vector_5_iv_3_raw[] = {
5796 	0xb5, 0x2e, 0x1b, 0x34, 0x85, 0xa7, 0x3d, 0x4a,
5797 	0x29, 0xe3, 0x18, 0x5c, 0xd2};
5798 static const uint8_t test_vector_5_ciphertext_3_raw[] = {
5799 	0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64, 0xb5,
5800 	0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5, 0xf4,
5801 	0x45, 0xfa};
5802 static const uint8_t test_vector_5_ciphertext_3[] = {
5803 	0x52, 0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64,
5804 	0xb5, 0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5,
5805 	0xf4, 0x45, 0xfa};
5806 static const uint8_t test_vector_5_message_3[] = {
5807 	0x52, 0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64,
5808 	0xb5, 0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5,
5809 	0xf4, 0x45, 0xfa};
5810 static const uint8_t test_vector_5_input_th_4[] = {
5811 	0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a,
5812 	0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8,
5813 	0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e,
5814 	0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5,
5815 	0x66, 0x96, 0x05, 0x48, 0x75, 0xb2, 0x16, 0xd5,
5816 	0x2f, 0x70, 0xa2, 0xea, 0x59, 0x01, 0x22, 0x30,
5817 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
5818 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
5819 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
5820 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
5821 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5822 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5823 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
5824 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
5825 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
5826 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
5827 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
5828 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
5829 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
5830 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
5831 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
5832 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
5833 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
5834 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
5835 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
5836 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
5837 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
5838 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
5839 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
5840 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
5841 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
5842 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
5843 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
5844 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
5845 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
5846 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
5847 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
5848 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
5849 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
5850 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
5851 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
5852 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
5853 	0xde};
5854 static const uint8_t test_vector_5_th_4_raw[] = {
5855 	0x99, 0x54, 0x4b, 0xea, 0x69, 0x40, 0xd7, 0xeb,
5856 	0x71, 0x7f, 0x2a, 0xce, 0xa8, 0x0e, 0x83, 0x7e,
5857 	0x18, 0x85, 0x5b, 0x3e, 0x89, 0x64, 0x1f, 0xdf,
5858 	0xc7, 0xee, 0xf7, 0x8b, 0x87, 0x1b, 0x77, 0xec};
5859 static const uint8_t test_vector_5_th_4[] = {
5860 	0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69, 0x40,
5861 	0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8, 0x0e,
5862 	0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89, 0x64,
5863 	0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87, 0x1b,
5864 	0x77, 0xec};
5865 static const uint8_t test_vector_5_ead_4[] = {
5866 	};
5867 static const uint8_t test_vector_5_p_4[] = {
5868 	};
5869 static const uint8_t test_vector_5_a_4[] = {
5870 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5871 	0x74, 0x30, 0x40, 0x58, 0x20, 0x99, 0x54, 0x4b,
5872 	0xea, 0x69, 0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a,
5873 	0xce, 0xa8, 0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b,
5874 	0x3e, 0x89, 0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7,
5875 	0x8b, 0x87, 0x1b, 0x77, 0xec};
5876 static const uint8_t test_vector_5_info_k_4[] = {
5877 	0x08, 0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69,
5878 	0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8,
5879 	0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89,
5880 	0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87,
5881 	0x1b, 0x77, 0xec, 0x10};
5882 static const uint8_t test_vector_5_k_4_raw[] = {
5883 	0x8a, 0x81, 0xac, 0x25, 0xb8, 0xef, 0x22, 0x51,
5884 	0x12, 0x21, 0x8c, 0x31, 0xc1, 0x52, 0x73, 0x4d};
5885 static const uint8_t test_vector_5_info_iv_4[] = {
5886 	0x09, 0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69,
5887 	0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8,
5888 	0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89,
5889 	0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87,
5890 	0x1b, 0x77, 0xec, 0x0d};
5891 static const uint8_t test_vector_5_iv_4_raw[] = {
5892 	0xbd, 0xb4, 0xe1, 0x5d, 0xe4, 0x2f, 0xab, 0x9f,
5893 	0xac, 0xac, 0xb0, 0xde, 0xa9};
5894 static const uint8_t test_vector_5_ciphertext_4_raw[] = {
5895 	0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff, 0x9e};
5896 static const uint8_t test_vector_5_ciphertext_4[] = {
5897 	0x48, 0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff,
5898 	0x9e};
5899 static const uint8_t test_vector_5_message_4[] = {
5900 	0x48, 0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff,
5901 	0x9e};
5902 static const uint8_t test_vector_5_prk_out[] = {
5903 	0xcc, 0x4b, 0x17, 0xe1, 0x66, 0x84, 0xd7, 0xaa,
5904 	0xcd, 0xed, 0x60, 0xda, 0x6e, 0xb1, 0x0b, 0xe0,
5905 	0xb0, 0x66, 0xaa, 0xd7, 0x6d, 0x11, 0xc6, 0x30,
5906 	0xa4, 0xf8, 0xbb, 0x06, 0x83, 0x84, 0x59, 0xe1};
5907 static const uint8_t test_vector_5_prk_exporter[] = {
5908 	0xc9, 0xab, 0x5f, 0xc8, 0xa7, 0xbd, 0x8b, 0x0c,
5909 	0xd1, 0x1f, 0x87, 0x8b, 0x3f, 0xd8, 0x30, 0xbc,
5910 	0x78, 0xab, 0xb5, 0x4d, 0x23, 0xd2, 0x0d, 0x09,
5911 	0x7f, 0x41, 0x43, 0x12, 0x14, 0xde, 0xd0, 0xee};
5912 int32_t test_vector_5_oscore_aead_alg = 10;
5913 int32_t test_vector_5_oscore_hash_alg = -16;
5914 static const uint8_t test_vector_5_client_sender_id_raw[] = {
5915 	0x32};
5916 static const uint8_t test_vector_5_server_sender_id_raw[] = {
5917 	0x37};
5918 static const uint8_t test_vector_5_info_oscore_secret[] = {
5919 	0x00, 0x40, 0x10};
5920 static const uint8_t test_vector_5_oscore_secret_raw[] = {
5921 	0xad, 0xcd, 0xeb, 0xfb, 0x63, 0x05, 0xf4, 0x9c,
5922 	0xea, 0x82, 0x4b, 0x3f, 0xf0, 0xe7, 0x1b, 0x7c};
5923 static const uint8_t test_vector_5_info_oscore_salt[] = {
5924 	0x01, 0x40, 0x08};
5925 static const uint8_t test_vector_5_oscore_salt_raw[] = {
5926 	0xac, 0x9f, 0x61, 0xa1, 0x95, 0xc0, 0x5d, 0x8b};
5927 static const uint8_t test_vector_5_prk_out_updated[] = {
5928 	0x0f, 0x0f, 0xe3, 0x68, 0x5c, 0x07, 0x94, 0x24,
5929 	0x02, 0xdf, 0xbc, 0x4e, 0x8b, 0x4c, 0x23, 0xd3,
5930 	0x42, 0xf5, 0xbe, 0xf1, 0x3a, 0x95, 0xa8, 0xb7,
5931 	0x4d, 0x14, 0x79, 0x64, 0x70, 0x63, 0x84, 0x22};
5932 static const uint8_t test_vector_5_prk_exporter_update[] = {
5933 	0x0a, 0x11, 0x3d, 0xc9, 0x74, 0xa0, 0x20, 0x41,
5934 	0x1f, 0x3a, 0xfa, 0x34, 0x30, 0x9b, 0x74, 0xe6,
5935 	0xc3, 0xdd, 0xba, 0xf1, 0xce, 0xae, 0xf0, 0x7f,
5936 	0x5a, 0x62, 0xe9, 0xec, 0xd2, 0xab, 0xe3, 0x35};
5937 static const uint8_t test_vector_5_oscore_secret_key_update_raw[] = {
5938 	0x1d, 0x65, 0x63, 0xa2, 0xe4, 0x71, 0xd8, 0x12,
5939 	0x12, 0x20, 0x0f, 0x8d, 0xa9, 0x22, 0x76, 0xa2};
5940 static const uint8_t test_vector_5_oscore_salt_key_update_raw[] = {
5941 	0x93, 0xb7, 0xd4, 0xca, 0x6a, 0x8e, 0x66, 0x12};
5942 
5943 /***************** test_vector_6 ************/
5944 
5945  static const uint8_t test_vector_6_method[] = {
5946 	0x03};
5947 static const uint8_t test_vector_6_SUITES_I[] = {
5948 	0x02};
5949 static const uint8_t test_vector_6_SUITES_R[] = {
5950 	0x02};
5951 static const uint8_t test_vector_6_x_raw[] = {
5952 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
5953 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
5954 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
5955 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
5956 static const uint8_t test_vector_6_g_x_raw[] = {
5957 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
5958 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
5959 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
5960 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
5961 static const uint8_t test_vector_6_g_x_raw_y_coordinate[] = {
5962 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
5963 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
5964 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
5965 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
5966 static const uint8_t test_vector_6_g_x[] = {
5967 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
5968 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
5969 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
5970 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
5971 	0xc3, 0xb6};
5972 int32_t test_vector_6_c_i_raw = -24;
5973 static const uint8_t test_vector_6_c_i[] = {
5974 	0x37};
5975 static const uint8_t test_vector_6_ead_1[] = {
5976 	};
5977 static const uint8_t test_vector_6_message_1[] = {
5978 	0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
5979 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
5980 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
5981 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
5982 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
5983 static const uint8_t test_vector_6_y_raw[] = {
5984 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
5985 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
5986 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
5987 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
5988 static const uint8_t test_vector_6_g_y_raw[] = {
5989 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
5990 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
5991 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
5992 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
5993 static const uint8_t test_vector_6_g_y_raw_y_coordinate[] = {
5994 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
5995 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
5996 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
5997 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
5998 static const uint8_t test_vector_6_g_y[] = {
5999 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
6000 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
6001 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
6002 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
6003 	0xf5, 0xd5};
6004 static const uint8_t test_vector_6_g_xy_raw[] = {
6005 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
6006 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
6007 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
6008 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
6009 static const uint8_t test_vector_6_salt_raw[] = {
6010 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
6011 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
6012 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
6013 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
6014 static const uint8_t test_vector_6_prk_2e_raw[] = {
6015 	0x0b, 0x46, 0x4d, 0x36, 0x99, 0x07, 0x60, 0xcd,
6016 	0xab, 0xe1, 0x8c, 0x66, 0xf3, 0xc3, 0xd8, 0xb1,
6017 	0xfd, 0x5b, 0x05, 0x88, 0x17, 0xe4, 0x19, 0xf4,
6018 	0x0d, 0xaa, 0x96, 0x07, 0xa9, 0x43, 0x97, 0xd4};
6019 static const uint8_t test_vector_6_salt_3e2m[] = {
6020 	0x4b, 0x4f, 0xc9, 0xde, 0xda, 0xeb, 0x34, 0x6b,
6021 	0xf7, 0x5e, 0x59, 0x10, 0x82, 0x03, 0xc0, 0xd3,
6022 	0x90, 0x73, 0x3c, 0x94, 0x80, 0xb6, 0x75, 0x65,
6023 	0x5a, 0xf9, 0xc9, 0xdc, 0xa5, 0xb7, 0x33, 0x47};
6024 static const uint8_t test_vector_6_r_raw[] = {
6025 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
6026 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
6027 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
6028 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
6029 static const uint8_t test_vector_6_g_r_raw[] = {
6030 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
6031 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
6032 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
6033 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0};
6034 static const uint8_t test_vector_6_g_r_raw_y_coordinate[] = {
6035 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
6036 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
6037 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
6038 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72};
6039 static const uint8_t test_vector_6_g_rx_raw[] = {
6040 	0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e,
6041 	0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0,
6042 	0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08,
6043 	0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23};
6044 static const uint8_t test_vector_6_prk_3e2m_raw[] = {
6045 	0x8e, 0x79, 0xbb, 0x0c, 0x12, 0xb9, 0x47, 0x68,
6046 	0xa3, 0xed, 0x92, 0xb8, 0x9f, 0xc2, 0x60, 0xf6,
6047 	0x17, 0x8f, 0x7a, 0xa5, 0x71, 0x7b, 0xd9, 0x70,
6048 	0x61, 0x2d, 0xa7, 0x5d, 0x69, 0x02, 0x87, 0x1b};
6049 int32_t test_vector_6_c_r_raw = -19;
6050 static const uint8_t test_vector_6_c_r[] = {
6051 	0x32};
6052 static const uint8_t test_vector_6_h_message_1_raw[] = {
6053 	0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45,
6054 	0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf,
6055 	0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca,
6056 	0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83};
6057 static const uint8_t test_vector_6_h_message_1[] = {
6058 	0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f,
6059 	0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1,
6060 	0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6,
6061 	0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6,
6062 	0x3e, 0x83};
6063 static const uint8_t test_vector_6_input_th_2[] = {
6064 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
6065 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
6066 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
6067 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
6068 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb,
6069 	0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35,
6070 	0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09,
6071 	0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe,
6072 	0x9f, 0x8c, 0xb6, 0x3e, 0x83};
6073 static const uint8_t test_vector_6_th_2_raw[] = {
6074 	0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf,
6075 	0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72,
6076 	0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60,
6077 	0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4};
6078 static const uint8_t test_vector_6_th_2[] = {
6079 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
6080 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
6081 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
6082 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
6083 	0x5c, 0xb4};
6084 static const uint8_t test_vector_6_id_cred_r[] = {
6085 	0xa1, 0x04, 0x22};
6086 static const uint8_t test_vector_6_cred_r[] = {
6087 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
6088 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
6089 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
6090 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
6091 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
6092 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
6093 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
6094 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
6095 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
6096 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
6097 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
6098 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
6099 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
6100 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
6101 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
6102 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
6103 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
6104 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
6105 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
6106 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
6107 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
6108 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
6109 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
6110 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
6111 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
6112 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
6113 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
6114 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
6115 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
6116 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
6117 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
6118 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
6119 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
6120 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
6121 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
6122 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
6123 	0x3b, 0x13, 0x3d, 0x05, 0x58};
6124 static const uint8_t test_vector_6_ca_r[] = {
6125 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
6126 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
6127 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
6128 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
6129 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
6130 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
6131 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
6132 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
6133 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
6134 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
6135 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
6136 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
6137 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
6138 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
6139 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
6140 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
6141 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
6142 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
6143 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
6144 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
6145 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
6146 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
6147 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
6148 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
6149 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
6150 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
6151 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
6152 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
6153 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
6154 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
6155 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
6156 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
6157 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
6158 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
6159 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
6160 	0x13, 0x6b, 0xf3, 0x06};
6161 static const uint8_t test_vector_6_ca_r_pk[] = {
6162 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
6163 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
6164 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
6165 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
6166 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
6167 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
6168 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
6169 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
6170 	0x95};
6171 static const uint8_t test_vector_6_ead_2[] = {
6172 	};
6173 static const uint8_t test_vector_6_info_mac_2[] = {
6174 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58,
6175 	0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75,
6176 	0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb,
6177 	0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18,
6178 	0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c,
6179 	0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
6180 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
6181 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
6182 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
6183 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
6184 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
6185 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
6186 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
6187 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
6188 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
6189 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
6190 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
6191 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
6192 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
6193 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
6194 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
6195 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
6196 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
6197 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
6198 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
6199 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
6200 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
6201 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
6202 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
6203 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
6204 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
6205 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
6206 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
6207 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
6208 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
6209 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
6210 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
6211 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
6212 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
6213 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
6214 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
6215 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08};
6216 static const uint8_t test_vector_6_mac_2_raw[] = {
6217 	0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c};
6218 static const uint8_t test_vector_6_mac_2[] = {
6219 	0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd,
6220 	0x6c};
6221 static const uint8_t test_vector_6_sig_or_mac_2_raw[] = {
6222 	0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c};
6223 static const uint8_t test_vector_6_sig_or_mac_2[] = {
6224 	0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd,
6225 	0x6c};
6226 static const uint8_t test_vector_6_plaintext_2[] = {
6227 	0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73,
6228 	0xcd, 0x6c};
6229 static const uint8_t test_vector_6_info_keystream_2[] = {
6230 	0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b,
6231 	0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6,
6232 	0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34,
6233 	0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92,
6234 	0xf6, 0x5c, 0xb4, 0x0a};
6235 static const uint8_t test_vector_6_keystream_2_raw[] = {
6236 	0x7e, 0x0f, 0xff, 0x9a, 0xd8, 0xb8, 0x6f, 0x8d,
6237 	0x78, 0x84};
6238 static const uint8_t test_vector_6_ciphertext_2_raw[] = {
6239 	0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 0xfe,
6240 	0xb5, 0xe8};
6241 static const uint8_t test_vector_6_ciphertext_2[] = {
6242 	0x4a, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed,
6243 	0xfe, 0xb5, 0xe8};
6244 static const uint8_t test_vector_6_message_2[] = {
6245 	0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
6246 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
6247 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
6248 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
6249 	0xf5, 0xd5, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02,
6250 	0xed, 0xfe, 0xb5, 0xe8, 0x32};
6251 static const uint8_t test_vector_6_i_raw[] = {
6252 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
6253 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
6254 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
6255 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
6256 static const uint8_t test_vector_6_g_i_raw[] = {
6257 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
6258 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
6259 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
6260 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6};
6261 static const uint8_t test_vector_6_g_i_raw_y_coordinate[] = {
6262 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
6263 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
6264 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
6265 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8};
6266 static const uint8_t test_vector_6_g_iy_raw[] = {
6267 	0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49,
6268 	0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23,
6269 	0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20,
6270 	0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3};
6271 static const uint8_t test_vector_6_salt_4e3m[] = {
6272 	0xb1, 0x2c, 0x9e, 0x6b, 0x41, 0x31, 0x94, 0x03,
6273 	0x9f, 0xae, 0xde, 0xc7, 0x75, 0xf6, 0x2a, 0x2d,
6274 	0xd3, 0x31, 0xb8, 0x78, 0xd2, 0xfb, 0x16, 0xe2,
6275 	0xc3, 0xf7, 0x1f, 0xab, 0xda, 0xef, 0xfb, 0x95};
6276 static const uint8_t test_vector_6_prk_4e3m_raw[] = {
6277 	0x59, 0xce, 0x58, 0xe0, 0xbf, 0x2d, 0x7e, 0x4b,
6278 	0x7e, 0xe8, 0x61, 0x9f, 0x09, 0xae, 0xb5, 0xb2,
6279 	0xa9, 0xd4, 0x01, 0x35, 0xe9, 0x29, 0x51, 0xb7,
6280 	0xb1, 0xcf, 0x33, 0x0c, 0x83, 0x99, 0x36, 0x9d};
6281 static const uint8_t test_vector_6_input_TH_3[] = {
6282 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
6283 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
6284 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
6285 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
6286 	0x5c, 0xb4, 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba,
6287 	0x82, 0x73, 0xcd, 0x6c, 0x59, 0x01, 0x22, 0x30,
6288 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
6289 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
6290 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
6291 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
6292 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
6293 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
6294 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
6295 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
6296 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
6297 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
6298 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
6299 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
6300 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
6301 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
6302 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
6303 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
6304 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
6305 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
6306 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
6307 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
6308 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
6309 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
6310 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
6311 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
6312 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
6313 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
6314 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
6315 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
6316 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
6317 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
6318 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
6319 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
6320 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
6321 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
6322 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
6323 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
6324 	0x58};
6325 static const uint8_t test_vector_6_th_3_raw[] = {
6326 	0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2,
6327 	0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0,
6328 	0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88,
6329 	0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96};
6330 static const uint8_t test_vector_6_th_3[] = {
6331 	0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a,
6332 	0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8,
6333 	0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e,
6334 	0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5,
6335 	0x66, 0x96};
6336 static const uint8_t test_vector_6_id_cred_i[] = {
6337 	0xa1, 0x04, 0x05};
6338 static const uint8_t test_vector_6_cred_i[] = {
6339 	0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30,
6340 	0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45,
6341 	0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d,
6342 	0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02,
6343 	0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac,
6344 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
6345 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
6346 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
6347 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22,
6348 	0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
6349 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
6350 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
6351 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
6352 	0xff, 0xc8};
6353 static const uint8_t test_vector_6_ead_3[] = {
6354 	};
6355 static const uint8_t test_vector_6_info_mac_3[] = {
6356 	0x06, 0x58, 0x8f, 0xa1, 0x04, 0x05, 0x58, 0x20,
6357 	0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2,
6358 	0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0,
6359 	0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88,
6360 	0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96,
6361 	0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30,
6362 	0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45,
6363 	0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d,
6364 	0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02,
6365 	0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac,
6366 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
6367 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
6368 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
6369 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22,
6370 	0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
6371 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
6372 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
6373 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
6374 	0xff, 0xc8, 0x08};
6375 static const uint8_t test_vector_6_mac_3_raw[] = {
6376 	0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 0x41};
6377 static const uint8_t test_vector_6_mac_3[] = {
6378 	0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59,
6379 	0x41};
6380 static const uint8_t test_vector_6_sig_or_mac_3_raw[] = {
6381 	0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 0x41};
6382 static const uint8_t test_vector_6_sig_or_mac_3[] = {
6383 	0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59,
6384 	0x41};
6385 static const uint8_t test_vector_6_p_3[] = {
6386 	0x05, 0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54,
6387 	0x59, 0x41};
6388 static const uint8_t test_vector_6_a_3[] = {
6389 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
6390 	0x74, 0x30, 0x40, 0x58, 0x20, 0x9d, 0xfe, 0x0e,
6391 	0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0,
6392 	0x82, 0xf0, 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55,
6393 	0x03, 0xf3, 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98,
6394 	0xb6, 0x2d, 0xd5, 0x66, 0x96};
6395 static const uint8_t test_vector_6_info_k_3[] = {
6396 	0x03, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c,
6397 	0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0,
6398 	0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3,
6399 	0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d,
6400 	0xd5, 0x66, 0x96, 0x10};
6401 static const uint8_t test_vector_6_k_3_raw[] = {
6402 	0xd1, 0x27, 0x6f, 0xac, 0x6f, 0x37, 0x6f, 0xf7,
6403 	0x4a, 0x0a, 0x55, 0xc2, 0x5f, 0x12, 0x6e, 0xef};
6404 static const uint8_t test_vector_6_info_iv_3[] = {
6405 	0x04, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c,
6406 	0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0,
6407 	0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3,
6408 	0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d,
6409 	0xd5, 0x66, 0x96, 0x0d};
6410 static const uint8_t test_vector_6_iv_3_raw[] = {
6411 	0xb5, 0x2e, 0x1b, 0x34, 0x85, 0xa7, 0x3d, 0x4a,
6412 	0x29, 0xe3, 0x18, 0x5c, 0xd2};
6413 static const uint8_t test_vector_6_ciphertext_3_raw[] = {
6414 	0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85, 0x91,
6415 	0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2, 0x45,
6416 	0x52, 0x75};
6417 static const uint8_t test_vector_6_ciphertext_3[] = {
6418 	0x52, 0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85,
6419 	0x91, 0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2,
6420 	0x45, 0x52, 0x75};
6421 static const uint8_t test_vector_6_message_3[] = {
6422 	0x52, 0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85,
6423 	0x91, 0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2,
6424 	0x45, 0x52, 0x75};
6425 static const uint8_t test_vector_6_input_th_4[] = {
6426 	0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a,
6427 	0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8,
6428 	0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e,
6429 	0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5,
6430 	0x66, 0x96, 0x05, 0x48, 0x12, 0x4d, 0xdf, 0xdf,
6431 	0xce, 0x54, 0x59, 0x41, 0xa2, 0x02, 0x77, 0x34,
6432 	0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d,
6433 	0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37,
6434 	0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1,
6435 	0x01, 0xa5, 0x01, 0x02, 0x02, 0x05, 0x20, 0x01,
6436 	0x21, 0x58, 0x20, 0xac, 0x75, 0xe9, 0xec, 0xe3,
6437 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
6438 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
6439 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
6440 	0x7f, 0x7e, 0xb6, 0x22, 0x58, 0x20, 0x6e, 0x5d,
6441 	0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11,
6442 	0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3,
6443 	0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93,
6444 	0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8};
6445 static const uint8_t test_vector_6_th_4_raw[] = {
6446 	0xa8, 0xa6, 0x4c, 0x28, 0x60, 0xba, 0xb8, 0xe7,
6447 	0xb7, 0xc5, 0x24, 0xc0, 0xea, 0xd0, 0xb2, 0x7a,
6448 	0x6c, 0x43, 0x53, 0xb6, 0x2d, 0x35, 0x3e, 0x4a,
6449 	0x3a, 0xe9, 0xde, 0xb5, 0x84, 0x4a, 0x28, 0xd0};
6450 static const uint8_t test_vector_6_th_4[] = {
6451 	0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60, 0xba,
6452 	0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea, 0xd0,
6453 	0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d, 0x35,
6454 	0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84, 0x4a,
6455 	0x28, 0xd0};
6456 static const uint8_t test_vector_6_ead_4[] = {
6457 	};
6458 static const uint8_t test_vector_6_p_4[] = {
6459 	};
6460 static const uint8_t test_vector_6_a_4[] = {
6461 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
6462 	0x74, 0x30, 0x40, 0x58, 0x20, 0xa8, 0xa6, 0x4c,
6463 	0x28, 0x60, 0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24,
6464 	0xc0, 0xea, 0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53,
6465 	0xb6, 0x2d, 0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde,
6466 	0xb5, 0x84, 0x4a, 0x28, 0xd0};
6467 static const uint8_t test_vector_6_info_k_4[] = {
6468 	0x08, 0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60,
6469 	0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea,
6470 	0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d,
6471 	0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84,
6472 	0x4a, 0x28, 0xd0, 0x10};
6473 static const uint8_t test_vector_6_k_4_raw[] = {
6474 	0x13, 0x2b, 0x45, 0xae, 0x0e, 0xa5, 0x9f, 0xef,
6475 	0x2f, 0xca, 0x90, 0x4c, 0x16, 0x81, 0x88, 0xfa};
6476 static const uint8_t test_vector_6_info_iv_4[] = {
6477 	0x09, 0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60,
6478 	0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea,
6479 	0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d,
6480 	0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84,
6481 	0x4a, 0x28, 0xd0, 0x0d};
6482 static const uint8_t test_vector_6_iv_4_raw[] = {
6483 	0xf1, 0x11, 0x17, 0xb9, 0x6a, 0xfa, 0x16, 0x70,
6484 	0xd1, 0xab, 0x91, 0xa3, 0x01};
6485 static const uint8_t test_vector_6_ciphertext_4_raw[] = {
6486 	0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b, 0x38};
6487 static const uint8_t test_vector_6_ciphertext_4[] = {
6488 	0x48, 0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b,
6489 	0x38};
6490 static const uint8_t test_vector_6_message_4[] = {
6491 	0x48, 0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b,
6492 	0x38};
6493 static const uint8_t test_vector_6_prk_out[] = {
6494 	0x31, 0xb9, 0xc2, 0x05, 0x96, 0x88, 0x46, 0x0d,
6495 	0xb3, 0xcb, 0xb4, 0x4b, 0xae, 0x07, 0xe2, 0x10,
6496 	0x03, 0xb1, 0x10, 0xa9, 0xb3, 0x86, 0x08, 0xf7,
6497 	0x97, 0xb9, 0xe5, 0x72, 0x7d, 0xff, 0xd2, 0xf6};
6498 static const uint8_t test_vector_6_prk_exporter[] = {
6499 	0x42, 0x1b, 0x7b, 0x5d, 0xb9, 0x67, 0x45, 0x66,
6500 	0x65, 0x40, 0x29, 0xe8, 0x24, 0x82, 0xf0, 0x89,
6501 	0x04, 0xd4, 0x6a, 0x88, 0xf8, 0xcc, 0xd7, 0xdb,
6502 	0x7a, 0x05, 0x7c, 0x20, 0x61, 0x9a, 0x6d, 0xfd};
6503 int32_t test_vector_6_oscore_aead_alg = 10;
6504 int32_t test_vector_6_oscore_hash_alg = -16;
6505 static const uint8_t test_vector_6_client_sender_id_raw[] = {
6506 	0x32};
6507 static const uint8_t test_vector_6_server_sender_id_raw[] = {
6508 	0x37};
6509 static const uint8_t test_vector_6_info_oscore_secret[] = {
6510 	0x00, 0x40, 0x10};
6511 static const uint8_t test_vector_6_oscore_secret_raw[] = {
6512 	0xf3, 0x5f, 0xfb, 0xc4, 0x34, 0x2c, 0x03, 0xf3,
6513 	0x7b, 0x39, 0x99, 0xcb, 0x1d, 0x49, 0x46, 0xf4};
6514 static const uint8_t test_vector_6_info_oscore_salt[] = {
6515 	0x01, 0x40, 0x08};
6516 static const uint8_t test_vector_6_oscore_salt_raw[] = {
6517 	0xff, 0xf4, 0xb5, 0x4e, 0xe5, 0xed, 0xb8, 0xb3};
6518 static const uint8_t test_vector_6_prk_out_updated[] = {
6519 	0xa1, 0x42, 0x3d, 0x34, 0x99, 0x92, 0x96, 0xf8,
6520 	0x48, 0xd4, 0x1c, 0x47, 0xa1, 0x8e, 0xf8, 0x3a,
6521 	0xb4, 0xb0, 0x48, 0x37, 0x17, 0xea, 0x0a, 0xd3,
6522 	0x7d, 0xc6, 0x1c, 0x22, 0xf0, 0x90, 0x84, 0xbd};
6523 static const uint8_t test_vector_6_prk_exporter_update[] = {
6524 	0x1e, 0xf7, 0x17, 0xc5, 0xbe, 0x80, 0x20, 0x62,
6525 	0xe0, 0xd8, 0x69, 0xde, 0x7e, 0x00, 0x60, 0xaf,
6526 	0xe6, 0x3a, 0x73, 0xff, 0xa5, 0xfd, 0x11, 0x74,
6527 	0xbe, 0x9c, 0x61, 0xd6, 0x0d, 0xa4, 0x89, 0xd3};
6528 static const uint8_t test_vector_6_oscore_secret_key_update_raw[] = {
6529 	0x2f, 0xca, 0xd7, 0xa8, 0x0b, 0x45, 0x2e, 0x75,
6530 	0x49, 0xde, 0x7c, 0x04, 0x5e, 0x5e, 0x25, 0xbc};
6531 static const uint8_t test_vector_6_oscore_salt_key_update_raw[] = {
6532 	0xde, 0x3d, 0x21, 0xa9, 0x28, 0x31, 0x8c, 0x50};
6533 
6534 
6535 struct test_vector test_vectors[] = {
6536 
6537 /*--------------- test_vector_1 ------------*/
6538 
6539 	{
6540         .method = test_vector_1_method,
6541         .method_len = sizeof(test_vector_1_method),
6542 
6543         .SUITES_I = test_vector_1_SUITES_I,
6544         .SUITES_I_len = sizeof(test_vector_1_SUITES_I),
6545 
6546         .SUITES_R = test_vector_1_SUITES_R,
6547         .SUITES_R_len = sizeof(test_vector_1_SUITES_R),
6548 
6549         .x_raw = test_vector_1_x_raw,
6550         .x_raw_len = sizeof(test_vector_1_x_raw),
6551 
6552         .g_x_raw = test_vector_1_g_x_raw,
6553         .g_x_raw_len = sizeof(test_vector_1_g_x_raw),
6554 
6555         .g_x = test_vector_1_g_x,
6556         .g_x_len = sizeof(test_vector_1_g_x),
6557 
6558         .c_i = test_vector_1_c_i,
6559         .c_i_len = sizeof(test_vector_1_c_i),
6560 
6561         .ead_1 = test_vector_1_ead_1,
6562         .ead_1_len = sizeof(test_vector_1_ead_1),
6563 
6564         .message_1 = test_vector_1_message_1,
6565         .message_1_len = sizeof(test_vector_1_message_1),
6566 
6567         .y_raw = test_vector_1_y_raw,
6568         .y_raw_len = sizeof(test_vector_1_y_raw),
6569 
6570         .g_y_raw = test_vector_1_g_y_raw,
6571         .g_y_raw_len = sizeof(test_vector_1_g_y_raw),
6572 
6573         .g_y = test_vector_1_g_y,
6574         .g_y_len = sizeof(test_vector_1_g_y),
6575 
6576         .g_xy_raw = test_vector_1_g_xy_raw,
6577         .g_xy_raw_len = sizeof(test_vector_1_g_xy_raw),
6578 
6579         .salt_raw = test_vector_1_salt_raw,
6580         .salt_raw_len = sizeof(test_vector_1_salt_raw),
6581 
6582         .prk_2e_raw = test_vector_1_prk_2e_raw,
6583         .prk_2e_raw_len = sizeof(test_vector_1_prk_2e_raw),
6584 
6585         .sk_r_raw = test_vector_1_sk_r_raw,
6586         .sk_r_raw_len = sizeof(test_vector_1_sk_r_raw),
6587 
6588         .pk_r_raw = test_vector_1_pk_r_raw,
6589         .pk_r_raw_len = sizeof(test_vector_1_pk_r_raw),
6590 
6591         .prk_3e2m_raw = test_vector_1_prk_3e2m_raw,
6592         .prk_3e2m_raw_len = sizeof(test_vector_1_prk_3e2m_raw),
6593 
6594         .c_r = test_vector_1_c_r,
6595         .c_r_len = sizeof(test_vector_1_c_r),
6596 
6597         .h_message_1_raw = test_vector_1_h_message_1_raw,
6598         .h_message_1_raw_len = sizeof(test_vector_1_h_message_1_raw),
6599 
6600         .h_message_1 = test_vector_1_h_message_1,
6601         .h_message_1_len = sizeof(test_vector_1_h_message_1),
6602 
6603         .input_th_2 = test_vector_1_input_th_2,
6604         .input_th_2_len = sizeof(test_vector_1_input_th_2),
6605 
6606         .th_2_raw = test_vector_1_th_2_raw,
6607         .th_2_raw_len = sizeof(test_vector_1_th_2_raw),
6608 
6609         .th_2 = test_vector_1_th_2,
6610         .th_2_len = sizeof(test_vector_1_th_2),
6611 
6612         .id_cred_r = test_vector_1_id_cred_r,
6613         .id_cred_r_len = sizeof(test_vector_1_id_cred_r),
6614 
6615         .cred_r = test_vector_1_cred_r,
6616         .cred_r_len = sizeof(test_vector_1_cred_r),
6617 
6618         .ead_2 = test_vector_1_ead_2,
6619         .ead_2_len = sizeof(test_vector_1_ead_2),
6620 
6621         .info_mac_2 = test_vector_1_info_mac_2,
6622         .info_mac_2_len = sizeof(test_vector_1_info_mac_2),
6623 
6624         .mac_2_raw = test_vector_1_mac_2_raw,
6625         .mac_2_raw_len = sizeof(test_vector_1_mac_2_raw),
6626 
6627         .mac_2 = test_vector_1_mac_2,
6628         .mac_2_len = sizeof(test_vector_1_mac_2),
6629 
6630         .m_2 = test_vector_1_m_2,
6631         .m_2_len = sizeof(test_vector_1_m_2),
6632 
6633         .sig_or_mac_2_raw = test_vector_1_sig_or_mac_2_raw,
6634         .sig_or_mac_2_raw_len = sizeof(test_vector_1_sig_or_mac_2_raw),
6635 
6636         .sig_or_mac_2 = test_vector_1_sig_or_mac_2,
6637         .sig_or_mac_2_len = sizeof(test_vector_1_sig_or_mac_2),
6638 
6639         .plaintext_2 = test_vector_1_plaintext_2,
6640         .plaintext_2_len = sizeof(test_vector_1_plaintext_2),
6641 
6642         .info_keystream_2 = test_vector_1_info_keystream_2,
6643         .info_keystream_2_len = sizeof(test_vector_1_info_keystream_2),
6644 
6645         .keystream_2_raw = test_vector_1_keystream_2_raw,
6646         .keystream_2_raw_len = sizeof(test_vector_1_keystream_2_raw),
6647 
6648         .ciphertext_2_raw = test_vector_1_ciphertext_2_raw,
6649         .ciphertext_2_raw_len = sizeof(test_vector_1_ciphertext_2_raw),
6650 
6651         .ciphertext_2 = test_vector_1_ciphertext_2,
6652         .ciphertext_2_len = sizeof(test_vector_1_ciphertext_2),
6653 
6654         .message_2 = test_vector_1_message_2,
6655         .message_2_len = sizeof(test_vector_1_message_2),
6656 
6657         .sk_i_raw = test_vector_1_sk_i_raw,
6658         .sk_i_raw_len = sizeof(test_vector_1_sk_i_raw),
6659 
6660         .pk_i_raw = test_vector_1_pk_i_raw,
6661         .pk_i_raw_len = sizeof(test_vector_1_pk_i_raw),
6662 
6663         .prk_4x3m_raw = NULL,
6664         .prk_4x3m_raw_len = 0,
6665 
6666         .input_TH_3 = test_vector_1_input_TH_3,
6667         .input_TH_3_len = sizeof(test_vector_1_input_TH_3),
6668 
6669         .th_3_raw = test_vector_1_th_3_raw,
6670         .th_3_raw_len = sizeof(test_vector_1_th_3_raw),
6671 
6672         .th_3 = test_vector_1_th_3,
6673         .th_3_len = sizeof(test_vector_1_th_3),
6674 
6675         .id_cred_i = test_vector_1_id_cred_i,
6676         .id_cred_i_len = sizeof(test_vector_1_id_cred_i),
6677 
6678         .cred_i = test_vector_1_cred_i,
6679         .cred_i_len = sizeof(test_vector_1_cred_i),
6680 
6681         .ead_3 = test_vector_1_ead_3,
6682         .ead_3_len = sizeof(test_vector_1_ead_3),
6683 
6684         .info_mac_3 = test_vector_1_info_mac_3,
6685         .info_mac_3_len = sizeof(test_vector_1_info_mac_3),
6686 
6687         .mac_3_raw = test_vector_1_mac_3_raw,
6688         .mac_3_raw_len = sizeof(test_vector_1_mac_3_raw),
6689 
6690         .mac_3 = test_vector_1_mac_3,
6691         .mac_3_len = sizeof(test_vector_1_mac_3),
6692 
6693         .m_3 = test_vector_1_m_3,
6694         .m_3_len = sizeof(test_vector_1_m_3),
6695 
6696         .sig_or_mac_3_raw = test_vector_1_sig_or_mac_3_raw,
6697         .sig_or_mac_3_raw_len = sizeof(test_vector_1_sig_or_mac_3_raw),
6698 
6699         .sig_or_mac_3 = test_vector_1_sig_or_mac_3,
6700         .sig_or_mac_3_len = sizeof(test_vector_1_sig_or_mac_3),
6701 
6702         .p_3 = test_vector_1_p_3,
6703         .p_3_len = sizeof(test_vector_1_p_3),
6704 
6705         .a_3 = test_vector_1_a_3,
6706         .a_3_len = sizeof(test_vector_1_a_3),
6707 
6708         .info_k_3 = test_vector_1_info_k_3,
6709         .info_k_3_len = sizeof(test_vector_1_info_k_3),
6710 
6711         .k_3_raw = test_vector_1_k_3_raw,
6712         .k_3_raw_len = sizeof(test_vector_1_k_3_raw),
6713 
6714         .info_iv_3 = test_vector_1_info_iv_3,
6715         .info_iv_3_len = sizeof(test_vector_1_info_iv_3),
6716 
6717         .iv_3_raw = test_vector_1_iv_3_raw,
6718         .iv_3_raw_len = sizeof(test_vector_1_iv_3_raw),
6719 
6720         .ciphertext_3_raw = test_vector_1_ciphertext_3_raw,
6721         .ciphertext_3_raw_len = sizeof(test_vector_1_ciphertext_3_raw),
6722 
6723         .ciphertext_3 = test_vector_1_ciphertext_3,
6724         .ciphertext_3_len = sizeof(test_vector_1_ciphertext_3),
6725 
6726         .message_3 = test_vector_1_message_3,
6727         .message_3_len = sizeof(test_vector_1_message_3),
6728 
6729         .input_th_4 = test_vector_1_input_th_4,
6730         .input_th_4_len = sizeof(test_vector_1_input_th_4),
6731 
6732         .th_4_raw = test_vector_1_th_4_raw,
6733         .th_4_raw_len = sizeof(test_vector_1_th_4_raw),
6734 
6735         .th_4 = test_vector_1_th_4,
6736         .th_4_len = sizeof(test_vector_1_th_4),
6737 
6738         .ead_4 = test_vector_1_ead_4,
6739         .ead_4_len = sizeof(test_vector_1_ead_4),
6740 
6741         .p_4 = test_vector_1_p_4,
6742         .p_4_len = sizeof(test_vector_1_p_4),
6743 
6744         .a_4 = test_vector_1_a_4,
6745         .a_4_len = sizeof(test_vector_1_a_4),
6746 
6747         .info_k_4 = test_vector_1_info_k_4,
6748         .info_k_4_len = sizeof(test_vector_1_info_k_4),
6749 
6750         .k_4_raw = test_vector_1_k_4_raw,
6751         .k_4_raw_len = sizeof(test_vector_1_k_4_raw),
6752 
6753         .info_iv_4 = test_vector_1_info_iv_4,
6754         .info_iv_4_len = sizeof(test_vector_1_info_iv_4),
6755 
6756         .iv_4_raw = test_vector_1_iv_4_raw,
6757         .iv_4_raw_len = sizeof(test_vector_1_iv_4_raw),
6758 
6759         .ciphertext_4_raw = test_vector_1_ciphertext_4_raw,
6760         .ciphertext_4_raw_len = sizeof(test_vector_1_ciphertext_4_raw),
6761 
6762         .ciphertext_4 = test_vector_1_ciphertext_4,
6763         .ciphertext_4_len = sizeof(test_vector_1_ciphertext_4),
6764 
6765         .message_4 = test_vector_1_message_4,
6766         .message_4_len = sizeof(test_vector_1_message_4),
6767 
6768         .oscore_aead_alg = &test_vector_1_oscore_aead_alg,
6769 
6770         .oscore_hash_alg = &test_vector_1_oscore_hash_alg,
6771 
6772         .client_sender_id_raw = test_vector_1_client_sender_id_raw,
6773         .client_sender_id_raw_len = sizeof(test_vector_1_client_sender_id_raw),
6774 
6775         .server_sender_id_raw = test_vector_1_server_sender_id_raw,
6776         .server_sender_id_raw_len = sizeof(test_vector_1_server_sender_id_raw),
6777 
6778         .info_oscore_secret = test_vector_1_info_oscore_secret,
6779         .info_oscore_secret_len = sizeof(test_vector_1_info_oscore_secret),
6780 
6781         .oscore_secret_raw = test_vector_1_oscore_secret_raw,
6782         .oscore_secret_raw_len = sizeof(test_vector_1_oscore_secret_raw),
6783 
6784         .info_oscore_salt = test_vector_1_info_oscore_salt,
6785         .info_oscore_salt_len = sizeof(test_vector_1_info_oscore_salt),
6786 
6787         .oscore_salt_raw = test_vector_1_oscore_salt_raw,
6788         .oscore_salt_raw_len = sizeof(test_vector_1_oscore_salt_raw),
6789 
6790         .key_update_nonce_raw = NULL,
6791         .key_update_nonce_raw_len = 0,
6792 
6793         .prk_4x3m_key_update_raw = NULL,
6794         .prk_4x3m_key_update_raw_len = 0,
6795 
6796         .oscore_secret_key_update_raw = test_vector_1_oscore_secret_key_update_raw,
6797         .oscore_secret_key_update_raw_len = sizeof(test_vector_1_oscore_secret_key_update_raw),
6798 
6799         .oscore_salt_key_update_raw = test_vector_1_oscore_salt_key_update_raw,
6800         .oscore_salt_key_update_raw_len = sizeof(test_vector_1_oscore_salt_key_update_raw),
6801 
6802         .ca_r = test_vector_1_ca_r,
6803         .ca_r_len = sizeof(test_vector_1_ca_r),
6804 
6805         .ca_i = test_vector_1_ca_i,
6806         .ca_i_len = sizeof(test_vector_1_ca_i),
6807 
6808         .ca_r_pk = test_vector_1_ca_r_pk,
6809         .ca_r_pk_len = sizeof(test_vector_1_ca_r_pk),
6810 
6811         .ca_i_pk = test_vector_1_ca_i_pk,
6812         .ca_i_pk_len = sizeof(test_vector_1_ca_i_pk),
6813 
6814         .i_raw = NULL,
6815         .i_raw_len = 0,
6816 
6817         .g_i_raw = NULL,
6818         .g_i_raw_len = 0,
6819 
6820         .r_raw = NULL,
6821         .r_raw_len = 0,
6822 
6823         .g_r_raw = NULL,
6824         .g_r_raw_len = 0,
6825 
6826         .c_i_raw = NULL,
6827         .c_i_raw_len = 0,
6828         .c_i_raw_int =  &test_vector_1_c_i_raw,
6829 
6830         .c_r_raw = NULL,
6831         .c_r_raw_len = 0,
6832         .c_r_raw_int =  &test_vector_1_c_r_raw,
6833 	},
6834 /*--------------- test_vector_2 ------------*/
6835 
6836 	{
6837         .method = test_vector_2_method,
6838         .method_len = sizeof(test_vector_2_method),
6839 
6840         .SUITES_I = test_vector_2_SUITES_I,
6841         .SUITES_I_len = sizeof(test_vector_2_SUITES_I),
6842 
6843         .SUITES_R = test_vector_2_SUITES_R,
6844         .SUITES_R_len = sizeof(test_vector_2_SUITES_R),
6845 
6846         .x_raw = test_vector_2_x_raw,
6847         .x_raw_len = sizeof(test_vector_2_x_raw),
6848 
6849         .g_x_raw = test_vector_2_g_x_raw,
6850         .g_x_raw_len = sizeof(test_vector_2_g_x_raw),
6851 
6852         .g_x = test_vector_2_g_x,
6853         .g_x_len = sizeof(test_vector_2_g_x),
6854 
6855         .c_i = test_vector_2_c_i,
6856         .c_i_len = sizeof(test_vector_2_c_i),
6857 
6858         .ead_1 = test_vector_2_ead_1,
6859         .ead_1_len = sizeof(test_vector_2_ead_1),
6860 
6861         .message_1 = test_vector_2_message_1,
6862         .message_1_len = sizeof(test_vector_2_message_1),
6863 
6864         .y_raw = test_vector_2_y_raw,
6865         .y_raw_len = sizeof(test_vector_2_y_raw),
6866 
6867         .g_y_raw = test_vector_2_g_y_raw,
6868         .g_y_raw_len = sizeof(test_vector_2_g_y_raw),
6869 
6870         .g_y = test_vector_2_g_y,
6871         .g_y_len = sizeof(test_vector_2_g_y),
6872 
6873         .g_xy_raw = test_vector_2_g_xy_raw,
6874         .g_xy_raw_len = sizeof(test_vector_2_g_xy_raw),
6875 
6876         .salt_raw = test_vector_2_salt_raw,
6877         .salt_raw_len = sizeof(test_vector_2_salt_raw),
6878 
6879         .prk_2e_raw = test_vector_2_prk_2e_raw,
6880         .prk_2e_raw_len = sizeof(test_vector_2_prk_2e_raw),
6881 
6882         .sk_r_raw = test_vector_2_sk_r_raw,
6883         .sk_r_raw_len = sizeof(test_vector_2_sk_r_raw),
6884 
6885         .pk_r_raw = test_vector_2_pk_r_raw,
6886         .pk_r_raw_len = sizeof(test_vector_2_pk_r_raw),
6887 
6888         .prk_3e2m_raw = test_vector_2_prk_3e2m_raw,
6889         .prk_3e2m_raw_len = sizeof(test_vector_2_prk_3e2m_raw),
6890 
6891         .c_r = test_vector_2_c_r,
6892         .c_r_len = sizeof(test_vector_2_c_r),
6893 
6894         .h_message_1_raw = test_vector_2_h_message_1_raw,
6895         .h_message_1_raw_len = sizeof(test_vector_2_h_message_1_raw),
6896 
6897         .h_message_1 = test_vector_2_h_message_1,
6898         .h_message_1_len = sizeof(test_vector_2_h_message_1),
6899 
6900         .input_th_2 = test_vector_2_input_th_2,
6901         .input_th_2_len = sizeof(test_vector_2_input_th_2),
6902 
6903         .th_2_raw = test_vector_2_th_2_raw,
6904         .th_2_raw_len = sizeof(test_vector_2_th_2_raw),
6905 
6906         .th_2 = test_vector_2_th_2,
6907         .th_2_len = sizeof(test_vector_2_th_2),
6908 
6909         .id_cred_r = test_vector_2_id_cred_r,
6910         .id_cred_r_len = sizeof(test_vector_2_id_cred_r),
6911 
6912         .cred_r = test_vector_2_cred_r,
6913         .cred_r_len = sizeof(test_vector_2_cred_r),
6914 
6915         .ead_2 = test_vector_2_ead_2,
6916         .ead_2_len = sizeof(test_vector_2_ead_2),
6917 
6918         .info_mac_2 = test_vector_2_info_mac_2,
6919         .info_mac_2_len = sizeof(test_vector_2_info_mac_2),
6920 
6921         .mac_2_raw = test_vector_2_mac_2_raw,
6922         .mac_2_raw_len = sizeof(test_vector_2_mac_2_raw),
6923 
6924         .mac_2 = test_vector_2_mac_2,
6925         .mac_2_len = sizeof(test_vector_2_mac_2),
6926 
6927         .m_2 = test_vector_2_m_2,
6928         .m_2_len = sizeof(test_vector_2_m_2),
6929 
6930         .sig_or_mac_2_raw = test_vector_2_sig_or_mac_2_raw,
6931         .sig_or_mac_2_raw_len = sizeof(test_vector_2_sig_or_mac_2_raw),
6932 
6933         .sig_or_mac_2 = test_vector_2_sig_or_mac_2,
6934         .sig_or_mac_2_len = sizeof(test_vector_2_sig_or_mac_2),
6935 
6936         .plaintext_2 = test_vector_2_plaintext_2,
6937         .plaintext_2_len = sizeof(test_vector_2_plaintext_2),
6938 
6939         .info_keystream_2 = test_vector_2_info_keystream_2,
6940         .info_keystream_2_len = sizeof(test_vector_2_info_keystream_2),
6941 
6942         .keystream_2_raw = test_vector_2_keystream_2_raw,
6943         .keystream_2_raw_len = sizeof(test_vector_2_keystream_2_raw),
6944 
6945         .ciphertext_2_raw = test_vector_2_ciphertext_2_raw,
6946         .ciphertext_2_raw_len = sizeof(test_vector_2_ciphertext_2_raw),
6947 
6948         .ciphertext_2 = test_vector_2_ciphertext_2,
6949         .ciphertext_2_len = sizeof(test_vector_2_ciphertext_2),
6950 
6951         .message_2 = test_vector_2_message_2,
6952         .message_2_len = sizeof(test_vector_2_message_2),
6953 
6954         .sk_i_raw = test_vector_2_sk_i_raw,
6955         .sk_i_raw_len = sizeof(test_vector_2_sk_i_raw),
6956 
6957         .pk_i_raw = test_vector_2_pk_i_raw,
6958         .pk_i_raw_len = sizeof(test_vector_2_pk_i_raw),
6959 
6960         .prk_4x3m_raw = NULL,
6961         .prk_4x3m_raw_len = 0,
6962 
6963         .input_TH_3 = test_vector_2_input_TH_3,
6964         .input_TH_3_len = sizeof(test_vector_2_input_TH_3),
6965 
6966         .th_3_raw = test_vector_2_th_3_raw,
6967         .th_3_raw_len = sizeof(test_vector_2_th_3_raw),
6968 
6969         .th_3 = test_vector_2_th_3,
6970         .th_3_len = sizeof(test_vector_2_th_3),
6971 
6972         .id_cred_i = test_vector_2_id_cred_i,
6973         .id_cred_i_len = sizeof(test_vector_2_id_cred_i),
6974 
6975         .cred_i = test_vector_2_cred_i,
6976         .cred_i_len = sizeof(test_vector_2_cred_i),
6977 
6978         .ead_3 = test_vector_2_ead_3,
6979         .ead_3_len = sizeof(test_vector_2_ead_3),
6980 
6981         .info_mac_3 = test_vector_2_info_mac_3,
6982         .info_mac_3_len = sizeof(test_vector_2_info_mac_3),
6983 
6984         .mac_3_raw = test_vector_2_mac_3_raw,
6985         .mac_3_raw_len = sizeof(test_vector_2_mac_3_raw),
6986 
6987         .mac_3 = test_vector_2_mac_3,
6988         .mac_3_len = sizeof(test_vector_2_mac_3),
6989 
6990         .m_3 = test_vector_2_m_3,
6991         .m_3_len = sizeof(test_vector_2_m_3),
6992 
6993         .sig_or_mac_3_raw = test_vector_2_sig_or_mac_3_raw,
6994         .sig_or_mac_3_raw_len = sizeof(test_vector_2_sig_or_mac_3_raw),
6995 
6996         .sig_or_mac_3 = test_vector_2_sig_or_mac_3,
6997         .sig_or_mac_3_len = sizeof(test_vector_2_sig_or_mac_3),
6998 
6999         .p_3 = test_vector_2_p_3,
7000         .p_3_len = sizeof(test_vector_2_p_3),
7001 
7002         .a_3 = test_vector_2_a_3,
7003         .a_3_len = sizeof(test_vector_2_a_3),
7004 
7005         .info_k_3 = test_vector_2_info_k_3,
7006         .info_k_3_len = sizeof(test_vector_2_info_k_3),
7007 
7008         .k_3_raw = test_vector_2_k_3_raw,
7009         .k_3_raw_len = sizeof(test_vector_2_k_3_raw),
7010 
7011         .info_iv_3 = test_vector_2_info_iv_3,
7012         .info_iv_3_len = sizeof(test_vector_2_info_iv_3),
7013 
7014         .iv_3_raw = test_vector_2_iv_3_raw,
7015         .iv_3_raw_len = sizeof(test_vector_2_iv_3_raw),
7016 
7017         .ciphertext_3_raw = test_vector_2_ciphertext_3_raw,
7018         .ciphertext_3_raw_len = sizeof(test_vector_2_ciphertext_3_raw),
7019 
7020         .ciphertext_3 = test_vector_2_ciphertext_3,
7021         .ciphertext_3_len = sizeof(test_vector_2_ciphertext_3),
7022 
7023         .message_3 = test_vector_2_message_3,
7024         .message_3_len = sizeof(test_vector_2_message_3),
7025 
7026         .input_th_4 = test_vector_2_input_th_4,
7027         .input_th_4_len = sizeof(test_vector_2_input_th_4),
7028 
7029         .th_4_raw = test_vector_2_th_4_raw,
7030         .th_4_raw_len = sizeof(test_vector_2_th_4_raw),
7031 
7032         .th_4 = test_vector_2_th_4,
7033         .th_4_len = sizeof(test_vector_2_th_4),
7034 
7035         .ead_4 = test_vector_2_ead_4,
7036         .ead_4_len = sizeof(test_vector_2_ead_4),
7037 
7038         .p_4 = test_vector_2_p_4,
7039         .p_4_len = sizeof(test_vector_2_p_4),
7040 
7041         .a_4 = test_vector_2_a_4,
7042         .a_4_len = sizeof(test_vector_2_a_4),
7043 
7044         .info_k_4 = test_vector_2_info_k_4,
7045         .info_k_4_len = sizeof(test_vector_2_info_k_4),
7046 
7047         .k_4_raw = test_vector_2_k_4_raw,
7048         .k_4_raw_len = sizeof(test_vector_2_k_4_raw),
7049 
7050         .info_iv_4 = test_vector_2_info_iv_4,
7051         .info_iv_4_len = sizeof(test_vector_2_info_iv_4),
7052 
7053         .iv_4_raw = test_vector_2_iv_4_raw,
7054         .iv_4_raw_len = sizeof(test_vector_2_iv_4_raw),
7055 
7056         .ciphertext_4_raw = test_vector_2_ciphertext_4_raw,
7057         .ciphertext_4_raw_len = sizeof(test_vector_2_ciphertext_4_raw),
7058 
7059         .ciphertext_4 = test_vector_2_ciphertext_4,
7060         .ciphertext_4_len = sizeof(test_vector_2_ciphertext_4),
7061 
7062         .message_4 = test_vector_2_message_4,
7063         .message_4_len = sizeof(test_vector_2_message_4),
7064 
7065         .oscore_aead_alg = &test_vector_2_oscore_aead_alg,
7066 
7067         .oscore_hash_alg = &test_vector_2_oscore_hash_alg,
7068 
7069         .client_sender_id_raw = test_vector_2_client_sender_id_raw,
7070         .client_sender_id_raw_len = sizeof(test_vector_2_client_sender_id_raw),
7071 
7072         .server_sender_id_raw = test_vector_2_server_sender_id_raw,
7073         .server_sender_id_raw_len = sizeof(test_vector_2_server_sender_id_raw),
7074 
7075         .info_oscore_secret = test_vector_2_info_oscore_secret,
7076         .info_oscore_secret_len = sizeof(test_vector_2_info_oscore_secret),
7077 
7078         .oscore_secret_raw = test_vector_2_oscore_secret_raw,
7079         .oscore_secret_raw_len = sizeof(test_vector_2_oscore_secret_raw),
7080 
7081         .info_oscore_salt = test_vector_2_info_oscore_salt,
7082         .info_oscore_salt_len = sizeof(test_vector_2_info_oscore_salt),
7083 
7084         .oscore_salt_raw = test_vector_2_oscore_salt_raw,
7085         .oscore_salt_raw_len = sizeof(test_vector_2_oscore_salt_raw),
7086 
7087         .key_update_nonce_raw = NULL,
7088         .key_update_nonce_raw_len = 0,
7089 
7090         .prk_4x3m_key_update_raw = NULL,
7091         .prk_4x3m_key_update_raw_len = 0,
7092 
7093         .oscore_secret_key_update_raw = test_vector_2_oscore_secret_key_update_raw,
7094         .oscore_secret_key_update_raw_len = sizeof(test_vector_2_oscore_secret_key_update_raw),
7095 
7096         .oscore_salt_key_update_raw = test_vector_2_oscore_salt_key_update_raw,
7097         .oscore_salt_key_update_raw_len = sizeof(test_vector_2_oscore_salt_key_update_raw),
7098 
7099         .ca_r = test_vector_2_ca_r,
7100         .ca_r_len = sizeof(test_vector_2_ca_r),
7101 
7102         .ca_i = test_vector_2_ca_i,
7103         .ca_i_len = sizeof(test_vector_2_ca_i),
7104 
7105         .ca_r_pk = test_vector_2_ca_r_pk,
7106         .ca_r_pk_len = sizeof(test_vector_2_ca_r_pk),
7107 
7108         .ca_i_pk = test_vector_2_ca_i_pk,
7109         .ca_i_pk_len = sizeof(test_vector_2_ca_i_pk),
7110 
7111         .i_raw = NULL,
7112         .i_raw_len = 0,
7113 
7114         .g_i_raw = NULL,
7115         .g_i_raw_len = 0,
7116 
7117         .r_raw = NULL,
7118         .r_raw_len = 0,
7119 
7120         .g_r_raw = NULL,
7121         .g_r_raw_len = 0,
7122 
7123         .c_i_raw = NULL,
7124         .c_i_raw_len = 0,
7125         .c_i_raw_int =  &test_vector_2_c_i_raw,
7126 
7127         .c_r_raw = NULL,
7128         .c_r_raw_len = 0,
7129         .c_r_raw_int =  &test_vector_2_c_r_raw,
7130 	},
7131 /*--------------- test_vector_3 ------------*/
7132 
7133 	{
7134         .method = test_vector_3_method,
7135         .method_len = sizeof(test_vector_3_method),
7136 
7137         .SUITES_I = test_vector_3_SUITES_I,
7138         .SUITES_I_len = sizeof(test_vector_3_SUITES_I),
7139 
7140         .SUITES_R = test_vector_3_SUITES_R,
7141         .SUITES_R_len = sizeof(test_vector_3_SUITES_R),
7142 
7143         .x_raw = test_vector_3_x_raw,
7144         .x_raw_len = sizeof(test_vector_3_x_raw),
7145 
7146         .g_x_raw = test_vector_3_g_x_raw,
7147         .g_x_raw_len = sizeof(test_vector_3_g_x_raw),
7148 
7149         .g_x = test_vector_3_g_x,
7150         .g_x_len = sizeof(test_vector_3_g_x),
7151 
7152         .c_i = test_vector_3_c_i,
7153         .c_i_len = sizeof(test_vector_3_c_i),
7154 
7155         .ead_1 = test_vector_3_ead_1,
7156         .ead_1_len = sizeof(test_vector_3_ead_1),
7157 
7158         .message_1 = test_vector_3_message_1,
7159         .message_1_len = sizeof(test_vector_3_message_1),
7160 
7161         .y_raw = test_vector_3_y_raw,
7162         .y_raw_len = sizeof(test_vector_3_y_raw),
7163 
7164         .g_y_raw = test_vector_3_g_y_raw,
7165         .g_y_raw_len = sizeof(test_vector_3_g_y_raw),
7166 
7167         .g_y = test_vector_3_g_y,
7168         .g_y_len = sizeof(test_vector_3_g_y),
7169 
7170         .g_xy_raw = test_vector_3_g_xy_raw,
7171         .g_xy_raw_len = sizeof(test_vector_3_g_xy_raw),
7172 
7173         .salt_raw = test_vector_3_salt_raw,
7174         .salt_raw_len = sizeof(test_vector_3_salt_raw),
7175 
7176         .prk_2e_raw = test_vector_3_prk_2e_raw,
7177         .prk_2e_raw_len = sizeof(test_vector_3_prk_2e_raw),
7178 
7179         .sk_r_raw = test_vector_3_sk_r_raw,
7180         .sk_r_raw_len = sizeof(test_vector_3_sk_r_raw),
7181 
7182         .pk_r_raw = test_vector_3_pk_r_raw,
7183         .pk_r_raw_len = sizeof(test_vector_3_pk_r_raw),
7184 
7185         .prk_3e2m_raw = test_vector_3_prk_3e2m_raw,
7186         .prk_3e2m_raw_len = sizeof(test_vector_3_prk_3e2m_raw),
7187 
7188         .c_r = test_vector_3_c_r,
7189         .c_r_len = sizeof(test_vector_3_c_r),
7190 
7191         .h_message_1_raw = test_vector_3_h_message_1_raw,
7192         .h_message_1_raw_len = sizeof(test_vector_3_h_message_1_raw),
7193 
7194         .h_message_1 = test_vector_3_h_message_1,
7195         .h_message_1_len = sizeof(test_vector_3_h_message_1),
7196 
7197         .input_th_2 = test_vector_3_input_th_2,
7198         .input_th_2_len = sizeof(test_vector_3_input_th_2),
7199 
7200         .th_2_raw = test_vector_3_th_2_raw,
7201         .th_2_raw_len = sizeof(test_vector_3_th_2_raw),
7202 
7203         .th_2 = test_vector_3_th_2,
7204         .th_2_len = sizeof(test_vector_3_th_2),
7205 
7206         .id_cred_r = test_vector_3_id_cred_r,
7207         .id_cred_r_len = sizeof(test_vector_3_id_cred_r),
7208 
7209         .cred_r = test_vector_3_cred_r,
7210         .cred_r_len = sizeof(test_vector_3_cred_r),
7211 
7212         .ead_2 = test_vector_3_ead_2,
7213         .ead_2_len = sizeof(test_vector_3_ead_2),
7214 
7215         .info_mac_2 = test_vector_3_info_mac_2,
7216         .info_mac_2_len = sizeof(test_vector_3_info_mac_2),
7217 
7218         .mac_2_raw = test_vector_3_mac_2_raw,
7219         .mac_2_raw_len = sizeof(test_vector_3_mac_2_raw),
7220 
7221         .mac_2 = test_vector_3_mac_2,
7222         .mac_2_len = sizeof(test_vector_3_mac_2),
7223 
7224         .m_2 = test_vector_3_m_2,
7225         .m_2_len = sizeof(test_vector_3_m_2),
7226 
7227         .sig_or_mac_2_raw = test_vector_3_sig_or_mac_2_raw,
7228         .sig_or_mac_2_raw_len = sizeof(test_vector_3_sig_or_mac_2_raw),
7229 
7230         .sig_or_mac_2 = test_vector_3_sig_or_mac_2,
7231         .sig_or_mac_2_len = sizeof(test_vector_3_sig_or_mac_2),
7232 
7233         .plaintext_2 = test_vector_3_plaintext_2,
7234         .plaintext_2_len = sizeof(test_vector_3_plaintext_2),
7235 
7236         .info_keystream_2 = test_vector_3_info_keystream_2,
7237         .info_keystream_2_len = sizeof(test_vector_3_info_keystream_2),
7238 
7239         .keystream_2_raw = test_vector_3_keystream_2_raw,
7240         .keystream_2_raw_len = sizeof(test_vector_3_keystream_2_raw),
7241 
7242         .ciphertext_2_raw = test_vector_3_ciphertext_2_raw,
7243         .ciphertext_2_raw_len = sizeof(test_vector_3_ciphertext_2_raw),
7244 
7245         .ciphertext_2 = test_vector_3_ciphertext_2,
7246         .ciphertext_2_len = sizeof(test_vector_3_ciphertext_2),
7247 
7248         .message_2 = test_vector_3_message_2,
7249         .message_2_len = sizeof(test_vector_3_message_2),
7250 
7251         .sk_i_raw = test_vector_3_sk_i_raw,
7252         .sk_i_raw_len = sizeof(test_vector_3_sk_i_raw),
7253 
7254         .pk_i_raw = test_vector_3_pk_i_raw,
7255         .pk_i_raw_len = sizeof(test_vector_3_pk_i_raw),
7256 
7257         .prk_4x3m_raw = NULL,
7258         .prk_4x3m_raw_len = 0,
7259 
7260         .input_TH_3 = test_vector_3_input_TH_3,
7261         .input_TH_3_len = sizeof(test_vector_3_input_TH_3),
7262 
7263         .th_3_raw = test_vector_3_th_3_raw,
7264         .th_3_raw_len = sizeof(test_vector_3_th_3_raw),
7265 
7266         .th_3 = test_vector_3_th_3,
7267         .th_3_len = sizeof(test_vector_3_th_3),
7268 
7269         .id_cred_i = test_vector_3_id_cred_i,
7270         .id_cred_i_len = sizeof(test_vector_3_id_cred_i),
7271 
7272         .cred_i = test_vector_3_cred_i,
7273         .cred_i_len = sizeof(test_vector_3_cred_i),
7274 
7275         .ead_3 = test_vector_3_ead_3,
7276         .ead_3_len = sizeof(test_vector_3_ead_3),
7277 
7278         .info_mac_3 = test_vector_3_info_mac_3,
7279         .info_mac_3_len = sizeof(test_vector_3_info_mac_3),
7280 
7281         .mac_3_raw = test_vector_3_mac_3_raw,
7282         .mac_3_raw_len = sizeof(test_vector_3_mac_3_raw),
7283 
7284         .mac_3 = test_vector_3_mac_3,
7285         .mac_3_len = sizeof(test_vector_3_mac_3),
7286 
7287         .m_3 = test_vector_3_m_3,
7288         .m_3_len = sizeof(test_vector_3_m_3),
7289 
7290         .sig_or_mac_3_raw = test_vector_3_sig_or_mac_3_raw,
7291         .sig_or_mac_3_raw_len = sizeof(test_vector_3_sig_or_mac_3_raw),
7292 
7293         .sig_or_mac_3 = test_vector_3_sig_or_mac_3,
7294         .sig_or_mac_3_len = sizeof(test_vector_3_sig_or_mac_3),
7295 
7296         .p_3 = test_vector_3_p_3,
7297         .p_3_len = sizeof(test_vector_3_p_3),
7298 
7299         .a_3 = test_vector_3_a_3,
7300         .a_3_len = sizeof(test_vector_3_a_3),
7301 
7302         .info_k_3 = test_vector_3_info_k_3,
7303         .info_k_3_len = sizeof(test_vector_3_info_k_3),
7304 
7305         .k_3_raw = test_vector_3_k_3_raw,
7306         .k_3_raw_len = sizeof(test_vector_3_k_3_raw),
7307 
7308         .info_iv_3 = test_vector_3_info_iv_3,
7309         .info_iv_3_len = sizeof(test_vector_3_info_iv_3),
7310 
7311         .iv_3_raw = test_vector_3_iv_3_raw,
7312         .iv_3_raw_len = sizeof(test_vector_3_iv_3_raw),
7313 
7314         .ciphertext_3_raw = test_vector_3_ciphertext_3_raw,
7315         .ciphertext_3_raw_len = sizeof(test_vector_3_ciphertext_3_raw),
7316 
7317         .ciphertext_3 = test_vector_3_ciphertext_3,
7318         .ciphertext_3_len = sizeof(test_vector_3_ciphertext_3),
7319 
7320         .message_3 = test_vector_3_message_3,
7321         .message_3_len = sizeof(test_vector_3_message_3),
7322 
7323         .input_th_4 = test_vector_3_input_th_4,
7324         .input_th_4_len = sizeof(test_vector_3_input_th_4),
7325 
7326         .th_4_raw = test_vector_3_th_4_raw,
7327         .th_4_raw_len = sizeof(test_vector_3_th_4_raw),
7328 
7329         .th_4 = test_vector_3_th_4,
7330         .th_4_len = sizeof(test_vector_3_th_4),
7331 
7332         .ead_4 = test_vector_3_ead_4,
7333         .ead_4_len = sizeof(test_vector_3_ead_4),
7334 
7335         .p_4 = test_vector_3_p_4,
7336         .p_4_len = sizeof(test_vector_3_p_4),
7337 
7338         .a_4 = test_vector_3_a_4,
7339         .a_4_len = sizeof(test_vector_3_a_4),
7340 
7341         .info_k_4 = test_vector_3_info_k_4,
7342         .info_k_4_len = sizeof(test_vector_3_info_k_4),
7343 
7344         .k_4_raw = test_vector_3_k_4_raw,
7345         .k_4_raw_len = sizeof(test_vector_3_k_4_raw),
7346 
7347         .info_iv_4 = test_vector_3_info_iv_4,
7348         .info_iv_4_len = sizeof(test_vector_3_info_iv_4),
7349 
7350         .iv_4_raw = test_vector_3_iv_4_raw,
7351         .iv_4_raw_len = sizeof(test_vector_3_iv_4_raw),
7352 
7353         .ciphertext_4_raw = test_vector_3_ciphertext_4_raw,
7354         .ciphertext_4_raw_len = sizeof(test_vector_3_ciphertext_4_raw),
7355 
7356         .ciphertext_4 = test_vector_3_ciphertext_4,
7357         .ciphertext_4_len = sizeof(test_vector_3_ciphertext_4),
7358 
7359         .message_4 = test_vector_3_message_4,
7360         .message_4_len = sizeof(test_vector_3_message_4),
7361 
7362         .oscore_aead_alg = &test_vector_3_oscore_aead_alg,
7363 
7364         .oscore_hash_alg = &test_vector_3_oscore_hash_alg,
7365 
7366         .client_sender_id_raw = test_vector_3_client_sender_id_raw,
7367         .client_sender_id_raw_len = sizeof(test_vector_3_client_sender_id_raw),
7368 
7369         .server_sender_id_raw = test_vector_3_server_sender_id_raw,
7370         .server_sender_id_raw_len = sizeof(test_vector_3_server_sender_id_raw),
7371 
7372         .info_oscore_secret = test_vector_3_info_oscore_secret,
7373         .info_oscore_secret_len = sizeof(test_vector_3_info_oscore_secret),
7374 
7375         .oscore_secret_raw = test_vector_3_oscore_secret_raw,
7376         .oscore_secret_raw_len = sizeof(test_vector_3_oscore_secret_raw),
7377 
7378         .info_oscore_salt = test_vector_3_info_oscore_salt,
7379         .info_oscore_salt_len = sizeof(test_vector_3_info_oscore_salt),
7380 
7381         .oscore_salt_raw = test_vector_3_oscore_salt_raw,
7382         .oscore_salt_raw_len = sizeof(test_vector_3_oscore_salt_raw),
7383 
7384         .key_update_nonce_raw = NULL,
7385         .key_update_nonce_raw_len = 0,
7386 
7387         .prk_4x3m_key_update_raw = NULL,
7388         .prk_4x3m_key_update_raw_len = 0,
7389 
7390         .oscore_secret_key_update_raw = test_vector_3_oscore_secret_key_update_raw,
7391         .oscore_secret_key_update_raw_len = sizeof(test_vector_3_oscore_secret_key_update_raw),
7392 
7393         .oscore_salt_key_update_raw = test_vector_3_oscore_salt_key_update_raw,
7394         .oscore_salt_key_update_raw_len = sizeof(test_vector_3_oscore_salt_key_update_raw),
7395 
7396         .ca_r = test_vector_3_ca_r,
7397         .ca_r_len = sizeof(test_vector_3_ca_r),
7398 
7399         .ca_i = test_vector_3_ca_i,
7400         .ca_i_len = sizeof(test_vector_3_ca_i),
7401 
7402         .ca_r_pk = test_vector_3_ca_r_pk,
7403         .ca_r_pk_len = sizeof(test_vector_3_ca_r_pk),
7404 
7405         .ca_i_pk = test_vector_3_ca_i_pk,
7406         .ca_i_pk_len = sizeof(test_vector_3_ca_i_pk),
7407 
7408         .i_raw = NULL,
7409         .i_raw_len = 0,
7410 
7411         .g_i_raw = NULL,
7412         .g_i_raw_len = 0,
7413 
7414         .r_raw = NULL,
7415         .r_raw_len = 0,
7416 
7417         .g_r_raw = NULL,
7418         .g_r_raw_len = 0,
7419 
7420         .c_i_raw = NULL,
7421         .c_i_raw_len = 0,
7422         .c_i_raw_int =  &test_vector_3_c_i_raw,
7423 
7424         .c_r_raw = NULL,
7425         .c_r_raw_len = 0,
7426         .c_r_raw_int =  &test_vector_3_c_r_raw,
7427 	},
7428 /*--------------- test_vector_4 ------------*/
7429 
7430 	{
7431         .method = test_vector_4_method,
7432         .method_len = sizeof(test_vector_4_method),
7433 
7434         .SUITES_I = test_vector_4_SUITES_I,
7435         .SUITES_I_len = sizeof(test_vector_4_SUITES_I),
7436 
7437         .SUITES_R = test_vector_4_SUITES_R,
7438         .SUITES_R_len = sizeof(test_vector_4_SUITES_R),
7439 
7440         .x_raw = test_vector_4_x_raw,
7441         .x_raw_len = sizeof(test_vector_4_x_raw),
7442 
7443         .g_x_raw = test_vector_4_g_x_raw,
7444         .g_x_raw_len = sizeof(test_vector_4_g_x_raw),
7445 
7446         .g_x = test_vector_4_g_x,
7447         .g_x_len = sizeof(test_vector_4_g_x),
7448 
7449         .c_i = test_vector_4_c_i,
7450         .c_i_len = sizeof(test_vector_4_c_i),
7451 
7452         .ead_1 = test_vector_4_ead_1,
7453         .ead_1_len = sizeof(test_vector_4_ead_1),
7454 
7455         .message_1 = test_vector_4_message_1,
7456         .message_1_len = sizeof(test_vector_4_message_1),
7457 
7458         .y_raw = test_vector_4_y_raw,
7459         .y_raw_len = sizeof(test_vector_4_y_raw),
7460 
7461         .g_y_raw = test_vector_4_g_y_raw,
7462         .g_y_raw_len = sizeof(test_vector_4_g_y_raw),
7463 
7464         .g_y = test_vector_4_g_y,
7465         .g_y_len = sizeof(test_vector_4_g_y),
7466 
7467         .g_xy_raw = test_vector_4_g_xy_raw,
7468         .g_xy_raw_len = sizeof(test_vector_4_g_xy_raw),
7469 
7470         .salt_raw = test_vector_4_salt_raw,
7471         .salt_raw_len = sizeof(test_vector_4_salt_raw),
7472 
7473         .prk_2e_raw = test_vector_4_prk_2e_raw,
7474         .prk_2e_raw_len = sizeof(test_vector_4_prk_2e_raw),
7475 
7476         .sk_r_raw = test_vector_4_sk_r_raw,
7477         .sk_r_raw_len = sizeof(test_vector_4_sk_r_raw),
7478 
7479         .pk_r_raw = test_vector_4_pk_r_raw,
7480         .pk_r_raw_len = sizeof(test_vector_4_pk_r_raw),
7481 
7482         .prk_3e2m_raw = test_vector_4_prk_3e2m_raw,
7483         .prk_3e2m_raw_len = sizeof(test_vector_4_prk_3e2m_raw),
7484 
7485         .c_r = test_vector_4_c_r,
7486         .c_r_len = sizeof(test_vector_4_c_r),
7487 
7488         .h_message_1_raw = test_vector_4_h_message_1_raw,
7489         .h_message_1_raw_len = sizeof(test_vector_4_h_message_1_raw),
7490 
7491         .h_message_1 = test_vector_4_h_message_1,
7492         .h_message_1_len = sizeof(test_vector_4_h_message_1),
7493 
7494         .input_th_2 = test_vector_4_input_th_2,
7495         .input_th_2_len = sizeof(test_vector_4_input_th_2),
7496 
7497         .th_2_raw = test_vector_4_th_2_raw,
7498         .th_2_raw_len = sizeof(test_vector_4_th_2_raw),
7499 
7500         .th_2 = test_vector_4_th_2,
7501         .th_2_len = sizeof(test_vector_4_th_2),
7502 
7503         .id_cred_r = test_vector_4_id_cred_r,
7504         .id_cred_r_len = sizeof(test_vector_4_id_cred_r),
7505 
7506         .cred_r = test_vector_4_cred_r,
7507         .cred_r_len = sizeof(test_vector_4_cred_r),
7508 
7509         .ead_2 = test_vector_4_ead_2,
7510         .ead_2_len = sizeof(test_vector_4_ead_2),
7511 
7512         .info_mac_2 = test_vector_4_info_mac_2,
7513         .info_mac_2_len = sizeof(test_vector_4_info_mac_2),
7514 
7515         .mac_2_raw = test_vector_4_mac_2_raw,
7516         .mac_2_raw_len = sizeof(test_vector_4_mac_2_raw),
7517 
7518         .mac_2 = test_vector_4_mac_2,
7519         .mac_2_len = sizeof(test_vector_4_mac_2),
7520 
7521         .m_2 = test_vector_4_m_2,
7522         .m_2_len = sizeof(test_vector_4_m_2),
7523 
7524         .sig_or_mac_2_raw = test_vector_4_sig_or_mac_2_raw,
7525         .sig_or_mac_2_raw_len = sizeof(test_vector_4_sig_or_mac_2_raw),
7526 
7527         .sig_or_mac_2 = test_vector_4_sig_or_mac_2,
7528         .sig_or_mac_2_len = sizeof(test_vector_4_sig_or_mac_2),
7529 
7530         .plaintext_2 = test_vector_4_plaintext_2,
7531         .plaintext_2_len = sizeof(test_vector_4_plaintext_2),
7532 
7533         .info_keystream_2 = test_vector_4_info_keystream_2,
7534         .info_keystream_2_len = sizeof(test_vector_4_info_keystream_2),
7535 
7536         .keystream_2_raw = test_vector_4_keystream_2_raw,
7537         .keystream_2_raw_len = sizeof(test_vector_4_keystream_2_raw),
7538 
7539         .ciphertext_2_raw = test_vector_4_ciphertext_2_raw,
7540         .ciphertext_2_raw_len = sizeof(test_vector_4_ciphertext_2_raw),
7541 
7542         .ciphertext_2 = test_vector_4_ciphertext_2,
7543         .ciphertext_2_len = sizeof(test_vector_4_ciphertext_2),
7544 
7545         .message_2 = test_vector_4_message_2,
7546         .message_2_len = sizeof(test_vector_4_message_2),
7547 
7548         .sk_i_raw = test_vector_4_sk_i_raw,
7549         .sk_i_raw_len = sizeof(test_vector_4_sk_i_raw),
7550 
7551         .pk_i_raw = test_vector_4_pk_i_raw,
7552         .pk_i_raw_len = sizeof(test_vector_4_pk_i_raw),
7553 
7554         .prk_4x3m_raw = NULL,
7555         .prk_4x3m_raw_len = 0,
7556 
7557         .input_TH_3 = test_vector_4_input_TH_3,
7558         .input_TH_3_len = sizeof(test_vector_4_input_TH_3),
7559 
7560         .th_3_raw = test_vector_4_th_3_raw,
7561         .th_3_raw_len = sizeof(test_vector_4_th_3_raw),
7562 
7563         .th_3 = test_vector_4_th_3,
7564         .th_3_len = sizeof(test_vector_4_th_3),
7565 
7566         .id_cred_i = test_vector_4_id_cred_i,
7567         .id_cred_i_len = sizeof(test_vector_4_id_cred_i),
7568 
7569         .cred_i = test_vector_4_cred_i,
7570         .cred_i_len = sizeof(test_vector_4_cred_i),
7571 
7572         .ead_3 = test_vector_4_ead_3,
7573         .ead_3_len = sizeof(test_vector_4_ead_3),
7574 
7575         .info_mac_3 = test_vector_4_info_mac_3,
7576         .info_mac_3_len = sizeof(test_vector_4_info_mac_3),
7577 
7578         .mac_3_raw = test_vector_4_mac_3_raw,
7579         .mac_3_raw_len = sizeof(test_vector_4_mac_3_raw),
7580 
7581         .mac_3 = test_vector_4_mac_3,
7582         .mac_3_len = sizeof(test_vector_4_mac_3),
7583 
7584         .m_3 = test_vector_4_m_3,
7585         .m_3_len = sizeof(test_vector_4_m_3),
7586 
7587         .sig_or_mac_3_raw = test_vector_4_sig_or_mac_3_raw,
7588         .sig_or_mac_3_raw_len = sizeof(test_vector_4_sig_or_mac_3_raw),
7589 
7590         .sig_or_mac_3 = test_vector_4_sig_or_mac_3,
7591         .sig_or_mac_3_len = sizeof(test_vector_4_sig_or_mac_3),
7592 
7593         .p_3 = test_vector_4_p_3,
7594         .p_3_len = sizeof(test_vector_4_p_3),
7595 
7596         .a_3 = test_vector_4_a_3,
7597         .a_3_len = sizeof(test_vector_4_a_3),
7598 
7599         .info_k_3 = test_vector_4_info_k_3,
7600         .info_k_3_len = sizeof(test_vector_4_info_k_3),
7601 
7602         .k_3_raw = test_vector_4_k_3_raw,
7603         .k_3_raw_len = sizeof(test_vector_4_k_3_raw),
7604 
7605         .info_iv_3 = test_vector_4_info_iv_3,
7606         .info_iv_3_len = sizeof(test_vector_4_info_iv_3),
7607 
7608         .iv_3_raw = test_vector_4_iv_3_raw,
7609         .iv_3_raw_len = sizeof(test_vector_4_iv_3_raw),
7610 
7611         .ciphertext_3_raw = test_vector_4_ciphertext_3_raw,
7612         .ciphertext_3_raw_len = sizeof(test_vector_4_ciphertext_3_raw),
7613 
7614         .ciphertext_3 = test_vector_4_ciphertext_3,
7615         .ciphertext_3_len = sizeof(test_vector_4_ciphertext_3),
7616 
7617         .message_3 = test_vector_4_message_3,
7618         .message_3_len = sizeof(test_vector_4_message_3),
7619 
7620         .input_th_4 = test_vector_4_input_th_4,
7621         .input_th_4_len = sizeof(test_vector_4_input_th_4),
7622 
7623         .th_4_raw = test_vector_4_th_4_raw,
7624         .th_4_raw_len = sizeof(test_vector_4_th_4_raw),
7625 
7626         .th_4 = test_vector_4_th_4,
7627         .th_4_len = sizeof(test_vector_4_th_4),
7628 
7629         .ead_4 = test_vector_4_ead_4,
7630         .ead_4_len = sizeof(test_vector_4_ead_4),
7631 
7632         .p_4 = test_vector_4_p_4,
7633         .p_4_len = sizeof(test_vector_4_p_4),
7634 
7635         .a_4 = test_vector_4_a_4,
7636         .a_4_len = sizeof(test_vector_4_a_4),
7637 
7638         .info_k_4 = test_vector_4_info_k_4,
7639         .info_k_4_len = sizeof(test_vector_4_info_k_4),
7640 
7641         .k_4_raw = test_vector_4_k_4_raw,
7642         .k_4_raw_len = sizeof(test_vector_4_k_4_raw),
7643 
7644         .info_iv_4 = test_vector_4_info_iv_4,
7645         .info_iv_4_len = sizeof(test_vector_4_info_iv_4),
7646 
7647         .iv_4_raw = test_vector_4_iv_4_raw,
7648         .iv_4_raw_len = sizeof(test_vector_4_iv_4_raw),
7649 
7650         .ciphertext_4_raw = test_vector_4_ciphertext_4_raw,
7651         .ciphertext_4_raw_len = sizeof(test_vector_4_ciphertext_4_raw),
7652 
7653         .ciphertext_4 = test_vector_4_ciphertext_4,
7654         .ciphertext_4_len = sizeof(test_vector_4_ciphertext_4),
7655 
7656         .message_4 = test_vector_4_message_4,
7657         .message_4_len = sizeof(test_vector_4_message_4),
7658 
7659         .oscore_aead_alg = &test_vector_4_oscore_aead_alg,
7660 
7661         .oscore_hash_alg = &test_vector_4_oscore_hash_alg,
7662 
7663         .client_sender_id_raw = test_vector_4_client_sender_id_raw,
7664         .client_sender_id_raw_len = sizeof(test_vector_4_client_sender_id_raw),
7665 
7666         .server_sender_id_raw = test_vector_4_server_sender_id_raw,
7667         .server_sender_id_raw_len = sizeof(test_vector_4_server_sender_id_raw),
7668 
7669         .info_oscore_secret = test_vector_4_info_oscore_secret,
7670         .info_oscore_secret_len = sizeof(test_vector_4_info_oscore_secret),
7671 
7672         .oscore_secret_raw = test_vector_4_oscore_secret_raw,
7673         .oscore_secret_raw_len = sizeof(test_vector_4_oscore_secret_raw),
7674 
7675         .info_oscore_salt = test_vector_4_info_oscore_salt,
7676         .info_oscore_salt_len = sizeof(test_vector_4_info_oscore_salt),
7677 
7678         .oscore_salt_raw = test_vector_4_oscore_salt_raw,
7679         .oscore_salt_raw_len = sizeof(test_vector_4_oscore_salt_raw),
7680 
7681         .key_update_nonce_raw = NULL,
7682         .key_update_nonce_raw_len = 0,
7683 
7684         .prk_4x3m_key_update_raw = NULL,
7685         .prk_4x3m_key_update_raw_len = 0,
7686 
7687         .oscore_secret_key_update_raw = test_vector_4_oscore_secret_key_update_raw,
7688         .oscore_secret_key_update_raw_len = sizeof(test_vector_4_oscore_secret_key_update_raw),
7689 
7690         .oscore_salt_key_update_raw = test_vector_4_oscore_salt_key_update_raw,
7691         .oscore_salt_key_update_raw_len = sizeof(test_vector_4_oscore_salt_key_update_raw),
7692 
7693         .ca_r = test_vector_4_ca_r,
7694         .ca_r_len = sizeof(test_vector_4_ca_r),
7695 
7696         .ca_i = test_vector_4_ca_i,
7697         .ca_i_len = sizeof(test_vector_4_ca_i),
7698 
7699         .ca_r_pk = test_vector_4_ca_r_pk,
7700         .ca_r_pk_len = sizeof(test_vector_4_ca_r_pk),
7701 
7702         .ca_i_pk = test_vector_4_ca_i_pk,
7703         .ca_i_pk_len = sizeof(test_vector_4_ca_i_pk),
7704 
7705         .i_raw = NULL,
7706         .i_raw_len = 0,
7707 
7708         .g_i_raw = NULL,
7709         .g_i_raw_len = 0,
7710 
7711         .r_raw = NULL,
7712         .r_raw_len = 0,
7713 
7714         .g_r_raw = NULL,
7715         .g_r_raw_len = 0,
7716 
7717         .c_i_raw = NULL,
7718         .c_i_raw_len = 0,
7719         .c_i_raw_int =  &test_vector_4_c_i_raw,
7720 
7721         .c_r_raw = NULL,
7722         .c_r_raw_len = 0,
7723         .c_r_raw_int =  &test_vector_4_c_r_raw,
7724 	},
7725 /*--------------- test_vector_5 ------------*/
7726 
7727 	{
7728         .method = test_vector_5_method,
7729         .method_len = sizeof(test_vector_5_method),
7730 
7731         .SUITES_I = test_vector_5_SUITES_I,
7732         .SUITES_I_len = sizeof(test_vector_5_SUITES_I),
7733 
7734         .SUITES_R = test_vector_5_SUITES_R,
7735         .SUITES_R_len = sizeof(test_vector_5_SUITES_R),
7736 
7737         .x_raw = test_vector_5_x_raw,
7738         .x_raw_len = sizeof(test_vector_5_x_raw),
7739 
7740         .g_x_raw = test_vector_5_g_x_raw,
7741         .g_x_raw_len = sizeof(test_vector_5_g_x_raw),
7742 
7743         .g_x = test_vector_5_g_x,
7744         .g_x_len = sizeof(test_vector_5_g_x),
7745 
7746         .c_i = test_vector_5_c_i,
7747         .c_i_len = sizeof(test_vector_5_c_i),
7748 
7749         .ead_1 = test_vector_5_ead_1,
7750         .ead_1_len = sizeof(test_vector_5_ead_1),
7751 
7752         .message_1 = test_vector_5_message_1,
7753         .message_1_len = sizeof(test_vector_5_message_1),
7754 
7755         .y_raw = test_vector_5_y_raw,
7756         .y_raw_len = sizeof(test_vector_5_y_raw),
7757 
7758         .g_y_raw = test_vector_5_g_y_raw,
7759         .g_y_raw_len = sizeof(test_vector_5_g_y_raw),
7760 
7761         .g_y = test_vector_5_g_y,
7762         .g_y_len = sizeof(test_vector_5_g_y),
7763 
7764         .g_xy_raw = test_vector_5_g_xy_raw,
7765         .g_xy_raw_len = sizeof(test_vector_5_g_xy_raw),
7766 
7767         .salt_raw = test_vector_5_salt_raw,
7768         .salt_raw_len = sizeof(test_vector_5_salt_raw),
7769 
7770         .prk_2e_raw = test_vector_5_prk_2e_raw,
7771         .prk_2e_raw_len = sizeof(test_vector_5_prk_2e_raw),
7772 
7773         .sk_r_raw = NULL,
7774         .sk_r_raw_len = 0,
7775 
7776         .pk_r_raw = NULL,
7777         .pk_r_raw_len = 0,
7778 
7779         .prk_3e2m_raw = test_vector_5_prk_3e2m_raw,
7780         .prk_3e2m_raw_len = sizeof(test_vector_5_prk_3e2m_raw),
7781 
7782         .c_r = test_vector_5_c_r,
7783         .c_r_len = sizeof(test_vector_5_c_r),
7784 
7785         .h_message_1_raw = test_vector_5_h_message_1_raw,
7786         .h_message_1_raw_len = sizeof(test_vector_5_h_message_1_raw),
7787 
7788         .h_message_1 = test_vector_5_h_message_1,
7789         .h_message_1_len = sizeof(test_vector_5_h_message_1),
7790 
7791         .input_th_2 = test_vector_5_input_th_2,
7792         .input_th_2_len = sizeof(test_vector_5_input_th_2),
7793 
7794         .th_2_raw = test_vector_5_th_2_raw,
7795         .th_2_raw_len = sizeof(test_vector_5_th_2_raw),
7796 
7797         .th_2 = test_vector_5_th_2,
7798         .th_2_len = sizeof(test_vector_5_th_2),
7799 
7800         .id_cred_r = test_vector_5_id_cred_r,
7801         .id_cred_r_len = sizeof(test_vector_5_id_cred_r),
7802 
7803         .cred_r = test_vector_5_cred_r,
7804         .cred_r_len = sizeof(test_vector_5_cred_r),
7805 
7806         .ead_2 = test_vector_5_ead_2,
7807         .ead_2_len = sizeof(test_vector_5_ead_2),
7808 
7809         .info_mac_2 = test_vector_5_info_mac_2,
7810         .info_mac_2_len = sizeof(test_vector_5_info_mac_2),
7811 
7812         .mac_2_raw = test_vector_5_mac_2_raw,
7813         .mac_2_raw_len = sizeof(test_vector_5_mac_2_raw),
7814 
7815         .mac_2 = test_vector_5_mac_2,
7816         .mac_2_len = sizeof(test_vector_5_mac_2),
7817 
7818         .m_2 = NULL,
7819         .m_2_len = 0,
7820 
7821         .sig_or_mac_2_raw = test_vector_5_sig_or_mac_2_raw,
7822         .sig_or_mac_2_raw_len = sizeof(test_vector_5_sig_or_mac_2_raw),
7823 
7824         .sig_or_mac_2 = test_vector_5_sig_or_mac_2,
7825         .sig_or_mac_2_len = sizeof(test_vector_5_sig_or_mac_2),
7826 
7827         .plaintext_2 = test_vector_5_plaintext_2,
7828         .plaintext_2_len = sizeof(test_vector_5_plaintext_2),
7829 
7830         .info_keystream_2 = test_vector_5_info_keystream_2,
7831         .info_keystream_2_len = sizeof(test_vector_5_info_keystream_2),
7832 
7833         .keystream_2_raw = test_vector_5_keystream_2_raw,
7834         .keystream_2_raw_len = sizeof(test_vector_5_keystream_2_raw),
7835 
7836         .ciphertext_2_raw = test_vector_5_ciphertext_2_raw,
7837         .ciphertext_2_raw_len = sizeof(test_vector_5_ciphertext_2_raw),
7838 
7839         .ciphertext_2 = test_vector_5_ciphertext_2,
7840         .ciphertext_2_len = sizeof(test_vector_5_ciphertext_2),
7841 
7842         .message_2 = test_vector_5_message_2,
7843         .message_2_len = sizeof(test_vector_5_message_2),
7844 
7845         .sk_i_raw = NULL,
7846         .sk_i_raw_len = 0,
7847 
7848         .pk_i_raw = NULL,
7849         .pk_i_raw_len = 0,
7850 
7851         .prk_4x3m_raw = NULL,
7852         .prk_4x3m_raw_len = 0,
7853 
7854         .input_TH_3 = test_vector_5_input_TH_3,
7855         .input_TH_3_len = sizeof(test_vector_5_input_TH_3),
7856 
7857         .th_3_raw = test_vector_5_th_3_raw,
7858         .th_3_raw_len = sizeof(test_vector_5_th_3_raw),
7859 
7860         .th_3 = test_vector_5_th_3,
7861         .th_3_len = sizeof(test_vector_5_th_3),
7862 
7863         .id_cred_i = test_vector_5_id_cred_i,
7864         .id_cred_i_len = sizeof(test_vector_5_id_cred_i),
7865 
7866         .cred_i = test_vector_5_cred_i,
7867         .cred_i_len = sizeof(test_vector_5_cred_i),
7868 
7869         .ead_3 = test_vector_5_ead_3,
7870         .ead_3_len = sizeof(test_vector_5_ead_3),
7871 
7872         .info_mac_3 = test_vector_5_info_mac_3,
7873         .info_mac_3_len = sizeof(test_vector_5_info_mac_3),
7874 
7875         .mac_3_raw = test_vector_5_mac_3_raw,
7876         .mac_3_raw_len = sizeof(test_vector_5_mac_3_raw),
7877 
7878         .mac_3 = test_vector_5_mac_3,
7879         .mac_3_len = sizeof(test_vector_5_mac_3),
7880 
7881         .m_3 = NULL,
7882         .m_3_len = 0,
7883 
7884         .sig_or_mac_3_raw = test_vector_5_sig_or_mac_3_raw,
7885         .sig_or_mac_3_raw_len = sizeof(test_vector_5_sig_or_mac_3_raw),
7886 
7887         .sig_or_mac_3 = test_vector_5_sig_or_mac_3,
7888         .sig_or_mac_3_len = sizeof(test_vector_5_sig_or_mac_3),
7889 
7890         .p_3 = test_vector_5_p_3,
7891         .p_3_len = sizeof(test_vector_5_p_3),
7892 
7893         .a_3 = test_vector_5_a_3,
7894         .a_3_len = sizeof(test_vector_5_a_3),
7895 
7896         .info_k_3 = test_vector_5_info_k_3,
7897         .info_k_3_len = sizeof(test_vector_5_info_k_3),
7898 
7899         .k_3_raw = test_vector_5_k_3_raw,
7900         .k_3_raw_len = sizeof(test_vector_5_k_3_raw),
7901 
7902         .info_iv_3 = test_vector_5_info_iv_3,
7903         .info_iv_3_len = sizeof(test_vector_5_info_iv_3),
7904 
7905         .iv_3_raw = test_vector_5_iv_3_raw,
7906         .iv_3_raw_len = sizeof(test_vector_5_iv_3_raw),
7907 
7908         .ciphertext_3_raw = test_vector_5_ciphertext_3_raw,
7909         .ciphertext_3_raw_len = sizeof(test_vector_5_ciphertext_3_raw),
7910 
7911         .ciphertext_3 = test_vector_5_ciphertext_3,
7912         .ciphertext_3_len = sizeof(test_vector_5_ciphertext_3),
7913 
7914         .message_3 = test_vector_5_message_3,
7915         .message_3_len = sizeof(test_vector_5_message_3),
7916 
7917         .input_th_4 = test_vector_5_input_th_4,
7918         .input_th_4_len = sizeof(test_vector_5_input_th_4),
7919 
7920         .th_4_raw = test_vector_5_th_4_raw,
7921         .th_4_raw_len = sizeof(test_vector_5_th_4_raw),
7922 
7923         .th_4 = test_vector_5_th_4,
7924         .th_4_len = sizeof(test_vector_5_th_4),
7925 
7926         .ead_4 = test_vector_5_ead_4,
7927         .ead_4_len = sizeof(test_vector_5_ead_4),
7928 
7929         .p_4 = test_vector_5_p_4,
7930         .p_4_len = sizeof(test_vector_5_p_4),
7931 
7932         .a_4 = test_vector_5_a_4,
7933         .a_4_len = sizeof(test_vector_5_a_4),
7934 
7935         .info_k_4 = test_vector_5_info_k_4,
7936         .info_k_4_len = sizeof(test_vector_5_info_k_4),
7937 
7938         .k_4_raw = test_vector_5_k_4_raw,
7939         .k_4_raw_len = sizeof(test_vector_5_k_4_raw),
7940 
7941         .info_iv_4 = test_vector_5_info_iv_4,
7942         .info_iv_4_len = sizeof(test_vector_5_info_iv_4),
7943 
7944         .iv_4_raw = test_vector_5_iv_4_raw,
7945         .iv_4_raw_len = sizeof(test_vector_5_iv_4_raw),
7946 
7947         .ciphertext_4_raw = test_vector_5_ciphertext_4_raw,
7948         .ciphertext_4_raw_len = sizeof(test_vector_5_ciphertext_4_raw),
7949 
7950         .ciphertext_4 = test_vector_5_ciphertext_4,
7951         .ciphertext_4_len = sizeof(test_vector_5_ciphertext_4),
7952 
7953         .message_4 = test_vector_5_message_4,
7954         .message_4_len = sizeof(test_vector_5_message_4),
7955 
7956         .oscore_aead_alg = &test_vector_5_oscore_aead_alg,
7957 
7958         .oscore_hash_alg = &test_vector_5_oscore_hash_alg,
7959 
7960         .client_sender_id_raw = test_vector_5_client_sender_id_raw,
7961         .client_sender_id_raw_len = sizeof(test_vector_5_client_sender_id_raw),
7962 
7963         .server_sender_id_raw = test_vector_5_server_sender_id_raw,
7964         .server_sender_id_raw_len = sizeof(test_vector_5_server_sender_id_raw),
7965 
7966         .info_oscore_secret = test_vector_5_info_oscore_secret,
7967         .info_oscore_secret_len = sizeof(test_vector_5_info_oscore_secret),
7968 
7969         .oscore_secret_raw = test_vector_5_oscore_secret_raw,
7970         .oscore_secret_raw_len = sizeof(test_vector_5_oscore_secret_raw),
7971 
7972         .info_oscore_salt = test_vector_5_info_oscore_salt,
7973         .info_oscore_salt_len = sizeof(test_vector_5_info_oscore_salt),
7974 
7975         .oscore_salt_raw = test_vector_5_oscore_salt_raw,
7976         .oscore_salt_raw_len = sizeof(test_vector_5_oscore_salt_raw),
7977 
7978         .key_update_nonce_raw = NULL,
7979         .key_update_nonce_raw_len = 0,
7980 
7981         .prk_4x3m_key_update_raw = NULL,
7982         .prk_4x3m_key_update_raw_len = 0,
7983 
7984         .oscore_secret_key_update_raw = test_vector_5_oscore_secret_key_update_raw,
7985         .oscore_secret_key_update_raw_len = sizeof(test_vector_5_oscore_secret_key_update_raw),
7986 
7987         .oscore_salt_key_update_raw = test_vector_5_oscore_salt_key_update_raw,
7988         .oscore_salt_key_update_raw_len = sizeof(test_vector_5_oscore_salt_key_update_raw),
7989 
7990         .ca_r = test_vector_5_ca_r,
7991         .ca_r_len = sizeof(test_vector_5_ca_r),
7992 
7993         .ca_i = test_vector_5_ca_i,
7994         .ca_i_len = sizeof(test_vector_5_ca_i),
7995 
7996         .ca_r_pk = test_vector_5_ca_r_pk,
7997         .ca_r_pk_len = sizeof(test_vector_5_ca_r_pk),
7998 
7999         .ca_i_pk = test_vector_5_ca_i_pk,
8000         .ca_i_pk_len = sizeof(test_vector_5_ca_i_pk),
8001 
8002         .i_raw = test_vector_5_i_raw,
8003         .i_raw_len = sizeof(test_vector_5_i_raw),
8004 
8005         .g_i_raw = test_vector_5_g_i_raw,
8006         .g_i_raw_len = sizeof(test_vector_5_g_i_raw),
8007 
8008         .r_raw = test_vector_5_r_raw,
8009         .r_raw_len = sizeof(test_vector_5_r_raw),
8010 
8011         .g_r_raw = test_vector_5_g_r_raw,
8012         .g_r_raw_len = sizeof(test_vector_5_g_r_raw),
8013 
8014         .c_i_raw = NULL,
8015         .c_i_raw_len = 0,
8016         .c_i_raw_int =  &test_vector_5_c_i_raw,
8017 
8018         .c_r_raw = NULL,
8019         .c_r_raw_len = 0,
8020         .c_r_raw_int =  &test_vector_5_c_r_raw,
8021 	},
8022 /*--------------- test_vector_6 ------------*/
8023 
8024 	{
8025         .method = test_vector_6_method,
8026         .method_len = sizeof(test_vector_6_method),
8027 
8028         .SUITES_I = test_vector_6_SUITES_I,
8029         .SUITES_I_len = sizeof(test_vector_6_SUITES_I),
8030 
8031         .SUITES_R = test_vector_6_SUITES_R,
8032         .SUITES_R_len = sizeof(test_vector_6_SUITES_R),
8033 
8034         .x_raw = test_vector_6_x_raw,
8035         .x_raw_len = sizeof(test_vector_6_x_raw),
8036 
8037         .g_x_raw = test_vector_6_g_x_raw,
8038         .g_x_raw_len = sizeof(test_vector_6_g_x_raw),
8039 
8040         .g_x = test_vector_6_g_x,
8041         .g_x_len = sizeof(test_vector_6_g_x),
8042 
8043         .c_i = test_vector_6_c_i,
8044         .c_i_len = sizeof(test_vector_6_c_i),
8045 
8046         .ead_1 = test_vector_6_ead_1,
8047         .ead_1_len = sizeof(test_vector_6_ead_1),
8048 
8049         .message_1 = test_vector_6_message_1,
8050         .message_1_len = sizeof(test_vector_6_message_1),
8051 
8052         .y_raw = test_vector_6_y_raw,
8053         .y_raw_len = sizeof(test_vector_6_y_raw),
8054 
8055         .g_y_raw = test_vector_6_g_y_raw,
8056         .g_y_raw_len = sizeof(test_vector_6_g_y_raw),
8057 
8058         .g_y = test_vector_6_g_y,
8059         .g_y_len = sizeof(test_vector_6_g_y),
8060 
8061         .g_xy_raw = test_vector_6_g_xy_raw,
8062         .g_xy_raw_len = sizeof(test_vector_6_g_xy_raw),
8063 
8064         .salt_raw = test_vector_6_salt_raw,
8065         .salt_raw_len = sizeof(test_vector_6_salt_raw),
8066 
8067         .prk_2e_raw = test_vector_6_prk_2e_raw,
8068         .prk_2e_raw_len = sizeof(test_vector_6_prk_2e_raw),
8069 
8070         .sk_r_raw = NULL,
8071         .sk_r_raw_len = 0,
8072 
8073         .pk_r_raw = NULL,
8074         .pk_r_raw_len = 0,
8075 
8076         .prk_3e2m_raw = test_vector_6_prk_3e2m_raw,
8077         .prk_3e2m_raw_len = sizeof(test_vector_6_prk_3e2m_raw),
8078 
8079         .c_r = test_vector_6_c_r,
8080         .c_r_len = sizeof(test_vector_6_c_r),
8081 
8082         .h_message_1_raw = test_vector_6_h_message_1_raw,
8083         .h_message_1_raw_len = sizeof(test_vector_6_h_message_1_raw),
8084 
8085         .h_message_1 = test_vector_6_h_message_1,
8086         .h_message_1_len = sizeof(test_vector_6_h_message_1),
8087 
8088         .input_th_2 = test_vector_6_input_th_2,
8089         .input_th_2_len = sizeof(test_vector_6_input_th_2),
8090 
8091         .th_2_raw = test_vector_6_th_2_raw,
8092         .th_2_raw_len = sizeof(test_vector_6_th_2_raw),
8093 
8094         .th_2 = test_vector_6_th_2,
8095         .th_2_len = sizeof(test_vector_6_th_2),
8096 
8097         .id_cred_r = test_vector_6_id_cred_r,
8098         .id_cred_r_len = sizeof(test_vector_6_id_cred_r),
8099 
8100         .cred_r = test_vector_6_cred_r,
8101         .cred_r_len = sizeof(test_vector_6_cred_r),
8102 
8103         .ead_2 = test_vector_6_ead_2,
8104         .ead_2_len = sizeof(test_vector_6_ead_2),
8105 
8106         .info_mac_2 = test_vector_6_info_mac_2,
8107         .info_mac_2_len = sizeof(test_vector_6_info_mac_2),
8108 
8109         .mac_2_raw = test_vector_6_mac_2_raw,
8110         .mac_2_raw_len = sizeof(test_vector_6_mac_2_raw),
8111 
8112         .mac_2 = test_vector_6_mac_2,
8113         .mac_2_len = sizeof(test_vector_6_mac_2),
8114 
8115         .m_2 = NULL,
8116         .m_2_len = 0,
8117 
8118         .sig_or_mac_2_raw = test_vector_6_sig_or_mac_2_raw,
8119         .sig_or_mac_2_raw_len = sizeof(test_vector_6_sig_or_mac_2_raw),
8120 
8121         .sig_or_mac_2 = test_vector_6_sig_or_mac_2,
8122         .sig_or_mac_2_len = sizeof(test_vector_6_sig_or_mac_2),
8123 
8124         .plaintext_2 = test_vector_6_plaintext_2,
8125         .plaintext_2_len = sizeof(test_vector_6_plaintext_2),
8126 
8127         .info_keystream_2 = test_vector_6_info_keystream_2,
8128         .info_keystream_2_len = sizeof(test_vector_6_info_keystream_2),
8129 
8130         .keystream_2_raw = test_vector_6_keystream_2_raw,
8131         .keystream_2_raw_len = sizeof(test_vector_6_keystream_2_raw),
8132 
8133         .ciphertext_2_raw = test_vector_6_ciphertext_2_raw,
8134         .ciphertext_2_raw_len = sizeof(test_vector_6_ciphertext_2_raw),
8135 
8136         .ciphertext_2 = test_vector_6_ciphertext_2,
8137         .ciphertext_2_len = sizeof(test_vector_6_ciphertext_2),
8138 
8139         .message_2 = test_vector_6_message_2,
8140         .message_2_len = sizeof(test_vector_6_message_2),
8141 
8142         .sk_i_raw = NULL,
8143         .sk_i_raw_len = 0,
8144 
8145         .pk_i_raw = NULL,
8146         .pk_i_raw_len = 0,
8147 
8148         .prk_4x3m_raw = NULL,
8149         .prk_4x3m_raw_len = 0,
8150 
8151         .input_TH_3 = test_vector_6_input_TH_3,
8152         .input_TH_3_len = sizeof(test_vector_6_input_TH_3),
8153 
8154         .th_3_raw = test_vector_6_th_3_raw,
8155         .th_3_raw_len = sizeof(test_vector_6_th_3_raw),
8156 
8157         .th_3 = test_vector_6_th_3,
8158         .th_3_len = sizeof(test_vector_6_th_3),
8159 
8160         .id_cred_i = test_vector_6_id_cred_i,
8161         .id_cred_i_len = sizeof(test_vector_6_id_cred_i),
8162 
8163         .cred_i = test_vector_6_cred_i,
8164         .cred_i_len = sizeof(test_vector_6_cred_i),
8165 
8166         .ead_3 = test_vector_6_ead_3,
8167         .ead_3_len = sizeof(test_vector_6_ead_3),
8168 
8169         .info_mac_3 = test_vector_6_info_mac_3,
8170         .info_mac_3_len = sizeof(test_vector_6_info_mac_3),
8171 
8172         .mac_3_raw = test_vector_6_mac_3_raw,
8173         .mac_3_raw_len = sizeof(test_vector_6_mac_3_raw),
8174 
8175         .mac_3 = test_vector_6_mac_3,
8176         .mac_3_len = sizeof(test_vector_6_mac_3),
8177 
8178         .m_3 = NULL,
8179         .m_3_len = 0,
8180 
8181         .sig_or_mac_3_raw = test_vector_6_sig_or_mac_3_raw,
8182         .sig_or_mac_3_raw_len = sizeof(test_vector_6_sig_or_mac_3_raw),
8183 
8184         .sig_or_mac_3 = test_vector_6_sig_or_mac_3,
8185         .sig_or_mac_3_len = sizeof(test_vector_6_sig_or_mac_3),
8186 
8187         .p_3 = test_vector_6_p_3,
8188         .p_3_len = sizeof(test_vector_6_p_3),
8189 
8190         .a_3 = test_vector_6_a_3,
8191         .a_3_len = sizeof(test_vector_6_a_3),
8192 
8193         .info_k_3 = test_vector_6_info_k_3,
8194         .info_k_3_len = sizeof(test_vector_6_info_k_3),
8195 
8196         .k_3_raw = test_vector_6_k_3_raw,
8197         .k_3_raw_len = sizeof(test_vector_6_k_3_raw),
8198 
8199         .info_iv_3 = test_vector_6_info_iv_3,
8200         .info_iv_3_len = sizeof(test_vector_6_info_iv_3),
8201 
8202         .iv_3_raw = test_vector_6_iv_3_raw,
8203         .iv_3_raw_len = sizeof(test_vector_6_iv_3_raw),
8204 
8205         .ciphertext_3_raw = test_vector_6_ciphertext_3_raw,
8206         .ciphertext_3_raw_len = sizeof(test_vector_6_ciphertext_3_raw),
8207 
8208         .ciphertext_3 = test_vector_6_ciphertext_3,
8209         .ciphertext_3_len = sizeof(test_vector_6_ciphertext_3),
8210 
8211         .message_3 = test_vector_6_message_3,
8212         .message_3_len = sizeof(test_vector_6_message_3),
8213 
8214         .input_th_4 = test_vector_6_input_th_4,
8215         .input_th_4_len = sizeof(test_vector_6_input_th_4),
8216 
8217         .th_4_raw = test_vector_6_th_4_raw,
8218         .th_4_raw_len = sizeof(test_vector_6_th_4_raw),
8219 
8220         .th_4 = test_vector_6_th_4,
8221         .th_4_len = sizeof(test_vector_6_th_4),
8222 
8223         .ead_4 = test_vector_6_ead_4,
8224         .ead_4_len = sizeof(test_vector_6_ead_4),
8225 
8226         .p_4 = test_vector_6_p_4,
8227         .p_4_len = sizeof(test_vector_6_p_4),
8228 
8229         .a_4 = test_vector_6_a_4,
8230         .a_4_len = sizeof(test_vector_6_a_4),
8231 
8232         .info_k_4 = test_vector_6_info_k_4,
8233         .info_k_4_len = sizeof(test_vector_6_info_k_4),
8234 
8235         .k_4_raw = test_vector_6_k_4_raw,
8236         .k_4_raw_len = sizeof(test_vector_6_k_4_raw),
8237 
8238         .info_iv_4 = test_vector_6_info_iv_4,
8239         .info_iv_4_len = sizeof(test_vector_6_info_iv_4),
8240 
8241         .iv_4_raw = test_vector_6_iv_4_raw,
8242         .iv_4_raw_len = sizeof(test_vector_6_iv_4_raw),
8243 
8244         .ciphertext_4_raw = test_vector_6_ciphertext_4_raw,
8245         .ciphertext_4_raw_len = sizeof(test_vector_6_ciphertext_4_raw),
8246 
8247         .ciphertext_4 = test_vector_6_ciphertext_4,
8248         .ciphertext_4_len = sizeof(test_vector_6_ciphertext_4),
8249 
8250         .message_4 = test_vector_6_message_4,
8251         .message_4_len = sizeof(test_vector_6_message_4),
8252 
8253         .oscore_aead_alg = &test_vector_6_oscore_aead_alg,
8254 
8255         .oscore_hash_alg = &test_vector_6_oscore_hash_alg,
8256 
8257         .client_sender_id_raw = test_vector_6_client_sender_id_raw,
8258         .client_sender_id_raw_len = sizeof(test_vector_6_client_sender_id_raw),
8259 
8260         .server_sender_id_raw = test_vector_6_server_sender_id_raw,
8261         .server_sender_id_raw_len = sizeof(test_vector_6_server_sender_id_raw),
8262 
8263         .info_oscore_secret = test_vector_6_info_oscore_secret,
8264         .info_oscore_secret_len = sizeof(test_vector_6_info_oscore_secret),
8265 
8266         .oscore_secret_raw = test_vector_6_oscore_secret_raw,
8267         .oscore_secret_raw_len = sizeof(test_vector_6_oscore_secret_raw),
8268 
8269         .info_oscore_salt = test_vector_6_info_oscore_salt,
8270         .info_oscore_salt_len = sizeof(test_vector_6_info_oscore_salt),
8271 
8272         .oscore_salt_raw = test_vector_6_oscore_salt_raw,
8273         .oscore_salt_raw_len = sizeof(test_vector_6_oscore_salt_raw),
8274 
8275         .key_update_nonce_raw = NULL,
8276         .key_update_nonce_raw_len = 0,
8277 
8278         .prk_4x3m_key_update_raw = NULL,
8279         .prk_4x3m_key_update_raw_len = 0,
8280 
8281         .oscore_secret_key_update_raw = test_vector_6_oscore_secret_key_update_raw,
8282         .oscore_secret_key_update_raw_len = sizeof(test_vector_6_oscore_secret_key_update_raw),
8283 
8284         .oscore_salt_key_update_raw = test_vector_6_oscore_salt_key_update_raw,
8285         .oscore_salt_key_update_raw_len = sizeof(test_vector_6_oscore_salt_key_update_raw),
8286 
8287         .ca_r = test_vector_6_ca_r,
8288         .ca_r_len = sizeof(test_vector_6_ca_r),
8289 
8290         .ca_i = NULL,
8291         .ca_i_len = 0,
8292 
8293         .ca_r_pk = test_vector_6_ca_r_pk,
8294         .ca_r_pk_len = sizeof(test_vector_6_ca_r_pk),
8295 
8296         .ca_i_pk = NULL,
8297         .ca_i_pk_len = 0,
8298 
8299         .i_raw = test_vector_6_i_raw,
8300         .i_raw_len = sizeof(test_vector_6_i_raw),
8301 
8302         .g_i_raw = test_vector_6_g_i_raw,
8303         .g_i_raw_len = sizeof(test_vector_6_g_i_raw),
8304 
8305         .r_raw = test_vector_6_r_raw,
8306         .r_raw_len = sizeof(test_vector_6_r_raw),
8307 
8308         .g_r_raw = test_vector_6_g_r_raw,
8309         .g_r_raw_len = sizeof(test_vector_6_g_r_raw),
8310 
8311         .c_i_raw = NULL,
8312         .c_i_raw_len = 0,
8313         .c_i_raw_int =  &test_vector_6_c_i_raw,
8314 
8315         .c_r_raw = NULL,
8316         .c_r_raw_len = 0,
8317         .c_r_raw_int =  &test_vector_6_c_r_raw,
8318 	},
8319 };
8320