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 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
379 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
380 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
381 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
382 static const uint8_t test_vector_1_salt_3e2m[] = {
383 	0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72,
384 	0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38,
385 	0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70,
386 	0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7};
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 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
404 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
405 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
406 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
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 	0x24, 0x51, 0xe4, 0x35, 0x87, 0x13, 0x86, 0x88,
649 	0x59, 0xd2, 0x16, 0x26, 0xd0, 0x06, 0xbd, 0xcd,
650 	0xcb, 0x4e, 0x65, 0x61, 0x0b, 0x83, 0xd8, 0x00,
651 	0xb1, 0x5f, 0x18, 0x20, 0xe4, 0x98, 0xc7, 0xce};
652 static const uint8_t test_vector_1_mac_2[] = {
653 	0x58, 0x20, 0x24, 0x51, 0xe4, 0x35, 0x87, 0x13,
654 	0x86, 0x88, 0x59, 0xd2, 0x16, 0x26, 0xd0, 0x06,
655 	0xbd, 0xcd, 0xcb, 0x4e, 0x65, 0x61, 0x0b, 0x83,
656 	0xd8, 0x00, 0xb1, 0x5f, 0x18, 0x20, 0xe4, 0x98,
657 	0xc7, 0xce};
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, 0x24, 0x51, 0xe4, 0x35, 0x87,
740 	0x13, 0x86, 0x88, 0x59, 0xd2, 0x16, 0x26, 0xd0,
741 	0x06, 0xbd, 0xcd, 0xcb, 0x4e, 0x65, 0x61, 0x0b,
742 	0x83, 0xd8, 0x00, 0xb1, 0x5f, 0x18, 0x20, 0xe4,
743 	0x98, 0xc7, 0xce};
744 static const uint8_t test_vector_1_sig_or_mac_2_raw[] = {
745 	0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb, 0x1c, 0x5e,
746 	0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19, 0x4a, 0x2a,
747 	0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d, 0xa4, 0xeb,
748 	0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0, 0x2d, 0xba,
749 	0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb, 0x16, 0x89,
750 	0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2, 0x3b, 0x4f,
751 	0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5, 0x12, 0x34,
752 	0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83, 0x9b, 0x0e};
753 static const uint8_t test_vector_1_sig_or_mac_2[] = {
754 	0x58, 0x40, 0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb,
755 	0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19,
756 	0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d,
757 	0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0,
758 	0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb,
759 	0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2,
760 	0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5,
761 	0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83,
762 	0x9b, 0x0e};
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, 0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb,
802 	0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19,
803 	0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d,
804 	0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0,
805 	0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb,
806 	0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2,
807 	0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5,
808 	0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83,
809 	0x9b, 0x0e};
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 	0x90, 0x9c, 0x6e, 0x2f, 0x1f, 0x1a, 0x32, 0xd6,
818 	0x4f, 0x38, 0x66, 0x85, 0xec, 0x87, 0xaa, 0x46,
819 	0x77, 0x64, 0x39, 0x60, 0x30, 0xd3, 0xaa, 0x88,
820 	0x21, 0x33, 0x2b, 0x35, 0x4b, 0xa0, 0x4f, 0x62,
821 	0x1d, 0x8c, 0xc1, 0x0a, 0x93, 0x97, 0x99, 0x7e,
822 	0x7c, 0x67, 0x91, 0xfd, 0xcf, 0xbc, 0xf7, 0xa7,
823 	0xdc, 0x17, 0x28, 0xd2, 0x26, 0x48, 0x6f, 0x44,
824 	0x2e, 0xb4, 0x2a, 0xa8, 0xe0, 0xb8, 0x85, 0x56,
825 	0xbb, 0xdd, 0x60, 0xbd, 0xc9, 0x2f, 0x34, 0xcc,
826 	0x9c, 0x41, 0xd3, 0xff, 0x9d, 0xb2, 0xd2, 0x12,
827 	0x88, 0xb2, 0x07, 0xae, 0x2b, 0x26, 0x83, 0x61,
828 	0xeb, 0x86, 0x5a, 0x8f, 0xe2, 0x65, 0xcb, 0x8d,
829 	0x68, 0xec, 0x2f, 0x9a, 0x46, 0x7a, 0xd9, 0x83,
830 	0xc9, 0x2e, 0x14, 0x18, 0x02, 0xea, 0x75, 0x51,
831 	0xce, 0x32, 0xae, 0x35, 0x5b, 0xce, 0x7d, 0xb7,
832 	0x35, 0x15, 0xb8, 0x56, 0x7a, 0xf3, 0x74, 0x27,
833 	0xda, 0xec, 0x18, 0x86, 0x53, 0x03, 0xc3, 0xac,
834 	0xfc, 0x5c, 0xd8, 0x56, 0xc7, 0xd0, 0x77, 0x22,
835 	0x65, 0x26, 0xfa, 0x11, 0x89, 0xea, 0x17, 0x62,
836 	0x97, 0xfa, 0x21, 0x0a, 0xde, 0x76, 0x65, 0x2c,
837 	0xee, 0xc9, 0x7f, 0x75, 0x9c, 0xfc, 0xc5, 0x02,
838 	0x45, 0x59, 0xf7, 0x41, 0xc6, 0xfb, 0x6a, 0x20,
839 	0x5c, 0x7a, 0x40, 0x55, 0xb8, 0x75, 0x6c, 0x43,
840 	0x54, 0x8e, 0xf2, 0xfa, 0x74, 0x0e, 0xf4, 0x1b,
841 	0x19, 0xec, 0xaa, 0xc0, 0xfc, 0x25, 0xd1, 0x47,
842 	0xeb, 0x65, 0xda, 0x41, 0xa4, 0x89, 0xbc, 0xf5,
843 	0x07, 0x3c, 0xba, 0xf4, 0x87, 0xa0, 0xc9, 0xfd,
844 	0x69, 0x8b, 0xcc, 0x99, 0xeb, 0x2a, 0xb1, 0x14,
845 	0x8a, 0x8f, 0x7c, 0xb4, 0x06, 0xd2, 0x31, 0x0c,
846 	0xa3, 0x39, 0x35, 0x19, 0xb9, 0x18, 0x5a, 0xec,
847 	0xee, 0xa6, 0xb8, 0x0c, 0x5d, 0x40, 0x41, 0xd5,
848 	0xbf, 0xfa, 0x14, 0x5b, 0x05, 0xa4, 0x4c, 0xa8,
849 	0x03, 0x6a, 0x33, 0x3b, 0xde, 0x29, 0x7d, 0x28,
850 	0x82, 0x7f, 0x00, 0xe8, 0xe4, 0x00, 0xac, 0xa9,
851 	0x69, 0x53, 0xc6, 0x0d, 0xed, 0xe4, 0xdd, 0xf0,
852 	0x57, 0x77, 0xa8, 0xdf, 0x88, 0x44, 0x38, 0xf7,
853 	0xd5, 0x73, 0x33, 0x2f, 0x08, 0x1e, 0x11, 0xe8,
854 	0x87, 0x42, 0x20, 0x84, 0xc2, 0x86, 0x7b, 0x70,
855 	0x1f, 0xfb, 0x87, 0xab, 0xa0, 0x83, 0x04, 0x0c,
856 	0x28, 0x96, 0x97, 0x1e, 0x93, 0xbb, 0x45, 0x40,
857 	0xbf, 0x32, 0x21, 0x64, 0xf1, 0x39, 0xb6, 0x73,
858 	0x65, 0x54, 0x60, 0x2c, 0x09, 0xd7, 0x8c, 0x03,
859 	0xe8, 0xc1, 0xd2, 0xfb, 0xf3, 0x0a, 0xcc, 0x7e,
860 	0xae, 0x55, 0x5d, 0x57, 0x8a, 0x2d, 0x76, 0x2a,
861 	0x71, 0x64, 0x3b, 0x7c, 0xd6, 0xf8, 0x95, 0x34,
862 	0x21, 0xe8};
863 static const uint8_t test_vector_1_ciphertext_2_raw[] = {
864 	0x31, 0x84, 0x4f, 0x76, 0x1e, 0x38, 0x02, 0x54,
865 	0x4e, 0x26, 0x56, 0x04, 0x29, 0x27, 0xa9, 0x44,
866 	0x76, 0x66, 0x3b, 0x64, 0x51, 0x3a, 0x32, 0x96,
867 	0x11, 0x39, 0x2d, 0x3d, 0x61, 0x26, 0x07, 0xac,
868 	0x20, 0x88, 0xc2, 0x08, 0xa3, 0x82, 0xa8, 0x6d,
869 	0x4c, 0x76, 0x97, 0xfe, 0x9a, 0xb8, 0xf4, 0xab,
870 	0xd6, 0x52, 0x6c, 0x9a, 0x69, 0x0b, 0x4f, 0x16,
871 	0x41, 0xdb, 0x5e, 0x98, 0xfe, 0xaf, 0x88, 0x64,
872 	0x89, 0xed, 0x51, 0x8f, 0xf9, 0x1e, 0x03, 0xfd,
873 	0xaf, 0x71, 0xe1, 0xa5, 0x8a, 0xbf, 0xe0, 0x2b,
874 	0xb9, 0x80, 0x34, 0x9f, 0x19, 0x15, 0xb3, 0x51,
875 	0xdb, 0xb6, 0x00, 0xbf, 0xf8, 0x54, 0xd3, 0xbd,
876 	0x7e, 0xea, 0x2c, 0xcf, 0x42, 0x79, 0xd5, 0x8c,
877 	0x8c, 0x6a, 0x5c, 0x57, 0x41, 0xca, 0x27, 0x34,
878 	0xbd, 0x42, 0xc1, 0x5b, 0x3f, 0xab, 0x0f, 0x87,
879 	0x6c, 0x25, 0xab, 0x50, 0x7d, 0xd9, 0xf2, 0x6f,
880 	0x14, 0xd1, 0x1a, 0x87, 0x55, 0x0b, 0xe9, 0x2a,
881 	0xb4, 0x92, 0xe5, 0x55, 0xc6, 0xd7, 0x74, 0x60,
882 	0x65, 0x22, 0x41, 0xd2, 0xc0, 0x8a, 0x45, 0x0c,
883 	0x33, 0x29, 0x0f, 0x9e, 0xd2, 0xdb, 0x4f, 0x0f,
884 	0xaf, 0x81, 0xa2, 0xb7, 0x8b, 0x6d, 0x64, 0x28,
885 	0xbe, 0x92, 0x5b, 0xd2, 0xa4, 0xdb, 0x2c, 0xfd,
886 	0x18, 0x8a, 0x05, 0x4c, 0x5a, 0x22, 0x4f, 0x28,
887 	0x7e, 0x82, 0x10, 0xf8, 0x4b, 0x07, 0xc5, 0xea,
888 	0xea, 0x6a, 0x60, 0xba, 0x01, 0x83, 0x9e, 0x8a,
889 	0x0b, 0x75, 0x56, 0x63, 0xe8, 0xd8, 0x56, 0x4a,
890 	0x67, 0x4e, 0x8a, 0xfe, 0x81, 0xa8, 0xe3, 0x7b,
891 	0x21, 0x45, 0xf1, 0x9d, 0xe8, 0x28, 0xb2, 0x5c,
892 	0x8a, 0xbf, 0x39, 0xb6, 0x26, 0xe2, 0x28, 0x42,
893 	0x56, 0xc5, 0x50, 0xd1, 0x0e, 0x8d, 0x97, 0x21,
894 	0xe5, 0x12, 0x89, 0xb3, 0xde, 0xae, 0x26, 0x94,
895 	0x7e, 0xcd, 0x18, 0x79, 0xcd, 0x4f, 0xc2, 0x41,
896 	0xee, 0xb8, 0x94, 0x3e, 0xc7, 0x2b, 0x5c, 0x28,
897 	0x37, 0xfc, 0x0e, 0x74, 0x6d, 0xa6, 0x86, 0x6e,
898 	0x55, 0xb2, 0x2d, 0xc3, 0xed, 0x85, 0xad, 0x8d,
899 	0xef, 0xdf, 0x26, 0xfc, 0xf8, 0xdf, 0x72, 0x3b,
900 	0x8d, 0xd2, 0x02, 0x14, 0x1b, 0x23, 0x14, 0xb0,
901 	0xdf, 0x02, 0x6a, 0xab, 0xa5, 0x57, 0x8a, 0x8b,
902 	0x03, 0xa5, 0xe0, 0x16, 0x90, 0x44, 0x7c, 0x15,
903 	0x62, 0xbc, 0xe7, 0xa1, 0x14, 0x7f, 0xcd, 0xdd,
904 	0x1b, 0xd9, 0x4f, 0x9a, 0x6c, 0x29, 0x58, 0xc3,
905 	0x48, 0xee, 0x1b, 0xfb, 0xac, 0xc5, 0x72, 0xe8,
906 	0xfe, 0x48, 0x96, 0xb3, 0xf8, 0x90, 0x5c, 0xbc,
907 	0x95, 0x1a, 0x01, 0x72, 0xf8, 0x08, 0x30, 0xef,
908 	0x63, 0x50, 0x14, 0xca, 0x71, 0xdb, 0x87, 0xb7,
909 	0xba, 0xe6};
910 static const uint8_t test_vector_1_ciphertext_2[] = {
911 	0x59, 0x01, 0x6a, 0x31, 0x84, 0x4f, 0x76, 0x1e,
912 	0x38, 0x02, 0x54, 0x4e, 0x26, 0x56, 0x04, 0x29,
913 	0x27, 0xa9, 0x44, 0x76, 0x66, 0x3b, 0x64, 0x51,
914 	0x3a, 0x32, 0x96, 0x11, 0x39, 0x2d, 0x3d, 0x61,
915 	0x26, 0x07, 0xac, 0x20, 0x88, 0xc2, 0x08, 0xa3,
916 	0x82, 0xa8, 0x6d, 0x4c, 0x76, 0x97, 0xfe, 0x9a,
917 	0xb8, 0xf4, 0xab, 0xd6, 0x52, 0x6c, 0x9a, 0x69,
918 	0x0b, 0x4f, 0x16, 0x41, 0xdb, 0x5e, 0x98, 0xfe,
919 	0xaf, 0x88, 0x64, 0x89, 0xed, 0x51, 0x8f, 0xf9,
920 	0x1e, 0x03, 0xfd, 0xaf, 0x71, 0xe1, 0xa5, 0x8a,
921 	0xbf, 0xe0, 0x2b, 0xb9, 0x80, 0x34, 0x9f, 0x19,
922 	0x15, 0xb3, 0x51, 0xdb, 0xb6, 0x00, 0xbf, 0xf8,
923 	0x54, 0xd3, 0xbd, 0x7e, 0xea, 0x2c, 0xcf, 0x42,
924 	0x79, 0xd5, 0x8c, 0x8c, 0x6a, 0x5c, 0x57, 0x41,
925 	0xca, 0x27, 0x34, 0xbd, 0x42, 0xc1, 0x5b, 0x3f,
926 	0xab, 0x0f, 0x87, 0x6c, 0x25, 0xab, 0x50, 0x7d,
927 	0xd9, 0xf2, 0x6f, 0x14, 0xd1, 0x1a, 0x87, 0x55,
928 	0x0b, 0xe9, 0x2a, 0xb4, 0x92, 0xe5, 0x55, 0xc6,
929 	0xd7, 0x74, 0x60, 0x65, 0x22, 0x41, 0xd2, 0xc0,
930 	0x8a, 0x45, 0x0c, 0x33, 0x29, 0x0f, 0x9e, 0xd2,
931 	0xdb, 0x4f, 0x0f, 0xaf, 0x81, 0xa2, 0xb7, 0x8b,
932 	0x6d, 0x64, 0x28, 0xbe, 0x92, 0x5b, 0xd2, 0xa4,
933 	0xdb, 0x2c, 0xfd, 0x18, 0x8a, 0x05, 0x4c, 0x5a,
934 	0x22, 0x4f, 0x28, 0x7e, 0x82, 0x10, 0xf8, 0x4b,
935 	0x07, 0xc5, 0xea, 0xea, 0x6a, 0x60, 0xba, 0x01,
936 	0x83, 0x9e, 0x8a, 0x0b, 0x75, 0x56, 0x63, 0xe8,
937 	0xd8, 0x56, 0x4a, 0x67, 0x4e, 0x8a, 0xfe, 0x81,
938 	0xa8, 0xe3, 0x7b, 0x21, 0x45, 0xf1, 0x9d, 0xe8,
939 	0x28, 0xb2, 0x5c, 0x8a, 0xbf, 0x39, 0xb6, 0x26,
940 	0xe2, 0x28, 0x42, 0x56, 0xc5, 0x50, 0xd1, 0x0e,
941 	0x8d, 0x97, 0x21, 0xe5, 0x12, 0x89, 0xb3, 0xde,
942 	0xae, 0x26, 0x94, 0x7e, 0xcd, 0x18, 0x79, 0xcd,
943 	0x4f, 0xc2, 0x41, 0xee, 0xb8, 0x94, 0x3e, 0xc7,
944 	0x2b, 0x5c, 0x28, 0x37, 0xfc, 0x0e, 0x74, 0x6d,
945 	0xa6, 0x86, 0x6e, 0x55, 0xb2, 0x2d, 0xc3, 0xed,
946 	0x85, 0xad, 0x8d, 0xef, 0xdf, 0x26, 0xfc, 0xf8,
947 	0xdf, 0x72, 0x3b, 0x8d, 0xd2, 0x02, 0x14, 0x1b,
948 	0x23, 0x14, 0xb0, 0xdf, 0x02, 0x6a, 0xab, 0xa5,
949 	0x57, 0x8a, 0x8b, 0x03, 0xa5, 0xe0, 0x16, 0x90,
950 	0x44, 0x7c, 0x15, 0x62, 0xbc, 0xe7, 0xa1, 0x14,
951 	0x7f, 0xcd, 0xdd, 0x1b, 0xd9, 0x4f, 0x9a, 0x6c,
952 	0x29, 0x58, 0xc3, 0x48, 0xee, 0x1b, 0xfb, 0xac,
953 	0xc5, 0x72, 0xe8, 0xfe, 0x48, 0x96, 0xb3, 0xf8,
954 	0x90, 0x5c, 0xbc, 0x95, 0x1a, 0x01, 0x72, 0xf8,
955 	0x08, 0x30, 0xef, 0x63, 0x50, 0x14, 0xca, 0x71,
956 	0xdb, 0x87, 0xb7, 0xba, 0xe6};
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, 0x31, 0x84, 0x4f, 0x76, 0x1e,
963 	0x38, 0x02, 0x54, 0x4e, 0x26, 0x56, 0x04, 0x29,
964 	0x27, 0xa9, 0x44, 0x76, 0x66, 0x3b, 0x64, 0x51,
965 	0x3a, 0x32, 0x96, 0x11, 0x39, 0x2d, 0x3d, 0x61,
966 	0x26, 0x07, 0xac, 0x20, 0x88, 0xc2, 0x08, 0xa3,
967 	0x82, 0xa8, 0x6d, 0x4c, 0x76, 0x97, 0xfe, 0x9a,
968 	0xb8, 0xf4, 0xab, 0xd6, 0x52, 0x6c, 0x9a, 0x69,
969 	0x0b, 0x4f, 0x16, 0x41, 0xdb, 0x5e, 0x98, 0xfe,
970 	0xaf, 0x88, 0x64, 0x89, 0xed, 0x51, 0x8f, 0xf9,
971 	0x1e, 0x03, 0xfd, 0xaf, 0x71, 0xe1, 0xa5, 0x8a,
972 	0xbf, 0xe0, 0x2b, 0xb9, 0x80, 0x34, 0x9f, 0x19,
973 	0x15, 0xb3, 0x51, 0xdb, 0xb6, 0x00, 0xbf, 0xf8,
974 	0x54, 0xd3, 0xbd, 0x7e, 0xea, 0x2c, 0xcf, 0x42,
975 	0x79, 0xd5, 0x8c, 0x8c, 0x6a, 0x5c, 0x57, 0x41,
976 	0xca, 0x27, 0x34, 0xbd, 0x42, 0xc1, 0x5b, 0x3f,
977 	0xab, 0x0f, 0x87, 0x6c, 0x25, 0xab, 0x50, 0x7d,
978 	0xd9, 0xf2, 0x6f, 0x14, 0xd1, 0x1a, 0x87, 0x55,
979 	0x0b, 0xe9, 0x2a, 0xb4, 0x92, 0xe5, 0x55, 0xc6,
980 	0xd7, 0x74, 0x60, 0x65, 0x22, 0x41, 0xd2, 0xc0,
981 	0x8a, 0x45, 0x0c, 0x33, 0x29, 0x0f, 0x9e, 0xd2,
982 	0xdb, 0x4f, 0x0f, 0xaf, 0x81, 0xa2, 0xb7, 0x8b,
983 	0x6d, 0x64, 0x28, 0xbe, 0x92, 0x5b, 0xd2, 0xa4,
984 	0xdb, 0x2c, 0xfd, 0x18, 0x8a, 0x05, 0x4c, 0x5a,
985 	0x22, 0x4f, 0x28, 0x7e, 0x82, 0x10, 0xf8, 0x4b,
986 	0x07, 0xc5, 0xea, 0xea, 0x6a, 0x60, 0xba, 0x01,
987 	0x83, 0x9e, 0x8a, 0x0b, 0x75, 0x56, 0x63, 0xe8,
988 	0xd8, 0x56, 0x4a, 0x67, 0x4e, 0x8a, 0xfe, 0x81,
989 	0xa8, 0xe3, 0x7b, 0x21, 0x45, 0xf1, 0x9d, 0xe8,
990 	0x28, 0xb2, 0x5c, 0x8a, 0xbf, 0x39, 0xb6, 0x26,
991 	0xe2, 0x28, 0x42, 0x56, 0xc5, 0x50, 0xd1, 0x0e,
992 	0x8d, 0x97, 0x21, 0xe5, 0x12, 0x89, 0xb3, 0xde,
993 	0xae, 0x26, 0x94, 0x7e, 0xcd, 0x18, 0x79, 0xcd,
994 	0x4f, 0xc2, 0x41, 0xee, 0xb8, 0x94, 0x3e, 0xc7,
995 	0x2b, 0x5c, 0x28, 0x37, 0xfc, 0x0e, 0x74, 0x6d,
996 	0xa6, 0x86, 0x6e, 0x55, 0xb2, 0x2d, 0xc3, 0xed,
997 	0x85, 0xad, 0x8d, 0xef, 0xdf, 0x26, 0xfc, 0xf8,
998 	0xdf, 0x72, 0x3b, 0x8d, 0xd2, 0x02, 0x14, 0x1b,
999 	0x23, 0x14, 0xb0, 0xdf, 0x02, 0x6a, 0xab, 0xa5,
1000 	0x57, 0x8a, 0x8b, 0x03, 0xa5, 0xe0, 0x16, 0x90,
1001 	0x44, 0x7c, 0x15, 0x62, 0xbc, 0xe7, 0xa1, 0x14,
1002 	0x7f, 0xcd, 0xdd, 0x1b, 0xd9, 0x4f, 0x9a, 0x6c,
1003 	0x29, 0x58, 0xc3, 0x48, 0xee, 0x1b, 0xfb, 0xac,
1004 	0xc5, 0x72, 0xe8, 0xfe, 0x48, 0x96, 0xb3, 0xf8,
1005 	0x90, 0x5c, 0xbc, 0x95, 0x1a, 0x01, 0x72, 0xf8,
1006 	0x08, 0x30, 0xef, 0x63, 0x50, 0x14, 0xca, 0x71,
1007 	0xdb, 0x87, 0xb7, 0xba, 0xe6, 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 	0x13, 0x2a, 0x7d, 0xd7, 0x0b, 0x7f, 0xf9, 0xb5,
1025 	0x1d, 0xdc, 0xc3, 0xf9, 0x81, 0xe2, 0xfe, 0x57,
1026 	0xbb, 0xe6, 0x13, 0x38, 0xab, 0x71, 0x57, 0x54,
1027 	0x23, 0x18, 0xef, 0x0c, 0x56, 0x45, 0x1e, 0xe0};
1028 static const uint8_t test_vector_1_prk_4e3m_raw[] = {
1029 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
1030 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
1031 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
1032 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
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, 0x4a, 0x2f, 0x67, 0xd1,
1076 	0xf1, 0xfb, 0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7,
1077 	0x78, 0x19, 0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4,
1078 	0x88, 0x9d, 0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10,
1079 	0xee, 0xb0, 0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12,
1080 	0xfe, 0xeb, 0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a,
1081 	0x90, 0xc2, 0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25,
1082 	0x46, 0xc5, 0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23,
1083 	0x12, 0x83, 0x9b, 0x0e};
1084 static const uint8_t test_vector_1_th_3_raw[] = {
1085 	0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac, 0xae, 0xd5,
1086 	0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f, 0x38, 0x2e,
1087 	0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff, 0x6d, 0x9b,
1088 	0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43, 0x22, 0xae};
1089 static const uint8_t test_vector_1_th_3[] = {
1090 	0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac,
1091 	0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f,
1092 	0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff,
1093 	0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43,
1094 	0x22, 0xae};
1095 static const uint8_t test_vector_1_id_cred_i[] = {
1096 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
1097 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
1098 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
1099 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
1100 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
1101 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1102 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
1103 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
1104 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
1105 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
1106 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
1107 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
1108 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
1109 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
1110 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
1111 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
1112 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
1113 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
1114 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
1115 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
1116 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
1117 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
1118 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
1119 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
1120 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
1121 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
1122 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1123 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
1124 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
1125 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
1126 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
1127 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
1128 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
1129 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
1130 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
1131 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
1132 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde};
1133 static const uint8_t test_vector_1_cred_i[] = {
1134 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
1135 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
1136 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
1137 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1138 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
1139 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
1140 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
1141 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
1142 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
1143 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
1144 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
1145 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
1146 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
1147 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
1148 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
1149 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
1150 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1151 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
1152 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
1153 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
1154 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
1155 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
1156 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
1157 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
1158 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
1159 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
1160 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1161 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
1162 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
1163 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
1164 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
1165 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
1166 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
1167 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
1168 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
1169 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
1170 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
1171 static const uint8_t test_vector_1_ca_i[] = {
1172 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
1173 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
1174 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1175 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1176 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1177 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1178 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1179 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
1180 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
1181 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1182 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
1183 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1184 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1185 	0x52, 0x6f, 0x6f, 0x74, 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, 0x27,
1189 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
1190 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
1191 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
1192 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
1193 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
1194 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
1195 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
1196 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
1197 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1198 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
1199 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
1200 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
1201 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
1202 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
1203 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
1204 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
1205 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
1206 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
1207 	0x13, 0x6b, 0xf3, 0x06};
1208 static const uint8_t test_vector_1_ca_i_pk[] = {
1209 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
1210 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
1211 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
1212 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
1213 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
1214 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
1215 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
1216 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
1217 	0x95};
1218 static const uint8_t test_vector_1_ead_3[] = {
1219 	};
1220 static const uint8_t test_vector_1_info_mac_3[] = {
1221 	0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59,
1222 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
1223 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
1224 	0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08,
1225 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
1226 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
1227 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
1228 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
1229 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31,
1230 	0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a,
1231 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
1232 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
1233 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
1234 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
1235 	0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
1236 	0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
1237 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
1238 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
1239 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75,
1240 	0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6,
1241 	0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47,
1242 	0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29,
1243 	0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d,
1244 	0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11,
1245 	0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3,
1246 	0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93,
1247 	0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a,
1248 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
1249 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
1250 	0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21,
1251 	0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f,
1252 	0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59,
1253 	0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4,
1254 	0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1,
1255 	0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99,
1256 	0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf,
1257 	0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a,
1258 	0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x69, 0x72,
1259 	0xb5, 0x9a, 0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf,
1260 	0xa4, 0x27, 0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80,
1261 	0xbc, 0xec, 0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30,
1262 	0xc1, 0xab, 0x7d, 0x43, 0x22, 0xae, 0x59, 0x01,
1263 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
1264 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62,
1265 	0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1266 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
1267 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
1268 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
1269 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
1270 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37,
1271 	0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17,
1272 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
1273 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
1274 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
1275 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
1276 	0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74,
1277 	0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
1278 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
1279 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
1280 	0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9,
1281 	0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03,
1282 	0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf,
1283 	0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c,
1284 	0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6,
1285 	0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33,
1286 	0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87,
1287 	0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf,
1288 	0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06,
1289 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1290 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21,
1291 	0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38,
1292 	0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d,
1293 	0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b,
1294 	0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d,
1295 	0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85,
1296 	0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23,
1297 	0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65,
1298 	0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07,
1299 	0xa2, 0xbe, 0xde, 0x18, 0x20};
1300 static const uint8_t test_vector_1_mac_3_raw[] = {
1301 	0x6b, 0xe7, 0x80, 0xbc, 0xd6, 0x3b, 0xbf, 0x70,
1302 	0xd9, 0x2b, 0xb1, 0xd6, 0xc8, 0xcd, 0x3a, 0xc3,
1303 	0xde, 0xad, 0x54, 0xb7, 0x49, 0x2a, 0x0c, 0xbf,
1304 	0x2c, 0x50, 0x09, 0x1e, 0x1d, 0xea, 0xc8, 0x93};
1305 static const uint8_t test_vector_1_mac_3[] = {
1306 	0x58, 0x20, 0x6b, 0xe7, 0x80, 0xbc, 0xd6, 0x3b,
1307 	0xbf, 0x70, 0xd9, 0x2b, 0xb1, 0xd6, 0xc8, 0xcd,
1308 	0x3a, 0xc3, 0xde, 0xad, 0x54, 0xb7, 0x49, 0x2a,
1309 	0x0c, 0xbf, 0x2c, 0x50, 0x09, 0x1e, 0x1d, 0xea,
1310 	0xc8, 0x93};
1311 static const uint8_t test_vector_1_m_3[] = {
1312 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
1313 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
1314 	0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
1315 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
1316 	0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30,
1317 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1318 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
1319 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
1320 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
1321 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
1322 	0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31,
1323 	0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
1324 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
1325 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
1326 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
1327 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69,
1328 	0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59,
1329 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
1330 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
1331 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
1332 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
1333 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
1334 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
1335 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
1336 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
1337 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
1338 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
1339 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
1340 	0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1341 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
1342 	0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a,
1343 	0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe,
1344 	0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c,
1345 	0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91,
1346 	0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c,
1347 	0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06,
1348 	0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e,
1349 	0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91,
1350 	0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59,
1351 	0x01, 0x47, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a,
1352 	0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27,
1353 	0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec,
1354 	0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab,
1355 	0x7d, 0x43, 0x22, 0xae, 0x59, 0x01, 0x22, 0x30,
1356 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
1357 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
1358 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
1359 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
1360 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1361 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1362 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
1363 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
1364 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
1365 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
1366 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
1367 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1368 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
1369 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
1370 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
1371 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
1372 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
1373 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
1374 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
1375 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
1376 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
1377 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
1378 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
1379 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
1380 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
1381 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
1382 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
1383 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
1384 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
1385 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
1386 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
1387 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
1388 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
1389 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
1390 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
1391 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
1392 	0xde, 0x58, 0x20, 0x6b, 0xe7, 0x80, 0xbc, 0xd6,
1393 	0x3b, 0xbf, 0x70, 0xd9, 0x2b, 0xb1, 0xd6, 0xc8,
1394 	0xcd, 0x3a, 0xc3, 0xde, 0xad, 0x54, 0xb7, 0x49,
1395 	0x2a, 0x0c, 0xbf, 0x2c, 0x50, 0x09, 0x1e, 0x1d,
1396 	0xea, 0xc8, 0x93};
1397 static const uint8_t test_vector_1_sig_or_mac_3_raw[] = {
1398 	0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6, 0x37, 0xe1,
1399 	0xb1, 0x60, 0xca, 0x81, 0x48, 0x15, 0x8c, 0x2a,
1400 	0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f, 0xfd, 0x23,
1401 	0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d, 0xfe, 0x71,
1402 	0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46, 0x64, 0x58,
1403 	0x45, 0xbd, 0x62, 0xff, 0xce, 0x18, 0xda, 0x14,
1404 	0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2, 0xdd, 0x8b,
1405 	0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f, 0xb7, 0x40};
1406 static const uint8_t test_vector_1_sig_or_mac_3[] = {
1407 	0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6,
1408 	0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81, 0x48, 0x15,
1409 	0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f,
1410 	0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d,
1411 	0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46,
1412 	0x64, 0x58, 0x45, 0xbd, 0x62, 0xff, 0xce, 0x18,
1413 	0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2,
1414 	0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f,
1415 	0xb7, 0x40};
1416 static const uint8_t test_vector_1_p_3[] = {
1417 	0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82,
1418 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
1419 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
1420 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
1421 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
1422 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
1423 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
1424 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
1425 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
1426 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
1427 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
1428 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
1429 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
1430 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
1431 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
1432 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
1433 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
1434 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
1435 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
1436 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
1437 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
1438 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
1439 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
1440 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
1441 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
1442 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
1443 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1444 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
1445 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
1446 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
1447 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
1448 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
1449 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
1450 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
1451 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
1452 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
1453 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde,
1454 	0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6,
1455 	0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81, 0x48, 0x15,
1456 	0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f,
1457 	0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d,
1458 	0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46,
1459 	0x64, 0x58, 0x45, 0xbd, 0x62, 0xff, 0xce, 0x18,
1460 	0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2,
1461 	0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f,
1462 	0xb7, 0x40};
1463 static const uint8_t test_vector_1_a_3[] = {
1464 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
1465 	0x74, 0x30, 0x40, 0x58, 0x20, 0x69, 0x72, 0xb5,
1466 	0x9a, 0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4,
1467 	0x27, 0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc,
1468 	0xec, 0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1,
1469 	0xab, 0x7d, 0x43, 0x22, 0xae};
1470 static const uint8_t test_vector_1_info_k_3[] = {
1471 	0x03, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62,
1472 	0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57,
1473 	0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95,
1474 	0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d,
1475 	0x43, 0x22, 0xae, 0x10};
1476 static const uint8_t test_vector_1_k_3_raw[] = {
1477 	0x37, 0x1d, 0x93, 0x8d, 0x1d, 0xf0, 0x66, 0xfc,
1478 	0xac, 0x97, 0x6e, 0xf4, 0xfe, 0x01, 0x73, 0x0f};
1479 static const uint8_t test_vector_1_info_iv_3[] = {
1480 	0x04, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62,
1481 	0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57,
1482 	0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95,
1483 	0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d,
1484 	0x43, 0x22, 0xae, 0x0d};
1485 static const uint8_t test_vector_1_iv_3_raw[] = {
1486 	0xa0, 0xb5, 0x68, 0xa9, 0x9f, 0x46, 0x06, 0x34,
1487 	0x2e, 0x77, 0x92, 0xa5, 0x92};
1488 static const uint8_t test_vector_1_ciphertext_3_raw[] = {
1489 	0xc6, 0x4e, 0x6c, 0xc0, 0x81, 0x1b, 0xcb, 0x8b,
1490 	0xa5, 0x2e, 0x26, 0xad, 0x1f, 0x98, 0x06, 0xb1,
1491 	0x8a, 0xbb, 0x4b, 0x09, 0x9c, 0xd5, 0xd5, 0xda,
1492 	0x33, 0xb9, 0x3d, 0x41, 0xfd, 0xfd, 0xb9, 0x5b,
1493 	0x70, 0x79, 0x4a, 0x0c, 0x29, 0xb0, 0xc9, 0x9c,
1494 	0xbe, 0x41, 0xd5, 0xe0, 0xe6, 0x0e, 0x48, 0xad,
1495 	0xe0, 0xf4, 0x7e, 0x75, 0xad, 0x40, 0x82, 0x5a,
1496 	0xa6, 0xb1, 0x9e, 0x04, 0x4f, 0x5a, 0xbf, 0x05,
1497 	0x41, 0x1a, 0x07, 0x0b, 0x9c, 0x43, 0x95, 0xff,
1498 	0xca, 0xf9, 0xee, 0x72, 0x1c, 0xee, 0x88, 0xaf,
1499 	0x75, 0x96, 0x6b, 0x37, 0x20, 0xd8, 0x94, 0x15,
1500 	0x3e, 0xa0, 0x6d, 0x5c, 0x05, 0x40, 0x1d, 0x7b,
1501 	0xf1, 0x60, 0x07, 0x1a, 0x5f, 0xb7, 0x27, 0x81,
1502 	0xc2, 0x27, 0xc9, 0x66, 0x7f, 0xc9, 0xf9, 0x30,
1503 	0xed, 0x75, 0xd6, 0x81, 0x56, 0xd8, 0x4d, 0x6a,
1504 	0xde, 0x64, 0x02, 0x5c, 0x92, 0xa1, 0x5a, 0x67,
1505 	0xd9, 0x3d, 0xf1, 0xd7, 0x49, 0x86, 0x3b, 0x1f,
1506 	0x18, 0x27, 0x8b, 0x0e, 0xc0, 0xc3, 0x5d, 0x25,
1507 	0xcc, 0x94, 0x17, 0x8b, 0xf2, 0x86, 0x9a, 0x7b,
1508 	0xc7, 0x02, 0x67, 0x74, 0x4c, 0x1d, 0x7e, 0xef,
1509 	0x4b, 0xec, 0xd9, 0x69, 0xf4, 0x30, 0xf0, 0x8c,
1510 	0x73, 0x3d, 0xfd, 0x6d, 0x91, 0x72, 0xe1, 0x54,
1511 	0x44, 0x6e, 0xeb, 0xb0, 0x5b, 0x8a, 0xaf, 0xe3,
1512 	0x2c, 0x5a, 0xaf, 0xb6, 0x48, 0x12, 0x9c, 0x76,
1513 	0xc7, 0xd6, 0x29, 0xfc, 0xad, 0x95, 0xd9, 0xba,
1514 	0x11, 0xaa, 0xa8, 0x8c, 0x5d, 0xe3, 0xd7, 0x6a,
1515 	0x83, 0xe6, 0xff, 0xf9, 0x0a, 0x0b, 0x47, 0xab,
1516 	0x4a, 0x2b, 0xa2, 0x5e, 0x92, 0x7b, 0x4a, 0xca,
1517 	0x72, 0x69, 0x59, 0xd5, 0x9f, 0x53, 0x7e, 0xd5,
1518 	0xc2, 0xd7, 0x36, 0x24, 0x85, 0x27, 0x3c, 0xb1,
1519 	0xc5, 0x78, 0xc8, 0xa2, 0xc4, 0x7c, 0x48, 0xf2,
1520 	0xe9, 0x98, 0x4a, 0xc6, 0xe7, 0x48, 0xa3, 0x6b,
1521 	0xab, 0x45, 0xf9, 0x35, 0x52, 0xc2, 0xc5, 0x85,
1522 	0x11, 0x3e, 0x5e, 0x33, 0x69, 0xf0, 0xc1, 0x43,
1523 	0xdd, 0xdc, 0x45, 0x15, 0xce, 0x65, 0xe5, 0x16,
1524 	0x0e, 0xd7, 0xa6, 0x56, 0x93, 0x5c, 0x9f, 0x8d,
1525 	0x7f, 0x26, 0xe2, 0x04, 0x27, 0xeb, 0xf4, 0x21,
1526 	0x7f, 0x21, 0x09, 0x54, 0x9a, 0x2f, 0x8c, 0xf0,
1527 	0xa9, 0x56, 0x4f, 0xb0, 0x27, 0xc6, 0xc5, 0xe3,
1528 	0x9a, 0xd6, 0xd2, 0x5b, 0x33, 0xc5, 0xb3, 0xc3,
1529 	0x53, 0xfe, 0x31, 0x02, 0xa8, 0xd4, 0x1b, 0x75,
1530 	0x0d, 0xbf, 0x57, 0x48, 0xe5, 0xd9, 0x7d, 0xfb,
1531 	0x5a, 0x80, 0x83, 0x44, 0x10, 0x72, 0x1e, 0xdc,
1532 	0x3f, 0xba, 0x46, 0x18, 0xaf, 0x01, 0xde, 0x94,
1533 	0xde, 0x33, 0xcf, 0xee, 0x21, 0xfd, 0x4f, 0x00,
1534 	0xad, 0xf2, 0x36, 0x50, 0x55, 0x1e, 0x8b, 0xef,
1535 	0x5a, 0x4c};
1536 static const uint8_t test_vector_1_ciphertext_3[] = {
1537 	0x59, 0x01, 0x72, 0xc6, 0x4e, 0x6c, 0xc0, 0x81,
1538 	0x1b, 0xcb, 0x8b, 0xa5, 0x2e, 0x26, 0xad, 0x1f,
1539 	0x98, 0x06, 0xb1, 0x8a, 0xbb, 0x4b, 0x09, 0x9c,
1540 	0xd5, 0xd5, 0xda, 0x33, 0xb9, 0x3d, 0x41, 0xfd,
1541 	0xfd, 0xb9, 0x5b, 0x70, 0x79, 0x4a, 0x0c, 0x29,
1542 	0xb0, 0xc9, 0x9c, 0xbe, 0x41, 0xd5, 0xe0, 0xe6,
1543 	0x0e, 0x48, 0xad, 0xe0, 0xf4, 0x7e, 0x75, 0xad,
1544 	0x40, 0x82, 0x5a, 0xa6, 0xb1, 0x9e, 0x04, 0x4f,
1545 	0x5a, 0xbf, 0x05, 0x41, 0x1a, 0x07, 0x0b, 0x9c,
1546 	0x43, 0x95, 0xff, 0xca, 0xf9, 0xee, 0x72, 0x1c,
1547 	0xee, 0x88, 0xaf, 0x75, 0x96, 0x6b, 0x37, 0x20,
1548 	0xd8, 0x94, 0x15, 0x3e, 0xa0, 0x6d, 0x5c, 0x05,
1549 	0x40, 0x1d, 0x7b, 0xf1, 0x60, 0x07, 0x1a, 0x5f,
1550 	0xb7, 0x27, 0x81, 0xc2, 0x27, 0xc9, 0x66, 0x7f,
1551 	0xc9, 0xf9, 0x30, 0xed, 0x75, 0xd6, 0x81, 0x56,
1552 	0xd8, 0x4d, 0x6a, 0xde, 0x64, 0x02, 0x5c, 0x92,
1553 	0xa1, 0x5a, 0x67, 0xd9, 0x3d, 0xf1, 0xd7, 0x49,
1554 	0x86, 0x3b, 0x1f, 0x18, 0x27, 0x8b, 0x0e, 0xc0,
1555 	0xc3, 0x5d, 0x25, 0xcc, 0x94, 0x17, 0x8b, 0xf2,
1556 	0x86, 0x9a, 0x7b, 0xc7, 0x02, 0x67, 0x74, 0x4c,
1557 	0x1d, 0x7e, 0xef, 0x4b, 0xec, 0xd9, 0x69, 0xf4,
1558 	0x30, 0xf0, 0x8c, 0x73, 0x3d, 0xfd, 0x6d, 0x91,
1559 	0x72, 0xe1, 0x54, 0x44, 0x6e, 0xeb, 0xb0, 0x5b,
1560 	0x8a, 0xaf, 0xe3, 0x2c, 0x5a, 0xaf, 0xb6, 0x48,
1561 	0x12, 0x9c, 0x76, 0xc7, 0xd6, 0x29, 0xfc, 0xad,
1562 	0x95, 0xd9, 0xba, 0x11, 0xaa, 0xa8, 0x8c, 0x5d,
1563 	0xe3, 0xd7, 0x6a, 0x83, 0xe6, 0xff, 0xf9, 0x0a,
1564 	0x0b, 0x47, 0xab, 0x4a, 0x2b, 0xa2, 0x5e, 0x92,
1565 	0x7b, 0x4a, 0xca, 0x72, 0x69, 0x59, 0xd5, 0x9f,
1566 	0x53, 0x7e, 0xd5, 0xc2, 0xd7, 0x36, 0x24, 0x85,
1567 	0x27, 0x3c, 0xb1, 0xc5, 0x78, 0xc8, 0xa2, 0xc4,
1568 	0x7c, 0x48, 0xf2, 0xe9, 0x98, 0x4a, 0xc6, 0xe7,
1569 	0x48, 0xa3, 0x6b, 0xab, 0x45, 0xf9, 0x35, 0x52,
1570 	0xc2, 0xc5, 0x85, 0x11, 0x3e, 0x5e, 0x33, 0x69,
1571 	0xf0, 0xc1, 0x43, 0xdd, 0xdc, 0x45, 0x15, 0xce,
1572 	0x65, 0xe5, 0x16, 0x0e, 0xd7, 0xa6, 0x56, 0x93,
1573 	0x5c, 0x9f, 0x8d, 0x7f, 0x26, 0xe2, 0x04, 0x27,
1574 	0xeb, 0xf4, 0x21, 0x7f, 0x21, 0x09, 0x54, 0x9a,
1575 	0x2f, 0x8c, 0xf0, 0xa9, 0x56, 0x4f, 0xb0, 0x27,
1576 	0xc6, 0xc5, 0xe3, 0x9a, 0xd6, 0xd2, 0x5b, 0x33,
1577 	0xc5, 0xb3, 0xc3, 0x53, 0xfe, 0x31, 0x02, 0xa8,
1578 	0xd4, 0x1b, 0x75, 0x0d, 0xbf, 0x57, 0x48, 0xe5,
1579 	0xd9, 0x7d, 0xfb, 0x5a, 0x80, 0x83, 0x44, 0x10,
1580 	0x72, 0x1e, 0xdc, 0x3f, 0xba, 0x46, 0x18, 0xaf,
1581 	0x01, 0xde, 0x94, 0xde, 0x33, 0xcf, 0xee, 0x21,
1582 	0xfd, 0x4f, 0x00, 0xad, 0xf2, 0x36, 0x50, 0x55,
1583 	0x1e, 0x8b, 0xef, 0x5a, 0x4c};
1584 static const uint8_t test_vector_1_message_3[] = {
1585 	0x59, 0x01, 0x72, 0xc6, 0x4e, 0x6c, 0xc0, 0x81,
1586 	0x1b, 0xcb, 0x8b, 0xa5, 0x2e, 0x26, 0xad, 0x1f,
1587 	0x98, 0x06, 0xb1, 0x8a, 0xbb, 0x4b, 0x09, 0x9c,
1588 	0xd5, 0xd5, 0xda, 0x33, 0xb9, 0x3d, 0x41, 0xfd,
1589 	0xfd, 0xb9, 0x5b, 0x70, 0x79, 0x4a, 0x0c, 0x29,
1590 	0xb0, 0xc9, 0x9c, 0xbe, 0x41, 0xd5, 0xe0, 0xe6,
1591 	0x0e, 0x48, 0xad, 0xe0, 0xf4, 0x7e, 0x75, 0xad,
1592 	0x40, 0x82, 0x5a, 0xa6, 0xb1, 0x9e, 0x04, 0x4f,
1593 	0x5a, 0xbf, 0x05, 0x41, 0x1a, 0x07, 0x0b, 0x9c,
1594 	0x43, 0x95, 0xff, 0xca, 0xf9, 0xee, 0x72, 0x1c,
1595 	0xee, 0x88, 0xaf, 0x75, 0x96, 0x6b, 0x37, 0x20,
1596 	0xd8, 0x94, 0x15, 0x3e, 0xa0, 0x6d, 0x5c, 0x05,
1597 	0x40, 0x1d, 0x7b, 0xf1, 0x60, 0x07, 0x1a, 0x5f,
1598 	0xb7, 0x27, 0x81, 0xc2, 0x27, 0xc9, 0x66, 0x7f,
1599 	0xc9, 0xf9, 0x30, 0xed, 0x75, 0xd6, 0x81, 0x56,
1600 	0xd8, 0x4d, 0x6a, 0xde, 0x64, 0x02, 0x5c, 0x92,
1601 	0xa1, 0x5a, 0x67, 0xd9, 0x3d, 0xf1, 0xd7, 0x49,
1602 	0x86, 0x3b, 0x1f, 0x18, 0x27, 0x8b, 0x0e, 0xc0,
1603 	0xc3, 0x5d, 0x25, 0xcc, 0x94, 0x17, 0x8b, 0xf2,
1604 	0x86, 0x9a, 0x7b, 0xc7, 0x02, 0x67, 0x74, 0x4c,
1605 	0x1d, 0x7e, 0xef, 0x4b, 0xec, 0xd9, 0x69, 0xf4,
1606 	0x30, 0xf0, 0x8c, 0x73, 0x3d, 0xfd, 0x6d, 0x91,
1607 	0x72, 0xe1, 0x54, 0x44, 0x6e, 0xeb, 0xb0, 0x5b,
1608 	0x8a, 0xaf, 0xe3, 0x2c, 0x5a, 0xaf, 0xb6, 0x48,
1609 	0x12, 0x9c, 0x76, 0xc7, 0xd6, 0x29, 0xfc, 0xad,
1610 	0x95, 0xd9, 0xba, 0x11, 0xaa, 0xa8, 0x8c, 0x5d,
1611 	0xe3, 0xd7, 0x6a, 0x83, 0xe6, 0xff, 0xf9, 0x0a,
1612 	0x0b, 0x47, 0xab, 0x4a, 0x2b, 0xa2, 0x5e, 0x92,
1613 	0x7b, 0x4a, 0xca, 0x72, 0x69, 0x59, 0xd5, 0x9f,
1614 	0x53, 0x7e, 0xd5, 0xc2, 0xd7, 0x36, 0x24, 0x85,
1615 	0x27, 0x3c, 0xb1, 0xc5, 0x78, 0xc8, 0xa2, 0xc4,
1616 	0x7c, 0x48, 0xf2, 0xe9, 0x98, 0x4a, 0xc6, 0xe7,
1617 	0x48, 0xa3, 0x6b, 0xab, 0x45, 0xf9, 0x35, 0x52,
1618 	0xc2, 0xc5, 0x85, 0x11, 0x3e, 0x5e, 0x33, 0x69,
1619 	0xf0, 0xc1, 0x43, 0xdd, 0xdc, 0x45, 0x15, 0xce,
1620 	0x65, 0xe5, 0x16, 0x0e, 0xd7, 0xa6, 0x56, 0x93,
1621 	0x5c, 0x9f, 0x8d, 0x7f, 0x26, 0xe2, 0x04, 0x27,
1622 	0xeb, 0xf4, 0x21, 0x7f, 0x21, 0x09, 0x54, 0x9a,
1623 	0x2f, 0x8c, 0xf0, 0xa9, 0x56, 0x4f, 0xb0, 0x27,
1624 	0xc6, 0xc5, 0xe3, 0x9a, 0xd6, 0xd2, 0x5b, 0x33,
1625 	0xc5, 0xb3, 0xc3, 0x53, 0xfe, 0x31, 0x02, 0xa8,
1626 	0xd4, 0x1b, 0x75, 0x0d, 0xbf, 0x57, 0x48, 0xe5,
1627 	0xd9, 0x7d, 0xfb, 0x5a, 0x80, 0x83, 0x44, 0x10,
1628 	0x72, 0x1e, 0xdc, 0x3f, 0xba, 0x46, 0x18, 0xaf,
1629 	0x01, 0xde, 0x94, 0xde, 0x33, 0xcf, 0xee, 0x21,
1630 	0xfd, 0x4f, 0x00, 0xad, 0xf2, 0x36, 0x50, 0x55,
1631 	0x1e, 0x8b, 0xef, 0x5a, 0x4c};
1632 static const uint8_t test_vector_1_input_th_4[] = {
1633 	0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac,
1634 	0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f,
1635 	0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff,
1636 	0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43,
1637 	0x22, 0xae, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22,
1638 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
1639 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
1640 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1641 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1642 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1643 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1644 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1645 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
1646 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
1647 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1648 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
1649 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
1650 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1651 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
1652 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
1653 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
1654 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
1655 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
1656 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
1657 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
1658 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
1659 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
1660 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
1661 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
1662 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
1663 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
1664 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
1665 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
1666 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
1667 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
1668 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
1669 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
1670 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
1671 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
1672 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
1673 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
1674 	0xbe, 0xde, 0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98,
1675 	0x79, 0xd6, 0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81,
1676 	0x48, 0x15, 0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58,
1677 	0x4c, 0x9f, 0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30,
1678 	0xb7, 0x8d, 0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78,
1679 	0xb3, 0x46, 0x64, 0x58, 0x45, 0xbd, 0x62, 0xff,
1680 	0xce, 0x18, 0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e,
1681 	0x1b, 0xc2, 0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62,
1682 	0x1c, 0x9f, 0xb7, 0x40};
1683 static const uint8_t test_vector_1_th_4_raw[] = {
1684 	0x99, 0x36, 0xf6, 0x4f, 0x94, 0xa8, 0x87, 0xe9,
1685 	0x28, 0xa9, 0x48, 0x23, 0xa5, 0x6f, 0x9e, 0xc6,
1686 	0x0d, 0xb7, 0xd8, 0x1d, 0x91, 0xb4, 0x77, 0x9a,
1687 	0x4d, 0x56, 0x7e, 0x05, 0xe4, 0xf3, 0x18, 0xe5};
1688 static const uint8_t test_vector_1_th_4[] = {
1689 	0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94, 0xa8,
1690 	0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5, 0x6f,
1691 	0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91, 0xb4,
1692 	0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4, 0xf3,
1693 	0x18, 0xe5};
1694 static const uint8_t test_vector_1_ead_4[] = {
1695 	};
1696 static const uint8_t test_vector_1_p_4[] = {
1697 	};
1698 static const uint8_t test_vector_1_a_4[] = {
1699 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
1700 	0x74, 0x30, 0x40, 0x58, 0x20, 0x99, 0x36, 0xf6,
1701 	0x4f, 0x94, 0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48,
1702 	0x23, 0xa5, 0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8,
1703 	0x1d, 0x91, 0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e,
1704 	0x05, 0xe4, 0xf3, 0x18, 0xe5};
1705 static const uint8_t test_vector_1_info_k_4[] = {
1706 	0x08, 0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94,
1707 	0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5,
1708 	0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91,
1709 	0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4,
1710 	0xf3, 0x18, 0xe5, 0x10};
1711 static const uint8_t test_vector_1_k_4_raw[] = {
1712 	0xf1, 0xae, 0x1d, 0xa7, 0xc2, 0x39, 0x67, 0x08,
1713 	0x79, 0x49, 0x29, 0x01, 0x3d, 0x9c, 0x84, 0xb8};
1714 static const uint8_t test_vector_1_info_iv_4[] = {
1715 	0x09, 0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94,
1716 	0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5,
1717 	0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91,
1718 	0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4,
1719 	0xf3, 0x18, 0xe5, 0x0d};
1720 static const uint8_t test_vector_1_iv_4_raw[] = {
1721 	0x79, 0x1c, 0xa3, 0xec, 0xc8, 0xcf, 0xdb, 0x1e,
1722 	0xfc, 0x4e, 0x51, 0x10, 0x12};
1723 static const uint8_t test_vector_1_ciphertext_4_raw[] = {
1724 	0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1, 0xa0};
1725 static const uint8_t test_vector_1_ciphertext_4[] = {
1726 	0x48, 0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1,
1727 	0xa0};
1728 static const uint8_t test_vector_1_message_4[] = {
1729 	0x48, 0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1,
1730 	0xa0};
1731 static const uint8_t test_vector_1_prk_out[] = {
1732 	0xe0, 0xc9, 0xcb, 0xb8, 0x4c, 0xc7, 0x4f, 0x91,
1733 	0x5d, 0xf9, 0x17, 0xf3, 0x2f, 0x8d, 0x13, 0xdf,
1734 	0x48, 0xdc, 0x7f, 0xeb, 0x23, 0xd0, 0x87, 0xac,
1735 	0xe2, 0x79, 0x90, 0xe3, 0xdc, 0x21, 0x74, 0x46};
1736 static const uint8_t test_vector_1_prk_exporter[] = {
1737 	0x87, 0x0b, 0xb1, 0x26, 0x9b, 0xa4, 0xeb, 0x38,
1738 	0x74, 0x51, 0xaa, 0x1b, 0x63, 0x16, 0x5b, 0x6c,
1739 	0x31, 0x6c, 0x79, 0xb1, 0x4a, 0xd2, 0x61, 0x00,
1740 	0x68, 0xd2, 0x4d, 0x7f, 0x12, 0xab, 0xed, 0xd8};
1741 int32_t test_vector_1_oscore_aead_alg = 10;
1742 int32_t test_vector_1_oscore_hash_alg = -16;
1743 static const uint8_t test_vector_1_client_sender_id_raw[] = {
1744 	0x27};
1745 static const uint8_t test_vector_1_server_sender_id_raw[] = {
1746 	0x37};
1747 static const uint8_t test_vector_1_info_oscore_secret[] = {
1748 	0x00, 0x40, 0x10};
1749 static const uint8_t test_vector_1_oscore_secret_raw[] = {
1750 	0x51, 0x37, 0x71, 0x07, 0x7d, 0xf6, 0xdc, 0xc1,
1751 	0x72, 0x8f, 0xaa, 0x45, 0x87, 0x3b, 0x57, 0xa8};
1752 static const uint8_t test_vector_1_info_oscore_salt[] = {
1753 	0x01, 0x40, 0x08};
1754 static const uint8_t test_vector_1_oscore_salt_raw[] = {
1755 	0x2b, 0x2a, 0x54, 0x13, 0x44, 0xe4, 0x91, 0x4b};
1756 static const uint8_t test_vector_1_prk_out_updated[] = {
1757 	0xb6, 0xc2, 0x36, 0x83, 0x10, 0x82, 0xeb, 0x46,
1758 	0x64, 0xcb, 0xe4, 0xe4, 0xef, 0x23, 0x2b, 0x6f,
1759 	0x1a, 0xa9, 0x93, 0x1f, 0x91, 0x2e, 0x16, 0x01,
1760 	0xb7, 0xbb, 0x6b, 0xc0, 0xfa, 0xfe, 0x1a, 0xbf};
1761 static const uint8_t test_vector_1_prk_exporter_update[] = {
1762 	0xad, 0xf2, 0x9f, 0xcb, 0x4d, 0x55, 0xee, 0xed,
1763 	0x20, 0xaa, 0x52, 0x75, 0xc8, 0x6e, 0xff, 0x29,
1764 	0xc8, 0x80, 0x28, 0x76, 0x9a, 0x26, 0xaf, 0x5d,
1765 	0x65, 0x93, 0xaa, 0x78, 0xf5, 0xb0, 0xaa, 0x2c};
1766 static const uint8_t test_vector_1_oscore_secret_key_update_raw[] = {
1767 	0xef, 0x3c, 0x25, 0xb9, 0x6e, 0x74, 0xa7, 0x53,
1768 	0x0c, 0x68, 0x73, 0x7e, 0x4e, 0x6c, 0xa7, 0x46};
1769 static const uint8_t test_vector_1_oscore_salt_key_update_raw[] = {
1770 	0x2b, 0x27, 0x86, 0xc1, 0x93, 0x38, 0x16, 0x06};
1771 
1772 /***************** test_vector_2 ************/
1773 
1774  static const uint8_t test_vector_2_method[] = {
1775 	0x00};
1776 static const uint8_t test_vector_2_SUITES_I[] = {
1777 	0x02};
1778 static const uint8_t test_vector_2_SUITES_R[] = {
1779 	0x02};
1780 static const uint8_t test_vector_2_x_raw[] = {
1781 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
1782 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
1783 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
1784 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
1785 static const uint8_t test_vector_2_g_x_raw[] = {
1786 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
1787 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
1788 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
1789 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
1790 static const uint8_t test_vector_2_g_x_raw_y_coordinate[] = {
1791 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
1792 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
1793 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
1794 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
1795 static const uint8_t test_vector_2_g_x[] = {
1796 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
1797 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
1798 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
1799 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
1800 	0xc3, 0xb6};
1801 int32_t test_vector_2_c_i_raw = -24;
1802 static const uint8_t test_vector_2_c_i[] = {
1803 	0x37};
1804 static const uint8_t test_vector_2_ead_1[] = {
1805 	};
1806 static const uint8_t test_vector_2_message_1[] = {
1807 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
1808 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
1809 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
1810 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
1811 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
1812 static const uint8_t test_vector_2_y_raw[] = {
1813 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
1814 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
1815 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
1816 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
1817 static const uint8_t test_vector_2_g_y_raw[] = {
1818 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
1819 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
1820 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
1821 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
1822 static const uint8_t test_vector_2_g_y_raw_y_coordinate[] = {
1823 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
1824 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
1825 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
1826 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
1827 static const uint8_t test_vector_2_g_y[] = {
1828 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
1829 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
1830 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
1831 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
1832 	0xf5, 0xd5};
1833 static const uint8_t test_vector_2_g_xy_raw[] = {
1834 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
1835 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
1836 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
1837 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
1838 static const uint8_t test_vector_2_salt_raw[] = {
1839 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1840 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1841 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1842 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
1843 static const uint8_t test_vector_2_prk_2e_raw[] = {
1844 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
1845 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
1846 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
1847 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
1848 static const uint8_t test_vector_2_salt_3e2m[] = {
1849 	0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72,
1850 	0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38,
1851 	0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70,
1852 	0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7};
1853 static const uint8_t test_vector_2_sk_r_raw[] = {
1854 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
1855 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
1856 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
1857 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
1858 static const uint8_t test_vector_2_pk_r_raw[] = {
1859 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
1860 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
1861 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
1862 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
1863 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
1864 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
1865 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
1866 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
1867 	0x72};
1868 static const uint8_t test_vector_2_prk_3e2m_raw[] = {
1869 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
1870 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
1871 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
1872 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
1873 int32_t test_vector_2_c_r_raw = -8;
1874 static const uint8_t test_vector_2_c_r[] = {
1875 	0x27};
1876 static const uint8_t test_vector_2_h_message_1_raw[] = {
1877 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
1878 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
1879 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
1880 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
1881 static const uint8_t test_vector_2_h_message_1[] = {
1882 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
1883 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
1884 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
1885 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
1886 	0x67, 0x26};
1887 static const uint8_t test_vector_2_input_th_2[] = {
1888 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
1889 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
1890 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
1891 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
1892 	0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f,
1893 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
1894 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
1895 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
1896 	0x18, 0x2a, 0x4e, 0x67, 0x26};
1897 static const uint8_t test_vector_2_th_2_raw[] = {
1898 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
1899 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
1900 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
1901 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6};
1902 static const uint8_t test_vector_2_th_2[] = {
1903 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
1904 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
1905 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
1906 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
1907 	0xab, 0xa6};
1908 static const uint8_t test_vector_2_id_cred_r[] = {
1909 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80,
1910 	0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4};
1911 static const uint8_t test_vector_2_cred_r[] = {
1912 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
1913 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
1914 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
1915 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
1916 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
1917 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
1918 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
1919 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
1920 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
1921 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
1922 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
1923 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
1924 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
1925 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
1926 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
1927 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
1928 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1929 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
1930 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
1931 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
1932 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
1933 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
1934 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
1935 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
1936 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
1937 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
1938 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1939 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
1940 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
1941 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
1942 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
1943 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
1944 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
1945 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
1946 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
1947 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
1948 	0x3b, 0x13, 0x3d, 0x05, 0x58};
1949 static const uint8_t test_vector_2_ca_r[] = {
1950 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
1951 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
1952 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
1953 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
1954 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
1955 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
1956 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
1957 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
1958 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
1959 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
1960 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
1961 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
1962 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
1963 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
1964 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
1965 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1966 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
1967 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
1968 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
1969 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
1970 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
1971 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
1972 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
1973 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
1974 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
1975 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
1976 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
1977 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
1978 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
1979 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
1980 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
1981 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
1982 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
1983 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
1984 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
1985 	0x13, 0x6b, 0xf3, 0x06};
1986 static const uint8_t test_vector_2_ca_r_pk[] = {
1987 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
1988 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
1989 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
1990 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
1991 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
1992 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
1993 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
1994 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
1995 	0x95};
1996 static const uint8_t test_vector_2_ead_2[] = {
1997 	};
1998 static const uint8_t test_vector_2_info_mac_2[] = {
1999 	0x02, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82,
2000 	0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8,
2001 	0xab, 0xf4, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36,
2002 	0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f,
2003 	0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60,
2004 	0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f,
2005 	0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30,
2006 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
2007 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
2008 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2009 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
2010 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2011 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2012 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
2013 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
2014 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
2015 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
2016 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
2017 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2018 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
2019 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
2020 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
2021 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
2022 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
2023 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
2024 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
2025 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
2026 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
2027 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
2028 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
2029 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
2030 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
2031 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
2032 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
2033 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
2034 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
2035 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
2036 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
2037 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
2038 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
2039 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
2040 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
2041 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
2042 	0x58, 0x18, 0x20};
2043 static const uint8_t test_vector_2_mac_2_raw[] = {
2044 	0xcc, 0x4b, 0xbe, 0x61, 0x89, 0x06, 0xb8, 0x6c,
2045 	0x22, 0x62, 0x16, 0x44, 0xc3, 0x73, 0x66, 0xb0,
2046 	0xa7, 0x65, 0x03, 0x24, 0xaa, 0x49, 0x71, 0x22,
2047 	0x6a, 0x87, 0x95, 0x18, 0xd9, 0x38, 0xa9, 0x49};
2048 static const uint8_t test_vector_2_mac_2[] = {
2049 	0x58, 0x20, 0xcc, 0x4b, 0xbe, 0x61, 0x89, 0x06,
2050 	0xb8, 0x6c, 0x22, 0x62, 0x16, 0x44, 0xc3, 0x73,
2051 	0x66, 0xb0, 0xa7, 0x65, 0x03, 0x24, 0xaa, 0x49,
2052 	0x71, 0x22, 0x6a, 0x87, 0x95, 0x18, 0xd9, 0x38,
2053 	0xa9, 0x49};
2054 static const uint8_t test_vector_2_m_2[] = {
2055 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
2056 	0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22,
2057 	0x82, 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01,
2058 	0xa8, 0xab, 0xf4, 0x59, 0x01, 0x47, 0x58, 0x20,
2059 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
2060 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
2061 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
2062 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6,
2063 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2064 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2065 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
2066 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2067 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2068 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2069 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2070 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
2071 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
2072 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2073 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2074 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2075 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2076 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
2077 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
2078 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2079 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2080 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
2081 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
2082 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
2083 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
2084 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
2085 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
2086 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
2087 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
2088 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
2089 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2090 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2091 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
2092 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
2093 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
2094 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
2095 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
2096 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
2097 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
2098 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
2099 	0x3b, 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xcc,
2100 	0x4b, 0xbe, 0x61, 0x89, 0x06, 0xb8, 0x6c, 0x22,
2101 	0x62, 0x16, 0x44, 0xc3, 0x73, 0x66, 0xb0, 0xa7,
2102 	0x65, 0x03, 0x24, 0xaa, 0x49, 0x71, 0x22, 0x6a,
2103 	0x87, 0x95, 0x18, 0xd9, 0x38, 0xa9, 0x49};
2104 static const uint8_t test_vector_2_sig_or_mac_2_raw[] = {
2105 	0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 0xdc, 0x64,
2106 	0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 0x01, 0x0c,
2107 	0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 0xcc, 0xaa,
2108 	0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 0x56, 0x7b,
2109 	0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 0x91, 0xe3,
2110 	0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 0x18, 0x68,
2111 	0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 0x99, 0x9b,
2112 	0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 0x52, 0x1b};
2113 static const uint8_t test_vector_2_sig_or_mac_2[] = {
2114 	0x58, 0x40, 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02,
2115 	0xdc, 0x64, 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f,
2116 	0x01, 0x0c, 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b,
2117 	0xcc, 0xaa, 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28,
2118 	0x56, 0x7b, 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20,
2119 	0x91, 0xe3, 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30,
2120 	0x18, 0x68, 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf,
2121 	0x99, 0x9b, 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca,
2122 	0x52, 0x1b};
2123 static const uint8_t test_vector_2_plaintext_2[] = {
2124 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80,
2125 	0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 0x58, 0x40,
2126 	0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 0xdc, 0x64,
2127 	0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 0x01, 0x0c,
2128 	0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 0xcc, 0xaa,
2129 	0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 0x56, 0x7b,
2130 	0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 0x91, 0xe3,
2131 	0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 0x18, 0x68,
2132 	0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 0x99, 0x9b,
2133 	0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 0x52, 0x1b};
2134 static const uint8_t test_vector_2_info_keystream_2[] = {
2135 	0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43,
2136 	0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b,
2137 	0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9,
2138 	0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92,
2139 	0xfb, 0xab, 0xa6, 0x18, 0x50};
2140 static const uint8_t test_vector_2_keystream_2_raw[] = {
2141 	0xa2, 0xce, 0x34, 0xee, 0x7d, 0x39, 0xbc, 0xd9,
2142 	0x40, 0x02, 0xdb, 0xff, 0xa2, 0xad, 0x0b, 0xcb,
2143 	0xe3, 0xb0, 0x5b, 0x61, 0x53, 0xcf, 0xe4, 0x89,
2144 	0xa2, 0x29, 0x33, 0x9a, 0xc3, 0xd7, 0xcd, 0x44,
2145 	0x31, 0x54, 0x09, 0xa8, 0x38, 0x59, 0x7c, 0x9c,
2146 	0xbc, 0xb1, 0x9c, 0x35, 0x3c, 0x90, 0xe8, 0x47,
2147 	0xd6, 0x55, 0x6b, 0x79, 0x68, 0x8d, 0xf6, 0xaa,
2148 	0x9b, 0x83, 0xe3, 0xe7, 0x33, 0x49, 0x3a, 0x2b,
2149 	0xea, 0x7a, 0x30, 0xea, 0x70, 0xc0, 0xcc, 0x7c,
2150 	0x2d, 0x22, 0xfa, 0x2a, 0x78, 0x3e, 0x78, 0xff};
2151 static const uint8_t test_vector_2_ciphertext_2_raw[] = {
2152 	0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71, 0x88, 0x59,
2153 	0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59, 0x53, 0x8b,
2154 	0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd, 0x38, 0xed,
2155 	0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48, 0xcc, 0x48,
2156 	0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52, 0xb0, 0x36,
2157 	0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8, 0xbe, 0x3c,
2158 	0x70, 0x04, 0x36, 0x76, 0x74, 0xad, 0x67, 0x49,
2159 	0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79, 0x22, 0x43,
2160 	0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f, 0x55, 0xe7,
2161 	0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4, 0x2a, 0xe4};
2162 static const uint8_t test_vector_2_ciphertext_2[] = {
2163 	0x58, 0x50, 0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71,
2164 	0x88, 0x59, 0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59,
2165 	0x53, 0x8b, 0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd,
2166 	0x38, 0xed, 0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48,
2167 	0xcc, 0x48, 0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52,
2168 	0xb0, 0x36, 0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8,
2169 	0xbe, 0x3c, 0x70, 0x04, 0x36, 0x76, 0x74, 0xad,
2170 	0x67, 0x49, 0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79,
2171 	0x22, 0x43, 0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f,
2172 	0x55, 0xe7, 0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4,
2173 	0x2a, 0xe4};
2174 static const uint8_t test_vector_2_message_2[] = {
2175 	0x58, 0x70, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2176 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2177 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2178 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2179 	0xf5, 0xd5, 0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71,
2180 	0x88, 0x59, 0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59,
2181 	0x53, 0x8b, 0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd,
2182 	0x38, 0xed, 0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48,
2183 	0xcc, 0x48, 0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52,
2184 	0xb0, 0x36, 0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8,
2185 	0xbe, 0x3c, 0x70, 0x04, 0x36, 0x76, 0x74, 0xad,
2186 	0x67, 0x49, 0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79,
2187 	0x22, 0x43, 0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f,
2188 	0x55, 0xe7, 0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4,
2189 	0x2a, 0xe4, 0x27};
2190 static const uint8_t test_vector_2_sk_i_raw[] = {
2191 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
2192 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
2193 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
2194 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
2195 static const uint8_t test_vector_2_pk_i_raw[] = {
2196 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
2197 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
2198 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
2199 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
2200 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
2201 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
2202 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
2203 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
2204 	0xc8};
2205 static const uint8_t test_vector_2_salt_4e3m[] = {
2206 	0x75, 0xde, 0x92, 0x26, 0xa3, 0x71, 0xb8, 0x6d,
2207 	0xf7, 0x07, 0xa6, 0xc7, 0xe3, 0x08, 0xdd, 0x42,
2208 	0xb6, 0x87, 0xd8, 0x5a, 0x8c, 0x82, 0x93, 0x46,
2209 	0x3b, 0xf1, 0xab, 0x3c, 0xa3, 0xcf, 0xb8, 0xcd};
2210 static const uint8_t test_vector_2_prk_4e3m_raw[] = {
2211 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
2212 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
2213 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
2214 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
2215 static const uint8_t test_vector_2_input_TH_3[] = {
2216 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
2217 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
2218 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
2219 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
2220 	0xab, 0xa6, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48,
2221 	0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4,
2222 	0x58, 0x40, 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02,
2223 	0xdc, 0x64, 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f,
2224 	0x01, 0x0c, 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b,
2225 	0xcc, 0xaa, 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28,
2226 	0x56, 0x7b, 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20,
2227 	0x91, 0xe3, 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30,
2228 	0x18, 0x68, 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf,
2229 	0x99, 0x9b, 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca,
2230 	0x52, 0x1b};
2231 static const uint8_t test_vector_2_th_3_raw[] = {
2232 	0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 0x93, 0x6c,
2233 	0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 0x95, 0x2e,
2234 	0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 0x80, 0x73,
2235 	0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 0x32, 0x54};
2236 static const uint8_t test_vector_2_th_3[] = {
2237 	0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88,
2238 	0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4,
2239 	0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c,
2240 	0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59,
2241 	0x32, 0x54};
2242 static const uint8_t test_vector_2_id_cred_i[] = {
2243 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7,
2244 	0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76};
2245 static const uint8_t test_vector_2_cred_i[] = {
2246 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2247 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2248 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
2249 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2250 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2251 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2252 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2253 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
2254 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
2255 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2256 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2257 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2258 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2259 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
2260 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
2261 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2262 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2263 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
2264 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
2265 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
2266 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
2267 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
2268 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
2269 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
2270 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
2271 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
2272 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2273 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2274 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
2275 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
2276 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
2277 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
2278 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
2279 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
2280 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
2281 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
2282 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
2283 static const uint8_t test_vector_2_ca_i[] = {
2284 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
2285 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
2286 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2287 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
2288 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
2289 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
2290 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
2291 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
2292 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
2293 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
2294 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
2295 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2296 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2297 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
2298 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2299 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2300 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
2301 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
2302 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
2303 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
2304 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
2305 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
2306 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
2307 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
2308 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
2309 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2310 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
2311 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
2312 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
2313 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
2314 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
2315 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
2316 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
2317 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
2318 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
2319 	0x13, 0x6b, 0xf3, 0x06};
2320 static const uint8_t test_vector_2_ca_i_pk[] = {
2321 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
2322 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
2323 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
2324 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
2325 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
2326 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
2327 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
2328 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
2329 	0x95};
2330 static const uint8_t test_vector_2_ead_3[] = {
2331 	};
2332 static const uint8_t test_vector_2_info_mac_3[] = {
2333 	0x06, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82,
2334 	0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16,
2335 	0x26, 0x76, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f,
2336 	0x0d, 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0,
2337 	0x91, 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03,
2338 	0x56, 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3,
2339 	0xf8, 0x59, 0x32, 0x54, 0x59, 0x01, 0x22, 0x30,
2340 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
2341 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
2342 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
2343 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
2344 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2345 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2346 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
2347 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
2348 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
2349 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
2350 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
2351 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2352 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
2353 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
2354 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
2355 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
2356 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
2357 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
2358 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
2359 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
2360 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
2361 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
2362 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
2363 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
2364 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
2365 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
2366 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
2367 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
2368 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
2369 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
2370 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
2371 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
2372 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
2373 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
2374 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
2375 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
2376 	0xde, 0x18, 0x20};
2377 static const uint8_t test_vector_2_mac_3_raw[] = {
2378 	0xc7, 0x70, 0xac, 0x34, 0xf4, 0x2a, 0x8e, 0x04,
2379 	0xb4, 0x43, 0xfc, 0x2f, 0x94, 0xb4, 0x35, 0x88,
2380 	0x87, 0xd6, 0xc8, 0xa8, 0x9d, 0x8b, 0xb4, 0x2c,
2381 	0x0c, 0x51, 0x9d, 0x91, 0xac, 0xee, 0x6c, 0x44};
2382 static const uint8_t test_vector_2_mac_3[] = {
2383 	0x58, 0x20, 0xc7, 0x70, 0xac, 0x34, 0xf4, 0x2a,
2384 	0x8e, 0x04, 0xb4, 0x43, 0xfc, 0x2f, 0x94, 0xb4,
2385 	0x35, 0x88, 0x87, 0xd6, 0xc8, 0xa8, 0x9d, 0x8b,
2386 	0xb4, 0x2c, 0x0c, 0x51, 0x9d, 0x91, 0xac, 0xee,
2387 	0x6c, 0x44};
2388 static const uint8_t test_vector_2_m_3[] = {
2389 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
2390 	0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22,
2391 	0x82, 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0,
2392 	0x16, 0x26, 0x76, 0x59, 0x01, 0x47, 0x58, 0x20,
2393 	0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 0x93, 0x6c,
2394 	0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 0x95, 0x2e,
2395 	0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 0x80, 0x73,
2396 	0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 0x32, 0x54,
2397 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2398 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2399 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
2400 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2401 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2402 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2403 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2404 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
2405 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
2406 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2407 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2408 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2409 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2410 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
2411 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
2412 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2413 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2414 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
2415 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
2416 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
2417 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
2418 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
2419 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
2420 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
2421 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
2422 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
2423 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2424 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2425 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
2426 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
2427 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
2428 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
2429 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
2430 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
2431 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
2432 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
2433 	0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xc7,
2434 	0x70, 0xac, 0x34, 0xf4, 0x2a, 0x8e, 0x04, 0xb4,
2435 	0x43, 0xfc, 0x2f, 0x94, 0xb4, 0x35, 0x88, 0x87,
2436 	0xd6, 0xc8, 0xa8, 0x9d, 0x8b, 0xb4, 0x2c, 0x0c,
2437 	0x51, 0x9d, 0x91, 0xac, 0xee, 0x6c, 0x44};
2438 static const uint8_t test_vector_2_sig_or_mac_3_raw[] = {
2439 	0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 0x3c, 0x15,
2440 	0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 0x30, 0x81,
2441 	0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 0x65, 0x36,
2442 	0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 0xac, 0xfc,
2443 	0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 0x41, 0x5f,
2444 	0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 0xce, 0xa4,
2445 	0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 0xab, 0xda,
2446 	0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 0xe9, 0xf8};
2447 static const uint8_t test_vector_2_sig_or_mac_3[] = {
2448 	0x58, 0x40, 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4,
2449 	0x3c, 0x15, 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53,
2450 	0x30, 0x81, 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68,
2451 	0x65, 0x36, 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0,
2452 	0xac, 0xfc, 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4,
2453 	0x41, 0x5f, 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55,
2454 	0xce, 0xa4, 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c,
2455 	0xab, 0xda, 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6,
2456 	0xe9, 0xf8};
2457 static const uint8_t test_vector_2_p_3[] = {
2458 	0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7,
2459 	0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 0x58, 0x40,
2460 	0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 0x3c, 0x15,
2461 	0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 0x30, 0x81,
2462 	0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 0x65, 0x36,
2463 	0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 0xac, 0xfc,
2464 	0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 0x41, 0x5f,
2465 	0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 0xce, 0xa4,
2466 	0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 0xab, 0xda,
2467 	0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 0xe9, 0xf8};
2468 static const uint8_t test_vector_2_a_3[] = {
2469 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
2470 	0x74, 0x30, 0x40, 0x58, 0x20, 0xb5, 0x45, 0x41,
2471 	0x2f, 0x0d, 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa,
2472 	0xa0, 0x91, 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5,
2473 	0x03, 0x56, 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e,
2474 	0xe3, 0xf8, 0x59, 0x32, 0x54};
2475 static const uint8_t test_vector_2_info_k_3[] = {
2476 	0x03, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d,
2477 	0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91,
2478 	0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56,
2479 	0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8,
2480 	0x59, 0x32, 0x54, 0x10};
2481 static const uint8_t test_vector_2_k_3_raw[] = {
2482 	0x0e, 0x31, 0x63, 0x6f, 0xdb, 0x8b, 0x9c, 0x5e,
2483 	0xb0, 0x76, 0xcf, 0x83, 0x7a, 0x85, 0x96, 0xda};
2484 static const uint8_t test_vector_2_info_iv_3[] = {
2485 	0x04, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d,
2486 	0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91,
2487 	0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56,
2488 	0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8,
2489 	0x59, 0x32, 0x54, 0x0d};
2490 static const uint8_t test_vector_2_iv_3_raw[] = {
2491 	0xd4, 0x31, 0xe4, 0x13, 0xdf, 0xf5, 0xe1, 0x8d,
2492 	0x03, 0xdf, 0x13, 0x89, 0x20};
2493 static const uint8_t test_vector_2_ciphertext_3_raw[] = {
2494 	0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3, 0xce, 0xa9,
2495 	0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e, 0x57, 0x71,
2496 	0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad, 0xd2, 0xbf,
2497 	0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49, 0xb9, 0xa3,
2498 	0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6, 0x66, 0x6f,
2499 	0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce, 0x69, 0xef,
2500 	0x11, 0x18, 0x53, 0x93, 0xa8, 0xff, 0x47, 0x29,
2501 	0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06, 0x73, 0xc5,
2502 	0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97, 0x2f, 0x5c,
2503 	0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05, 0xd4, 0x43,
2504 	0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb, 0x93, 0x34};
2505 static const uint8_t test_vector_2_ciphertext_3[] = {
2506 	0x58, 0x58, 0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3,
2507 	0xce, 0xa9, 0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e,
2508 	0x57, 0x71, 0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad,
2509 	0xd2, 0xbf, 0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49,
2510 	0xb9, 0xa3, 0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6,
2511 	0x66, 0x6f, 0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce,
2512 	0x69, 0xef, 0x11, 0x18, 0x53, 0x93, 0xa8, 0xff,
2513 	0x47, 0x29, 0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06,
2514 	0x73, 0xc5, 0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97,
2515 	0x2f, 0x5c, 0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05,
2516 	0xd4, 0x43, 0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb,
2517 	0x93, 0x34};
2518 static const uint8_t test_vector_2_message_3[] = {
2519 	0x58, 0x58, 0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3,
2520 	0xce, 0xa9, 0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e,
2521 	0x57, 0x71, 0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad,
2522 	0xd2, 0xbf, 0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49,
2523 	0xb9, 0xa3, 0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6,
2524 	0x66, 0x6f, 0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce,
2525 	0x69, 0xef, 0x11, 0x18, 0x53, 0x93, 0xa8, 0xff,
2526 	0x47, 0x29, 0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06,
2527 	0x73, 0xc5, 0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97,
2528 	0x2f, 0x5c, 0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05,
2529 	0xd4, 0x43, 0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb,
2530 	0x93, 0x34};
2531 static const uint8_t test_vector_2_input_th_4[] = {
2532 	0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88,
2533 	0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4,
2534 	0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c,
2535 	0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59,
2536 	0x32, 0x54, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48,
2537 	0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76,
2538 	0x58, 0x40, 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4,
2539 	0x3c, 0x15, 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53,
2540 	0x30, 0x81, 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68,
2541 	0x65, 0x36, 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0,
2542 	0xac, 0xfc, 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4,
2543 	0x41, 0x5f, 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55,
2544 	0xce, 0xa4, 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c,
2545 	0xab, 0xda, 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6,
2546 	0xe9, 0xf8};
2547 static const uint8_t test_vector_2_th_4_raw[] = {
2548 	0x70, 0xdb, 0x83, 0x62, 0xcd, 0x8a, 0x86, 0x8f,
2549 	0x09, 0x68, 0xa2, 0x43, 0xb6, 0x31, 0x6b, 0xce,
2550 	0x1f, 0xb6, 0xbf, 0x7e, 0x19, 0x6f, 0x5d, 0x7c,
2551 	0xe8, 0xda, 0x44, 0x1f, 0xbb, 0x76, 0xb1, 0xd0};
2552 static const uint8_t test_vector_2_th_4[] = {
2553 	0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd, 0x8a,
2554 	0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6, 0x31,
2555 	0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19, 0x6f,
2556 	0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb, 0x76,
2557 	0xb1, 0xd0};
2558 static const uint8_t test_vector_2_ead_4[] = {
2559 	};
2560 static const uint8_t test_vector_2_p_4[] = {
2561 	};
2562 static const uint8_t test_vector_2_a_4[] = {
2563 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
2564 	0x74, 0x30, 0x40, 0x58, 0x20, 0x70, 0xdb, 0x83,
2565 	0x62, 0xcd, 0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2,
2566 	0x43, 0xb6, 0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf,
2567 	0x7e, 0x19, 0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44,
2568 	0x1f, 0xbb, 0x76, 0xb1, 0xd0};
2569 static const uint8_t test_vector_2_info_k_4[] = {
2570 	0x08, 0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd,
2571 	0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6,
2572 	0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19,
2573 	0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb,
2574 	0x76, 0xb1, 0xd0, 0x10};
2575 static const uint8_t test_vector_2_k_4_raw[] = {
2576 	0x43, 0x09, 0xdb, 0x61, 0xe2, 0xad, 0x04, 0xf0,
2577 	0x19, 0xc8, 0x73, 0x9b, 0x32, 0x54, 0x58, 0x9f};
2578 static const uint8_t test_vector_2_info_iv_4[] = {
2579 	0x09, 0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd,
2580 	0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6,
2581 	0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19,
2582 	0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb,
2583 	0x76, 0xb1, 0xd0, 0x0d};
2584 static const uint8_t test_vector_2_iv_4_raw[] = {
2585 	0x5f, 0x8f, 0x52, 0x97, 0x14, 0x8c, 0x4d, 0x87,
2586 	0x3f, 0x75, 0x56, 0x0c, 0x25};
2587 static const uint8_t test_vector_2_ciphertext_4_raw[] = {
2588 	0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e, 0x37};
2589 static const uint8_t test_vector_2_ciphertext_4[] = {
2590 	0x48, 0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e,
2591 	0x37};
2592 static const uint8_t test_vector_2_message_4[] = {
2593 	0x48, 0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e,
2594 	0x37};
2595 static const uint8_t test_vector_2_prk_out[] = {
2596 	0xe3, 0x23, 0x12, 0x28, 0x26, 0x48, 0x84, 0xdc,
2597 	0xd9, 0x43, 0xb5, 0xa0, 0xf0, 0x99, 0x93, 0x6d,
2598 	0x73, 0x9f, 0x9b, 0xec, 0x26, 0xb1, 0x06, 0xf7,
2599 	0x49, 0x4a, 0x30, 0xd1, 0x0f, 0x80, 0x76, 0x55};
2600 static const uint8_t test_vector_2_prk_exporter[] = {
2601 	0xd9, 0x3b, 0x7d, 0x57, 0xc1, 0x0c, 0x51, 0x1d,
2602 	0x60, 0xfc, 0x87, 0xcc, 0x26, 0x9b, 0x50, 0x06,
2603 	0x61, 0x39, 0xa5, 0x2f, 0x0f, 0x82, 0x0a, 0x56,
2604 	0x9d, 0x0d, 0x28, 0x12, 0xfe, 0x8c, 0x27, 0x1c};
2605 int32_t test_vector_2_oscore_aead_alg = 10;
2606 int32_t test_vector_2_oscore_hash_alg = -16;
2607 static const uint8_t test_vector_2_client_sender_id_raw[] = {
2608 	0x27};
2609 static const uint8_t test_vector_2_server_sender_id_raw[] = {
2610 	0x37};
2611 static const uint8_t test_vector_2_info_oscore_secret[] = {
2612 	0x00, 0x40, 0x10};
2613 static const uint8_t test_vector_2_oscore_secret_raw[] = {
2614 	0x1f, 0xf7, 0x22, 0xd7, 0xff, 0x19, 0xf1, 0x30,
2615 	0x97, 0xe7, 0xb2, 0xc5, 0xf3, 0x3b, 0xbb, 0x79};
2616 static const uint8_t test_vector_2_info_oscore_salt[] = {
2617 	0x01, 0x40, 0x08};
2618 static const uint8_t test_vector_2_oscore_salt_raw[] = {
2619 	0xb2, 0xf5, 0xd1, 0x85, 0xf7, 0xf1, 0x3d, 0xd7};
2620 static const uint8_t test_vector_2_prk_out_updated[] = {
2621 	0xc6, 0xa0, 0x94, 0xa0, 0x13, 0x23, 0xdd, 0x5b,
2622 	0x8b, 0xcd, 0xa0, 0x99, 0x95, 0x9e, 0xc5, 0xc5,
2623 	0xee, 0x0f, 0x34, 0x37, 0x8d, 0x12, 0xd5, 0x99,
2624 	0x93, 0x4e, 0x1e, 0x42, 0x20, 0x4c, 0xad, 0xf9};
2625 static const uint8_t test_vector_2_prk_exporter_update[] = {
2626 	0x1a, 0x6e, 0x9e, 0xa5, 0x08, 0x10, 0x4a, 0xe9,
2627 	0xa3, 0x7a, 0xaf, 0x20, 0x77, 0xc6, 0x9e, 0xce,
2628 	0xb0, 0x57, 0x4d, 0x17, 0xe6, 0xbc, 0x84, 0xfa,
2629 	0x7d, 0x54, 0x63, 0x94, 0x62, 0xea, 0x19, 0x1c};
2630 static const uint8_t test_vector_2_oscore_secret_key_update_raw[] = {
2631 	0xb9, 0xa8, 0xa4, 0x1d, 0x12, 0x19, 0xd7, 0xf0,
2632 	0xb7, 0x55, 0x8c, 0xbb, 0x5c, 0x66, 0x0c, 0x97};
2633 static const uint8_t test_vector_2_oscore_salt_key_update_raw[] = {
2634 	0xc2, 0x9d, 0xdb, 0x09, 0xc4, 0xa3, 0xb8, 0x58};
2635 
2636 /***************** test_vector_3 ************/
2637 
2638  static const uint8_t test_vector_3_method[] = {
2639 	0x00};
2640 static const uint8_t test_vector_3_SUITES_I[] = {
2641 	0x02};
2642 static const uint8_t test_vector_3_SUITES_R[] = {
2643 	0x02};
2644 static const uint8_t test_vector_3_x_raw[] = {
2645 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
2646 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
2647 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
2648 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
2649 static const uint8_t test_vector_3_g_x_raw[] = {
2650 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
2651 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
2652 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
2653 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
2654 static const uint8_t test_vector_3_g_x_raw_y_coordinate[] = {
2655 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
2656 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
2657 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
2658 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
2659 static const uint8_t test_vector_3_g_x[] = {
2660 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
2661 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
2662 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
2663 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
2664 	0xc3, 0xb6};
2665 int32_t test_vector_3_c_i_raw = -24;
2666 static const uint8_t test_vector_3_c_i[] = {
2667 	0x37};
2668 static const uint8_t test_vector_3_ead_1[] = {
2669 	};
2670 static const uint8_t test_vector_3_message_1[] = {
2671 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
2672 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
2673 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
2674 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
2675 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
2676 static const uint8_t test_vector_3_y_raw[] = {
2677 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
2678 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
2679 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
2680 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
2681 static const uint8_t test_vector_3_g_y_raw[] = {
2682 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
2683 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
2684 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
2685 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
2686 static const uint8_t test_vector_3_g_y_raw_y_coordinate[] = {
2687 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
2688 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
2689 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
2690 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
2691 static const uint8_t test_vector_3_g_y[] = {
2692 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2693 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2694 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2695 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2696 	0xf5, 0xd5};
2697 static const uint8_t test_vector_3_g_xy_raw[] = {
2698 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
2699 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
2700 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
2701 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
2702 static const uint8_t test_vector_3_salt_raw[] = {
2703 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2704 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2705 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2706 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
2707 static const uint8_t test_vector_3_prk_2e_raw[] = {
2708 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
2709 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
2710 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
2711 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
2712 static const uint8_t test_vector_3_salt_3e2m[] = {
2713 	0xbf, 0xcd, 0xb8, 0xa2, 0x85, 0xe0, 0xbf, 0x24,
2714 	0x07, 0xe4, 0x0f, 0x89, 0x9e, 0x67, 0x80, 0x90,
2715 	0x8d, 0xa0, 0xb5, 0xbf, 0x7e, 0x41, 0x58, 0xe8,
2716 	0xa1, 0x92, 0x93, 0xde, 0xf9, 0x76, 0x4d, 0xc3};
2717 static const uint8_t test_vector_3_sk_r_raw[] = {
2718 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
2719 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
2720 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
2721 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
2722 static const uint8_t test_vector_3_pk_r_raw[] = {
2723 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
2724 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
2725 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
2726 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
2727 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
2728 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
2729 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
2730 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
2731 	0x72};
2732 static const uint8_t test_vector_3_prk_3e2m_raw[] = {
2733 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
2734 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
2735 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
2736 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
2737 int32_t test_vector_3_c_r_raw = -19;
2738 static const uint8_t test_vector_3_c_r[] = {
2739 	0x32};
2740 static const uint8_t test_vector_3_h_message_1_raw[] = {
2741 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
2742 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
2743 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
2744 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
2745 static const uint8_t test_vector_3_h_message_1[] = {
2746 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
2747 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
2748 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
2749 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
2750 	0x67, 0x26};
2751 static const uint8_t test_vector_3_input_th_2[] = {
2752 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
2753 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
2754 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
2755 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
2756 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xc7, 0x93, 0x1f,
2757 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
2758 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
2759 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
2760 	0x18, 0x2a, 0x4e, 0x67, 0x26};
2761 static const uint8_t test_vector_3_th_2_raw[] = {
2762 	0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1,
2763 	0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85,
2764 	0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d,
2765 	0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d};
2766 static const uint8_t test_vector_3_th_2[] = {
2767 	0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42,
2768 	0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d,
2769 	0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91,
2770 	0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b,
2771 	0x85, 0x0d};
2772 static const uint8_t test_vector_3_id_cred_r[] = {
2773 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
2774 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
2775 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
2776 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
2777 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
2778 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
2779 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
2780 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
2781 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
2782 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
2783 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
2784 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
2785 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
2786 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
2787 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
2788 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
2789 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
2790 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
2791 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
2792 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
2793 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
2794 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
2795 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
2796 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
2797 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
2798 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
2799 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2800 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
2801 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
2802 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
2803 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
2804 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
2805 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
2806 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
2807 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
2808 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
2809 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58};
2810 static const uint8_t test_vector_3_cred_r[] = {
2811 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
2812 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2813 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
2814 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2815 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
2816 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
2817 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
2818 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
2819 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
2820 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
2821 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
2822 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
2823 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
2824 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
2825 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
2826 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2827 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2828 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
2829 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
2830 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
2831 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
2832 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
2833 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
2834 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
2835 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
2836 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
2837 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2838 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
2839 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
2840 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
2841 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
2842 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
2843 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
2844 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
2845 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
2846 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
2847 	0x3b, 0x13, 0x3d, 0x05, 0x58};
2848 static const uint8_t test_vector_3_ca_r[] = {
2849 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
2850 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
2851 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
2852 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
2853 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
2854 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
2855 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
2856 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
2857 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
2858 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
2859 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
2860 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
2861 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
2862 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
2863 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
2864 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2865 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
2866 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
2867 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
2868 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
2869 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
2870 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
2871 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
2872 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
2873 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
2874 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2875 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
2876 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
2877 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
2878 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
2879 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
2880 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
2881 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
2882 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
2883 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
2884 	0x13, 0x6b, 0xf3, 0x06};
2885 static const uint8_t test_vector_3_ca_r_pk[] = {
2886 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
2887 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
2888 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
2889 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
2890 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
2891 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
2892 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
2893 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
2894 	0x95};
2895 static const uint8_t test_vector_3_ead_2[] = {
2896 	};
2897 static const uint8_t test_vector_3_info_mac_2[] = {
2898 	0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59,
2899 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
2900 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
2901 	0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08,
2902 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
2903 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
2904 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
2905 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
2906 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32,
2907 	0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a,
2908 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
2909 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
2910 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
2911 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
2912 	0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2913 	0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
2914 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
2915 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
2916 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3,
2917 	0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94,
2918 	0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2,
2919 	0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93,
2920 	0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19,
2921 	0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02,
2922 	0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a,
2923 	0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22,
2924 	0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a,
2925 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
2926 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
2927 	0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8,
2928 	0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf,
2929 	0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22,
2930 	0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05,
2931 	0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c,
2932 	0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce,
2933 	0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23,
2934 	0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b,
2935 	0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xb8, 0x1b,
2936 	0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19,
2937 	0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5,
2938 	0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96,
2939 	0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01,
2940 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
2941 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61,
2942 	0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a,
2943 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
2944 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
2945 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
2946 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
2947 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30,
2948 	0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17,
2949 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
2950 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
2951 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
2952 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
2953 	0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,
2954 	0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
2955 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
2956 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
2957 	0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49,
2958 	0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c,
2959 	0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17,
2960 	0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62,
2961 	0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2,
2962 	0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f,
2963 	0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd,
2964 	0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c,
2965 	0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06,
2966 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
2967 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20,
2968 	0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7,
2969 	0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83,
2970 	0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8,
2971 	0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19,
2972 	0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89,
2973 	0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00,
2974 	0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70,
2975 	0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13,
2976 	0x3d, 0x05, 0x58, 0x18, 0x20};
2977 static const uint8_t test_vector_3_mac_2_raw[] = {
2978 	0x3b, 0x46, 0x99, 0xd6, 0xd9, 0x5b, 0xd7, 0x8e,
2979 	0x42, 0xb8, 0x4b, 0x4a, 0x44, 0xa4, 0x59, 0x5d,
2980 	0x98, 0x2d, 0x21, 0x24, 0x99, 0xbf, 0xb3, 0x32,
2981 	0x02, 0x27, 0x11, 0xaf, 0xb8, 0x65, 0xcc, 0x30};
2982 static const uint8_t test_vector_3_mac_2[] = {
2983 	0x58, 0x20, 0x3b, 0x46, 0x99, 0xd6, 0xd9, 0x5b,
2984 	0xd7, 0x8e, 0x42, 0xb8, 0x4b, 0x4a, 0x44, 0xa4,
2985 	0x59, 0x5d, 0x98, 0x2d, 0x21, 0x24, 0x99, 0xbf,
2986 	0xb3, 0x32, 0x02, 0x27, 0x11, 0xaf, 0xb8, 0x65,
2987 	0xcc, 0x30};
2988 static const uint8_t test_vector_3_m_2[] = {
2989 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
2990 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
2991 	0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
2992 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
2993 	0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30,
2994 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
2995 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
2996 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
2997 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
2998 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
2999 	0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33,
3000 	0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
3001 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
3002 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
3003 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
3004 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73,
3005 	0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59,
3006 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
3007 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
3008 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
3009 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
3010 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
3011 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
3012 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
3013 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
3014 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
3015 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
3016 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
3017 	0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3018 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
3019 	0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5,
3020 	0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b,
3021 	0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1,
3022 	0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed,
3023 	0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5,
3024 	0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c,
3025 	0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8,
3026 	0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58,
3027 	0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59,
3028 	0x01, 0x47, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3,
3029 	0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0,
3030 	0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc,
3031 	0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2,
3032 	0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 0x22, 0x30,
3033 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
3034 	0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98,
3035 	0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3036 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
3037 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3038 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3039 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
3040 	0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37,
3041 	0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32,
3042 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
3043 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
3044 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3045 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3046 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
3047 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
3048 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
3049 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
3050 	0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52,
3051 	0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a,
3052 	0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1,
3053 	0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46,
3054 	0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23,
3055 	0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31,
3056 	0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f,
3057 	0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea,
3058 	0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3059 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
3060 	0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19,
3061 	0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd,
3062 	0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67,
3063 	0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e,
3064 	0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21,
3065 	0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a,
3066 	0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70,
3067 	0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a,
3068 	0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05,
3069 	0x58, 0x58, 0x20, 0x3b, 0x46, 0x99, 0xd6, 0xd9,
3070 	0x5b, 0xd7, 0x8e, 0x42, 0xb8, 0x4b, 0x4a, 0x44,
3071 	0xa4, 0x59, 0x5d, 0x98, 0x2d, 0x21, 0x24, 0x99,
3072 	0xbf, 0xb3, 0x32, 0x02, 0x27, 0x11, 0xaf, 0xb8,
3073 	0x65, 0xcc, 0x30};
3074 static const uint8_t test_vector_3_sig_or_mac_2_raw[] = {
3075 	0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf, 0x5e, 0x59,
3076 	0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3, 0x0c, 0x7e,
3077 	0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94, 0x20, 0xb1,
3078 	0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6, 0x8b, 0xe7,
3079 	0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44, 0x47, 0x40,
3080 	0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57, 0x59, 0x45,
3081 	0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab, 0xcf, 0x80,
3082 	0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64, 0x26, 0x93};
3083 static const uint8_t test_vector_3_sig_or_mac_2[] = {
3084 	0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf,
3085 	0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3,
3086 	0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94,
3087 	0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6,
3088 	0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44,
3089 	0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57,
3090 	0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab,
3091 	0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64,
3092 	0x26, 0x93};
3093 static const uint8_t test_vector_3_plaintext_2[] = {
3094 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3095 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3096 	0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e,
3097 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3098 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3099 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3100 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3101 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3102 	0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31,
3103 	0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3104 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3105 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3106 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3107 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65,
3108 	0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
3109 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3110 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3111 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3112 	0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e,
3113 	0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23,
3114 	0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a,
3115 	0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd,
3116 	0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b,
3117 	0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1,
3118 	0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd,
3119 	0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf,
3120 	0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3121 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3122 	0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e,
3123 	0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd,
3124 	0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41,
3125 	0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9,
3126 	0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00,
3127 	0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7,
3128 	0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d,
3129 	0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc,
3130 	0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58,
3131 	0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf,
3132 	0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3,
3133 	0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94,
3134 	0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6,
3135 	0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44,
3136 	0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57,
3137 	0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab,
3138 	0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64,
3139 	0x26, 0x93};
3140 static const uint8_t test_vector_3_info_keystream_2[] = {
3141 	0x00, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4,
3142 	0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf,
3143 	0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00,
3144 	0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14,
3145 	0x2b, 0x85, 0x0d, 0x19, 0x01, 0x6a};
3146 static const uint8_t test_vector_3_keystream_2_raw[] = {
3147 	0x18, 0x5d, 0x2b, 0xcd, 0xcf, 0x8c, 0x56, 0xbc,
3148 	0x51, 0x37, 0x93, 0x13, 0x6d, 0xa2, 0x11, 0x85,
3149 	0x6d, 0xfc, 0x20, 0x2b, 0x6a, 0xc2, 0xcc, 0x57,
3150 	0x91, 0xab, 0xed, 0x9a, 0x9b, 0x24, 0x1b, 0xc9,
3151 	0x33, 0x6a, 0xf3, 0xa6, 0x72, 0x1f, 0x23, 0x80,
3152 	0x9a, 0x6d, 0x21, 0x47, 0x5b, 0xe3, 0xad, 0x6f,
3153 	0x25, 0xe0, 0x74, 0x98, 0xbc, 0x8f, 0xc5, 0xab,
3154 	0x0f, 0x25, 0x65, 0xb2, 0xf6, 0x5e, 0x5c, 0x0d,
3155 	0x31, 0x6e, 0xd8, 0x80, 0x54, 0x18, 0x64, 0x77,
3156 	0x2b, 0x6d, 0x2b, 0x8b, 0x29, 0x38, 0x7c, 0x45,
3157 	0x04, 0x72, 0xa3, 0xec, 0xee, 0x19, 0xdd, 0xa6,
3158 	0x47, 0x46, 0xcc, 0xf8, 0xda, 0x82, 0x21, 0xb8,
3159 	0x15, 0xea, 0x40, 0xb6, 0xca, 0xc7, 0xd3, 0xe1,
3160 	0x4b, 0xbf, 0x5b, 0xee, 0x70, 0x79, 0x8a, 0x41,
3161 	0x23, 0x97, 0x3d, 0xed, 0x06, 0x81, 0xa5, 0x40,
3162 	0x86, 0x71, 0xfc, 0x59, 0xb6, 0xa6, 0x4c, 0x40,
3163 	0x5f, 0x91, 0x70, 0x5a, 0x5e, 0x32, 0xcc, 0x35,
3164 	0x2b, 0x24, 0x2a, 0x72, 0x9e, 0x46, 0x28, 0x9f,
3165 	0x56, 0x9d, 0x3b, 0xef, 0x1e, 0x9d, 0xa0, 0xb3,
3166 	0xd9, 0x49, 0xf1, 0x7e, 0x75, 0x83, 0xab, 0xb1,
3167 	0xa8, 0x80, 0x4f, 0xa0, 0x00, 0x2b, 0x6b, 0x24,
3168 	0x21, 0xee, 0xd7, 0x4e, 0xe0, 0xc9, 0xb1, 0xc7,
3169 	0x8b, 0x33, 0xb3, 0x55, 0x54, 0x61, 0x2e, 0x84,
3170 	0x35, 0xb3, 0x91, 0xbc, 0x28, 0xc5, 0x04, 0xcb,
3171 	0x9a, 0x1c, 0x53, 0x0b, 0x4b, 0x08, 0x5b, 0x8a,
3172 	0xfe, 0x96, 0x3f, 0x2c, 0xa0, 0xf5, 0x76, 0xd1,
3173 	0x55, 0x05, 0x2e, 0x6d, 0x9c, 0x9b, 0x7d, 0xbb,
3174 	0x06, 0xd2, 0xaf, 0xd1, 0x48, 0xb0, 0x35, 0x54,
3175 	0x57, 0xaa, 0x14, 0xa2, 0xcf, 0x71, 0xb5, 0xf5,
3176 	0x36, 0x25, 0x30, 0xfe, 0x0c, 0x86, 0x77, 0x43,
3177 	0xc7, 0x26, 0x49, 0x62, 0x82, 0xd6, 0xd0, 0x99,
3178 	0x84, 0xfc, 0x94, 0x4d, 0x24, 0xdb, 0x9e, 0x33,
3179 	0xf8, 0xd4, 0x7b, 0xf4, 0x0d, 0x18, 0x5c, 0x41,
3180 	0x36, 0x01, 0x15, 0x65, 0x77, 0x0c, 0xf5, 0x63,
3181 	0xf1, 0x0e, 0x77, 0xb5, 0x67, 0x05, 0x8d, 0x0e,
3182 	0xfe, 0xdb, 0x93, 0x0b, 0x48, 0x2c, 0x03, 0xad,
3183 	0xda, 0xec, 0xf4, 0xb5, 0xa5, 0xa5, 0xcc, 0xc0,
3184 	0xa0, 0x4f, 0xf8, 0x94, 0x9f, 0x04, 0xaa, 0x9c,
3185 	0xce, 0x2d, 0x34, 0x4b, 0xba, 0xdd, 0x8f, 0x7b,
3186 	0xe5, 0xd5, 0x2e, 0x19, 0x7d, 0x1f, 0xd6, 0xad,
3187 	0x2d, 0x99, 0x09, 0x70, 0x4c, 0x2d, 0xd2, 0x4c,
3188 	0xd0, 0xd1, 0x35, 0x29, 0x84, 0x54, 0x11, 0xf5,
3189 	0x50, 0x33, 0x5a, 0x2e, 0x78, 0x44, 0xd6, 0x5c,
3190 	0xb8, 0x96, 0x71, 0xc2, 0xb7, 0xdb, 0xbc, 0x80,
3191 	0xe3, 0xb5, 0x59, 0x3c, 0xb7, 0xae, 0x62, 0x0a,
3192 	0x86, 0x9f};
3193 static const uint8_t test_vector_3_ciphertext_2_raw[] = {
3194 	0xb9, 0x45, 0x0b, 0x94, 0xce, 0xae, 0x66, 0x3e,
3195 	0x50, 0x29, 0xa3, 0x92, 0xa8, 0x02, 0x12, 0x87,
3196 	0x6c, 0xfe, 0x22, 0x2f, 0x0b, 0x2b, 0x54, 0x49,
3197 	0xa1, 0xa1, 0xeb, 0x92, 0xb1, 0xa2, 0x53, 0x07,
3198 	0x0e, 0x6e, 0xf0, 0xa4, 0x42, 0x0a, 0x12, 0x93,
3199 	0xaa, 0x7c, 0x27, 0x44, 0x0e, 0xe7, 0xae, 0x63,
3200 	0x2f, 0xa5, 0x30, 0xd0, 0xf3, 0xcc, 0xe5, 0xf9,
3201 	0x60, 0x4a, 0x11, 0x82, 0xe8, 0x49, 0x51, 0x3f,
3202 	0x03, 0x5e, 0xe9, 0xb2, 0x64, 0x29, 0x53, 0x46,
3203 	0x18, 0x5d, 0x19, 0xd1, 0x3e, 0x35, 0x4e, 0x7c,
3204 	0x35, 0x40, 0x90, 0xdd, 0xdc, 0x2a, 0xed, 0x96,
3205 	0x77, 0x76, 0x96, 0xc8, 0xc0, 0xb3, 0x39, 0x88,
3206 	0x03, 0xec, 0x43, 0xe3, 0xce, 0xc4, 0xdf, 0xee,
3207 	0x0e, 0xfb, 0x13, 0xa1, 0x33, 0x59, 0xd8, 0x24,
3208 	0x50, 0xe7, 0x52, 0x83, 0x62, 0xe4, 0xd7, 0x70,
3209 	0xdf, 0x41, 0xef, 0x5f, 0xb1, 0x8c, 0xca, 0x08,
3210 	0x91, 0xac, 0x72, 0x5b, 0x58, 0x3a, 0xe6, 0xb3,
3211 	0x63, 0xea, 0x17, 0x71, 0x9f, 0x41, 0x2b, 0xdd,
3212 	0x56, 0x99, 0x80, 0x2c, 0x57, 0xfd, 0xf2, 0xdd,
3213 	0x7d, 0x9a, 0xdf, 0xea, 0x79, 0x2e, 0x81, 0x92,
3214 	0xe9, 0xc8, 0x92, 0x62, 0x17, 0xba, 0xca, 0x0e,
3215 	0xda, 0x25, 0x7b, 0xdd, 0x82, 0xe9, 0xf7, 0x1a,
3216 	0xcf, 0xc3, 0xf6, 0x4c, 0xb6, 0x36, 0x0d, 0xef,
3217 	0x1f, 0xbf, 0x73, 0xbe, 0x17, 0xcc, 0x35, 0x3a,
3218 	0x69, 0x9a, 0x99, 0x71, 0xb6, 0xae, 0x14, 0x47,
3219 	0x1e, 0x86, 0xb3, 0x0e, 0xec, 0xa4, 0x9c, 0x6e,
3220 	0x35, 0x77, 0x1e, 0x67, 0x9a, 0x93, 0x57, 0x3d,
3221 	0x4e, 0x1c, 0x92, 0xd5, 0x4b, 0xb2, 0x36, 0x1c,
3222 	0x57, 0x9a, 0x51, 0xa0, 0xef, 0x41, 0xac, 0xbb,
3223 	0xc3, 0xd9, 0x55, 0x36, 0xbb, 0x13, 0xba, 0x8e,
3224 	0xcc, 0x92, 0x78, 0xdd, 0x01, 0x38, 0xb7, 0xd8,
3225 	0x45, 0xcb, 0x98, 0x6f, 0xec, 0x30, 0x10, 0xda,
3226 	0x15, 0x06, 0xdc, 0xf1, 0x14, 0x1a, 0x7d, 0x41,
3227 	0x83, 0x82, 0x1b, 0xf9, 0xfe, 0xaa, 0xdf, 0xa4,
3228 	0xcd, 0xef, 0x9c, 0x7b, 0x67, 0x64, 0xfd, 0x73,
3229 	0x46, 0x73, 0x1d, 0x28, 0x38, 0xb7, 0x49, 0x61,
3230 	0x82, 0x4d, 0xc5, 0x8e, 0xb6, 0x98, 0xc9, 0x98,
3231 	0xf8, 0x0f, 0x94, 0xd3, 0x56, 0xa6, 0xaf, 0x53,
3232 	0x90, 0x74, 0x44, 0x1e, 0xe4, 0xcd, 0xc2, 0x98,
3233 	0xe9, 0xab, 0x0c, 0x24, 0x24, 0x1e, 0x12, 0x39,
3234 	0x0d, 0x28, 0xb9, 0x52, 0xb4, 0xf3, 0x83, 0xba,
3235 	0x5b, 0x36, 0x90, 0xb6, 0xad, 0xc2, 0x5f, 0xb1,
3236 	0x17, 0x73, 0x26, 0x97, 0x92, 0xf4, 0x8a, 0x0b,
3237 	0xe1, 0xd3, 0x0a, 0xc0, 0xb2, 0x7f, 0x74, 0x2b,
3238 	0x2c, 0x35, 0x1f, 0x90, 0xea, 0xf7, 0xa5, 0x6e,
3239 	0xa0, 0x0c};
3240 static const uint8_t test_vector_3_ciphertext_2[] = {
3241 	0x59, 0x01, 0x6a, 0xb9, 0x45, 0x0b, 0x94, 0xce,
3242 	0xae, 0x66, 0x3e, 0x50, 0x29, 0xa3, 0x92, 0xa8,
3243 	0x02, 0x12, 0x87, 0x6c, 0xfe, 0x22, 0x2f, 0x0b,
3244 	0x2b, 0x54, 0x49, 0xa1, 0xa1, 0xeb, 0x92, 0xb1,
3245 	0xa2, 0x53, 0x07, 0x0e, 0x6e, 0xf0, 0xa4, 0x42,
3246 	0x0a, 0x12, 0x93, 0xaa, 0x7c, 0x27, 0x44, 0x0e,
3247 	0xe7, 0xae, 0x63, 0x2f, 0xa5, 0x30, 0xd0, 0xf3,
3248 	0xcc, 0xe5, 0xf9, 0x60, 0x4a, 0x11, 0x82, 0xe8,
3249 	0x49, 0x51, 0x3f, 0x03, 0x5e, 0xe9, 0xb2, 0x64,
3250 	0x29, 0x53, 0x46, 0x18, 0x5d, 0x19, 0xd1, 0x3e,
3251 	0x35, 0x4e, 0x7c, 0x35, 0x40, 0x90, 0xdd, 0xdc,
3252 	0x2a, 0xed, 0x96, 0x77, 0x76, 0x96, 0xc8, 0xc0,
3253 	0xb3, 0x39, 0x88, 0x03, 0xec, 0x43, 0xe3, 0xce,
3254 	0xc4, 0xdf, 0xee, 0x0e, 0xfb, 0x13, 0xa1, 0x33,
3255 	0x59, 0xd8, 0x24, 0x50, 0xe7, 0x52, 0x83, 0x62,
3256 	0xe4, 0xd7, 0x70, 0xdf, 0x41, 0xef, 0x5f, 0xb1,
3257 	0x8c, 0xca, 0x08, 0x91, 0xac, 0x72, 0x5b, 0x58,
3258 	0x3a, 0xe6, 0xb3, 0x63, 0xea, 0x17, 0x71, 0x9f,
3259 	0x41, 0x2b, 0xdd, 0x56, 0x99, 0x80, 0x2c, 0x57,
3260 	0xfd, 0xf2, 0xdd, 0x7d, 0x9a, 0xdf, 0xea, 0x79,
3261 	0x2e, 0x81, 0x92, 0xe9, 0xc8, 0x92, 0x62, 0x17,
3262 	0xba, 0xca, 0x0e, 0xda, 0x25, 0x7b, 0xdd, 0x82,
3263 	0xe9, 0xf7, 0x1a, 0xcf, 0xc3, 0xf6, 0x4c, 0xb6,
3264 	0x36, 0x0d, 0xef, 0x1f, 0xbf, 0x73, 0xbe, 0x17,
3265 	0xcc, 0x35, 0x3a, 0x69, 0x9a, 0x99, 0x71, 0xb6,
3266 	0xae, 0x14, 0x47, 0x1e, 0x86, 0xb3, 0x0e, 0xec,
3267 	0xa4, 0x9c, 0x6e, 0x35, 0x77, 0x1e, 0x67, 0x9a,
3268 	0x93, 0x57, 0x3d, 0x4e, 0x1c, 0x92, 0xd5, 0x4b,
3269 	0xb2, 0x36, 0x1c, 0x57, 0x9a, 0x51, 0xa0, 0xef,
3270 	0x41, 0xac, 0xbb, 0xc3, 0xd9, 0x55, 0x36, 0xbb,
3271 	0x13, 0xba, 0x8e, 0xcc, 0x92, 0x78, 0xdd, 0x01,
3272 	0x38, 0xb7, 0xd8, 0x45, 0xcb, 0x98, 0x6f, 0xec,
3273 	0x30, 0x10, 0xda, 0x15, 0x06, 0xdc, 0xf1, 0x14,
3274 	0x1a, 0x7d, 0x41, 0x83, 0x82, 0x1b, 0xf9, 0xfe,
3275 	0xaa, 0xdf, 0xa4, 0xcd, 0xef, 0x9c, 0x7b, 0x67,
3276 	0x64, 0xfd, 0x73, 0x46, 0x73, 0x1d, 0x28, 0x38,
3277 	0xb7, 0x49, 0x61, 0x82, 0x4d, 0xc5, 0x8e, 0xb6,
3278 	0x98, 0xc9, 0x98, 0xf8, 0x0f, 0x94, 0xd3, 0x56,
3279 	0xa6, 0xaf, 0x53, 0x90, 0x74, 0x44, 0x1e, 0xe4,
3280 	0xcd, 0xc2, 0x98, 0xe9, 0xab, 0x0c, 0x24, 0x24,
3281 	0x1e, 0x12, 0x39, 0x0d, 0x28, 0xb9, 0x52, 0xb4,
3282 	0xf3, 0x83, 0xba, 0x5b, 0x36, 0x90, 0xb6, 0xad,
3283 	0xc2, 0x5f, 0xb1, 0x17, 0x73, 0x26, 0x97, 0x92,
3284 	0xf4, 0x8a, 0x0b, 0xe1, 0xd3, 0x0a, 0xc0, 0xb2,
3285 	0x7f, 0x74, 0x2b, 0x2c, 0x35, 0x1f, 0x90, 0xea,
3286 	0xf7, 0xa5, 0x6e, 0xa0, 0x0c};
3287 static const uint8_t test_vector_3_message_2[] = {
3288 	0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0,
3289 	0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd,
3290 	0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93,
3291 	0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a,
3292 	0x4f, 0xf5, 0xd5, 0xb9, 0x45, 0x0b, 0x94, 0xce,
3293 	0xae, 0x66, 0x3e, 0x50, 0x29, 0xa3, 0x92, 0xa8,
3294 	0x02, 0x12, 0x87, 0x6c, 0xfe, 0x22, 0x2f, 0x0b,
3295 	0x2b, 0x54, 0x49, 0xa1, 0xa1, 0xeb, 0x92, 0xb1,
3296 	0xa2, 0x53, 0x07, 0x0e, 0x6e, 0xf0, 0xa4, 0x42,
3297 	0x0a, 0x12, 0x93, 0xaa, 0x7c, 0x27, 0x44, 0x0e,
3298 	0xe7, 0xae, 0x63, 0x2f, 0xa5, 0x30, 0xd0, 0xf3,
3299 	0xcc, 0xe5, 0xf9, 0x60, 0x4a, 0x11, 0x82, 0xe8,
3300 	0x49, 0x51, 0x3f, 0x03, 0x5e, 0xe9, 0xb2, 0x64,
3301 	0x29, 0x53, 0x46, 0x18, 0x5d, 0x19, 0xd1, 0x3e,
3302 	0x35, 0x4e, 0x7c, 0x35, 0x40, 0x90, 0xdd, 0xdc,
3303 	0x2a, 0xed, 0x96, 0x77, 0x76, 0x96, 0xc8, 0xc0,
3304 	0xb3, 0x39, 0x88, 0x03, 0xec, 0x43, 0xe3, 0xce,
3305 	0xc4, 0xdf, 0xee, 0x0e, 0xfb, 0x13, 0xa1, 0x33,
3306 	0x59, 0xd8, 0x24, 0x50, 0xe7, 0x52, 0x83, 0x62,
3307 	0xe4, 0xd7, 0x70, 0xdf, 0x41, 0xef, 0x5f, 0xb1,
3308 	0x8c, 0xca, 0x08, 0x91, 0xac, 0x72, 0x5b, 0x58,
3309 	0x3a, 0xe6, 0xb3, 0x63, 0xea, 0x17, 0x71, 0x9f,
3310 	0x41, 0x2b, 0xdd, 0x56, 0x99, 0x80, 0x2c, 0x57,
3311 	0xfd, 0xf2, 0xdd, 0x7d, 0x9a, 0xdf, 0xea, 0x79,
3312 	0x2e, 0x81, 0x92, 0xe9, 0xc8, 0x92, 0x62, 0x17,
3313 	0xba, 0xca, 0x0e, 0xda, 0x25, 0x7b, 0xdd, 0x82,
3314 	0xe9, 0xf7, 0x1a, 0xcf, 0xc3, 0xf6, 0x4c, 0xb6,
3315 	0x36, 0x0d, 0xef, 0x1f, 0xbf, 0x73, 0xbe, 0x17,
3316 	0xcc, 0x35, 0x3a, 0x69, 0x9a, 0x99, 0x71, 0xb6,
3317 	0xae, 0x14, 0x47, 0x1e, 0x86, 0xb3, 0x0e, 0xec,
3318 	0xa4, 0x9c, 0x6e, 0x35, 0x77, 0x1e, 0x67, 0x9a,
3319 	0x93, 0x57, 0x3d, 0x4e, 0x1c, 0x92, 0xd5, 0x4b,
3320 	0xb2, 0x36, 0x1c, 0x57, 0x9a, 0x51, 0xa0, 0xef,
3321 	0x41, 0xac, 0xbb, 0xc3, 0xd9, 0x55, 0x36, 0xbb,
3322 	0x13, 0xba, 0x8e, 0xcc, 0x92, 0x78, 0xdd, 0x01,
3323 	0x38, 0xb7, 0xd8, 0x45, 0xcb, 0x98, 0x6f, 0xec,
3324 	0x30, 0x10, 0xda, 0x15, 0x06, 0xdc, 0xf1, 0x14,
3325 	0x1a, 0x7d, 0x41, 0x83, 0x82, 0x1b, 0xf9, 0xfe,
3326 	0xaa, 0xdf, 0xa4, 0xcd, 0xef, 0x9c, 0x7b, 0x67,
3327 	0x64, 0xfd, 0x73, 0x46, 0x73, 0x1d, 0x28, 0x38,
3328 	0xb7, 0x49, 0x61, 0x82, 0x4d, 0xc5, 0x8e, 0xb6,
3329 	0x98, 0xc9, 0x98, 0xf8, 0x0f, 0x94, 0xd3, 0x56,
3330 	0xa6, 0xaf, 0x53, 0x90, 0x74, 0x44, 0x1e, 0xe4,
3331 	0xcd, 0xc2, 0x98, 0xe9, 0xab, 0x0c, 0x24, 0x24,
3332 	0x1e, 0x12, 0x39, 0x0d, 0x28, 0xb9, 0x52, 0xb4,
3333 	0xf3, 0x83, 0xba, 0x5b, 0x36, 0x90, 0xb6, 0xad,
3334 	0xc2, 0x5f, 0xb1, 0x17, 0x73, 0x26, 0x97, 0x92,
3335 	0xf4, 0x8a, 0x0b, 0xe1, 0xd3, 0x0a, 0xc0, 0xb2,
3336 	0x7f, 0x74, 0x2b, 0x2c, 0x35, 0x1f, 0x90, 0xea,
3337 	0xf7, 0xa5, 0x6e, 0xa0, 0x0c, 0x32};
3338 static const uint8_t test_vector_3_sk_i_raw[] = {
3339 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
3340 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
3341 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
3342 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
3343 static const uint8_t test_vector_3_pk_i_raw[] = {
3344 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
3345 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
3346 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
3347 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
3348 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
3349 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
3350 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
3351 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
3352 	0xc8};
3353 static const uint8_t test_vector_3_salt_4e3m[] = {
3354 	0x96, 0xa1, 0xfb, 0xc7, 0x01, 0x29, 0x8c, 0x8c,
3355 	0x5b, 0xbe, 0x4e, 0x94, 0x74, 0x33, 0x7c, 0x75,
3356 	0x88, 0x81, 0x27, 0x85, 0x9d, 0xbc, 0x06, 0x73,
3357 	0x70, 0x7c, 0x03, 0xb4, 0x2e, 0x88, 0x64, 0x59};
3358 static const uint8_t test_vector_3_prk_4e3m_raw[] = {
3359 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
3360 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
3361 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
3362 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
3363 static const uint8_t test_vector_3_input_TH_3[] = {
3364 	0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42,
3365 	0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d,
3366 	0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91,
3367 	0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b,
3368 	0x85, 0x0d, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22,
3369 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
3370 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
3371 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3372 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
3373 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3374 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3375 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3376 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
3377 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
3378 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3379 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
3380 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
3381 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3382 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
3383 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
3384 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
3385 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
3386 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
3387 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
3388 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
3389 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
3390 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
3391 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
3392 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
3393 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
3394 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
3395 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3396 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
3397 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
3398 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
3399 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
3400 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
3401 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
3402 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
3403 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
3404 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
3405 	0x05, 0x58, 0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2,
3406 	0x05, 0xcf, 0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10,
3407 	0x4d, 0xe3, 0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01,
3408 	0xc4, 0x94, 0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde,
3409 	0x51, 0xf6, 0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96,
3410 	0x4e, 0x44, 0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0,
3411 	0x5c, 0x57, 0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4,
3412 	0xc8, 0xab, 0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59,
3413 	0xc7, 0x64, 0x26, 0x93};
3414 static const uint8_t test_vector_3_th_3_raw[] = {
3415 	0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff, 0x1b, 0x41,
3416 	0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86, 0xf1, 0x79,
3417 	0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e, 0xe5, 0x6a,
3418 	0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98, 0xc4, 0xc3};
3419 static const uint8_t test_vector_3_th_3[] = {
3420 	0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff,
3421 	0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86,
3422 	0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e,
3423 	0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98,
3424 	0xc4, 0xc3};
3425 static const uint8_t test_vector_3_id_cred_i[] = {
3426 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3427 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3428 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
3429 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3430 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3431 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3432 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3433 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3434 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
3435 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3436 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3437 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3438 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3439 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
3440 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
3441 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3442 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3443 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3444 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
3445 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
3446 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
3447 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
3448 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
3449 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
3450 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
3451 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
3452 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3453 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3454 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
3455 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
3456 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
3457 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
3458 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
3459 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
3460 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
3461 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
3462 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde};
3463 static const uint8_t test_vector_3_cred_i[] = {
3464 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
3465 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
3466 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
3467 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
3468 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
3469 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
3470 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
3471 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
3472 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
3473 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
3474 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
3475 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
3476 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
3477 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
3478 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
3479 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
3480 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3481 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
3482 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
3483 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
3484 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
3485 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
3486 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
3487 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
3488 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
3489 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
3490 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3491 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
3492 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
3493 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
3494 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
3495 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
3496 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
3497 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
3498 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
3499 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
3500 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
3501 static const uint8_t test_vector_3_ca_i[] = {
3502 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
3503 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
3504 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3505 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
3506 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3507 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3508 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3509 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
3510 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
3511 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3512 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
3513 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3514 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3515 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
3516 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
3517 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3518 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
3519 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
3520 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
3521 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
3522 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
3523 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
3524 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
3525 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
3526 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
3527 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3528 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
3529 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
3530 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
3531 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
3532 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
3533 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
3534 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
3535 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
3536 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
3537 	0x13, 0x6b, 0xf3, 0x06};
3538 static const uint8_t test_vector_3_ca_i_pk[] = {
3539 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
3540 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
3541 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
3542 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
3543 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
3544 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
3545 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
3546 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
3547 	0x95};
3548 static const uint8_t test_vector_3_ead_3[] = {
3549 	};
3550 static const uint8_t test_vector_3_info_mac_3[] = {
3551 	0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59,
3552 	0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81,
3553 	0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04,
3554 	0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08,
3555 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3556 	0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
3557 	0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48,
3558 	0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30,
3559 	0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31,
3560 	0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a,
3561 	0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31,
3562 	0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30,
3563 	0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
3564 	0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f,
3565 	0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
3566 	0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06,
3567 	0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
3568 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
3569 	0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75,
3570 	0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6,
3571 	0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47,
3572 	0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29,
3573 	0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d,
3574 	0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11,
3575 	0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3,
3576 	0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93,
3577 	0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a,
3578 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
3579 	0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02,
3580 	0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21,
3581 	0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f,
3582 	0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59,
3583 	0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4,
3584 	0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1,
3585 	0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99,
3586 	0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf,
3587 	0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a,
3588 	0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x85, 0xa4,
3589 	0xee, 0x31, 0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c,
3590 	0x2f, 0x31, 0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70,
3591 	0x54, 0xd5, 0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7,
3592 	0x28, 0x16, 0xfb, 0x98, 0xc4, 0xc3, 0x59, 0x01,
3593 	0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5,
3594 	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62,
3595 	0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3596 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30,
3597 	0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
3598 	0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f,
3599 	0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e,
3600 	0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37,
3601 	0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17,
3602 	0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
3603 	0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a,
3604 	0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
3605 	0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43,
3606 	0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74,
3607 	0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07,
3608 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
3609 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
3610 	0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9,
3611 	0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03,
3612 	0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf,
3613 	0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c,
3614 	0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6,
3615 	0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33,
3616 	0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87,
3617 	0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf,
3618 	0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06,
3619 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
3620 	0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21,
3621 	0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38,
3622 	0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d,
3623 	0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b,
3624 	0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d,
3625 	0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85,
3626 	0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23,
3627 	0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65,
3628 	0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07,
3629 	0xa2, 0xbe, 0xde, 0x18, 0x20};
3630 static const uint8_t test_vector_3_mac_3_raw[] = {
3631 	0x7c, 0x27, 0x91, 0xf7, 0x01, 0xa4, 0x25, 0x9a,
3632 	0x1a, 0x95, 0x8c, 0xe1, 0xcc, 0xaf, 0xc1, 0x5c,
3633 	0x03, 0xd3, 0xc0, 0x7e, 0xcb, 0xa6, 0x25, 0xa9,
3634 	0x68, 0xd5, 0xb7, 0x32, 0x69, 0xa3, 0x15, 0x06};
3635 static const uint8_t test_vector_3_mac_3[] = {
3636 	0x58, 0x20, 0x7c, 0x27, 0x91, 0xf7, 0x01, 0xa4,
3637 	0x25, 0x9a, 0x1a, 0x95, 0x8c, 0xe1, 0xcc, 0xaf,
3638 	0xc1, 0x5c, 0x03, 0xd3, 0xc0, 0x7e, 0xcb, 0xa6,
3639 	0x25, 0xa9, 0x68, 0xd5, 0xb7, 0x32, 0x69, 0xa3,
3640 	0x15, 0x06};
3641 static const uint8_t test_vector_3_m_3[] = {
3642 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
3643 	0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1,
3644 	0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01,
3645 	0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01,
3646 	0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30,
3647 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
3648 	0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30,
3649 	0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a,
3650 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f,
3651 	0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32,
3652 	0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31,
3653 	0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31,
3654 	0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30,
3655 	0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16,
3656 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45,
3657 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69,
3658 	0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59,
3659 	0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
3660 	0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48,
3661 	0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
3662 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
3663 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
3664 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
3665 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
3666 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
3667 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
3668 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
3669 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
3670 	0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3671 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00,
3672 	0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a,
3673 	0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe,
3674 	0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c,
3675 	0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91,
3676 	0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c,
3677 	0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06,
3678 	0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e,
3679 	0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91,
3680 	0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59,
3681 	0x01, 0x47, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31,
3682 	0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31,
3683 	0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5,
3684 	0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16,
3685 	0xfb, 0x98, 0xc4, 0xc3, 0x59, 0x01, 0x22, 0x30,
3686 	0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03,
3687 	0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef,
3688 	0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
3689 	0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31,
3690 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3691 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3692 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d,
3693 	0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38,
3694 	0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32,
3695 	0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30,
3696 	0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18,
3697 	0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3698 	0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49,
3699 	0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
3700 	0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
3701 	0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
3702 	0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
3703 	0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3,
3704 	0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88,
3705 	0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf,
3706 	0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30,
3707 	0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38,
3708 	0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7,
3709 	0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57,
3710 	0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff,
3711 	0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a,
3712 	0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
3713 	0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c,
3714 	0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9,
3715 	0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44,
3716 	0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21,
3717 	0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02,
3718 	0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4,
3719 	0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73,
3720 	0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96,
3721 	0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe,
3722 	0xde, 0x58, 0x20, 0x7c, 0x27, 0x91, 0xf7, 0x01,
3723 	0xa4, 0x25, 0x9a, 0x1a, 0x95, 0x8c, 0xe1, 0xcc,
3724 	0xaf, 0xc1, 0x5c, 0x03, 0xd3, 0xc0, 0x7e, 0xcb,
3725 	0xa6, 0x25, 0xa9, 0x68, 0xd5, 0xb7, 0x32, 0x69,
3726 	0xa3, 0x15, 0x06};
3727 static const uint8_t test_vector_3_sig_or_mac_3_raw[] = {
3728 	0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38, 0xe6, 0x93,
3729 	0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b, 0x6c, 0x01,
3730 	0x99, 0x26, 0xab, 0x12, 0xf2, 0xff, 0x47, 0xfa,
3731 	0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa, 0xad, 0x55,
3732 	0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62, 0xf6, 0x79,
3733 	0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a, 0x11, 0xdc,
3734 	0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31, 0xf1, 0x52,
3735 	0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86, 0x1d, 0x2a};
3736 static const uint8_t test_vector_3_sig_or_mac_3[] = {
3737 	0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38,
3738 	0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b,
3739 	0x6c, 0x01, 0x99, 0x26, 0xab, 0x12, 0xf2, 0xff,
3740 	0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa,
3741 	0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62,
3742 	0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a,
3743 	0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31,
3744 	0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86,
3745 	0x1d, 0x2a};
3746 static const uint8_t test_vector_3_p_3[] = {
3747 	0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82,
3748 	0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02,
3749 	0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f,
3750 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
3751 	0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13,
3752 	0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
3753 	0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52,
3754 	0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32,
3755 	0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32,
3756 	0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39,
3757 	0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30,
3758 	0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30,
3759 	0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f,
3760 	0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e,
3761 	0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30,
3762 	0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
3763 	0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
3764 	0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
3765 	0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5,
3766 	0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95,
3767 	0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96,
3768 	0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f,
3769 	0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
3770 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
3771 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
3772 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
3773 	0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3774 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
3775 	0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32,
3776 	0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0,
3777 	0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07,
3778 	0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef,
3779 	0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20,
3780 	0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde,
3781 	0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a,
3782 	0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c,
3783 	0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde,
3784 	0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38,
3785 	0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b,
3786 	0x6c, 0x01, 0x99, 0x26, 0xab, 0x12, 0xf2, 0xff,
3787 	0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa,
3788 	0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62,
3789 	0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a,
3790 	0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31,
3791 	0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86,
3792 	0x1d, 0x2a};
3793 static const uint8_t test_vector_3_a_3[] = {
3794 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
3795 	0x74, 0x30, 0x40, 0x58, 0x20, 0x85, 0xa4, 0xee,
3796 	0x31, 0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f,
3797 	0x31, 0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54,
3798 	0xd5, 0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28,
3799 	0x16, 0xfb, 0x98, 0xc4, 0xc3};
3800 static const uint8_t test_vector_3_info_k_3[] = {
3801 	0x03, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2,
3802 	0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6,
3803 	0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95,
3804 	0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb,
3805 	0x98, 0xc4, 0xc3, 0x10};
3806 static const uint8_t test_vector_3_k_3_raw[] = {
3807 	0x48, 0xcc, 0xb7, 0xb9, 0xef, 0x1e, 0x2f, 0xd2,
3808 	0x4b, 0x41, 0x58, 0x03, 0x89, 0xf0, 0x38, 0xc5};
3809 static const uint8_t test_vector_3_info_iv_3[] = {
3810 	0x04, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2,
3811 	0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6,
3812 	0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95,
3813 	0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb,
3814 	0x98, 0xc4, 0xc3, 0x0d};
3815 static const uint8_t test_vector_3_iv_3_raw[] = {
3816 	0x68, 0xd2, 0x00, 0x57, 0x8a, 0x17, 0x8e, 0xc8,
3817 	0xb9, 0x20, 0x60, 0xff, 0x15};
3818 static const uint8_t test_vector_3_ciphertext_3_raw[] = {
3819 	0xf2, 0xbd, 0xf0, 0x1c, 0xb0, 0x13, 0x6e, 0x4b,
3820 	0x0d, 0x71, 0x0e, 0xa3, 0x6b, 0xc6, 0x51, 0xeb,
3821 	0x71, 0x9a, 0xda, 0xc8, 0xec, 0x47, 0x2e, 0x2b,
3822 	0x1b, 0xaa, 0xff, 0x51, 0x6e, 0x3c, 0x3e, 0x24,
3823 	0x2b, 0xcc, 0x90, 0x8c, 0xcd, 0xa4, 0x4a, 0xe9,
3824 	0xef, 0xa2, 0x1c, 0xd3, 0xa7, 0x88, 0xd5, 0x70,
3825 	0x42, 0x7b, 0x9d, 0xd3, 0x9e, 0x88, 0xc6, 0x76,
3826 	0x3f, 0xe0, 0x85, 0xd2, 0xe3, 0xeb, 0x6a, 0xb1,
3827 	0x2f, 0x56, 0xe0, 0xe0, 0xdd, 0xb7, 0xe8, 0x32,
3828 	0x1c, 0x1e, 0x32, 0xd1, 0xfd, 0x32, 0xbf, 0x06,
3829 	0xf1, 0x91, 0x12, 0x19, 0x5d, 0xbb, 0x2d, 0x93,
3830 	0x30, 0x82, 0xce, 0x30, 0xad, 0x43, 0x06, 0x89,
3831 	0x64, 0xbe, 0x66, 0xd5, 0xee, 0xea, 0x8d, 0x26,
3832 	0xfe, 0xc0, 0xae, 0x40, 0x41, 0x15, 0xdb, 0x4c,
3833 	0xb9, 0x52, 0xf6, 0x2d, 0xb6, 0xa1, 0xb0, 0x17,
3834 	0x1e, 0xb9, 0xd8, 0x64, 0xf4, 0xdb, 0x21, 0xa7,
3835 	0x18, 0xc6, 0xba, 0xdf, 0x05, 0xb6, 0x0f, 0x13,
3836 	0x08, 0x2f, 0xb2, 0x25, 0x45, 0xd1, 0xbe, 0xa3,
3837 	0xa4, 0x35, 0xed, 0xc5, 0x26, 0xdd, 0xbe, 0xdc,
3838 	0xee, 0x3c, 0x65, 0xfd, 0x5f, 0x6a, 0x55, 0xa9,
3839 	0xae, 0x85, 0xb2, 0xa9, 0xb5, 0xbb, 0x68, 0x6e,
3840 	0xaa, 0x7d, 0x41, 0xfd, 0xb5, 0x39, 0xf0, 0xf7,
3841 	0xee, 0x43, 0x70, 0x30, 0x06, 0xa9, 0x6d, 0x1e,
3842 	0x37, 0x71, 0x70, 0x12, 0x6a, 0x6b, 0x9b, 0xc4,
3843 	0x5a, 0xbd, 0xa1, 0xa2, 0x8a, 0x5e, 0x3f, 0xa6,
3844 	0x3f, 0x6a, 0x08, 0xee, 0xb9, 0xd7, 0x30, 0x75,
3845 	0x57, 0x8e, 0xff, 0xed, 0xe2, 0xe4, 0xb5, 0x4f,
3846 	0x87, 0xad, 0xae, 0xa2, 0x06, 0x56, 0x60, 0x04,
3847 	0x30, 0xc2, 0x60, 0x5d, 0xce, 0x24, 0x4d, 0x2f,
3848 	0xfb, 0xc1, 0xd1, 0xdd, 0x39, 0x91, 0xdb, 0x3a,
3849 	0xd7, 0x21, 0x26, 0xd6, 0xb2, 0x6b, 0xa5, 0xd7,
3850 	0x50, 0xa2, 0xdd, 0xf6, 0x4d, 0x3c, 0x6a, 0x12,
3851 	0x08, 0xf0, 0x8f, 0x4d, 0x35, 0x4a, 0xa6, 0x50,
3852 	0x89, 0xc2, 0x1f, 0xe6, 0x21, 0xa7, 0x5b, 0x64,
3853 	0xdb, 0x1c, 0xbf, 0x21, 0x64, 0x77, 0x22, 0xf7,
3854 	0x0b, 0xf6, 0x4a, 0xd5, 0xbb, 0xc0, 0xfc, 0x8c,
3855 	0x75, 0x42, 0xe3, 0xfc, 0xfe, 0x36, 0x96, 0xb8,
3856 	0x46, 0x42, 0x40, 0x19, 0xd3, 0x57, 0xea, 0x41,
3857 	0x44, 0xcf, 0x90, 0xf6, 0xb3, 0x0b, 0xcc, 0x17,
3858 	0x03, 0xac, 0xeb, 0xf0, 0xdb, 0x59, 0x4f, 0x51,
3859 	0x3c, 0x81, 0x3d, 0x9d, 0x2e, 0xcb, 0xf6, 0x4d,
3860 	0x0f, 0x5c, 0x5d, 0xfe, 0xba, 0xc4, 0x0d, 0x41,
3861 	0xb0, 0x04, 0x09, 0x0b, 0x3a, 0xf3, 0xe7, 0xdd,
3862 	0xb1, 0xeb, 0x1e, 0xe8, 0x72, 0x37, 0x5c, 0x4c,
3863 	0x41, 0x17, 0x07, 0xf6, 0x93, 0x70, 0xc3, 0x7f,
3864 	0xde, 0xb9, 0x3c, 0x17, 0xd4, 0xc7, 0xf6, 0x49,
3865 	0xae, 0xcd};
3866 static const uint8_t test_vector_3_ciphertext_3[] = {
3867 	0x59, 0x01, 0x72, 0xf2, 0xbd, 0xf0, 0x1c, 0xb0,
3868 	0x13, 0x6e, 0x4b, 0x0d, 0x71, 0x0e, 0xa3, 0x6b,
3869 	0xc6, 0x51, 0xeb, 0x71, 0x9a, 0xda, 0xc8, 0xec,
3870 	0x47, 0x2e, 0x2b, 0x1b, 0xaa, 0xff, 0x51, 0x6e,
3871 	0x3c, 0x3e, 0x24, 0x2b, 0xcc, 0x90, 0x8c, 0xcd,
3872 	0xa4, 0x4a, 0xe9, 0xef, 0xa2, 0x1c, 0xd3, 0xa7,
3873 	0x88, 0xd5, 0x70, 0x42, 0x7b, 0x9d, 0xd3, 0x9e,
3874 	0x88, 0xc6, 0x76, 0x3f, 0xe0, 0x85, 0xd2, 0xe3,
3875 	0xeb, 0x6a, 0xb1, 0x2f, 0x56, 0xe0, 0xe0, 0xdd,
3876 	0xb7, 0xe8, 0x32, 0x1c, 0x1e, 0x32, 0xd1, 0xfd,
3877 	0x32, 0xbf, 0x06, 0xf1, 0x91, 0x12, 0x19, 0x5d,
3878 	0xbb, 0x2d, 0x93, 0x30, 0x82, 0xce, 0x30, 0xad,
3879 	0x43, 0x06, 0x89, 0x64, 0xbe, 0x66, 0xd5, 0xee,
3880 	0xea, 0x8d, 0x26, 0xfe, 0xc0, 0xae, 0x40, 0x41,
3881 	0x15, 0xdb, 0x4c, 0xb9, 0x52, 0xf6, 0x2d, 0xb6,
3882 	0xa1, 0xb0, 0x17, 0x1e, 0xb9, 0xd8, 0x64, 0xf4,
3883 	0xdb, 0x21, 0xa7, 0x18, 0xc6, 0xba, 0xdf, 0x05,
3884 	0xb6, 0x0f, 0x13, 0x08, 0x2f, 0xb2, 0x25, 0x45,
3885 	0xd1, 0xbe, 0xa3, 0xa4, 0x35, 0xed, 0xc5, 0x26,
3886 	0xdd, 0xbe, 0xdc, 0xee, 0x3c, 0x65, 0xfd, 0x5f,
3887 	0x6a, 0x55, 0xa9, 0xae, 0x85, 0xb2, 0xa9, 0xb5,
3888 	0xbb, 0x68, 0x6e, 0xaa, 0x7d, 0x41, 0xfd, 0xb5,
3889 	0x39, 0xf0, 0xf7, 0xee, 0x43, 0x70, 0x30, 0x06,
3890 	0xa9, 0x6d, 0x1e, 0x37, 0x71, 0x70, 0x12, 0x6a,
3891 	0x6b, 0x9b, 0xc4, 0x5a, 0xbd, 0xa1, 0xa2, 0x8a,
3892 	0x5e, 0x3f, 0xa6, 0x3f, 0x6a, 0x08, 0xee, 0xb9,
3893 	0xd7, 0x30, 0x75, 0x57, 0x8e, 0xff, 0xed, 0xe2,
3894 	0xe4, 0xb5, 0x4f, 0x87, 0xad, 0xae, 0xa2, 0x06,
3895 	0x56, 0x60, 0x04, 0x30, 0xc2, 0x60, 0x5d, 0xce,
3896 	0x24, 0x4d, 0x2f, 0xfb, 0xc1, 0xd1, 0xdd, 0x39,
3897 	0x91, 0xdb, 0x3a, 0xd7, 0x21, 0x26, 0xd6, 0xb2,
3898 	0x6b, 0xa5, 0xd7, 0x50, 0xa2, 0xdd, 0xf6, 0x4d,
3899 	0x3c, 0x6a, 0x12, 0x08, 0xf0, 0x8f, 0x4d, 0x35,
3900 	0x4a, 0xa6, 0x50, 0x89, 0xc2, 0x1f, 0xe6, 0x21,
3901 	0xa7, 0x5b, 0x64, 0xdb, 0x1c, 0xbf, 0x21, 0x64,
3902 	0x77, 0x22, 0xf7, 0x0b, 0xf6, 0x4a, 0xd5, 0xbb,
3903 	0xc0, 0xfc, 0x8c, 0x75, 0x42, 0xe3, 0xfc, 0xfe,
3904 	0x36, 0x96, 0xb8, 0x46, 0x42, 0x40, 0x19, 0xd3,
3905 	0x57, 0xea, 0x41, 0x44, 0xcf, 0x90, 0xf6, 0xb3,
3906 	0x0b, 0xcc, 0x17, 0x03, 0xac, 0xeb, 0xf0, 0xdb,
3907 	0x59, 0x4f, 0x51, 0x3c, 0x81, 0x3d, 0x9d, 0x2e,
3908 	0xcb, 0xf6, 0x4d, 0x0f, 0x5c, 0x5d, 0xfe, 0xba,
3909 	0xc4, 0x0d, 0x41, 0xb0, 0x04, 0x09, 0x0b, 0x3a,
3910 	0xf3, 0xe7, 0xdd, 0xb1, 0xeb, 0x1e, 0xe8, 0x72,
3911 	0x37, 0x5c, 0x4c, 0x41, 0x17, 0x07, 0xf6, 0x93,
3912 	0x70, 0xc3, 0x7f, 0xde, 0xb9, 0x3c, 0x17, 0xd4,
3913 	0xc7, 0xf6, 0x49, 0xae, 0xcd};
3914 static const uint8_t test_vector_3_message_3[] = {
3915 	0x59, 0x01, 0x72, 0xf2, 0xbd, 0xf0, 0x1c, 0xb0,
3916 	0x13, 0x6e, 0x4b, 0x0d, 0x71, 0x0e, 0xa3, 0x6b,
3917 	0xc6, 0x51, 0xeb, 0x71, 0x9a, 0xda, 0xc8, 0xec,
3918 	0x47, 0x2e, 0x2b, 0x1b, 0xaa, 0xff, 0x51, 0x6e,
3919 	0x3c, 0x3e, 0x24, 0x2b, 0xcc, 0x90, 0x8c, 0xcd,
3920 	0xa4, 0x4a, 0xe9, 0xef, 0xa2, 0x1c, 0xd3, 0xa7,
3921 	0x88, 0xd5, 0x70, 0x42, 0x7b, 0x9d, 0xd3, 0x9e,
3922 	0x88, 0xc6, 0x76, 0x3f, 0xe0, 0x85, 0xd2, 0xe3,
3923 	0xeb, 0x6a, 0xb1, 0x2f, 0x56, 0xe0, 0xe0, 0xdd,
3924 	0xb7, 0xe8, 0x32, 0x1c, 0x1e, 0x32, 0xd1, 0xfd,
3925 	0x32, 0xbf, 0x06, 0xf1, 0x91, 0x12, 0x19, 0x5d,
3926 	0xbb, 0x2d, 0x93, 0x30, 0x82, 0xce, 0x30, 0xad,
3927 	0x43, 0x06, 0x89, 0x64, 0xbe, 0x66, 0xd5, 0xee,
3928 	0xea, 0x8d, 0x26, 0xfe, 0xc0, 0xae, 0x40, 0x41,
3929 	0x15, 0xdb, 0x4c, 0xb9, 0x52, 0xf6, 0x2d, 0xb6,
3930 	0xa1, 0xb0, 0x17, 0x1e, 0xb9, 0xd8, 0x64, 0xf4,
3931 	0xdb, 0x21, 0xa7, 0x18, 0xc6, 0xba, 0xdf, 0x05,
3932 	0xb6, 0x0f, 0x13, 0x08, 0x2f, 0xb2, 0x25, 0x45,
3933 	0xd1, 0xbe, 0xa3, 0xa4, 0x35, 0xed, 0xc5, 0x26,
3934 	0xdd, 0xbe, 0xdc, 0xee, 0x3c, 0x65, 0xfd, 0x5f,
3935 	0x6a, 0x55, 0xa9, 0xae, 0x85, 0xb2, 0xa9, 0xb5,
3936 	0xbb, 0x68, 0x6e, 0xaa, 0x7d, 0x41, 0xfd, 0xb5,
3937 	0x39, 0xf0, 0xf7, 0xee, 0x43, 0x70, 0x30, 0x06,
3938 	0xa9, 0x6d, 0x1e, 0x37, 0x71, 0x70, 0x12, 0x6a,
3939 	0x6b, 0x9b, 0xc4, 0x5a, 0xbd, 0xa1, 0xa2, 0x8a,
3940 	0x5e, 0x3f, 0xa6, 0x3f, 0x6a, 0x08, 0xee, 0xb9,
3941 	0xd7, 0x30, 0x75, 0x57, 0x8e, 0xff, 0xed, 0xe2,
3942 	0xe4, 0xb5, 0x4f, 0x87, 0xad, 0xae, 0xa2, 0x06,
3943 	0x56, 0x60, 0x04, 0x30, 0xc2, 0x60, 0x5d, 0xce,
3944 	0x24, 0x4d, 0x2f, 0xfb, 0xc1, 0xd1, 0xdd, 0x39,
3945 	0x91, 0xdb, 0x3a, 0xd7, 0x21, 0x26, 0xd6, 0xb2,
3946 	0x6b, 0xa5, 0xd7, 0x50, 0xa2, 0xdd, 0xf6, 0x4d,
3947 	0x3c, 0x6a, 0x12, 0x08, 0xf0, 0x8f, 0x4d, 0x35,
3948 	0x4a, 0xa6, 0x50, 0x89, 0xc2, 0x1f, 0xe6, 0x21,
3949 	0xa7, 0x5b, 0x64, 0xdb, 0x1c, 0xbf, 0x21, 0x64,
3950 	0x77, 0x22, 0xf7, 0x0b, 0xf6, 0x4a, 0xd5, 0xbb,
3951 	0xc0, 0xfc, 0x8c, 0x75, 0x42, 0xe3, 0xfc, 0xfe,
3952 	0x36, 0x96, 0xb8, 0x46, 0x42, 0x40, 0x19, 0xd3,
3953 	0x57, 0xea, 0x41, 0x44, 0xcf, 0x90, 0xf6, 0xb3,
3954 	0x0b, 0xcc, 0x17, 0x03, 0xac, 0xeb, 0xf0, 0xdb,
3955 	0x59, 0x4f, 0x51, 0x3c, 0x81, 0x3d, 0x9d, 0x2e,
3956 	0xcb, 0xf6, 0x4d, 0x0f, 0x5c, 0x5d, 0xfe, 0xba,
3957 	0xc4, 0x0d, 0x41, 0xb0, 0x04, 0x09, 0x0b, 0x3a,
3958 	0xf3, 0xe7, 0xdd, 0xb1, 0xeb, 0x1e, 0xe8, 0x72,
3959 	0x37, 0x5c, 0x4c, 0x41, 0x17, 0x07, 0xf6, 0x93,
3960 	0x70, 0xc3, 0x7f, 0xde, 0xb9, 0x3c, 0x17, 0xd4,
3961 	0xc7, 0xf6, 0x49, 0xae, 0xcd};
3962 static const uint8_t test_vector_3_input_th_4[] = {
3963 	0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff,
3964 	0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86,
3965 	0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e,
3966 	0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98,
3967 	0xc4, 0xc3, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22,
3968 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
3969 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
3970 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
3971 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
3972 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
3973 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
3974 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
3975 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
3976 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
3977 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
3978 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
3979 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
3980 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
3981 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
3982 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
3983 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
3984 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
3985 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
3986 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
3987 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
3988 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
3989 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
3990 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
3991 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
3992 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
3993 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
3994 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
3995 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
3996 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
3997 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
3998 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
3999 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
4000 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
4001 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
4002 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
4003 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
4004 	0xbe, 0xde, 0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98,
4005 	0x1e, 0x38, 0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9,
4006 	0xec, 0x8b, 0x6c, 0x01, 0x99, 0x26, 0xab, 0x12,
4007 	0xf2, 0xff, 0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16,
4008 	0xb6, 0xfa, 0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c,
4009 	0x27, 0x62, 0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08,
4010 	0xf9, 0x4a, 0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2,
4011 	0xe5, 0x31, 0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1,
4012 	0x7e, 0x86, 0x1d, 0x2a};
4013 static const uint8_t test_vector_3_th_4_raw[] = {
4014 	0xf8, 0x43, 0x40, 0x04, 0x95, 0xa8, 0xe8, 0x82,
4015 	0xd3, 0xc4, 0x77, 0xb1, 0x88, 0x14, 0xe5, 0x14,
4016 	0x03, 0xc1, 0xa5, 0x25, 0xb2, 0xbd, 0xd1, 0x29,
4017 	0x62, 0xcc, 0x6f, 0xb3, 0xbe, 0x0b, 0xbe, 0x6b};
4018 static const uint8_t test_vector_3_th_4[] = {
4019 	0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95, 0xa8,
4020 	0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88, 0x14,
4021 	0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2, 0xbd,
4022 	0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe, 0x0b,
4023 	0xbe, 0x6b};
4024 static const uint8_t test_vector_3_ead_4[] = {
4025 	};
4026 static const uint8_t test_vector_3_p_4[] = {
4027 	};
4028 static const uint8_t test_vector_3_a_4[] = {
4029 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
4030 	0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x43, 0x40,
4031 	0x04, 0x95, 0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77,
4032 	0xb1, 0x88, 0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5,
4033 	0x25, 0xb2, 0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f,
4034 	0xb3, 0xbe, 0x0b, 0xbe, 0x6b};
4035 static const uint8_t test_vector_3_info_k_4[] = {
4036 	0x08, 0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95,
4037 	0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88,
4038 	0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2,
4039 	0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe,
4040 	0x0b, 0xbe, 0x6b, 0x10};
4041 static const uint8_t test_vector_3_k_4_raw[] = {
4042 	0x2b, 0xb5, 0x72, 0x9e, 0x82, 0x6e, 0xb3, 0x2d,
4043 	0x5b, 0x8d, 0x66, 0xa8, 0x51, 0xf5, 0x1b, 0xa0};
4044 static const uint8_t test_vector_3_info_iv_4[] = {
4045 	0x09, 0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95,
4046 	0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88,
4047 	0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2,
4048 	0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe,
4049 	0x0b, 0xbe, 0x6b, 0x0d};
4050 static const uint8_t test_vector_3_iv_4_raw[] = {
4051 	0x5b, 0x1a, 0x3f, 0x47, 0x23, 0x0d, 0xf9, 0xde,
4052 	0xd4, 0x00, 0x4c, 0x05, 0xe4};
4053 static const uint8_t test_vector_3_ciphertext_4_raw[] = {
4054 	0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b, 0x0c};
4055 static const uint8_t test_vector_3_ciphertext_4[] = {
4056 	0x48, 0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b,
4057 	0x0c};
4058 static const uint8_t test_vector_3_message_4[] = {
4059 	0x48, 0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b,
4060 	0x0c};
4061 static const uint8_t test_vector_3_prk_out[] = {
4062 	0x62, 0x82, 0x59, 0xed, 0xb4, 0x03, 0x23, 0x1d,
4063 	0x1c, 0x98, 0x0e, 0x69, 0xd4, 0xb4, 0xff, 0x2e,
4064 	0x58, 0x9b, 0x23, 0xff, 0x7d, 0xd3, 0x2c, 0x04,
4065 	0x32, 0x0c, 0xae, 0x8e, 0x6b, 0x37, 0x4d, 0x19};
4066 static const uint8_t test_vector_3_prk_exporter[] = {
4067 	0x38, 0xe6, 0x12, 0x9c, 0x4e, 0xb0, 0x62, 0x68,
4068 	0x5d, 0xd3, 0x48, 0x42, 0xf4, 0x88, 0xd4, 0x19,
4069 	0xf4, 0x23, 0x2e, 0x81, 0xf9, 0x4a, 0x98, 0xe2,
4070 	0x01, 0x73, 0xc9, 0x0f, 0x0f, 0x50, 0xf3, 0x1c};
4071 int32_t test_vector_3_oscore_aead_alg = 10;
4072 int32_t test_vector_3_oscore_hash_alg = -16;
4073 static const uint8_t test_vector_3_client_sender_id_raw[] = {
4074 	0x32};
4075 static const uint8_t test_vector_3_server_sender_id_raw[] = {
4076 	0x37};
4077 static const uint8_t test_vector_3_info_oscore_secret[] = {
4078 	0x00, 0x40, 0x10};
4079 static const uint8_t test_vector_3_oscore_secret_raw[] = {
4080 	0x2a, 0x53, 0x4d, 0x11, 0xba, 0x1b, 0x03, 0x76,
4081 	0x0c, 0xee, 0xd8, 0x52, 0x0f, 0xd4, 0x93, 0x0f};
4082 static const uint8_t test_vector_3_info_oscore_salt[] = {
4083 	0x01, 0x40, 0x08};
4084 static const uint8_t test_vector_3_oscore_salt_raw[] = {
4085 	0x01, 0xc8, 0xdf, 0x57, 0xa2, 0x23, 0xfa, 0x6b};
4086 static const uint8_t test_vector_3_prk_out_updated[] = {
4087 	0x37, 0x47, 0x1f, 0x90, 0x7a, 0xcf, 0x89, 0x1f,
4088 	0xb0, 0x2a, 0x2d, 0x18, 0xc0, 0x9e, 0x72, 0x9b,
4089 	0x50, 0xc0, 0x51, 0x63, 0xb5, 0xca, 0xb0, 0xd7,
4090 	0xb0, 0x63, 0xa1, 0x54, 0xb0, 0xc2, 0x5e, 0x85};
4091 static const uint8_t test_vector_3_prk_exporter_update[] = {
4092 	0xcb, 0x3a, 0x09, 0x7e, 0x23, 0x15, 0x4f, 0x58,
4093 	0xd2, 0xdb, 0x78, 0x14, 0x88, 0x7b, 0xee, 0xe0,
4094 	0x4d, 0xc2, 0x4d, 0x49, 0x3a, 0x00, 0x8c, 0x04,
4095 	0x18, 0xf9, 0x3b, 0xa6, 0x8e, 0x6e, 0x71, 0x78};
4096 static const uint8_t test_vector_3_oscore_secret_key_update_raw[] = {
4097 	0xb6, 0x90, 0xab, 0x14, 0xf5, 0x6d, 0x5e, 0xd9,
4098 	0xdc, 0x2c, 0x43, 0xd0, 0xe0, 0xfc, 0xe7, 0xbe};
4099 static const uint8_t test_vector_3_oscore_salt_key_update_raw[] = {
4100 	0x2c, 0xea, 0x84, 0xd3, 0xad, 0xe0, 0xf9, 0x6b};
4101 
4102 /***************** test_vector_4 ************/
4103 
4104  static const uint8_t test_vector_4_method[] = {
4105 	0x00};
4106 static const uint8_t test_vector_4_SUITES_I[] = {
4107 	0x02};
4108 static const uint8_t test_vector_4_SUITES_R[] = {
4109 	0x02};
4110 static const uint8_t test_vector_4_x_raw[] = {
4111 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
4112 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
4113 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
4114 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
4115 static const uint8_t test_vector_4_g_x_raw[] = {
4116 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
4117 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
4118 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
4119 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
4120 static const uint8_t test_vector_4_g_x_raw_y_coordinate[] = {
4121 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
4122 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
4123 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
4124 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
4125 static const uint8_t test_vector_4_g_x[] = {
4126 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
4127 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
4128 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
4129 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
4130 	0xc3, 0xb6};
4131 int32_t test_vector_4_c_i_raw = -24;
4132 static const uint8_t test_vector_4_c_i[] = {
4133 	0x37};
4134 static const uint8_t test_vector_4_ead_1[] = {
4135 	};
4136 static const uint8_t test_vector_4_message_1[] = {
4137 	0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
4138 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
4139 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
4140 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
4141 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
4142 static const uint8_t test_vector_4_y_raw[] = {
4143 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
4144 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
4145 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
4146 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
4147 static const uint8_t test_vector_4_g_y_raw[] = {
4148 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
4149 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
4150 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
4151 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
4152 static const uint8_t test_vector_4_g_y_raw_y_coordinate[] = {
4153 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
4154 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
4155 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
4156 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
4157 static const uint8_t test_vector_4_g_y[] = {
4158 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4159 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4160 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4161 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4162 	0xf5, 0xd5};
4163 static const uint8_t test_vector_4_g_xy_raw[] = {
4164 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
4165 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
4166 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
4167 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
4168 static const uint8_t test_vector_4_salt_raw[] = {
4169 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4170 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4171 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4172 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
4173 static const uint8_t test_vector_4_prk_2e_raw[] = {
4174 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
4175 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
4176 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
4177 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
4178 static const uint8_t test_vector_4_salt_3e2m[] = {
4179 	0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72,
4180 	0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38,
4181 	0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70,
4182 	0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7};
4183 static const uint8_t test_vector_4_sk_r_raw[] = {
4184 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
4185 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
4186 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
4187 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
4188 static const uint8_t test_vector_4_pk_r_raw[] = {
4189 	0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4,
4190 	0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41,
4191 	0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb,
4192 	0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44,
4193 	0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a,
4194 	0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3,
4195 	0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0,
4196 	0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60,
4197 	0x72};
4198 static const uint8_t test_vector_4_prk_3e2m_raw[] = {
4199 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
4200 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
4201 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
4202 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
4203 int32_t test_vector_4_c_r_raw = -8;
4204 static const uint8_t test_vector_4_c_r[] = {
4205 	0x27};
4206 static const uint8_t test_vector_4_h_message_1_raw[] = {
4207 	0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc,
4208 	0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46,
4209 	0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1,
4210 	0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26};
4211 static const uint8_t test_vector_4_h_message_1[] = {
4212 	0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16,
4213 	0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61,
4214 	0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b,
4215 	0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e,
4216 	0x67, 0x26};
4217 static const uint8_t test_vector_4_input_th_2[] = {
4218 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4219 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4220 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4221 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4222 	0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f,
4223 	0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab,
4224 	0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b,
4225 	0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69,
4226 	0x18, 0x2a, 0x4e, 0x67, 0x26};
4227 static const uint8_t test_vector_4_th_2_raw[] = {
4228 	0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85,
4229 	0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46,
4230 	0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1,
4231 	0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6};
4232 static const uint8_t test_vector_4_th_2[] = {
4233 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
4234 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
4235 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
4236 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
4237 	0xab, 0xa6};
4238 static const uint8_t test_vector_4_id_cred_r[] = {
4239 	0xa1, 0x04, 0x32};
4240 static const uint8_t test_vector_4_cred_r[] = {
4241 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
4242 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
4243 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
4244 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
4245 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
4246 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
4247 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
4248 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
4249 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
4250 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
4251 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
4252 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
4253 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
4254 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
4255 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
4256 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4257 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4258 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
4259 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
4260 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
4261 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
4262 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
4263 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
4264 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
4265 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
4266 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
4267 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4268 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
4269 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
4270 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
4271 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
4272 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
4273 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
4274 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
4275 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
4276 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
4277 	0x3b, 0x13, 0x3d, 0x05, 0x58};
4278 static const uint8_t test_vector_4_ca_r[] = {
4279 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
4280 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4281 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4282 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4283 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4284 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4285 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4286 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4287 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
4288 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4289 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
4290 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
4291 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4292 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
4293 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4294 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4295 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
4296 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
4297 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
4298 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
4299 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
4300 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
4301 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
4302 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
4303 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
4304 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4305 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
4306 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
4307 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
4308 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
4309 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
4310 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
4311 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
4312 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
4313 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
4314 	0x13, 0x6b, 0xf3, 0x06};
4315 static const uint8_t test_vector_4_ca_r_pk[] = {
4316 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
4317 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
4318 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
4319 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
4320 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
4321 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
4322 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
4323 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
4324 	0x95};
4325 static const uint8_t test_vector_4_ead_2[] = {
4326 	};
4327 static const uint8_t test_vector_4_info_mac_2[] = {
4328 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x32, 0x58,
4329 	0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff,
4330 	0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e,
4331 	0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87,
4332 	0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab,
4333 	0xa6, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
4334 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
4335 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
4336 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
4337 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
4338 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
4339 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
4340 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
4341 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
4342 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
4343 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
4344 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
4345 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
4346 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
4347 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
4348 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4349 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4350 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
4351 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
4352 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
4353 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
4354 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
4355 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
4356 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
4357 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
4358 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
4359 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4360 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
4361 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
4362 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
4363 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
4364 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
4365 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
4366 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
4367 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
4368 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
4369 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x18, 0x20};
4370 static const uint8_t test_vector_4_mac_2_raw[] = {
4371 	0x7b, 0xe4, 0x66, 0xec, 0x96, 0xfa, 0x3b, 0x51,
4372 	0x4f, 0xf9, 0xfb, 0x22, 0xdb, 0x7c, 0x72, 0xd5,
4373 	0x01, 0x95, 0x82, 0x19, 0x25, 0xf3, 0x7e, 0x54,
4374 	0x53, 0x2b, 0x49, 0x74, 0xc3, 0xf6, 0xbf, 0x13};
4375 static const uint8_t test_vector_4_mac_2[] = {
4376 	0x58, 0x20, 0x7b, 0xe4, 0x66, 0xec, 0x96, 0xfa,
4377 	0x3b, 0x51, 0x4f, 0xf9, 0xfb, 0x22, 0xdb, 0x7c,
4378 	0x72, 0xd5, 0x01, 0x95, 0x82, 0x19, 0x25, 0xf3,
4379 	0x7e, 0x54, 0x53, 0x2b, 0x49, 0x74, 0xc3, 0xf6,
4380 	0xbf, 0x13};
4381 static const uint8_t test_vector_4_m_2[] = {
4382 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
4383 	0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x32,
4384 	0x59, 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b,
4385 	0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58,
4386 	0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d,
4387 	0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9,
4388 	0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22,
4389 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4390 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4391 	0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4392 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4393 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4394 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4395 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4396 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4397 	0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d,
4398 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4399 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4400 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4401 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4402 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
4403 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4404 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4405 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4406 	0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60,
4407 	0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad,
4408 	0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91,
4409 	0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20,
4410 	0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57,
4411 	0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09,
4412 	0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6,
4413 	0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51,
4414 	0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08,
4415 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4416 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30,
4417 	0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95,
4418 	0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee,
4419 	0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb,
4420 	0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02,
4421 	0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6,
4422 	0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61,
4423 	0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b,
4424 	0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d,
4425 	0x05, 0x58, 0x58, 0x20, 0x7b, 0xe4, 0x66, 0xec,
4426 	0x96, 0xfa, 0x3b, 0x51, 0x4f, 0xf9, 0xfb, 0x22,
4427 	0xdb, 0x7c, 0x72, 0xd5, 0x01, 0x95, 0x82, 0x19,
4428 	0x25, 0xf3, 0x7e, 0x54, 0x53, 0x2b, 0x49, 0x74,
4429 	0xc3, 0xf6, 0xbf, 0x13};
4430 static const uint8_t test_vector_4_sig_or_mac_2_raw[] = {
4431 	0x52, 0x99, 0x41, 0xa7, 0xd5, 0xfa, 0x13, 0x74,
4432 	0x0a, 0x3a, 0xf5, 0x29, 0x89, 0x31, 0x8e, 0x59,
4433 	0xa9, 0x7c, 0xe9, 0x49, 0x0b, 0x0d, 0x31, 0x82,
4434 	0x7d, 0x09, 0xc7, 0x5a, 0xb6, 0xe7, 0x88, 0xf6,
4435 	0xfe, 0xf1, 0x3b, 0x99, 0xc2, 0xa0, 0xd6, 0xcf,
4436 	0x06, 0x88, 0xc9, 0x81, 0x1f, 0x4f, 0x6c, 0x46,
4437 	0x96, 0x87, 0x94, 0x94, 0x3d, 0xbf, 0x44, 0xd0,
4438 	0xe4, 0xdc, 0x45, 0x03, 0xee, 0x07, 0xb8, 0x9f};
4439 static const uint8_t test_vector_4_sig_or_mac_2[] = {
4440 	0x58, 0x40, 0x52, 0x99, 0x41, 0xa7, 0xd5, 0xfa,
4441 	0x13, 0x74, 0x0a, 0x3a, 0xf5, 0x29, 0x89, 0x31,
4442 	0x8e, 0x59, 0xa9, 0x7c, 0xe9, 0x49, 0x0b, 0x0d,
4443 	0x31, 0x82, 0x7d, 0x09, 0xc7, 0x5a, 0xb6, 0xe7,
4444 	0x88, 0xf6, 0xfe, 0xf1, 0x3b, 0x99, 0xc2, 0xa0,
4445 	0xd6, 0xcf, 0x06, 0x88, 0xc9, 0x81, 0x1f, 0x4f,
4446 	0x6c, 0x46, 0x96, 0x87, 0x94, 0x94, 0x3d, 0xbf,
4447 	0x44, 0xd0, 0xe4, 0xdc, 0x45, 0x03, 0xee, 0x07,
4448 	0xb8, 0x9f};
4449 static const uint8_t test_vector_4_plaintext_2[] = {
4450 	0x32, 0x58, 0x40, 0x52, 0x99, 0x41, 0xa7, 0xd5,
4451 	0xfa, 0x13, 0x74, 0x0a, 0x3a, 0xf5, 0x29, 0x89,
4452 	0x31, 0x8e, 0x59, 0xa9, 0x7c, 0xe9, 0x49, 0x0b,
4453 	0x0d, 0x31, 0x82, 0x7d, 0x09, 0xc7, 0x5a, 0xb6,
4454 	0xe7, 0x88, 0xf6, 0xfe, 0xf1, 0x3b, 0x99, 0xc2,
4455 	0xa0, 0xd6, 0xcf, 0x06, 0x88, 0xc9, 0x81, 0x1f,
4456 	0x4f, 0x6c, 0x46, 0x96, 0x87, 0x94, 0x94, 0x3d,
4457 	0xbf, 0x44, 0xd0, 0xe4, 0xdc, 0x45, 0x03, 0xee,
4458 	0x07, 0xb8, 0x9f};
4459 static const uint8_t test_vector_4_info_keystream_2[] = {
4460 	0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43,
4461 	0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b,
4462 	0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9,
4463 	0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92,
4464 	0xfb, 0xab, 0xa6, 0x18, 0x43};
4465 static const uint8_t test_vector_4_keystream_2_raw[] = {
4466 	0xf6, 0xcd, 0x8c, 0x53, 0x34, 0x45, 0x19, 0x30,
4467 	0xe5, 0x56, 0xb3, 0xc4, 0x08, 0x73, 0x02, 0x60,
4468 	0x4d, 0x17, 0x98, 0xf6, 0xe0, 0x96, 0x78, 0x4b,
4469 	0xeb, 0x31, 0xc3, 0x7e, 0xfc, 0x53, 0xcb, 0xe8,
4470 	0x6a, 0x8e, 0x00, 0xbf, 0xaf, 0x2f, 0xb3, 0xdb,
4471 	0x34, 0xd0, 0xee, 0x47, 0xaa, 0xc6, 0x00, 0xe0,
4472 	0x6e, 0x6f, 0x00, 0xd2, 0x1c, 0xd5, 0x1e, 0xbd,
4473 	0x53, 0x6f, 0xa8, 0xd9, 0xf6, 0x44, 0xac, 0x0b,
4474 	0x79, 0x16, 0xcd};
4475 static const uint8_t test_vector_4_ciphertext_2_raw[] = {
4476 	0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04, 0xbe, 0xe5,
4477 	0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86, 0x2b, 0xe9,
4478 	0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f, 0x31, 0x40,
4479 	0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94, 0x91, 0x5e,
4480 	0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14, 0x2a, 0x19,
4481 	0x94, 0x06, 0x21, 0x41, 0x22, 0x0f, 0x81, 0xff,
4482 	0x21, 0x03, 0x46, 0x44, 0x9b, 0x41, 0x8a, 0x80,
4483 	0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01, 0xaf, 0xe5,
4484 	0x7e, 0xae, 0x52};
4485 static const uint8_t test_vector_4_ciphertext_2[] = {
4486 	0x58, 0x43, 0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04,
4487 	0xbe, 0xe5, 0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86,
4488 	0x2b, 0xe9, 0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f,
4489 	0x31, 0x40, 0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94,
4490 	0x91, 0x5e, 0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14,
4491 	0x2a, 0x19, 0x94, 0x06, 0x21, 0x41, 0x22, 0x0f,
4492 	0x81, 0xff, 0x21, 0x03, 0x46, 0x44, 0x9b, 0x41,
4493 	0x8a, 0x80, 0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01,
4494 	0xaf, 0xe5, 0x7e, 0xae, 0x52};
4495 static const uint8_t test_vector_4_message_2[] = {
4496 	0x58, 0x63, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4497 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4498 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
4499 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
4500 	0xf5, 0xd5, 0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04,
4501 	0xbe, 0xe5, 0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86,
4502 	0x2b, 0xe9, 0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f,
4503 	0x31, 0x40, 0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94,
4504 	0x91, 0x5e, 0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14,
4505 	0x2a, 0x19, 0x94, 0x06, 0x21, 0x41, 0x22, 0x0f,
4506 	0x81, 0xff, 0x21, 0x03, 0x46, 0x44, 0x9b, 0x41,
4507 	0x8a, 0x80, 0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01,
4508 	0xaf, 0xe5, 0x7e, 0xae, 0x52, 0x27};
4509 static const uint8_t test_vector_4_sk_i_raw[] = {
4510 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
4511 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
4512 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
4513 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
4514 static const uint8_t test_vector_4_pk_i_raw[] = {
4515 	0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b,
4516 	0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22,
4517 	0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66,
4518 	0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e,
4519 	0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b,
4520 	0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e,
4521 	0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb,
4522 	0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff,
4523 	0xc8};
4524 static const uint8_t test_vector_4_salt_4e3m[] = {
4525 	0xd9, 0x3a, 0x6c, 0x45, 0xf3, 0x4a, 0x88, 0x3d,
4526 	0xc9, 0xb0, 0x14, 0xf6, 0x69, 0x08, 0xdb, 0xc2,
4527 	0x34, 0xce, 0x1d, 0x82, 0x50, 0x41, 0x1b, 0xe2,
4528 	0x52, 0xc4, 0x93, 0xd2, 0x6d, 0x10, 0xb7, 0x23};
4529 static const uint8_t test_vector_4_prk_4e3m_raw[] = {
4530 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
4531 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
4532 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
4533 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
4534 static const uint8_t test_vector_4_input_TH_3[] = {
4535 	0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e,
4536 	0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72,
4537 	0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6,
4538 	0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb,
4539 	0xab, 0xa6, 0x32, 0x58, 0x40, 0x52, 0x99, 0x41,
4540 	0xa7, 0xd5, 0xfa, 0x13, 0x74, 0x0a, 0x3a, 0xf5,
4541 	0x29, 0x89, 0x31, 0x8e, 0x59, 0xa9, 0x7c, 0xe9,
4542 	0x49, 0x0b, 0x0d, 0x31, 0x82, 0x7d, 0x09, 0xc7,
4543 	0x5a, 0xb6, 0xe7, 0x88, 0xf6, 0xfe, 0xf1, 0x3b,
4544 	0x99, 0xc2, 0xa0, 0xd6, 0xcf, 0x06, 0x88, 0xc9,
4545 	0x81, 0x1f, 0x4f, 0x6c, 0x46, 0x96, 0x87, 0x94,
4546 	0x94, 0x3d, 0xbf, 0x44, 0xd0, 0xe4, 0xdc, 0x45,
4547 	0x03, 0xee, 0x07, 0xb8, 0x9f};
4548 static const uint8_t test_vector_4_th_3_raw[] = {
4549 	0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 0xe9, 0x64,
4550 	0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 0xa6, 0xa7,
4551 	0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 0x37, 0x51,
4552 	0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 0xb8, 0x92};
4553 static const uint8_t test_vector_4_th_3[] = {
4554 	0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96,
4555 	0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f,
4556 	0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85,
4557 	0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b,
4558 	0xb8, 0x92};
4559 static const uint8_t test_vector_4_id_cred_i[] = {
4560 	0xa1, 0x04, 0x2b};
4561 static const uint8_t test_vector_4_cred_i[] = {
4562 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
4563 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
4564 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
4565 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
4566 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
4567 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
4568 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
4569 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
4570 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
4571 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
4572 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
4573 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
4574 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
4575 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
4576 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
4577 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4578 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4579 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
4580 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
4581 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
4582 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
4583 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
4584 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
4585 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
4586 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
4587 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
4588 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4589 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
4590 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
4591 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
4592 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
4593 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
4594 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
4595 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
4596 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
4597 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
4598 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
4599 static const uint8_t test_vector_4_ca_i[] = {
4600 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
4601 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
4602 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4603 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4604 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4605 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4606 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4607 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
4608 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
4609 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4610 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
4611 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
4612 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4613 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
4614 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
4615 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4616 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
4617 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
4618 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
4619 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
4620 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
4621 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
4622 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
4623 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
4624 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
4625 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4626 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
4627 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
4628 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
4629 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
4630 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
4631 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
4632 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
4633 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
4634 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
4635 	0x13, 0x6b, 0xf3, 0x06};
4636 static const uint8_t test_vector_4_ca_i_pk[] = {
4637 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
4638 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
4639 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
4640 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
4641 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
4642 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
4643 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
4644 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
4645 	0x95};
4646 static const uint8_t test_vector_4_ead_3[] = {
4647 	};
4648 static const uint8_t test_vector_4_info_mac_3[] = {
4649 	0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x2b, 0x58,
4650 	0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 0xe9,
4651 	0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 0xa6,
4652 	0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 0x37,
4653 	0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 0xb8,
4654 	0x92, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
4655 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
4656 	0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a,
4657 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
4658 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
4659 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
4660 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
4661 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
4662 	0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30,
4663 	0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
4664 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
4665 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
4666 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
4667 	0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74,
4668 	0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30,
4669 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
4670 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4671 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
4672 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
4673 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
4674 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
4675 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6,
4676 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
4677 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
4678 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
4679 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8,
4680 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
4681 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
4682 	0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f,
4683 	0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf,
4684 	0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58,
4685 	0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f,
4686 	0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a,
4687 	0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35,
4688 	0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d,
4689 	0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30,
4690 	0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x18, 0x20};
4691 static const uint8_t test_vector_4_mac_3_raw[] = {
4692 	0x62, 0x42, 0x38, 0x1b, 0xbd, 0x67, 0xd3, 0x74,
4693 	0xff, 0xa4, 0x7b, 0xbf, 0x54, 0xae, 0x8e, 0xd1,
4694 	0x78, 0x33, 0x6b, 0x03, 0x03, 0xcb, 0xe0, 0xd9,
4695 	0xd2, 0x70, 0x7a, 0x83, 0x0d, 0xd5, 0xbf, 0xbd};
4696 static const uint8_t test_vector_4_mac_3[] = {
4697 	0x58, 0x20, 0x62, 0x42, 0x38, 0x1b, 0xbd, 0x67,
4698 	0xd3, 0x74, 0xff, 0xa4, 0x7b, 0xbf, 0x54, 0xae,
4699 	0x8e, 0xd1, 0x78, 0x33, 0x6b, 0x03, 0x03, 0xcb,
4700 	0xe0, 0xd9, 0xd2, 0x70, 0x7a, 0x83, 0x0d, 0xd5,
4701 	0xbf, 0xbd};
4702 static const uint8_t test_vector_4_m_3[] = {
4703 	0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
4704 	0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x2b,
4705 	0x59, 0x01, 0x47, 0x58, 0x20, 0xbb, 0xc5, 0xee,
4706 	0xa1, 0x0f, 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7,
4707 	0xaf, 0x03, 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6,
4708 	0x61, 0x99, 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1,
4709 	0x6d, 0x41, 0x1b, 0xb8, 0x92, 0x59, 0x01, 0x22,
4710 	0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0,
4711 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32,
4712 	0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
4713 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
4714 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
4715 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
4716 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
4717 	0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30,
4718 	0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d,
4719 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
4720 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31,
4721 	0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03,
4722 	0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
4723 	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f,
4724 	0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
4725 	0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08,
4726 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
4727 	0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec,
4728 	0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99,
4729 	0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16,
4730 	0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4,
4731 	0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11,
4732 	0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a,
4733 	0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2,
4734 	0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21,
4735 	0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08,
4736 	0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02,
4737 	0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00,
4738 	0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa,
4739 	0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a,
4740 	0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5,
4741 	0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11,
4742 	0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4,
4743 	0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c,
4744 	0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13,
4745 	0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2,
4746 	0xbe, 0xde, 0x58, 0x20, 0x62, 0x42, 0x38, 0x1b,
4747 	0xbd, 0x67, 0xd3, 0x74, 0xff, 0xa4, 0x7b, 0xbf,
4748 	0x54, 0xae, 0x8e, 0xd1, 0x78, 0x33, 0x6b, 0x03,
4749 	0x03, 0xcb, 0xe0, 0xd9, 0xd2, 0x70, 0x7a, 0x83,
4750 	0x0d, 0xd5, 0xbf, 0xbd};
4751 static const uint8_t test_vector_4_sig_or_mac_3_raw[] = {
4752 	0x3c, 0x14, 0xd0, 0x8c, 0xd8, 0x48, 0xcd, 0x11,
4753 	0x43, 0x40, 0xa7, 0xcb, 0xd4, 0x8e, 0x33, 0x50,
4754 	0x84, 0x4b, 0xde, 0xe3, 0x22, 0x7c, 0x09, 0x91,
4755 	0x35, 0x2a, 0x03, 0x92, 0x8f, 0x32, 0xd5, 0x2a,
4756 	0x49, 0x12, 0x3b, 0x76, 0x26, 0x37, 0x7f, 0x07,
4757 	0x9a, 0xee, 0xfa, 0x21, 0x3b, 0xcd, 0x90, 0xf0,
4758 	0xe5, 0xbc, 0xc6, 0xcb, 0xc3, 0xad, 0x4e, 0x77,
4759 	0xc8, 0x11, 0x67, 0xb3, 0x9f, 0xa5, 0x6b, 0x99};
4760 static const uint8_t test_vector_4_sig_or_mac_3[] = {
4761 	0x58, 0x40, 0x3c, 0x14, 0xd0, 0x8c, 0xd8, 0x48,
4762 	0xcd, 0x11, 0x43, 0x40, 0xa7, 0xcb, 0xd4, 0x8e,
4763 	0x33, 0x50, 0x84, 0x4b, 0xde, 0xe3, 0x22, 0x7c,
4764 	0x09, 0x91, 0x35, 0x2a, 0x03, 0x92, 0x8f, 0x32,
4765 	0xd5, 0x2a, 0x49, 0x12, 0x3b, 0x76, 0x26, 0x37,
4766 	0x7f, 0x07, 0x9a, 0xee, 0xfa, 0x21, 0x3b, 0xcd,
4767 	0x90, 0xf0, 0xe5, 0xbc, 0xc6, 0xcb, 0xc3, 0xad,
4768 	0x4e, 0x77, 0xc8, 0x11, 0x67, 0xb3, 0x9f, 0xa5,
4769 	0x6b, 0x99};
4770 static const uint8_t test_vector_4_p_3[] = {
4771 	0x2b, 0x58, 0x40, 0x3c, 0x14, 0xd0, 0x8c, 0xd8,
4772 	0x48, 0xcd, 0x11, 0x43, 0x40, 0xa7, 0xcb, 0xd4,
4773 	0x8e, 0x33, 0x50, 0x84, 0x4b, 0xde, 0xe3, 0x22,
4774 	0x7c, 0x09, 0x91, 0x35, 0x2a, 0x03, 0x92, 0x8f,
4775 	0x32, 0xd5, 0x2a, 0x49, 0x12, 0x3b, 0x76, 0x26,
4776 	0x37, 0x7f, 0x07, 0x9a, 0xee, 0xfa, 0x21, 0x3b,
4777 	0xcd, 0x90, 0xf0, 0xe5, 0xbc, 0xc6, 0xcb, 0xc3,
4778 	0xad, 0x4e, 0x77, 0xc8, 0x11, 0x67, 0xb3, 0x9f,
4779 	0xa5, 0x6b, 0x99};
4780 static const uint8_t test_vector_4_a_3[] = {
4781 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
4782 	0x74, 0x30, 0x40, 0x58, 0x20, 0xbb, 0xc5, 0xee,
4783 	0xa1, 0x0f, 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7,
4784 	0xaf, 0x03, 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6,
4785 	0x61, 0x99, 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1,
4786 	0x6d, 0x41, 0x1b, 0xb8, 0x92};
4787 static const uint8_t test_vector_4_info_k_3[] = {
4788 	0x03, 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f,
4789 	0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03,
4790 	0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99,
4791 	0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41,
4792 	0x1b, 0xb8, 0x92, 0x10};
4793 static const uint8_t test_vector_4_k_3_raw[] = {
4794 	0xee, 0x10, 0xd0, 0x8b, 0x79, 0xae, 0x9f, 0x6c,
4795 	0x85, 0xa9, 0xbf, 0xd6, 0xf5, 0xbd, 0x99, 0xac};
4796 static const uint8_t test_vector_4_info_iv_3[] = {
4797 	0x04, 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f,
4798 	0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03,
4799 	0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99,
4800 	0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41,
4801 	0x1b, 0xb8, 0x92, 0x0d};
4802 static const uint8_t test_vector_4_iv_3_raw[] = {
4803 	0x3b, 0x10, 0xaf, 0x1d, 0xab, 0xb5, 0x71, 0x21,
4804 	0x15, 0x5c, 0xee, 0xaf, 0xe0};
4805 static const uint8_t test_vector_4_ciphertext_3_raw[] = {
4806 	0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39, 0x8f, 0x76,
4807 	0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a, 0xca, 0xb9,
4808 	0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9, 0x7a, 0xac,
4809 	0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e, 0x17, 0xfc,
4810 	0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54, 0x9b, 0x9b,
4811 	0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17, 0x15, 0xb2,
4812 	0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83, 0xe9, 0x73,
4813 	0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1, 0x10, 0x6e,
4814 	0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08, 0x69, 0x5f,
4815 	0x48, 0x64, 0x9b};
4816 static const uint8_t test_vector_4_ciphertext_3[] = {
4817 	0x58, 0x4b, 0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39,
4818 	0x8f, 0x76, 0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a,
4819 	0xca, 0xb9, 0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9,
4820 	0x7a, 0xac, 0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e,
4821 	0x17, 0xfc, 0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54,
4822 	0x9b, 0x9b, 0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17,
4823 	0x15, 0xb2, 0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83,
4824 	0xe9, 0x73, 0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1,
4825 	0x10, 0x6e, 0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08,
4826 	0x69, 0x5f, 0x48, 0x64, 0x9b};
4827 static const uint8_t test_vector_4_message_3[] = {
4828 	0x58, 0x4b, 0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39,
4829 	0x8f, 0x76, 0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a,
4830 	0xca, 0xb9, 0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9,
4831 	0x7a, 0xac, 0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e,
4832 	0x17, 0xfc, 0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54,
4833 	0x9b, 0x9b, 0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17,
4834 	0x15, 0xb2, 0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83,
4835 	0xe9, 0x73, 0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1,
4836 	0x10, 0x6e, 0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08,
4837 	0x69, 0x5f, 0x48, 0x64, 0x9b};
4838 static const uint8_t test_vector_4_input_th_4[] = {
4839 	0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96,
4840 	0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f,
4841 	0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85,
4842 	0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b,
4843 	0xb8, 0x92, 0x2b, 0x58, 0x40, 0x3c, 0x14, 0xd0,
4844 	0x8c, 0xd8, 0x48, 0xcd, 0x11, 0x43, 0x40, 0xa7,
4845 	0xcb, 0xd4, 0x8e, 0x33, 0x50, 0x84, 0x4b, 0xde,
4846 	0xe3, 0x22, 0x7c, 0x09, 0x91, 0x35, 0x2a, 0x03,
4847 	0x92, 0x8f, 0x32, 0xd5, 0x2a, 0x49, 0x12, 0x3b,
4848 	0x76, 0x26, 0x37, 0x7f, 0x07, 0x9a, 0xee, 0xfa,
4849 	0x21, 0x3b, 0xcd, 0x90, 0xf0, 0xe5, 0xbc, 0xc6,
4850 	0xcb, 0xc3, 0xad, 0x4e, 0x77, 0xc8, 0x11, 0x67,
4851 	0xb3, 0x9f, 0xa5, 0x6b, 0x99};
4852 static const uint8_t test_vector_4_th_4_raw[] = {
4853 	0xe8, 0x75, 0x3a, 0xb2, 0x57, 0xac, 0xbe, 0xba,
4854 	0x6b, 0x05, 0x09, 0xff, 0xc5, 0xc9, 0x43, 0xdd,
4855 	0x71, 0xfb, 0xb6, 0xd2, 0x57, 0x1a, 0x29, 0xb0,
4856 	0x4a, 0x49, 0x7b, 0x73, 0x7e, 0xa8, 0x92, 0xcd};
4857 static const uint8_t test_vector_4_th_4[] = {
4858 	0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57, 0xac,
4859 	0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5, 0xc9,
4860 	0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57, 0x1a,
4861 	0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e, 0xa8,
4862 	0x92, 0xcd};
4863 static const uint8_t test_vector_4_ead_4[] = {
4864 	};
4865 static const uint8_t test_vector_4_p_4[] = {
4866 	};
4867 static const uint8_t test_vector_4_a_4[] = {
4868 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
4869 	0x74, 0x30, 0x40, 0x58, 0x20, 0xe8, 0x75, 0x3a,
4870 	0xb2, 0x57, 0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09,
4871 	0xff, 0xc5, 0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6,
4872 	0xd2, 0x57, 0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b,
4873 	0x73, 0x7e, 0xa8, 0x92, 0xcd};
4874 static const uint8_t test_vector_4_info_k_4[] = {
4875 	0x08, 0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57,
4876 	0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5,
4877 	0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57,
4878 	0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e,
4879 	0xa8, 0x92, 0xcd, 0x10};
4880 static const uint8_t test_vector_4_k_4_raw[] = {
4881 	0x22, 0xac, 0xe6, 0x88, 0xec, 0x4d, 0xb4, 0x6e,
4882 	0x51, 0xce, 0x51, 0xc3, 0xb0, 0xa4, 0x85, 0x53};
4883 static const uint8_t test_vector_4_info_iv_4[] = {
4884 	0x09, 0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57,
4885 	0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5,
4886 	0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57,
4887 	0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e,
4888 	0xa8, 0x92, 0xcd, 0x0d};
4889 static const uint8_t test_vector_4_iv_4_raw[] = {
4890 	0xdb, 0x1a, 0x42, 0xe0, 0xfb, 0x74, 0xdf, 0x4b,
4891 	0x51, 0x01, 0xd5, 0xa9, 0xbf};
4892 static const uint8_t test_vector_4_ciphertext_4_raw[] = {
4893 	0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1, 0xb1};
4894 static const uint8_t test_vector_4_ciphertext_4[] = {
4895 	0x48, 0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1,
4896 	0xb1};
4897 static const uint8_t test_vector_4_message_4[] = {
4898 	0x48, 0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1,
4899 	0xb1};
4900 static const uint8_t test_vector_4_prk_out[] = {
4901 	0xf3, 0x0c, 0xfe, 0x1e, 0x1b, 0x1a, 0xd1, 0x94,
4902 	0x70, 0xdc, 0x68, 0xba, 0xe5, 0xe9, 0x23, 0xd5,
4903 	0x13, 0x9e, 0x93, 0xda, 0x67, 0x20, 0x56, 0xd6,
4904 	0xbe, 0x97, 0xb1, 0xcb, 0xa6, 0xc0, 0x5c, 0x58};
4905 static const uint8_t test_vector_4_prk_exporter[] = {
4906 	0x31, 0x21, 0x6c, 0xb8, 0x04, 0xe5, 0x94, 0xef,
4907 	0xd9, 0x0a, 0x3f, 0x77, 0xf2, 0xbf, 0x58, 0xba,
4908 	0x0e, 0x0d, 0xfe, 0xbf, 0x48, 0x77, 0x2f, 0x26,
4909 	0x66, 0xae, 0xe3, 0xcd, 0x20, 0x7f, 0xea, 0x41};
4910 int32_t test_vector_4_oscore_aead_alg = 10;
4911 int32_t test_vector_4_oscore_hash_alg = -16;
4912 static const uint8_t test_vector_4_client_sender_id_raw[] = {
4913 	0x27};
4914 static const uint8_t test_vector_4_server_sender_id_raw[] = {
4915 	0x37};
4916 static const uint8_t test_vector_4_info_oscore_secret[] = {
4917 	0x00, 0x40, 0x10};
4918 static const uint8_t test_vector_4_oscore_secret_raw[] = {
4919 	0xb0, 0xdf, 0xd8, 0x32, 0x86, 0x4d, 0x31, 0x3d,
4920 	0x48, 0x0d, 0xef, 0xaf, 0x7f, 0x07, 0xeb, 0x07};
4921 static const uint8_t test_vector_4_info_oscore_salt[] = {
4922 	0x01, 0x40, 0x08};
4923 static const uint8_t test_vector_4_oscore_salt_raw[] = {
4924 	0xf5, 0x1e, 0xb1, 0x92, 0x24, 0xc5, 0xd0, 0x79};
4925 static const uint8_t test_vector_4_prk_out_updated[] = {
4926 	0x6f, 0x1c, 0x3b, 0x11, 0xde, 0xab, 0x99, 0x4b,
4927 	0xa9, 0x3f, 0x50, 0xe6, 0x76, 0x02, 0xa4, 0x3a,
4928 	0xf3, 0x19, 0xca, 0x6f, 0x31, 0x10, 0xb4, 0xfd,
4929 	0x27, 0x49, 0xb9, 0x75, 0x0e, 0x1b, 0x99, 0x5b};
4930 static const uint8_t test_vector_4_prk_exporter_update[] = {
4931 	0x70, 0x80, 0xd1, 0xa3, 0xa6, 0x2b, 0xb4, 0x35,
4932 	0xf9, 0xb2, 0xba, 0x71, 0x91, 0xd0, 0xd8, 0xc5,
4933 	0x27, 0x80, 0xa4, 0x7d, 0x07, 0x16, 0x47, 0xca,
4934 	0x89, 0x1c, 0x9a, 0x59, 0x86, 0x2d, 0x94, 0xef};
4935 static const uint8_t test_vector_4_oscore_secret_key_update_raw[] = {
4936 	0x60, 0x2f, 0x57, 0xca, 0x46, 0x63, 0xb9, 0x23,
4937 	0x73, 0x89, 0x3d, 0x6f, 0x35, 0x05, 0xfd, 0x71};
4938 static const uint8_t test_vector_4_oscore_salt_key_update_raw[] = {
4939 	0xe7, 0x4e, 0xcd, 0x2d, 0xc1, 0x19, 0x5b, 0x70};
4940 
4941 /***************** test_vector_5 ************/
4942 
4943  static const uint8_t test_vector_5_method[] = {
4944 	0x03};
4945 static const uint8_t test_vector_5_SUITES_I[] = {
4946 	0x02};
4947 static const uint8_t test_vector_5_SUITES_R[] = {
4948 	0x02};
4949 static const uint8_t test_vector_5_x_raw[] = {
4950 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
4951 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
4952 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
4953 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
4954 static const uint8_t test_vector_5_g_x_raw[] = {
4955 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
4956 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
4957 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
4958 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
4959 static const uint8_t test_vector_5_g_x_raw_y_coordinate[] = {
4960 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
4961 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
4962 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
4963 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
4964 static const uint8_t test_vector_5_g_x[] = {
4965 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
4966 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
4967 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
4968 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
4969 	0xc3, 0xb6};
4970 int32_t test_vector_5_c_i_raw = -24;
4971 static const uint8_t test_vector_5_c_i[] = {
4972 	0x37};
4973 static const uint8_t test_vector_5_ead_1[] = {
4974 	};
4975 static const uint8_t test_vector_5_message_1[] = {
4976 	0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
4977 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
4978 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
4979 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
4980 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
4981 static const uint8_t test_vector_5_y_raw[] = {
4982 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
4983 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
4984 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
4985 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
4986 static const uint8_t test_vector_5_g_y_raw[] = {
4987 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
4988 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
4989 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
4990 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
4991 static const uint8_t test_vector_5_g_y_raw_y_coordinate[] = {
4992 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
4993 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
4994 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
4995 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
4996 static const uint8_t test_vector_5_g_y[] = {
4997 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
4998 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
4999 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5000 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5001 	0xf5, 0xd5};
5002 static const uint8_t test_vector_5_g_xy_raw[] = {
5003 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
5004 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
5005 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
5006 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
5007 static const uint8_t test_vector_5_salt_raw[] = {
5008 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5009 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5010 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5011 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
5012 static const uint8_t test_vector_5_prk_2e_raw[] = {
5013 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
5014 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
5015 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
5016 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
5017 static const uint8_t test_vector_5_salt_3e2m[] = {
5018 	0x7b, 0xf2, 0x35, 0x72, 0x8c, 0xe1, 0x51, 0xd3,
5019 	0xfe, 0x9d, 0x66, 0x65, 0xd7, 0xdd, 0xd7, 0x09,
5020 	0xf3, 0xd8, 0x3a, 0x0c, 0x84, 0x9b, 0xc4, 0x96,
5021 	0x12, 0xfb, 0x57, 0x22, 0x4b, 0xb0, 0x5a, 0xc1};
5022 static const uint8_t test_vector_5_r_raw[] = {
5023 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
5024 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
5025 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
5026 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
5027 static const uint8_t test_vector_5_g_r_raw[] = {
5028 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5029 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5030 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5031 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0};
5032 static const uint8_t test_vector_5_g_r_raw_y_coordinate[] = {
5033 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5034 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5035 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5036 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72};
5037 static const uint8_t test_vector_5_g_rx_raw[] = {
5038 	0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e,
5039 	0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0,
5040 	0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08,
5041 	0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23};
5042 static const uint8_t test_vector_5_prk_3e2m_raw[] = {
5043 	0x7f, 0xfa, 0xf0, 0x59, 0xc9, 0x63, 0x8c, 0x8d,
5044 	0xb7, 0x6d, 0xe8, 0xcb, 0x09, 0xb9, 0x23, 0x65,
5045 	0x54, 0x00, 0x88, 0x81, 0x08, 0xd1, 0x3c, 0xb6,
5046 	0x8b, 0xf4, 0x9a, 0x96, 0xad, 0x93, 0x03, 0x86};
5047 int32_t test_vector_5_c_r_raw = -19;
5048 static const uint8_t test_vector_5_c_r[] = {
5049 	0x32};
5050 static const uint8_t test_vector_5_h_message_1_raw[] = {
5051 	0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45,
5052 	0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf,
5053 	0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca,
5054 	0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5055 static const uint8_t test_vector_5_h_message_1[] = {
5056 	0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f,
5057 	0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1,
5058 	0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6,
5059 	0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6,
5060 	0x3e, 0x83};
5061 static const uint8_t test_vector_5_input_th_2[] = {
5062 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5063 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5064 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5065 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5066 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb,
5067 	0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35,
5068 	0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09,
5069 	0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe,
5070 	0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5071 static const uint8_t test_vector_5_th_2_raw[] = {
5072 	0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf,
5073 	0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72,
5074 	0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60,
5075 	0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4};
5076 static const uint8_t test_vector_5_th_2[] = {
5077 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5078 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5079 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5080 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5081 	0x5c, 0xb4};
5082 static const uint8_t test_vector_5_id_cred_r[] = {
5083 	0xa1, 0x04, 0x22};
5084 static const uint8_t test_vector_5_cred_r[] = {
5085 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
5086 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
5087 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
5088 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
5089 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
5090 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
5091 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
5092 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
5093 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
5094 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
5095 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
5096 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
5097 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
5098 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
5099 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
5100 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5101 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5102 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
5103 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
5104 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
5105 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
5106 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
5107 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
5108 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
5109 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
5110 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
5111 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5112 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
5113 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
5114 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
5115 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
5116 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
5117 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
5118 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
5119 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
5120 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
5121 	0x3b, 0x13, 0x3d, 0x05, 0x58};
5122 static const uint8_t test_vector_5_ca_r[] = {
5123 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
5124 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
5125 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5126 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5127 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5128 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5129 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5130 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
5131 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
5132 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5133 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
5134 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5135 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5136 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
5137 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5138 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5139 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
5140 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
5141 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
5142 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
5143 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
5144 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
5145 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
5146 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
5147 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
5148 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5149 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
5150 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
5151 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
5152 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
5153 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
5154 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
5155 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
5156 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
5157 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
5158 	0x13, 0x6b, 0xf3, 0x06};
5159 static const uint8_t test_vector_5_ca_r_pk[] = {
5160 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
5161 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
5162 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
5163 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
5164 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
5165 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
5166 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
5167 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
5168 	0x95};
5169 static const uint8_t test_vector_5_ead_2[] = {
5170 	};
5171 static const uint8_t test_vector_5_info_mac_2[] = {
5172 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58,
5173 	0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75,
5174 	0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb,
5175 	0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18,
5176 	0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c,
5177 	0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
5178 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
5179 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
5180 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
5181 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
5182 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
5183 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
5184 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
5185 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
5186 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
5187 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
5188 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
5189 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
5190 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
5191 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
5192 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5193 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5194 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
5195 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5196 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5197 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5198 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
5199 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5200 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5201 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5202 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
5203 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5204 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
5205 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
5206 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
5207 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
5208 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
5209 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
5210 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
5211 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
5212 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
5213 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08};
5214 static const uint8_t test_vector_5_mac_2_raw[] = {
5215 	0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a};
5216 static const uint8_t test_vector_5_mac_2[] = {
5217 	0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37,
5218 	0x8a};
5219 static const uint8_t test_vector_5_sig_or_mac_2_raw[] = {
5220 	0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a};
5221 static const uint8_t test_vector_5_sig_or_mac_2[] = {
5222 	0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37,
5223 	0x8a};
5224 static const uint8_t test_vector_5_plaintext_2[] = {
5225 	0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72,
5226 	0x37, 0x8a};
5227 static const uint8_t test_vector_5_info_keystream_2[] = {
5228 	0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b,
5229 	0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6,
5230 	0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34,
5231 	0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92,
5232 	0xf6, 0x5c, 0xb4, 0x0a};
5233 static const uint8_t test_vector_5_keystream_2_raw[] = {
5234 	0xd3, 0xf9, 0x55, 0x81, 0x58, 0xc7, 0x8e, 0xcb,
5235 	0x9e, 0xd2};
5236 static const uint8_t test_vector_5_ciphertext_2_raw[] = {
5237 	0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 0xb9,
5238 	0xa9, 0x58};
5239 static const uint8_t test_vector_5_ciphertext_2[] = {
5240 	0x4a, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8,
5241 	0xb9, 0xa9, 0x58};
5242 static const uint8_t test_vector_5_message_2[] = {
5243 	0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5244 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5245 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5246 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5247 	0xf5, 0xd5, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d,
5248 	0xc8, 0xb9, 0xa9, 0x58, 0x32};
5249 static const uint8_t test_vector_5_i_raw[] = {
5250 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
5251 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
5252 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
5253 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
5254 static const uint8_t test_vector_5_g_i_raw[] = {
5255 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
5256 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
5257 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
5258 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6};
5259 static const uint8_t test_vector_5_g_i_raw_y_coordinate[] = {
5260 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
5261 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
5262 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
5263 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8};
5264 static const uint8_t test_vector_5_g_iy_raw[] = {
5265 	0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49,
5266 	0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23,
5267 	0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20,
5268 	0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3};
5269 static const uint8_t test_vector_5_salt_4e3m[] = {
5270 	0xaa, 0x77, 0xaa, 0xa3, 0xc5, 0x31, 0x59, 0xa3,
5271 	0xaa, 0x26, 0x33, 0xb5, 0xee, 0x32, 0xd8, 0xd9,
5272 	0x0b, 0xc4, 0x96, 0xe7, 0x31, 0x5b, 0x92, 0x69,
5273 	0x99, 0xa2, 0x44, 0x69, 0x08, 0xc3, 0x97, 0x53};
5274 static const uint8_t test_vector_5_prk_4e3m_raw[] = {
5275 	0xe5, 0xa7, 0xf0, 0x31, 0xf7, 0x01, 0xa9, 0xbb,
5276 	0x8e, 0x8a, 0x8e, 0xc4, 0x44, 0x43, 0x20, 0x13,
5277 	0x51, 0x27, 0xff, 0xdd, 0x3d, 0x79, 0xf8, 0x9d,
5278 	0x9c, 0x40, 0xa2, 0x94, 0x95, 0x3b, 0x42, 0x4c};
5279 static const uint8_t test_vector_5_input_TH_3[] = {
5280 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5281 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5282 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5283 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5284 	0x5c, 0xb4, 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa,
5285 	0x46, 0x72, 0x37, 0x8a};
5286 static const uint8_t test_vector_5_th_3_raw[] = {
5287 	0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24,
5288 	0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26,
5289 	0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24,
5290 	0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17};
5291 static const uint8_t test_vector_5_th_3[] = {
5292 	0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce,
5293 	0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f,
5294 	0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78,
5295 	0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87,
5296 	0x91, 0x17};
5297 static const uint8_t test_vector_5_id_cred_i[] = {
5298 	0xa1, 0x04, 0x05};
5299 static const uint8_t test_vector_5_cred_i[] = {
5300 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
5301 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
5302 	0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06,
5303 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
5304 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
5305 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
5306 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
5307 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33,
5308 	0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33,
5309 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
5310 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
5311 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
5312 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
5313 	0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69,
5314 	0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13,
5315 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5316 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5317 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac,
5318 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
5319 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
5320 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
5321 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e,
5322 	0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82,
5323 	0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52,
5324 	0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a,
5325 	0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30,
5326 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5327 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
5328 	0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33,
5329 	0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8,
5330 	0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f,
5331 	0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e,
5332 	0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1,
5333 	0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36,
5334 	0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2,
5335 	0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15,
5336 	0x2a, 0x07, 0xa2, 0xbe, 0xde};
5337 static const uint8_t test_vector_5_ca_i[] = {
5338 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
5339 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
5340 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5341 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5342 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5343 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5344 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5345 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
5346 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
5347 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5348 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
5349 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5350 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5351 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
5352 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5353 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5354 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
5355 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
5356 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
5357 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
5358 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
5359 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
5360 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
5361 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
5362 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
5363 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5364 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
5365 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
5366 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
5367 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
5368 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
5369 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
5370 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
5371 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
5372 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
5373 	0x13, 0x6b, 0xf3, 0x06};
5374 static const uint8_t test_vector_5_ca_i_pk[] = {
5375 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
5376 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
5377 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
5378 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
5379 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
5380 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
5381 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
5382 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
5383 	0x95};
5384 static const uint8_t test_vector_5_ead_3[] = {
5385 	};
5386 static const uint8_t test_vector_5_info_mac_3[] = {
5387 	0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x05, 0x58,
5388 	0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb,
5389 	0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c,
5390 	0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d,
5391 	0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91,
5392 	0x17, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
5393 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
5394 	0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a,
5395 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
5396 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
5397 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
5398 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
5399 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
5400 	0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30,
5401 	0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
5402 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
5403 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
5404 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
5405 	0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74,
5406 	0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30,
5407 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5408 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5409 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
5410 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
5411 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
5412 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
5413 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6,
5414 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
5415 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
5416 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
5417 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8,
5418 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5419 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
5420 	0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f,
5421 	0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf,
5422 	0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58,
5423 	0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f,
5424 	0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a,
5425 	0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35,
5426 	0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d,
5427 	0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30,
5428 	0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x08};
5429 static const uint8_t test_vector_5_mac_3_raw[] = {
5430 	0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 0x11};
5431 static const uint8_t test_vector_5_mac_3[] = {
5432 	0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42,
5433 	0x11};
5434 static const uint8_t test_vector_5_sig_or_mac_3_raw[] = {
5435 	0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 0x11};
5436 static const uint8_t test_vector_5_sig_or_mac_3[] = {
5437 	0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42,
5438 	0x11};
5439 static const uint8_t test_vector_5_p_3[] = {
5440 	0x05, 0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc,
5441 	0x42, 0x11};
5442 static const uint8_t test_vector_5_a_3[] = {
5443 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5444 	0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x29, 0x64,
5445 	0x08, 0x0a, 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17,
5446 	0xd8, 0x1e, 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35,
5447 	0x87, 0x08, 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6,
5448 	0x8b, 0xc3, 0x87, 0x91, 0x17};
5449 static const uint8_t test_vector_5_info_k_3[] = {
5450 	0x03, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a,
5451 	0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e,
5452 	0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08,
5453 	0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3,
5454 	0x87, 0x91, 0x17, 0x10};
5455 static const uint8_t test_vector_5_k_3_raw[] = {
5456 	0x91, 0x37, 0x42, 0x59, 0x75, 0x50, 0x0f, 0x5e,
5457 	0xa1, 0x09, 0x60, 0x3f, 0x8a, 0xd1, 0xee, 0x33};
5458 static const uint8_t test_vector_5_info_iv_3[] = {
5459 	0x04, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a,
5460 	0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e,
5461 	0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08,
5462 	0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3,
5463 	0x87, 0x91, 0x17, 0x0d};
5464 static const uint8_t test_vector_5_iv_3_raw[] = {
5465 	0x6d, 0x58, 0x86, 0x99, 0xf6, 0x24, 0x1e, 0x41,
5466 	0x36, 0x7b, 0x1e, 0x51, 0x29};
5467 static const uint8_t test_vector_5_ciphertext_3_raw[] = {
5468 	0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76, 0x75,
5469 	0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e, 0x08,
5470 	0x53, 0xee};
5471 static const uint8_t test_vector_5_ciphertext_3[] = {
5472 	0x52, 0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76,
5473 	0x75, 0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e,
5474 	0x08, 0x53, 0xee};
5475 static const uint8_t test_vector_5_message_3[] = {
5476 	0x52, 0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76,
5477 	0x75, 0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e,
5478 	0x08, 0x53, 0xee};
5479 static const uint8_t test_vector_5_input_th_4[] = {
5480 	0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce,
5481 	0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f,
5482 	0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78,
5483 	0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87,
5484 	0x91, 0x17, 0x05, 0x48, 0x6f, 0xf8, 0x59, 0x52,
5485 	0x13, 0xbc, 0x42, 0x11};
5486 static const uint8_t test_vector_5_th_4_raw[] = {
5487 	0x7a, 0xd6, 0xdc, 0x14, 0x0c, 0x51, 0xfa, 0x00,
5488 	0x80, 0xcc, 0x55, 0xfb, 0xa0, 0xe4, 0x7a, 0x7c,
5489 	0xa3, 0xbc, 0x55, 0x0c, 0x16, 0x3a, 0x21, 0x06,
5490 	0xc8, 0x04, 0xf0, 0xfa, 0xde, 0xd7, 0x68, 0x36};
5491 static const uint8_t test_vector_5_th_4[] = {
5492 	0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c, 0x51,
5493 	0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0, 0xe4,
5494 	0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16, 0x3a,
5495 	0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde, 0xd7,
5496 	0x68, 0x36};
5497 static const uint8_t test_vector_5_ead_4[] = {
5498 	};
5499 static const uint8_t test_vector_5_p_4[] = {
5500 	};
5501 static const uint8_t test_vector_5_a_4[] = {
5502 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5503 	0x74, 0x30, 0x40, 0x58, 0x20, 0x7a, 0xd6, 0xdc,
5504 	0x14, 0x0c, 0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55,
5505 	0xfb, 0xa0, 0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55,
5506 	0x0c, 0x16, 0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0,
5507 	0xfa, 0xde, 0xd7, 0x68, 0x36};
5508 static const uint8_t test_vector_5_info_k_4[] = {
5509 	0x08, 0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c,
5510 	0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0,
5511 	0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16,
5512 	0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde,
5513 	0xd7, 0x68, 0x36, 0x10};
5514 static const uint8_t test_vector_5_k_4_raw[] = {
5515 	0xc5, 0x84, 0x3d, 0xb3, 0xab, 0x8e, 0xe6, 0xbc,
5516 	0xf9, 0x37, 0x35, 0xeb, 0x92, 0xed, 0x09, 0x0c};
5517 static const uint8_t test_vector_5_info_iv_4[] = {
5518 	0x09, 0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c,
5519 	0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0,
5520 	0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16,
5521 	0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde,
5522 	0xd7, 0x68, 0x36, 0x0d};
5523 static const uint8_t test_vector_5_iv_4_raw[] = {
5524 	0xda, 0xe0, 0xe9, 0x5c, 0xa9, 0x65, 0xf0, 0x68,
5525 	0x92, 0x47, 0x3b, 0x5e, 0xc3};
5526 static const uint8_t test_vector_5_ciphertext_4_raw[] = {
5527 	0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd, 0x69};
5528 static const uint8_t test_vector_5_ciphertext_4[] = {
5529 	0x48, 0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd,
5530 	0x69};
5531 static const uint8_t test_vector_5_message_4[] = {
5532 	0x48, 0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd,
5533 	0x69};
5534 static const uint8_t test_vector_5_prk_out[] = {
5535 	0x7c, 0x77, 0x1b, 0x69, 0xb1, 0x63, 0x1a, 0xf8,
5536 	0xed, 0xf5, 0x3b, 0x27, 0x73, 0x21, 0x84, 0x7b,
5537 	0x68, 0xd7, 0x53, 0xa0, 0x91, 0xc5, 0x08, 0xd8,
5538 	0x0d, 0xb0, 0x93, 0xfa, 0xcc, 0x07, 0x9f, 0x7a};
5539 static const uint8_t test_vector_5_prk_exporter[] = {
5540 	0xdb, 0xd2, 0x49, 0xd0, 0x80, 0xff, 0xba, 0x2b,
5541 	0xe4, 0x59, 0x2f, 0xec, 0xc7, 0x59, 0x50, 0xf4,
5542 	0x5d, 0x84, 0x37, 0xf0, 0xc3, 0x64, 0x4f, 0xc2,
5543 	0xb1, 0x44, 0x8b, 0x17, 0xbf, 0x42, 0x83, 0x28};
5544 int32_t test_vector_5_oscore_aead_alg = 10;
5545 int32_t test_vector_5_oscore_hash_alg = -16;
5546 static const uint8_t test_vector_5_client_sender_id_raw[] = {
5547 	0x32};
5548 static const uint8_t test_vector_5_server_sender_id_raw[] = {
5549 	0x37};
5550 static const uint8_t test_vector_5_info_oscore_secret[] = {
5551 	0x00, 0x40, 0x10};
5552 static const uint8_t test_vector_5_oscore_secret_raw[] = {
5553 	0x85, 0xe8, 0x86, 0xfd, 0x90, 0x9d, 0x82, 0xbe,
5554 	0x36, 0x6b, 0x65, 0xb9, 0x33, 0x11, 0x5e, 0xe2};
5555 static const uint8_t test_vector_5_info_oscore_salt[] = {
5556 	0x01, 0x40, 0x08};
5557 static const uint8_t test_vector_5_oscore_salt_raw[] = {
5558 	0x09, 0xa4, 0x3f, 0xe5, 0x5e, 0x3b, 0x57, 0x0f};
5559 static const uint8_t test_vector_5_prk_out_updated[] = {
5560 	0xa6, 0xd0, 0x63, 0x61, 0x89, 0xfc, 0x95, 0xe1,
5561 	0xb5, 0x51, 0x90, 0x31, 0x2e, 0xf2, 0xc5, 0x44,
5562 	0x67, 0xdc, 0xb2, 0x85, 0x9c, 0x0e, 0x6a, 0x72,
5563 	0x7f, 0x4e, 0x99, 0x6c, 0xc9, 0x0e, 0x28, 0x55};
5564 static const uint8_t test_vector_5_prk_exporter_update[] = {
5565 	0x9d, 0x93, 0xac, 0x08, 0x08, 0x8d, 0xb1, 0xc2,
5566 	0x67, 0xef, 0x3b, 0xe2, 0x50, 0xa7, 0x9b, 0x6c,
5567 	0x61, 0x0c, 0xce, 0x30, 0x01, 0xeb, 0x4a, 0x69,
5568 	0x3b, 0x11, 0x64, 0x4a, 0x9c, 0xfd, 0x59, 0x90};
5569 static const uint8_t test_vector_5_oscore_secret_key_update_raw[] = {
5570 	0x08, 0x62, 0x54, 0x5a, 0xfb, 0x03, 0x71, 0xc8,
5571 	0x43, 0xa5, 0x52, 0x74, 0x9b, 0x57, 0xaf, 0xa2};
5572 static const uint8_t test_vector_5_oscore_salt_key_update_raw[] = {
5573 	0xa0, 0xa5, 0xd0, 0x9f, 0xd8, 0x35, 0xdd, 0xdc};
5574 
5575 /***************** test_vector_6 ************/
5576 
5577  static const uint8_t test_vector_6_method[] = {
5578 	0x03};
5579 static const uint8_t test_vector_6_SUITES_I[] = {
5580 	0x02};
5581 static const uint8_t test_vector_6_SUITES_R[] = {
5582 	0x02};
5583 static const uint8_t test_vector_6_x_raw[] = {
5584 	0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b,
5585 	0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc,
5586 	0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f,
5587 	0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25};
5588 static const uint8_t test_vector_6_g_x_raw[] = {
5589 	0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34,
5590 	0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11,
5591 	0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96,
5592 	0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6};
5593 static const uint8_t test_vector_6_g_x_raw_y_coordinate[] = {
5594 	0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16,
5595 	0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a,
5596 	0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03,
5597 	0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3};
5598 static const uint8_t test_vector_6_g_x[] = {
5599 	0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1,
5600 	0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b,
5601 	0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73,
5602 	0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f,
5603 	0xc3, 0xb6};
5604 int32_t test_vector_6_c_i_raw = -24;
5605 static const uint8_t test_vector_6_c_i[] = {
5606 	0x37};
5607 static const uint8_t test_vector_6_ead_1[] = {
5608 	};
5609 static const uint8_t test_vector_6_message_1[] = {
5610 	0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30,
5611 	0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9,
5612 	0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8,
5613 	0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb,
5614 	0xca, 0x2f, 0xc3, 0xb6, 0x37};
5615 static const uint8_t test_vector_6_y_raw[] = {
5616 	0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85,
5617 	0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7,
5618 	0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88,
5619 	0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18};
5620 static const uint8_t test_vector_6_g_y_raw[] = {
5621 	0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2,
5622 	0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49,
5623 	0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e,
5624 	0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5};
5625 static const uint8_t test_vector_6_g_y_raw_y_coordinate[] = {
5626 	0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa,
5627 	0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86,
5628 	0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e,
5629 	0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d};
5630 static const uint8_t test_vector_6_g_y[] = {
5631 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5632 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5633 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5634 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5635 	0xf5, 0xd5};
5636 static const uint8_t test_vector_6_g_xy_raw[] = {
5637 	0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f,
5638 	0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25,
5639 	0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe,
5640 	0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba};
5641 static const uint8_t test_vector_6_salt_raw[] = {
5642 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5643 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5644 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5645 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
5646 static const uint8_t test_vector_6_prk_2e_raw[] = {
5647 	0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03,
5648 	0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6,
5649 	0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7,
5650 	0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96};
5651 static const uint8_t test_vector_6_salt_3e2m[] = {
5652 	0x7b, 0xf2, 0x35, 0x72, 0x8c, 0xe1, 0x51, 0xd3,
5653 	0xfe, 0x9d, 0x66, 0x65, 0xd7, 0xdd, 0xd7, 0x09,
5654 	0xf3, 0xd8, 0x3a, 0x0c, 0x84, 0x9b, 0xc4, 0x96,
5655 	0x12, 0xfb, 0x57, 0x22, 0x4b, 0xb0, 0x5a, 0xc1};
5656 static const uint8_t test_vector_6_r_raw[] = {
5657 	0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f,
5658 	0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d,
5659 	0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2,
5660 	0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac};
5661 static const uint8_t test_vector_6_g_r_raw[] = {
5662 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5663 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5664 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5665 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0};
5666 static const uint8_t test_vector_6_g_r_raw_y_coordinate[] = {
5667 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5668 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5669 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5670 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72};
5671 static const uint8_t test_vector_6_g_rx_raw[] = {
5672 	0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e,
5673 	0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0,
5674 	0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08,
5675 	0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23};
5676 static const uint8_t test_vector_6_prk_3e2m_raw[] = {
5677 	0x7f, 0xfa, 0xf0, 0x59, 0xc9, 0x63, 0x8c, 0x8d,
5678 	0xb7, 0x6d, 0xe8, 0xcb, 0x09, 0xb9, 0x23, 0x65,
5679 	0x54, 0x00, 0x88, 0x81, 0x08, 0xd1, 0x3c, 0xb6,
5680 	0x8b, 0xf4, 0x9a, 0x96, 0xad, 0x93, 0x03, 0x86};
5681 int32_t test_vector_6_c_r_raw = -19;
5682 static const uint8_t test_vector_6_c_r[] = {
5683 	0x32};
5684 static const uint8_t test_vector_6_h_message_1_raw[] = {
5685 	0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45,
5686 	0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf,
5687 	0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca,
5688 	0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5689 static const uint8_t test_vector_6_h_message_1[] = {
5690 	0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f,
5691 	0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1,
5692 	0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6,
5693 	0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6,
5694 	0x3e, 0x83};
5695 static const uint8_t test_vector_6_input_th_2[] = {
5696 	0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5697 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5698 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5699 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5700 	0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb,
5701 	0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35,
5702 	0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09,
5703 	0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe,
5704 	0x9f, 0x8c, 0xb6, 0x3e, 0x83};
5705 static const uint8_t test_vector_6_th_2_raw[] = {
5706 	0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf,
5707 	0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72,
5708 	0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60,
5709 	0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4};
5710 static const uint8_t test_vector_6_th_2[] = {
5711 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5712 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5713 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5714 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5715 	0x5c, 0xb4};
5716 static const uint8_t test_vector_6_id_cred_r[] = {
5717 	0xa1, 0x04, 0x22};
5718 static const uint8_t test_vector_6_cred_r[] = {
5719 	0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30,
5720 	0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
5721 	0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06,
5722 	0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
5723 	0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06,
5724 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44,
5725 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74,
5726 	0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31,
5727 	0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32,
5728 	0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33,
5729 	0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a,
5730 	0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
5731 	0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48,
5732 	0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
5733 	0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13,
5734 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5735 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5736 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb,
5737 	0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e,
5738 	0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd,
5739 	0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac,
5740 	0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45,
5741 	0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2,
5742 	0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca,
5743 	0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c,
5744 	0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30,
5745 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5746 	0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45,
5747 	0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65,
5748 	0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31,
5749 	0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c,
5750 	0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7,
5751 	0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e,
5752 	0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb,
5753 	0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e,
5754 	0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31,
5755 	0x3b, 0x13, 0x3d, 0x05, 0x58};
5756 static const uint8_t test_vector_6_ca_r[] = {
5757 	0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0,
5758 	0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9,
5759 	0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
5760 	0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15,
5761 	0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
5762 	0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43,
5763 	0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17,
5764 	0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31,
5765 	0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d,
5766 	0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
5767 	0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31,
5768 	0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
5769 	0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20,
5770 	0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13,
5771 	0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
5772 	0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5773 	0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27,
5774 	0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14,
5775 	0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf,
5776 	0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f,
5777 	0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b,
5778 	0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67,
5779 	0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b,
5780 	0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb,
5781 	0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30,
5782 	0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5783 	0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44,
5784 	0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca,
5785 	0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e,
5786 	0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31,
5787 	0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb,
5788 	0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4,
5789 	0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31,
5790 	0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28,
5791 	0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf,
5792 	0x13, 0x6b, 0xf3, 0x06};
5793 static const uint8_t test_vector_6_ca_r_pk[] = {
5794 	0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd,
5795 	0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d,
5796 	0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1,
5797 	0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4,
5798 	0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b,
5799 	0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73,
5800 	0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73,
5801 	0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95,
5802 	0x95};
5803 static const uint8_t test_vector_6_ead_2[] = {
5804 	};
5805 static const uint8_t test_vector_6_info_mac_2[] = {
5806 	0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58,
5807 	0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75,
5808 	0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb,
5809 	0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18,
5810 	0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c,
5811 	0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e,
5812 	0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02,
5813 	0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a,
5814 	0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04,
5815 	0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11,
5816 	0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45,
5817 	0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f,
5818 	0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30,
5819 	0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30,
5820 	0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32,
5821 	0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30,
5822 	0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06,
5823 	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44,
5824 	0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70,
5825 	0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30,
5826 	0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d,
5827 	0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5828 	0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
5829 	0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3,
5830 	0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48,
5831 	0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb,
5832 	0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0,
5833 	0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c,
5834 	0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86,
5835 	0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10,
5836 	0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72,
5837 	0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
5838 	0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30,
5839 	0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc,
5840 	0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4,
5841 	0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37,
5842 	0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2,
5843 	0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83,
5844 	0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1,
5845 	0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8,
5846 	0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1,
5847 	0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08};
5848 static const uint8_t test_vector_6_mac_2_raw[] = {
5849 	0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a};
5850 static const uint8_t test_vector_6_mac_2[] = {
5851 	0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37,
5852 	0x8a};
5853 static const uint8_t test_vector_6_sig_or_mac_2_raw[] = {
5854 	0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a};
5855 static const uint8_t test_vector_6_sig_or_mac_2[] = {
5856 	0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37,
5857 	0x8a};
5858 static const uint8_t test_vector_6_plaintext_2[] = {
5859 	0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72,
5860 	0x37, 0x8a};
5861 static const uint8_t test_vector_6_info_keystream_2[] = {
5862 	0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b,
5863 	0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6,
5864 	0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34,
5865 	0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92,
5866 	0xf6, 0x5c, 0xb4, 0x0a};
5867 static const uint8_t test_vector_6_keystream_2_raw[] = {
5868 	0xd3, 0xf9, 0x55, 0x81, 0x58, 0xc7, 0x8e, 0xcb,
5869 	0x9e, 0xd2};
5870 static const uint8_t test_vector_6_ciphertext_2_raw[] = {
5871 	0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 0xb9,
5872 	0xa9, 0x58};
5873 static const uint8_t test_vector_6_ciphertext_2[] = {
5874 	0x4a, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8,
5875 	0xb9, 0xa9, 0x58};
5876 static const uint8_t test_vector_6_message_2[] = {
5877 	0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a,
5878 	0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75,
5879 	0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42,
5880 	0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f,
5881 	0xf5, 0xd5, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d,
5882 	0xc8, 0xb9, 0xa9, 0x58, 0x32};
5883 static const uint8_t test_vector_6_i_raw[] = {
5884 	0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5,
5885 	0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e,
5886 	0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9,
5887 	0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b};
5888 static const uint8_t test_vector_6_g_i_raw[] = {
5889 	0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc,
5890 	0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40,
5891 	0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a,
5892 	0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6};
5893 static const uint8_t test_vector_6_g_i_raw_y_coordinate[] = {
5894 	0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a,
5895 	0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb,
5896 	0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c,
5897 	0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8};
5898 static const uint8_t test_vector_6_g_iy_raw[] = {
5899 	0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49,
5900 	0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23,
5901 	0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20,
5902 	0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3};
5903 static const uint8_t test_vector_6_salt_4e3m[] = {
5904 	0xaa, 0x77, 0xaa, 0xa3, 0xc5, 0x31, 0x59, 0xa3,
5905 	0xaa, 0x26, 0x33, 0xb5, 0xee, 0x32, 0xd8, 0xd9,
5906 	0x0b, 0xc4, 0x96, 0xe7, 0x31, 0x5b, 0x92, 0x69,
5907 	0x99, 0xa2, 0x44, 0x69, 0x08, 0xc3, 0x97, 0x53};
5908 static const uint8_t test_vector_6_prk_4e3m_raw[] = {
5909 	0xe5, 0xa7, 0xf0, 0x31, 0xf7, 0x01, 0xa9, 0xbb,
5910 	0x8e, 0x8a, 0x8e, 0xc4, 0x44, 0x43, 0x20, 0x13,
5911 	0x51, 0x27, 0xff, 0xdd, 0x3d, 0x79, 0xf8, 0x9d,
5912 	0x9c, 0x40, 0xa2, 0x94, 0x95, 0x3b, 0x42, 0x4c};
5913 static const uint8_t test_vector_6_input_TH_3[] = {
5914 	0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38,
5915 	0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42,
5916 	0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb,
5917 	0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6,
5918 	0x5c, 0xb4, 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa,
5919 	0x46, 0x72, 0x37, 0x8a};
5920 static const uint8_t test_vector_6_th_3_raw[] = {
5921 	0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24,
5922 	0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26,
5923 	0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24,
5924 	0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17};
5925 static const uint8_t test_vector_6_th_3[] = {
5926 	0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce,
5927 	0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f,
5928 	0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78,
5929 	0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87,
5930 	0x91, 0x17};
5931 static const uint8_t test_vector_6_id_cred_i[] = {
5932 	0xa1, 0x04, 0x05};
5933 static const uint8_t test_vector_6_cred_i[] = {
5934 	0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30,
5935 	0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45,
5936 	0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d,
5937 	0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02,
5938 	0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac,
5939 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
5940 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
5941 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
5942 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22,
5943 	0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
5944 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
5945 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
5946 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
5947 	0xff, 0xc8};
5948 static const uint8_t test_vector_6_ead_3[] = {
5949 	};
5950 static const uint8_t test_vector_6_info_mac_3[] = {
5951 	0x06, 0x58, 0x8f, 0xa1, 0x04, 0x05, 0x58, 0x20,
5952 	0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24,
5953 	0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26,
5954 	0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24,
5955 	0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17,
5956 	0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30,
5957 	0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45,
5958 	0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d,
5959 	0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02,
5960 	0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac,
5961 	0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e,
5962 	0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c,
5963 	0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41,
5964 	0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22,
5965 	0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a,
5966 	0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3,
5967 	0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6,
5968 	0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a,
5969 	0xff, 0xc8, 0x08};
5970 static const uint8_t test_vector_6_mac_3_raw[] = {
5971 	0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 0x1d};
5972 static const uint8_t test_vector_6_mac_3[] = {
5973 	0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57,
5974 	0x1d};
5975 static const uint8_t test_vector_6_sig_or_mac_3_raw[] = {
5976 	0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 0x1d};
5977 static const uint8_t test_vector_6_sig_or_mac_3[] = {
5978 	0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57,
5979 	0x1d};
5980 static const uint8_t test_vector_6_p_3[] = {
5981 	0x05, 0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9,
5982 	0x57, 0x1d};
5983 static const uint8_t test_vector_6_a_3[] = {
5984 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
5985 	0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x29, 0x64,
5986 	0x08, 0x0a, 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17,
5987 	0xd8, 0x1e, 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35,
5988 	0x87, 0x08, 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6,
5989 	0x8b, 0xc3, 0x87, 0x91, 0x17};
5990 static const uint8_t test_vector_6_info_k_3[] = {
5991 	0x03, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a,
5992 	0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e,
5993 	0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08,
5994 	0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3,
5995 	0x87, 0x91, 0x17, 0x10};
5996 static const uint8_t test_vector_6_k_3_raw[] = {
5997 	0x91, 0x37, 0x42, 0x59, 0x75, 0x50, 0x0f, 0x5e,
5998 	0xa1, 0x09, 0x60, 0x3f, 0x8a, 0xd1, 0xee, 0x33};
5999 static const uint8_t test_vector_6_info_iv_3[] = {
6000 	0x04, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a,
6001 	0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e,
6002 	0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08,
6003 	0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3,
6004 	0x87, 0x91, 0x17, 0x0d};
6005 static const uint8_t test_vector_6_iv_3_raw[] = {
6006 	0x6d, 0x58, 0x86, 0x99, 0xf6, 0x24, 0x1e, 0x41,
6007 	0x36, 0x7b, 0x1e, 0x51, 0x29};
6008 static const uint8_t test_vector_6_ciphertext_3_raw[] = {
6009 	0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17, 0x00,
6010 	0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e, 0x3d,
6011 	0x84, 0x7a};
6012 static const uint8_t test_vector_6_ciphertext_3[] = {
6013 	0x52, 0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17,
6014 	0x00, 0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e,
6015 	0x3d, 0x84, 0x7a};
6016 static const uint8_t test_vector_6_message_3[] = {
6017 	0x52, 0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17,
6018 	0x00, 0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e,
6019 	0x3d, 0x84, 0x7a};
6020 static const uint8_t test_vector_6_input_th_4[] = {
6021 	0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce,
6022 	0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f,
6023 	0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78,
6024 	0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87,
6025 	0x91, 0x17, 0x05, 0x48, 0xab, 0x42, 0x5f, 0x73,
6026 	0x72, 0xc9, 0x57, 0x1d};
6027 static const uint8_t test_vector_6_th_4_raw[] = {
6028 	0x56, 0xd3, 0x15, 0x7f, 0xfb, 0x05, 0xe8, 0x8b,
6029 	0xa7, 0xb1, 0x44, 0xbd, 0xf0, 0x5d, 0xc8, 0x20,
6030 	0x97, 0x67, 0x52, 0x20, 0x49, 0x02, 0x96, 0x1f,
6031 	0x1e, 0x60, 0x07, 0xe2, 0xd7, 0x92, 0xed, 0xd8};
6032 static const uint8_t test_vector_6_th_4[] = {
6033 	0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb, 0x05,
6034 	0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0, 0x5d,
6035 	0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49, 0x02,
6036 	0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7, 0x92,
6037 	0xed, 0xd8};
6038 static const uint8_t test_vector_6_ead_4[] = {
6039 	};
6040 static const uint8_t test_vector_6_p_4[] = {
6041 	};
6042 static const uint8_t test_vector_6_a_4[] = {
6043 	0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
6044 	0x74, 0x30, 0x40, 0x58, 0x20, 0x56, 0xd3, 0x15,
6045 	0x7f, 0xfb, 0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44,
6046 	0xbd, 0xf0, 0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52,
6047 	0x20, 0x49, 0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07,
6048 	0xe2, 0xd7, 0x92, 0xed, 0xd8};
6049 static const uint8_t test_vector_6_info_k_4[] = {
6050 	0x08, 0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb,
6051 	0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0,
6052 	0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49,
6053 	0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7,
6054 	0x92, 0xed, 0xd8, 0x10};
6055 static const uint8_t test_vector_6_k_4_raw[] = {
6056 	0x40, 0x0e, 0xf7, 0x4e, 0x3b, 0x01, 0x73, 0x09,
6057 	0x50, 0xb2, 0x92, 0xeb, 0x66, 0x33, 0xb0, 0x31};
6058 static const uint8_t test_vector_6_info_iv_4[] = {
6059 	0x09, 0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb,
6060 	0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0,
6061 	0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49,
6062 	0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7,
6063 	0x92, 0xed, 0xd8, 0x0d};
6064 static const uint8_t test_vector_6_iv_4_raw[] = {
6065 	0x4f, 0xe6, 0xc7, 0x14, 0x26, 0xe8, 0x4d, 0x9d,
6066 	0x2c, 0x67, 0x08, 0xce, 0x98};
6067 static const uint8_t test_vector_6_ciphertext_4_raw[] = {
6068 	0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba, 0x74};
6069 static const uint8_t test_vector_6_ciphertext_4[] = {
6070 	0x48, 0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba,
6071 	0x74};
6072 static const uint8_t test_vector_6_message_4[] = {
6073 	0x48, 0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba,
6074 	0x74};
6075 static const uint8_t test_vector_6_prk_out[] = {
6076 	0xa7, 0x6e, 0x5a, 0xc7, 0x24, 0x1a, 0xd1, 0x83,
6077 	0xb3, 0x05, 0xf5, 0x85, 0xa8, 0x0e, 0x24, 0xc7,
6078 	0x6f, 0x1f, 0x39, 0xb9, 0x3c, 0x19, 0x32, 0xe9,
6079 	0x13, 0x42, 0x70, 0x90, 0xf3, 0x32, 0x2d, 0x95};
6080 static const uint8_t test_vector_6_prk_exporter[] = {
6081 	0xeb, 0x2f, 0x4c, 0xaa, 0x87, 0x9a, 0xe0, 0xa2,
6082 	0xa1, 0x9c, 0x81, 0x46, 0x92, 0x19, 0x9f, 0x3e,
6083 	0xc6, 0x54, 0x5e, 0x39, 0x91, 0x3d, 0x0f, 0xbf,
6084 	0x5a, 0xbe, 0x0d, 0x0d, 0xfe, 0x1c, 0x3e, 0x5b};
6085 int32_t test_vector_6_oscore_aead_alg = 10;
6086 int32_t test_vector_6_oscore_hash_alg = -16;
6087 static const uint8_t test_vector_6_client_sender_id_raw[] = {
6088 	0x32};
6089 static const uint8_t test_vector_6_server_sender_id_raw[] = {
6090 	0x37};
6091 static const uint8_t test_vector_6_info_oscore_secret[] = {
6092 	0x00, 0x40, 0x10};
6093 static const uint8_t test_vector_6_oscore_secret_raw[] = {
6094 	0xdc, 0x0a, 0xa8, 0xf7, 0xbc, 0xf3, 0xc0, 0x44,
6095 	0x9b, 0x39, 0xec, 0x8a, 0x72, 0x8e, 0xa5, 0x72};
6096 static const uint8_t test_vector_6_info_oscore_salt[] = {
6097 	0x01, 0x40, 0x08};
6098 static const uint8_t test_vector_6_oscore_salt_raw[] = {
6099 	0xf3, 0x20, 0x31, 0xd3, 0x11, 0x62, 0xe4, 0xe7};
6100 static const uint8_t test_vector_6_prk_out_updated[] = {
6101 	0x74, 0x9d, 0x74, 0x04, 0xfe, 0xcf, 0x00, 0x76,
6102 	0x6c, 0xf1, 0xe2, 0x61, 0x56, 0xdc, 0x5c, 0x23,
6103 	0x51, 0x21, 0x4d, 0xf1, 0xb4, 0xac, 0x56, 0x9c,
6104 	0x92, 0x2a, 0x97, 0x80, 0x58, 0x79, 0x75, 0x95};
6105 static const uint8_t test_vector_6_prk_exporter_update[] = {
6106 	0x15, 0x85, 0x36, 0x73, 0x02, 0x42, 0xc5, 0x70,
6107 	0xef, 0x8f, 0x16, 0xb0, 0x3d, 0xba, 0x53, 0x3f,
6108 	0xbd, 0x88, 0x50, 0x15, 0x2a, 0x9a, 0x28, 0x7f,
6109 	0xc2, 0xc8, 0x8b, 0x92, 0x2f, 0xc1, 0x17, 0x9a};
6110 static const uint8_t test_vector_6_oscore_secret_key_update_raw[] = {
6111 	0xc5, 0xc1, 0xeb, 0x99, 0x98, 0x26, 0x37, 0x20,
6112 	0x92, 0xdd, 0x34, 0x91, 0xd9, 0xb6, 0xb9, 0xaf};
6113 static const uint8_t test_vector_6_oscore_salt_key_update_raw[] = {
6114 	0xa9, 0x09, 0x64, 0xa2, 0x1b, 0x80, 0xee, 0xe8};
6115 
6116 
6117 const struct test_vector test_vectors[] = {
6118 
6119 /*--------------- test_vector_1 ------------*/
6120 
6121 	{
6122         .method = test_vector_1_method,
6123         .method_len = sizeof(test_vector_1_method),
6124 
6125         .SUITES_I = test_vector_1_SUITES_I,
6126         .SUITES_I_len = sizeof(test_vector_1_SUITES_I),
6127 
6128         .SUITES_R = test_vector_1_SUITES_R,
6129         .SUITES_R_len = sizeof(test_vector_1_SUITES_R),
6130 
6131         .x_raw = test_vector_1_x_raw,
6132         .x_raw_len = sizeof(test_vector_1_x_raw),
6133 
6134         .g_x_raw = test_vector_1_g_x_raw,
6135         .g_x_raw_len = sizeof(test_vector_1_g_x_raw),
6136 
6137         .g_x = test_vector_1_g_x,
6138         .g_x_len = sizeof(test_vector_1_g_x),
6139 
6140         .c_i = test_vector_1_c_i,
6141         .c_i_len = sizeof(test_vector_1_c_i),
6142 
6143         .ead_1 = test_vector_1_ead_1,
6144         .ead_1_len = sizeof(test_vector_1_ead_1),
6145 
6146         .message_1 = test_vector_1_message_1,
6147         .message_1_len = sizeof(test_vector_1_message_1),
6148 
6149         .y_raw = test_vector_1_y_raw,
6150         .y_raw_len = sizeof(test_vector_1_y_raw),
6151 
6152         .g_y_raw = test_vector_1_g_y_raw,
6153         .g_y_raw_len = sizeof(test_vector_1_g_y_raw),
6154 
6155         .g_y = test_vector_1_g_y,
6156         .g_y_len = sizeof(test_vector_1_g_y),
6157 
6158         .g_xy_raw = test_vector_1_g_xy_raw,
6159         .g_xy_raw_len = sizeof(test_vector_1_g_xy_raw),
6160 
6161         .salt_raw = test_vector_1_salt_raw,
6162         .salt_raw_len = sizeof(test_vector_1_salt_raw),
6163 
6164         .prk_2e_raw = test_vector_1_prk_2e_raw,
6165         .prk_2e_raw_len = sizeof(test_vector_1_prk_2e_raw),
6166 
6167         .sk_r_raw = test_vector_1_sk_r_raw,
6168         .sk_r_raw_len = sizeof(test_vector_1_sk_r_raw),
6169 
6170         .pk_r_raw = test_vector_1_pk_r_raw,
6171         .pk_r_raw_len = sizeof(test_vector_1_pk_r_raw),
6172 
6173         .prk_3e2m_raw = test_vector_1_prk_3e2m_raw,
6174         .prk_3e2m_raw_len = sizeof(test_vector_1_prk_3e2m_raw),
6175 
6176         .c_r = test_vector_1_c_r,
6177         .c_r_len = sizeof(test_vector_1_c_r),
6178 
6179         .h_message_1_raw = test_vector_1_h_message_1_raw,
6180         .h_message_1_raw_len = sizeof(test_vector_1_h_message_1_raw),
6181 
6182         .h_message_1 = test_vector_1_h_message_1,
6183         .h_message_1_len = sizeof(test_vector_1_h_message_1),
6184 
6185         .input_th_2 = test_vector_1_input_th_2,
6186         .input_th_2_len = sizeof(test_vector_1_input_th_2),
6187 
6188         .th_2_raw = test_vector_1_th_2_raw,
6189         .th_2_raw_len = sizeof(test_vector_1_th_2_raw),
6190 
6191         .th_2 = test_vector_1_th_2,
6192         .th_2_len = sizeof(test_vector_1_th_2),
6193 
6194         .id_cred_r = test_vector_1_id_cred_r,
6195         .id_cred_r_len = sizeof(test_vector_1_id_cred_r),
6196 
6197         .cred_r = test_vector_1_cred_r,
6198         .cred_r_len = sizeof(test_vector_1_cred_r),
6199 
6200         .ead_2 = test_vector_1_ead_2,
6201         .ead_2_len = sizeof(test_vector_1_ead_2),
6202 
6203         .info_mac_2 = test_vector_1_info_mac_2,
6204         .info_mac_2_len = sizeof(test_vector_1_info_mac_2),
6205 
6206         .mac_2_raw = test_vector_1_mac_2_raw,
6207         .mac_2_raw_len = sizeof(test_vector_1_mac_2_raw),
6208 
6209         .mac_2 = test_vector_1_mac_2,
6210         .mac_2_len = sizeof(test_vector_1_mac_2),
6211 
6212         .m_2 = test_vector_1_m_2,
6213         .m_2_len = sizeof(test_vector_1_m_2),
6214 
6215         .sig_or_mac_2_raw = test_vector_1_sig_or_mac_2_raw,
6216         .sig_or_mac_2_raw_len = sizeof(test_vector_1_sig_or_mac_2_raw),
6217 
6218         .sig_or_mac_2 = test_vector_1_sig_or_mac_2,
6219         .sig_or_mac_2_len = sizeof(test_vector_1_sig_or_mac_2),
6220 
6221         .plaintext_2 = test_vector_1_plaintext_2,
6222         .plaintext_2_len = sizeof(test_vector_1_plaintext_2),
6223 
6224         .info_keystream_2 = test_vector_1_info_keystream_2,
6225         .info_keystream_2_len = sizeof(test_vector_1_info_keystream_2),
6226 
6227         .keystream_2_raw = test_vector_1_keystream_2_raw,
6228         .keystream_2_raw_len = sizeof(test_vector_1_keystream_2_raw),
6229 
6230         .ciphertext_2_raw = test_vector_1_ciphertext_2_raw,
6231         .ciphertext_2_raw_len = sizeof(test_vector_1_ciphertext_2_raw),
6232 
6233         .ciphertext_2 = test_vector_1_ciphertext_2,
6234         .ciphertext_2_len = sizeof(test_vector_1_ciphertext_2),
6235 
6236         .message_2 = test_vector_1_message_2,
6237         .message_2_len = sizeof(test_vector_1_message_2),
6238 
6239         .sk_i_raw = test_vector_1_sk_i_raw,
6240         .sk_i_raw_len = sizeof(test_vector_1_sk_i_raw),
6241 
6242         .pk_i_raw = test_vector_1_pk_i_raw,
6243         .pk_i_raw_len = sizeof(test_vector_1_pk_i_raw),
6244 
6245         .prk_4x3m_raw = NULL,
6246         .prk_4x3m_raw_len = 0,
6247 
6248         .input_TH_3 = test_vector_1_input_TH_3,
6249         .input_TH_3_len = sizeof(test_vector_1_input_TH_3),
6250 
6251         .th_3_raw = test_vector_1_th_3_raw,
6252         .th_3_raw_len = sizeof(test_vector_1_th_3_raw),
6253 
6254         .th_3 = test_vector_1_th_3,
6255         .th_3_len = sizeof(test_vector_1_th_3),
6256 
6257         .id_cred_i = test_vector_1_id_cred_i,
6258         .id_cred_i_len = sizeof(test_vector_1_id_cred_i),
6259 
6260         .cred_i = test_vector_1_cred_i,
6261         .cred_i_len = sizeof(test_vector_1_cred_i),
6262 
6263         .ead_3 = test_vector_1_ead_3,
6264         .ead_3_len = sizeof(test_vector_1_ead_3),
6265 
6266         .info_mac_3 = test_vector_1_info_mac_3,
6267         .info_mac_3_len = sizeof(test_vector_1_info_mac_3),
6268 
6269         .mac_3_raw = test_vector_1_mac_3_raw,
6270         .mac_3_raw_len = sizeof(test_vector_1_mac_3_raw),
6271 
6272         .mac_3 = test_vector_1_mac_3,
6273         .mac_3_len = sizeof(test_vector_1_mac_3),
6274 
6275         .m_3 = test_vector_1_m_3,
6276         .m_3_len = sizeof(test_vector_1_m_3),
6277 
6278         .sig_or_mac_3_raw = test_vector_1_sig_or_mac_3_raw,
6279         .sig_or_mac_3_raw_len = sizeof(test_vector_1_sig_or_mac_3_raw),
6280 
6281         .sig_or_mac_3 = test_vector_1_sig_or_mac_3,
6282         .sig_or_mac_3_len = sizeof(test_vector_1_sig_or_mac_3),
6283 
6284         .p_3 = test_vector_1_p_3,
6285         .p_3_len = sizeof(test_vector_1_p_3),
6286 
6287         .a_3 = test_vector_1_a_3,
6288         .a_3_len = sizeof(test_vector_1_a_3),
6289 
6290         .info_k_3 = test_vector_1_info_k_3,
6291         .info_k_3_len = sizeof(test_vector_1_info_k_3),
6292 
6293         .k_3_raw = test_vector_1_k_3_raw,
6294         .k_3_raw_len = sizeof(test_vector_1_k_3_raw),
6295 
6296         .info_iv_3 = test_vector_1_info_iv_3,
6297         .info_iv_3_len = sizeof(test_vector_1_info_iv_3),
6298 
6299         .iv_3_raw = test_vector_1_iv_3_raw,
6300         .iv_3_raw_len = sizeof(test_vector_1_iv_3_raw),
6301 
6302         .ciphertext_3_raw = test_vector_1_ciphertext_3_raw,
6303         .ciphertext_3_raw_len = sizeof(test_vector_1_ciphertext_3_raw),
6304 
6305         .ciphertext_3 = test_vector_1_ciphertext_3,
6306         .ciphertext_3_len = sizeof(test_vector_1_ciphertext_3),
6307 
6308         .message_3 = test_vector_1_message_3,
6309         .message_3_len = sizeof(test_vector_1_message_3),
6310 
6311         .input_th_4 = test_vector_1_input_th_4,
6312         .input_th_4_len = sizeof(test_vector_1_input_th_4),
6313 
6314         .th_4_raw = test_vector_1_th_4_raw,
6315         .th_4_raw_len = sizeof(test_vector_1_th_4_raw),
6316 
6317         .th_4 = test_vector_1_th_4,
6318         .th_4_len = sizeof(test_vector_1_th_4),
6319 
6320         .ead_4 = test_vector_1_ead_4,
6321         .ead_4_len = sizeof(test_vector_1_ead_4),
6322 
6323         .p_4 = test_vector_1_p_4,
6324         .p_4_len = sizeof(test_vector_1_p_4),
6325 
6326         .a_4 = test_vector_1_a_4,
6327         .a_4_len = sizeof(test_vector_1_a_4),
6328 
6329         .info_k_4 = test_vector_1_info_k_4,
6330         .info_k_4_len = sizeof(test_vector_1_info_k_4),
6331 
6332         .k_4_raw = test_vector_1_k_4_raw,
6333         .k_4_raw_len = sizeof(test_vector_1_k_4_raw),
6334 
6335         .info_iv_4 = test_vector_1_info_iv_4,
6336         .info_iv_4_len = sizeof(test_vector_1_info_iv_4),
6337 
6338         .iv_4_raw = test_vector_1_iv_4_raw,
6339         .iv_4_raw_len = sizeof(test_vector_1_iv_4_raw),
6340 
6341         .ciphertext_4_raw = test_vector_1_ciphertext_4_raw,
6342         .ciphertext_4_raw_len = sizeof(test_vector_1_ciphertext_4_raw),
6343 
6344         .ciphertext_4 = test_vector_1_ciphertext_4,
6345         .ciphertext_4_len = sizeof(test_vector_1_ciphertext_4),
6346 
6347         .message_4 = test_vector_1_message_4,
6348         .message_4_len = sizeof(test_vector_1_message_4),
6349 
6350         .oscore_aead_alg = &test_vector_1_oscore_aead_alg,
6351 
6352         .oscore_hash_alg = &test_vector_1_oscore_hash_alg,
6353 
6354         .client_sender_id_raw = test_vector_1_client_sender_id_raw,
6355         .client_sender_id_raw_len = sizeof(test_vector_1_client_sender_id_raw),
6356 
6357         .server_sender_id_raw = test_vector_1_server_sender_id_raw,
6358         .server_sender_id_raw_len = sizeof(test_vector_1_server_sender_id_raw),
6359 
6360         .info_oscore_secret = test_vector_1_info_oscore_secret,
6361         .info_oscore_secret_len = sizeof(test_vector_1_info_oscore_secret),
6362 
6363         .oscore_secret_raw = test_vector_1_oscore_secret_raw,
6364         .oscore_secret_raw_len = sizeof(test_vector_1_oscore_secret_raw),
6365 
6366         .info_oscore_salt = test_vector_1_info_oscore_salt,
6367         .info_oscore_salt_len = sizeof(test_vector_1_info_oscore_salt),
6368 
6369         .oscore_salt_raw = test_vector_1_oscore_salt_raw,
6370         .oscore_salt_raw_len = sizeof(test_vector_1_oscore_salt_raw),
6371 
6372         .key_update_nonce_raw = NULL,
6373         .key_update_nonce_raw_len = 0,
6374 
6375         .prk_4x3m_key_update_raw = NULL,
6376         .prk_4x3m_key_update_raw_len = 0,
6377 
6378         .oscore_secret_key_update_raw = test_vector_1_oscore_secret_key_update_raw,
6379         .oscore_secret_key_update_raw_len = sizeof(test_vector_1_oscore_secret_key_update_raw),
6380 
6381         .oscore_salt_key_update_raw = test_vector_1_oscore_salt_key_update_raw,
6382         .oscore_salt_key_update_raw_len = sizeof(test_vector_1_oscore_salt_key_update_raw),
6383 
6384         .ca_r = test_vector_1_ca_r,
6385         .ca_r_len = sizeof(test_vector_1_ca_r),
6386 
6387         .ca_i = test_vector_1_ca_i,
6388         .ca_i_len = sizeof(test_vector_1_ca_i),
6389 
6390         .ca_r_pk = test_vector_1_ca_r_pk,
6391         .ca_r_pk_len = sizeof(test_vector_1_ca_r_pk),
6392 
6393         .ca_i_pk = test_vector_1_ca_i_pk,
6394         .ca_i_pk_len = sizeof(test_vector_1_ca_i_pk),
6395 
6396         .i_raw = NULL,
6397         .i_raw_len = 0,
6398 
6399         .g_i_raw = NULL,
6400         .g_i_raw_len = 0,
6401 
6402         .r_raw = NULL,
6403         .r_raw_len = 0,
6404 
6405         .g_r_raw = NULL,
6406         .g_r_raw_len = 0,
6407 
6408         .c_i_raw = NULL,
6409         .c_i_raw_len = 0,
6410         .c_i_raw_int =  &test_vector_1_c_i_raw,
6411 
6412         .c_r_raw = NULL,
6413         .c_r_raw_len = 0,
6414         .c_r_raw_int =  &test_vector_1_c_r_raw,
6415 	},
6416 /*--------------- test_vector_2 ------------*/
6417 
6418 	{
6419         .method = test_vector_2_method,
6420         .method_len = sizeof(test_vector_2_method),
6421 
6422         .SUITES_I = test_vector_2_SUITES_I,
6423         .SUITES_I_len = sizeof(test_vector_2_SUITES_I),
6424 
6425         .SUITES_R = test_vector_2_SUITES_R,
6426         .SUITES_R_len = sizeof(test_vector_2_SUITES_R),
6427 
6428         .x_raw = test_vector_2_x_raw,
6429         .x_raw_len = sizeof(test_vector_2_x_raw),
6430 
6431         .g_x_raw = test_vector_2_g_x_raw,
6432         .g_x_raw_len = sizeof(test_vector_2_g_x_raw),
6433 
6434         .g_x = test_vector_2_g_x,
6435         .g_x_len = sizeof(test_vector_2_g_x),
6436 
6437         .c_i = test_vector_2_c_i,
6438         .c_i_len = sizeof(test_vector_2_c_i),
6439 
6440         .ead_1 = test_vector_2_ead_1,
6441         .ead_1_len = sizeof(test_vector_2_ead_1),
6442 
6443         .message_1 = test_vector_2_message_1,
6444         .message_1_len = sizeof(test_vector_2_message_1),
6445 
6446         .y_raw = test_vector_2_y_raw,
6447         .y_raw_len = sizeof(test_vector_2_y_raw),
6448 
6449         .g_y_raw = test_vector_2_g_y_raw,
6450         .g_y_raw_len = sizeof(test_vector_2_g_y_raw),
6451 
6452         .g_y = test_vector_2_g_y,
6453         .g_y_len = sizeof(test_vector_2_g_y),
6454 
6455         .g_xy_raw = test_vector_2_g_xy_raw,
6456         .g_xy_raw_len = sizeof(test_vector_2_g_xy_raw),
6457 
6458         .salt_raw = test_vector_2_salt_raw,
6459         .salt_raw_len = sizeof(test_vector_2_salt_raw),
6460 
6461         .prk_2e_raw = test_vector_2_prk_2e_raw,
6462         .prk_2e_raw_len = sizeof(test_vector_2_prk_2e_raw),
6463 
6464         .sk_r_raw = test_vector_2_sk_r_raw,
6465         .sk_r_raw_len = sizeof(test_vector_2_sk_r_raw),
6466 
6467         .pk_r_raw = test_vector_2_pk_r_raw,
6468         .pk_r_raw_len = sizeof(test_vector_2_pk_r_raw),
6469 
6470         .prk_3e2m_raw = test_vector_2_prk_3e2m_raw,
6471         .prk_3e2m_raw_len = sizeof(test_vector_2_prk_3e2m_raw),
6472 
6473         .c_r = test_vector_2_c_r,
6474         .c_r_len = sizeof(test_vector_2_c_r),
6475 
6476         .h_message_1_raw = test_vector_2_h_message_1_raw,
6477         .h_message_1_raw_len = sizeof(test_vector_2_h_message_1_raw),
6478 
6479         .h_message_1 = test_vector_2_h_message_1,
6480         .h_message_1_len = sizeof(test_vector_2_h_message_1),
6481 
6482         .input_th_2 = test_vector_2_input_th_2,
6483         .input_th_2_len = sizeof(test_vector_2_input_th_2),
6484 
6485         .th_2_raw = test_vector_2_th_2_raw,
6486         .th_2_raw_len = sizeof(test_vector_2_th_2_raw),
6487 
6488         .th_2 = test_vector_2_th_2,
6489         .th_2_len = sizeof(test_vector_2_th_2),
6490 
6491         .id_cred_r = test_vector_2_id_cred_r,
6492         .id_cred_r_len = sizeof(test_vector_2_id_cred_r),
6493 
6494         .cred_r = test_vector_2_cred_r,
6495         .cred_r_len = sizeof(test_vector_2_cred_r),
6496 
6497         .ead_2 = test_vector_2_ead_2,
6498         .ead_2_len = sizeof(test_vector_2_ead_2),
6499 
6500         .info_mac_2 = test_vector_2_info_mac_2,
6501         .info_mac_2_len = sizeof(test_vector_2_info_mac_2),
6502 
6503         .mac_2_raw = test_vector_2_mac_2_raw,
6504         .mac_2_raw_len = sizeof(test_vector_2_mac_2_raw),
6505 
6506         .mac_2 = test_vector_2_mac_2,
6507         .mac_2_len = sizeof(test_vector_2_mac_2),
6508 
6509         .m_2 = test_vector_2_m_2,
6510         .m_2_len = sizeof(test_vector_2_m_2),
6511 
6512         .sig_or_mac_2_raw = test_vector_2_sig_or_mac_2_raw,
6513         .sig_or_mac_2_raw_len = sizeof(test_vector_2_sig_or_mac_2_raw),
6514 
6515         .sig_or_mac_2 = test_vector_2_sig_or_mac_2,
6516         .sig_or_mac_2_len = sizeof(test_vector_2_sig_or_mac_2),
6517 
6518         .plaintext_2 = test_vector_2_plaintext_2,
6519         .plaintext_2_len = sizeof(test_vector_2_plaintext_2),
6520 
6521         .info_keystream_2 = test_vector_2_info_keystream_2,
6522         .info_keystream_2_len = sizeof(test_vector_2_info_keystream_2),
6523 
6524         .keystream_2_raw = test_vector_2_keystream_2_raw,
6525         .keystream_2_raw_len = sizeof(test_vector_2_keystream_2_raw),
6526 
6527         .ciphertext_2_raw = test_vector_2_ciphertext_2_raw,
6528         .ciphertext_2_raw_len = sizeof(test_vector_2_ciphertext_2_raw),
6529 
6530         .ciphertext_2 = test_vector_2_ciphertext_2,
6531         .ciphertext_2_len = sizeof(test_vector_2_ciphertext_2),
6532 
6533         .message_2 = test_vector_2_message_2,
6534         .message_2_len = sizeof(test_vector_2_message_2),
6535 
6536         .sk_i_raw = test_vector_2_sk_i_raw,
6537         .sk_i_raw_len = sizeof(test_vector_2_sk_i_raw),
6538 
6539         .pk_i_raw = test_vector_2_pk_i_raw,
6540         .pk_i_raw_len = sizeof(test_vector_2_pk_i_raw),
6541 
6542         .prk_4x3m_raw = NULL,
6543         .prk_4x3m_raw_len = 0,
6544 
6545         .input_TH_3 = test_vector_2_input_TH_3,
6546         .input_TH_3_len = sizeof(test_vector_2_input_TH_3),
6547 
6548         .th_3_raw = test_vector_2_th_3_raw,
6549         .th_3_raw_len = sizeof(test_vector_2_th_3_raw),
6550 
6551         .th_3 = test_vector_2_th_3,
6552         .th_3_len = sizeof(test_vector_2_th_3),
6553 
6554         .id_cred_i = test_vector_2_id_cred_i,
6555         .id_cred_i_len = sizeof(test_vector_2_id_cred_i),
6556 
6557         .cred_i = test_vector_2_cred_i,
6558         .cred_i_len = sizeof(test_vector_2_cred_i),
6559 
6560         .ead_3 = test_vector_2_ead_3,
6561         .ead_3_len = sizeof(test_vector_2_ead_3),
6562 
6563         .info_mac_3 = test_vector_2_info_mac_3,
6564         .info_mac_3_len = sizeof(test_vector_2_info_mac_3),
6565 
6566         .mac_3_raw = test_vector_2_mac_3_raw,
6567         .mac_3_raw_len = sizeof(test_vector_2_mac_3_raw),
6568 
6569         .mac_3 = test_vector_2_mac_3,
6570         .mac_3_len = sizeof(test_vector_2_mac_3),
6571 
6572         .m_3 = test_vector_2_m_3,
6573         .m_3_len = sizeof(test_vector_2_m_3),
6574 
6575         .sig_or_mac_3_raw = test_vector_2_sig_or_mac_3_raw,
6576         .sig_or_mac_3_raw_len = sizeof(test_vector_2_sig_or_mac_3_raw),
6577 
6578         .sig_or_mac_3 = test_vector_2_sig_or_mac_3,
6579         .sig_or_mac_3_len = sizeof(test_vector_2_sig_or_mac_3),
6580 
6581         .p_3 = test_vector_2_p_3,
6582         .p_3_len = sizeof(test_vector_2_p_3),
6583 
6584         .a_3 = test_vector_2_a_3,
6585         .a_3_len = sizeof(test_vector_2_a_3),
6586 
6587         .info_k_3 = test_vector_2_info_k_3,
6588         .info_k_3_len = sizeof(test_vector_2_info_k_3),
6589 
6590         .k_3_raw = test_vector_2_k_3_raw,
6591         .k_3_raw_len = sizeof(test_vector_2_k_3_raw),
6592 
6593         .info_iv_3 = test_vector_2_info_iv_3,
6594         .info_iv_3_len = sizeof(test_vector_2_info_iv_3),
6595 
6596         .iv_3_raw = test_vector_2_iv_3_raw,
6597         .iv_3_raw_len = sizeof(test_vector_2_iv_3_raw),
6598 
6599         .ciphertext_3_raw = test_vector_2_ciphertext_3_raw,
6600         .ciphertext_3_raw_len = sizeof(test_vector_2_ciphertext_3_raw),
6601 
6602         .ciphertext_3 = test_vector_2_ciphertext_3,
6603         .ciphertext_3_len = sizeof(test_vector_2_ciphertext_3),
6604 
6605         .message_3 = test_vector_2_message_3,
6606         .message_3_len = sizeof(test_vector_2_message_3),
6607 
6608         .input_th_4 = test_vector_2_input_th_4,
6609         .input_th_4_len = sizeof(test_vector_2_input_th_4),
6610 
6611         .th_4_raw = test_vector_2_th_4_raw,
6612         .th_4_raw_len = sizeof(test_vector_2_th_4_raw),
6613 
6614         .th_4 = test_vector_2_th_4,
6615         .th_4_len = sizeof(test_vector_2_th_4),
6616 
6617         .ead_4 = test_vector_2_ead_4,
6618         .ead_4_len = sizeof(test_vector_2_ead_4),
6619 
6620         .p_4 = test_vector_2_p_4,
6621         .p_4_len = sizeof(test_vector_2_p_4),
6622 
6623         .a_4 = test_vector_2_a_4,
6624         .a_4_len = sizeof(test_vector_2_a_4),
6625 
6626         .info_k_4 = test_vector_2_info_k_4,
6627         .info_k_4_len = sizeof(test_vector_2_info_k_4),
6628 
6629         .k_4_raw = test_vector_2_k_4_raw,
6630         .k_4_raw_len = sizeof(test_vector_2_k_4_raw),
6631 
6632         .info_iv_4 = test_vector_2_info_iv_4,
6633         .info_iv_4_len = sizeof(test_vector_2_info_iv_4),
6634 
6635         .iv_4_raw = test_vector_2_iv_4_raw,
6636         .iv_4_raw_len = sizeof(test_vector_2_iv_4_raw),
6637 
6638         .ciphertext_4_raw = test_vector_2_ciphertext_4_raw,
6639         .ciphertext_4_raw_len = sizeof(test_vector_2_ciphertext_4_raw),
6640 
6641         .ciphertext_4 = test_vector_2_ciphertext_4,
6642         .ciphertext_4_len = sizeof(test_vector_2_ciphertext_4),
6643 
6644         .message_4 = test_vector_2_message_4,
6645         .message_4_len = sizeof(test_vector_2_message_4),
6646 
6647         .oscore_aead_alg = &test_vector_2_oscore_aead_alg,
6648 
6649         .oscore_hash_alg = &test_vector_2_oscore_hash_alg,
6650 
6651         .client_sender_id_raw = test_vector_2_client_sender_id_raw,
6652         .client_sender_id_raw_len = sizeof(test_vector_2_client_sender_id_raw),
6653 
6654         .server_sender_id_raw = test_vector_2_server_sender_id_raw,
6655         .server_sender_id_raw_len = sizeof(test_vector_2_server_sender_id_raw),
6656 
6657         .info_oscore_secret = test_vector_2_info_oscore_secret,
6658         .info_oscore_secret_len = sizeof(test_vector_2_info_oscore_secret),
6659 
6660         .oscore_secret_raw = test_vector_2_oscore_secret_raw,
6661         .oscore_secret_raw_len = sizeof(test_vector_2_oscore_secret_raw),
6662 
6663         .info_oscore_salt = test_vector_2_info_oscore_salt,
6664         .info_oscore_salt_len = sizeof(test_vector_2_info_oscore_salt),
6665 
6666         .oscore_salt_raw = test_vector_2_oscore_salt_raw,
6667         .oscore_salt_raw_len = sizeof(test_vector_2_oscore_salt_raw),
6668 
6669         .key_update_nonce_raw = NULL,
6670         .key_update_nonce_raw_len = 0,
6671 
6672         .prk_4x3m_key_update_raw = NULL,
6673         .prk_4x3m_key_update_raw_len = 0,
6674 
6675         .oscore_secret_key_update_raw = test_vector_2_oscore_secret_key_update_raw,
6676         .oscore_secret_key_update_raw_len = sizeof(test_vector_2_oscore_secret_key_update_raw),
6677 
6678         .oscore_salt_key_update_raw = test_vector_2_oscore_salt_key_update_raw,
6679         .oscore_salt_key_update_raw_len = sizeof(test_vector_2_oscore_salt_key_update_raw),
6680 
6681         .ca_r = test_vector_2_ca_r,
6682         .ca_r_len = sizeof(test_vector_2_ca_r),
6683 
6684         .ca_i = test_vector_2_ca_i,
6685         .ca_i_len = sizeof(test_vector_2_ca_i),
6686 
6687         .ca_r_pk = test_vector_2_ca_r_pk,
6688         .ca_r_pk_len = sizeof(test_vector_2_ca_r_pk),
6689 
6690         .ca_i_pk = test_vector_2_ca_i_pk,
6691         .ca_i_pk_len = sizeof(test_vector_2_ca_i_pk),
6692 
6693         .i_raw = NULL,
6694         .i_raw_len = 0,
6695 
6696         .g_i_raw = NULL,
6697         .g_i_raw_len = 0,
6698 
6699         .r_raw = NULL,
6700         .r_raw_len = 0,
6701 
6702         .g_r_raw = NULL,
6703         .g_r_raw_len = 0,
6704 
6705         .c_i_raw = NULL,
6706         .c_i_raw_len = 0,
6707         .c_i_raw_int =  &test_vector_2_c_i_raw,
6708 
6709         .c_r_raw = NULL,
6710         .c_r_raw_len = 0,
6711         .c_r_raw_int =  &test_vector_2_c_r_raw,
6712 	},
6713 /*--------------- test_vector_3 ------------*/
6714 
6715 	{
6716         .method = test_vector_3_method,
6717         .method_len = sizeof(test_vector_3_method),
6718 
6719         .SUITES_I = test_vector_3_SUITES_I,
6720         .SUITES_I_len = sizeof(test_vector_3_SUITES_I),
6721 
6722         .SUITES_R = test_vector_3_SUITES_R,
6723         .SUITES_R_len = sizeof(test_vector_3_SUITES_R),
6724 
6725         .x_raw = test_vector_3_x_raw,
6726         .x_raw_len = sizeof(test_vector_3_x_raw),
6727 
6728         .g_x_raw = test_vector_3_g_x_raw,
6729         .g_x_raw_len = sizeof(test_vector_3_g_x_raw),
6730 
6731         .g_x = test_vector_3_g_x,
6732         .g_x_len = sizeof(test_vector_3_g_x),
6733 
6734         .c_i = test_vector_3_c_i,
6735         .c_i_len = sizeof(test_vector_3_c_i),
6736 
6737         .ead_1 = test_vector_3_ead_1,
6738         .ead_1_len = sizeof(test_vector_3_ead_1),
6739 
6740         .message_1 = test_vector_3_message_1,
6741         .message_1_len = sizeof(test_vector_3_message_1),
6742 
6743         .y_raw = test_vector_3_y_raw,
6744         .y_raw_len = sizeof(test_vector_3_y_raw),
6745 
6746         .g_y_raw = test_vector_3_g_y_raw,
6747         .g_y_raw_len = sizeof(test_vector_3_g_y_raw),
6748 
6749         .g_y = test_vector_3_g_y,
6750         .g_y_len = sizeof(test_vector_3_g_y),
6751 
6752         .g_xy_raw = test_vector_3_g_xy_raw,
6753         .g_xy_raw_len = sizeof(test_vector_3_g_xy_raw),
6754 
6755         .salt_raw = test_vector_3_salt_raw,
6756         .salt_raw_len = sizeof(test_vector_3_salt_raw),
6757 
6758         .prk_2e_raw = test_vector_3_prk_2e_raw,
6759         .prk_2e_raw_len = sizeof(test_vector_3_prk_2e_raw),
6760 
6761         .sk_r_raw = test_vector_3_sk_r_raw,
6762         .sk_r_raw_len = sizeof(test_vector_3_sk_r_raw),
6763 
6764         .pk_r_raw = test_vector_3_pk_r_raw,
6765         .pk_r_raw_len = sizeof(test_vector_3_pk_r_raw),
6766 
6767         .prk_3e2m_raw = test_vector_3_prk_3e2m_raw,
6768         .prk_3e2m_raw_len = sizeof(test_vector_3_prk_3e2m_raw),
6769 
6770         .c_r = test_vector_3_c_r,
6771         .c_r_len = sizeof(test_vector_3_c_r),
6772 
6773         .h_message_1_raw = test_vector_3_h_message_1_raw,
6774         .h_message_1_raw_len = sizeof(test_vector_3_h_message_1_raw),
6775 
6776         .h_message_1 = test_vector_3_h_message_1,
6777         .h_message_1_len = sizeof(test_vector_3_h_message_1),
6778 
6779         .input_th_2 = test_vector_3_input_th_2,
6780         .input_th_2_len = sizeof(test_vector_3_input_th_2),
6781 
6782         .th_2_raw = test_vector_3_th_2_raw,
6783         .th_2_raw_len = sizeof(test_vector_3_th_2_raw),
6784 
6785         .th_2 = test_vector_3_th_2,
6786         .th_2_len = sizeof(test_vector_3_th_2),
6787 
6788         .id_cred_r = test_vector_3_id_cred_r,
6789         .id_cred_r_len = sizeof(test_vector_3_id_cred_r),
6790 
6791         .cred_r = test_vector_3_cred_r,
6792         .cred_r_len = sizeof(test_vector_3_cred_r),
6793 
6794         .ead_2 = test_vector_3_ead_2,
6795         .ead_2_len = sizeof(test_vector_3_ead_2),
6796 
6797         .info_mac_2 = test_vector_3_info_mac_2,
6798         .info_mac_2_len = sizeof(test_vector_3_info_mac_2),
6799 
6800         .mac_2_raw = test_vector_3_mac_2_raw,
6801         .mac_2_raw_len = sizeof(test_vector_3_mac_2_raw),
6802 
6803         .mac_2 = test_vector_3_mac_2,
6804         .mac_2_len = sizeof(test_vector_3_mac_2),
6805 
6806         .m_2 = test_vector_3_m_2,
6807         .m_2_len = sizeof(test_vector_3_m_2),
6808 
6809         .sig_or_mac_2_raw = test_vector_3_sig_or_mac_2_raw,
6810         .sig_or_mac_2_raw_len = sizeof(test_vector_3_sig_or_mac_2_raw),
6811 
6812         .sig_or_mac_2 = test_vector_3_sig_or_mac_2,
6813         .sig_or_mac_2_len = sizeof(test_vector_3_sig_or_mac_2),
6814 
6815         .plaintext_2 = test_vector_3_plaintext_2,
6816         .plaintext_2_len = sizeof(test_vector_3_plaintext_2),
6817 
6818         .info_keystream_2 = test_vector_3_info_keystream_2,
6819         .info_keystream_2_len = sizeof(test_vector_3_info_keystream_2),
6820 
6821         .keystream_2_raw = test_vector_3_keystream_2_raw,
6822         .keystream_2_raw_len = sizeof(test_vector_3_keystream_2_raw),
6823 
6824         .ciphertext_2_raw = test_vector_3_ciphertext_2_raw,
6825         .ciphertext_2_raw_len = sizeof(test_vector_3_ciphertext_2_raw),
6826 
6827         .ciphertext_2 = test_vector_3_ciphertext_2,
6828         .ciphertext_2_len = sizeof(test_vector_3_ciphertext_2),
6829 
6830         .message_2 = test_vector_3_message_2,
6831         .message_2_len = sizeof(test_vector_3_message_2),
6832 
6833         .sk_i_raw = test_vector_3_sk_i_raw,
6834         .sk_i_raw_len = sizeof(test_vector_3_sk_i_raw),
6835 
6836         .pk_i_raw = test_vector_3_pk_i_raw,
6837         .pk_i_raw_len = sizeof(test_vector_3_pk_i_raw),
6838 
6839         .prk_4x3m_raw = NULL,
6840         .prk_4x3m_raw_len = 0,
6841 
6842         .input_TH_3 = test_vector_3_input_TH_3,
6843         .input_TH_3_len = sizeof(test_vector_3_input_TH_3),
6844 
6845         .th_3_raw = test_vector_3_th_3_raw,
6846         .th_3_raw_len = sizeof(test_vector_3_th_3_raw),
6847 
6848         .th_3 = test_vector_3_th_3,
6849         .th_3_len = sizeof(test_vector_3_th_3),
6850 
6851         .id_cred_i = test_vector_3_id_cred_i,
6852         .id_cred_i_len = sizeof(test_vector_3_id_cred_i),
6853 
6854         .cred_i = test_vector_3_cred_i,
6855         .cred_i_len = sizeof(test_vector_3_cred_i),
6856 
6857         .ead_3 = test_vector_3_ead_3,
6858         .ead_3_len = sizeof(test_vector_3_ead_3),
6859 
6860         .info_mac_3 = test_vector_3_info_mac_3,
6861         .info_mac_3_len = sizeof(test_vector_3_info_mac_3),
6862 
6863         .mac_3_raw = test_vector_3_mac_3_raw,
6864         .mac_3_raw_len = sizeof(test_vector_3_mac_3_raw),
6865 
6866         .mac_3 = test_vector_3_mac_3,
6867         .mac_3_len = sizeof(test_vector_3_mac_3),
6868 
6869         .m_3 = test_vector_3_m_3,
6870         .m_3_len = sizeof(test_vector_3_m_3),
6871 
6872         .sig_or_mac_3_raw = test_vector_3_sig_or_mac_3_raw,
6873         .sig_or_mac_3_raw_len = sizeof(test_vector_3_sig_or_mac_3_raw),
6874 
6875         .sig_or_mac_3 = test_vector_3_sig_or_mac_3,
6876         .sig_or_mac_3_len = sizeof(test_vector_3_sig_or_mac_3),
6877 
6878         .p_3 = test_vector_3_p_3,
6879         .p_3_len = sizeof(test_vector_3_p_3),
6880 
6881         .a_3 = test_vector_3_a_3,
6882         .a_3_len = sizeof(test_vector_3_a_3),
6883 
6884         .info_k_3 = test_vector_3_info_k_3,
6885         .info_k_3_len = sizeof(test_vector_3_info_k_3),
6886 
6887         .k_3_raw = test_vector_3_k_3_raw,
6888         .k_3_raw_len = sizeof(test_vector_3_k_3_raw),
6889 
6890         .info_iv_3 = test_vector_3_info_iv_3,
6891         .info_iv_3_len = sizeof(test_vector_3_info_iv_3),
6892 
6893         .iv_3_raw = test_vector_3_iv_3_raw,
6894         .iv_3_raw_len = sizeof(test_vector_3_iv_3_raw),
6895 
6896         .ciphertext_3_raw = test_vector_3_ciphertext_3_raw,
6897         .ciphertext_3_raw_len = sizeof(test_vector_3_ciphertext_3_raw),
6898 
6899         .ciphertext_3 = test_vector_3_ciphertext_3,
6900         .ciphertext_3_len = sizeof(test_vector_3_ciphertext_3),
6901 
6902         .message_3 = test_vector_3_message_3,
6903         .message_3_len = sizeof(test_vector_3_message_3),
6904 
6905         .input_th_4 = test_vector_3_input_th_4,
6906         .input_th_4_len = sizeof(test_vector_3_input_th_4),
6907 
6908         .th_4_raw = test_vector_3_th_4_raw,
6909         .th_4_raw_len = sizeof(test_vector_3_th_4_raw),
6910 
6911         .th_4 = test_vector_3_th_4,
6912         .th_4_len = sizeof(test_vector_3_th_4),
6913 
6914         .ead_4 = test_vector_3_ead_4,
6915         .ead_4_len = sizeof(test_vector_3_ead_4),
6916 
6917         .p_4 = test_vector_3_p_4,
6918         .p_4_len = sizeof(test_vector_3_p_4),
6919 
6920         .a_4 = test_vector_3_a_4,
6921         .a_4_len = sizeof(test_vector_3_a_4),
6922 
6923         .info_k_4 = test_vector_3_info_k_4,
6924         .info_k_4_len = sizeof(test_vector_3_info_k_4),
6925 
6926         .k_4_raw = test_vector_3_k_4_raw,
6927         .k_4_raw_len = sizeof(test_vector_3_k_4_raw),
6928 
6929         .info_iv_4 = test_vector_3_info_iv_4,
6930         .info_iv_4_len = sizeof(test_vector_3_info_iv_4),
6931 
6932         .iv_4_raw = test_vector_3_iv_4_raw,
6933         .iv_4_raw_len = sizeof(test_vector_3_iv_4_raw),
6934 
6935         .ciphertext_4_raw = test_vector_3_ciphertext_4_raw,
6936         .ciphertext_4_raw_len = sizeof(test_vector_3_ciphertext_4_raw),
6937 
6938         .ciphertext_4 = test_vector_3_ciphertext_4,
6939         .ciphertext_4_len = sizeof(test_vector_3_ciphertext_4),
6940 
6941         .message_4 = test_vector_3_message_4,
6942         .message_4_len = sizeof(test_vector_3_message_4),
6943 
6944         .oscore_aead_alg = &test_vector_3_oscore_aead_alg,
6945 
6946         .oscore_hash_alg = &test_vector_3_oscore_hash_alg,
6947 
6948         .client_sender_id_raw = test_vector_3_client_sender_id_raw,
6949         .client_sender_id_raw_len = sizeof(test_vector_3_client_sender_id_raw),
6950 
6951         .server_sender_id_raw = test_vector_3_server_sender_id_raw,
6952         .server_sender_id_raw_len = sizeof(test_vector_3_server_sender_id_raw),
6953 
6954         .info_oscore_secret = test_vector_3_info_oscore_secret,
6955         .info_oscore_secret_len = sizeof(test_vector_3_info_oscore_secret),
6956 
6957         .oscore_secret_raw = test_vector_3_oscore_secret_raw,
6958         .oscore_secret_raw_len = sizeof(test_vector_3_oscore_secret_raw),
6959 
6960         .info_oscore_salt = test_vector_3_info_oscore_salt,
6961         .info_oscore_salt_len = sizeof(test_vector_3_info_oscore_salt),
6962 
6963         .oscore_salt_raw = test_vector_3_oscore_salt_raw,
6964         .oscore_salt_raw_len = sizeof(test_vector_3_oscore_salt_raw),
6965 
6966         .key_update_nonce_raw = NULL,
6967         .key_update_nonce_raw_len = 0,
6968 
6969         .prk_4x3m_key_update_raw = NULL,
6970         .prk_4x3m_key_update_raw_len = 0,
6971 
6972         .oscore_secret_key_update_raw = test_vector_3_oscore_secret_key_update_raw,
6973         .oscore_secret_key_update_raw_len = sizeof(test_vector_3_oscore_secret_key_update_raw),
6974 
6975         .oscore_salt_key_update_raw = test_vector_3_oscore_salt_key_update_raw,
6976         .oscore_salt_key_update_raw_len = sizeof(test_vector_3_oscore_salt_key_update_raw),
6977 
6978         .ca_r = test_vector_3_ca_r,
6979         .ca_r_len = sizeof(test_vector_3_ca_r),
6980 
6981         .ca_i = test_vector_3_ca_i,
6982         .ca_i_len = sizeof(test_vector_3_ca_i),
6983 
6984         .ca_r_pk = test_vector_3_ca_r_pk,
6985         .ca_r_pk_len = sizeof(test_vector_3_ca_r_pk),
6986 
6987         .ca_i_pk = test_vector_3_ca_i_pk,
6988         .ca_i_pk_len = sizeof(test_vector_3_ca_i_pk),
6989 
6990         .i_raw = NULL,
6991         .i_raw_len = 0,
6992 
6993         .g_i_raw = NULL,
6994         .g_i_raw_len = 0,
6995 
6996         .r_raw = NULL,
6997         .r_raw_len = 0,
6998 
6999         .g_r_raw = NULL,
7000         .g_r_raw_len = 0,
7001 
7002         .c_i_raw = NULL,
7003         .c_i_raw_len = 0,
7004         .c_i_raw_int =  &test_vector_3_c_i_raw,
7005 
7006         .c_r_raw = NULL,
7007         .c_r_raw_len = 0,
7008         .c_r_raw_int =  &test_vector_3_c_r_raw,
7009 	},
7010 /*--------------- test_vector_4 ------------*/
7011 
7012 	{
7013         .method = test_vector_4_method,
7014         .method_len = sizeof(test_vector_4_method),
7015 
7016         .SUITES_I = test_vector_4_SUITES_I,
7017         .SUITES_I_len = sizeof(test_vector_4_SUITES_I),
7018 
7019         .SUITES_R = test_vector_4_SUITES_R,
7020         .SUITES_R_len = sizeof(test_vector_4_SUITES_R),
7021 
7022         .x_raw = test_vector_4_x_raw,
7023         .x_raw_len = sizeof(test_vector_4_x_raw),
7024 
7025         .g_x_raw = test_vector_4_g_x_raw,
7026         .g_x_raw_len = sizeof(test_vector_4_g_x_raw),
7027 
7028         .g_x = test_vector_4_g_x,
7029         .g_x_len = sizeof(test_vector_4_g_x),
7030 
7031         .c_i = test_vector_4_c_i,
7032         .c_i_len = sizeof(test_vector_4_c_i),
7033 
7034         .ead_1 = test_vector_4_ead_1,
7035         .ead_1_len = sizeof(test_vector_4_ead_1),
7036 
7037         .message_1 = test_vector_4_message_1,
7038         .message_1_len = sizeof(test_vector_4_message_1),
7039 
7040         .y_raw = test_vector_4_y_raw,
7041         .y_raw_len = sizeof(test_vector_4_y_raw),
7042 
7043         .g_y_raw = test_vector_4_g_y_raw,
7044         .g_y_raw_len = sizeof(test_vector_4_g_y_raw),
7045 
7046         .g_y = test_vector_4_g_y,
7047         .g_y_len = sizeof(test_vector_4_g_y),
7048 
7049         .g_xy_raw = test_vector_4_g_xy_raw,
7050         .g_xy_raw_len = sizeof(test_vector_4_g_xy_raw),
7051 
7052         .salt_raw = test_vector_4_salt_raw,
7053         .salt_raw_len = sizeof(test_vector_4_salt_raw),
7054 
7055         .prk_2e_raw = test_vector_4_prk_2e_raw,
7056         .prk_2e_raw_len = sizeof(test_vector_4_prk_2e_raw),
7057 
7058         .sk_r_raw = test_vector_4_sk_r_raw,
7059         .sk_r_raw_len = sizeof(test_vector_4_sk_r_raw),
7060 
7061         .pk_r_raw = test_vector_4_pk_r_raw,
7062         .pk_r_raw_len = sizeof(test_vector_4_pk_r_raw),
7063 
7064         .prk_3e2m_raw = test_vector_4_prk_3e2m_raw,
7065         .prk_3e2m_raw_len = sizeof(test_vector_4_prk_3e2m_raw),
7066 
7067         .c_r = test_vector_4_c_r,
7068         .c_r_len = sizeof(test_vector_4_c_r),
7069 
7070         .h_message_1_raw = test_vector_4_h_message_1_raw,
7071         .h_message_1_raw_len = sizeof(test_vector_4_h_message_1_raw),
7072 
7073         .h_message_1 = test_vector_4_h_message_1,
7074         .h_message_1_len = sizeof(test_vector_4_h_message_1),
7075 
7076         .input_th_2 = test_vector_4_input_th_2,
7077         .input_th_2_len = sizeof(test_vector_4_input_th_2),
7078 
7079         .th_2_raw = test_vector_4_th_2_raw,
7080         .th_2_raw_len = sizeof(test_vector_4_th_2_raw),
7081 
7082         .th_2 = test_vector_4_th_2,
7083         .th_2_len = sizeof(test_vector_4_th_2),
7084 
7085         .id_cred_r = test_vector_4_id_cred_r,
7086         .id_cred_r_len = sizeof(test_vector_4_id_cred_r),
7087 
7088         .cred_r = test_vector_4_cred_r,
7089         .cred_r_len = sizeof(test_vector_4_cred_r),
7090 
7091         .ead_2 = test_vector_4_ead_2,
7092         .ead_2_len = sizeof(test_vector_4_ead_2),
7093 
7094         .info_mac_2 = test_vector_4_info_mac_2,
7095         .info_mac_2_len = sizeof(test_vector_4_info_mac_2),
7096 
7097         .mac_2_raw = test_vector_4_mac_2_raw,
7098         .mac_2_raw_len = sizeof(test_vector_4_mac_2_raw),
7099 
7100         .mac_2 = test_vector_4_mac_2,
7101         .mac_2_len = sizeof(test_vector_4_mac_2),
7102 
7103         .m_2 = test_vector_4_m_2,
7104         .m_2_len = sizeof(test_vector_4_m_2),
7105 
7106         .sig_or_mac_2_raw = test_vector_4_sig_or_mac_2_raw,
7107         .sig_or_mac_2_raw_len = sizeof(test_vector_4_sig_or_mac_2_raw),
7108 
7109         .sig_or_mac_2 = test_vector_4_sig_or_mac_2,
7110         .sig_or_mac_2_len = sizeof(test_vector_4_sig_or_mac_2),
7111 
7112         .plaintext_2 = test_vector_4_plaintext_2,
7113         .plaintext_2_len = sizeof(test_vector_4_plaintext_2),
7114 
7115         .info_keystream_2 = test_vector_4_info_keystream_2,
7116         .info_keystream_2_len = sizeof(test_vector_4_info_keystream_2),
7117 
7118         .keystream_2_raw = test_vector_4_keystream_2_raw,
7119         .keystream_2_raw_len = sizeof(test_vector_4_keystream_2_raw),
7120 
7121         .ciphertext_2_raw = test_vector_4_ciphertext_2_raw,
7122         .ciphertext_2_raw_len = sizeof(test_vector_4_ciphertext_2_raw),
7123 
7124         .ciphertext_2 = test_vector_4_ciphertext_2,
7125         .ciphertext_2_len = sizeof(test_vector_4_ciphertext_2),
7126 
7127         .message_2 = test_vector_4_message_2,
7128         .message_2_len = sizeof(test_vector_4_message_2),
7129 
7130         .sk_i_raw = test_vector_4_sk_i_raw,
7131         .sk_i_raw_len = sizeof(test_vector_4_sk_i_raw),
7132 
7133         .pk_i_raw = test_vector_4_pk_i_raw,
7134         .pk_i_raw_len = sizeof(test_vector_4_pk_i_raw),
7135 
7136         .prk_4x3m_raw = NULL,
7137         .prk_4x3m_raw_len = 0,
7138 
7139         .input_TH_3 = test_vector_4_input_TH_3,
7140         .input_TH_3_len = sizeof(test_vector_4_input_TH_3),
7141 
7142         .th_3_raw = test_vector_4_th_3_raw,
7143         .th_3_raw_len = sizeof(test_vector_4_th_3_raw),
7144 
7145         .th_3 = test_vector_4_th_3,
7146         .th_3_len = sizeof(test_vector_4_th_3),
7147 
7148         .id_cred_i = test_vector_4_id_cred_i,
7149         .id_cred_i_len = sizeof(test_vector_4_id_cred_i),
7150 
7151         .cred_i = test_vector_4_cred_i,
7152         .cred_i_len = sizeof(test_vector_4_cred_i),
7153 
7154         .ead_3 = test_vector_4_ead_3,
7155         .ead_3_len = sizeof(test_vector_4_ead_3),
7156 
7157         .info_mac_3 = test_vector_4_info_mac_3,
7158         .info_mac_3_len = sizeof(test_vector_4_info_mac_3),
7159 
7160         .mac_3_raw = test_vector_4_mac_3_raw,
7161         .mac_3_raw_len = sizeof(test_vector_4_mac_3_raw),
7162 
7163         .mac_3 = test_vector_4_mac_3,
7164         .mac_3_len = sizeof(test_vector_4_mac_3),
7165 
7166         .m_3 = test_vector_4_m_3,
7167         .m_3_len = sizeof(test_vector_4_m_3),
7168 
7169         .sig_or_mac_3_raw = test_vector_4_sig_or_mac_3_raw,
7170         .sig_or_mac_3_raw_len = sizeof(test_vector_4_sig_or_mac_3_raw),
7171 
7172         .sig_or_mac_3 = test_vector_4_sig_or_mac_3,
7173         .sig_or_mac_3_len = sizeof(test_vector_4_sig_or_mac_3),
7174 
7175         .p_3 = test_vector_4_p_3,
7176         .p_3_len = sizeof(test_vector_4_p_3),
7177 
7178         .a_3 = test_vector_4_a_3,
7179         .a_3_len = sizeof(test_vector_4_a_3),
7180 
7181         .info_k_3 = test_vector_4_info_k_3,
7182         .info_k_3_len = sizeof(test_vector_4_info_k_3),
7183 
7184         .k_3_raw = test_vector_4_k_3_raw,
7185         .k_3_raw_len = sizeof(test_vector_4_k_3_raw),
7186 
7187         .info_iv_3 = test_vector_4_info_iv_3,
7188         .info_iv_3_len = sizeof(test_vector_4_info_iv_3),
7189 
7190         .iv_3_raw = test_vector_4_iv_3_raw,
7191         .iv_3_raw_len = sizeof(test_vector_4_iv_3_raw),
7192 
7193         .ciphertext_3_raw = test_vector_4_ciphertext_3_raw,
7194         .ciphertext_3_raw_len = sizeof(test_vector_4_ciphertext_3_raw),
7195 
7196         .ciphertext_3 = test_vector_4_ciphertext_3,
7197         .ciphertext_3_len = sizeof(test_vector_4_ciphertext_3),
7198 
7199         .message_3 = test_vector_4_message_3,
7200         .message_3_len = sizeof(test_vector_4_message_3),
7201 
7202         .input_th_4 = test_vector_4_input_th_4,
7203         .input_th_4_len = sizeof(test_vector_4_input_th_4),
7204 
7205         .th_4_raw = test_vector_4_th_4_raw,
7206         .th_4_raw_len = sizeof(test_vector_4_th_4_raw),
7207 
7208         .th_4 = test_vector_4_th_4,
7209         .th_4_len = sizeof(test_vector_4_th_4),
7210 
7211         .ead_4 = test_vector_4_ead_4,
7212         .ead_4_len = sizeof(test_vector_4_ead_4),
7213 
7214         .p_4 = test_vector_4_p_4,
7215         .p_4_len = sizeof(test_vector_4_p_4),
7216 
7217         .a_4 = test_vector_4_a_4,
7218         .a_4_len = sizeof(test_vector_4_a_4),
7219 
7220         .info_k_4 = test_vector_4_info_k_4,
7221         .info_k_4_len = sizeof(test_vector_4_info_k_4),
7222 
7223         .k_4_raw = test_vector_4_k_4_raw,
7224         .k_4_raw_len = sizeof(test_vector_4_k_4_raw),
7225 
7226         .info_iv_4 = test_vector_4_info_iv_4,
7227         .info_iv_4_len = sizeof(test_vector_4_info_iv_4),
7228 
7229         .iv_4_raw = test_vector_4_iv_4_raw,
7230         .iv_4_raw_len = sizeof(test_vector_4_iv_4_raw),
7231 
7232         .ciphertext_4_raw = test_vector_4_ciphertext_4_raw,
7233         .ciphertext_4_raw_len = sizeof(test_vector_4_ciphertext_4_raw),
7234 
7235         .ciphertext_4 = test_vector_4_ciphertext_4,
7236         .ciphertext_4_len = sizeof(test_vector_4_ciphertext_4),
7237 
7238         .message_4 = test_vector_4_message_4,
7239         .message_4_len = sizeof(test_vector_4_message_4),
7240 
7241         .oscore_aead_alg = &test_vector_4_oscore_aead_alg,
7242 
7243         .oscore_hash_alg = &test_vector_4_oscore_hash_alg,
7244 
7245         .client_sender_id_raw = test_vector_4_client_sender_id_raw,
7246         .client_sender_id_raw_len = sizeof(test_vector_4_client_sender_id_raw),
7247 
7248         .server_sender_id_raw = test_vector_4_server_sender_id_raw,
7249         .server_sender_id_raw_len = sizeof(test_vector_4_server_sender_id_raw),
7250 
7251         .info_oscore_secret = test_vector_4_info_oscore_secret,
7252         .info_oscore_secret_len = sizeof(test_vector_4_info_oscore_secret),
7253 
7254         .oscore_secret_raw = test_vector_4_oscore_secret_raw,
7255         .oscore_secret_raw_len = sizeof(test_vector_4_oscore_secret_raw),
7256 
7257         .info_oscore_salt = test_vector_4_info_oscore_salt,
7258         .info_oscore_salt_len = sizeof(test_vector_4_info_oscore_salt),
7259 
7260         .oscore_salt_raw = test_vector_4_oscore_salt_raw,
7261         .oscore_salt_raw_len = sizeof(test_vector_4_oscore_salt_raw),
7262 
7263         .key_update_nonce_raw = NULL,
7264         .key_update_nonce_raw_len = 0,
7265 
7266         .prk_4x3m_key_update_raw = NULL,
7267         .prk_4x3m_key_update_raw_len = 0,
7268 
7269         .oscore_secret_key_update_raw = test_vector_4_oscore_secret_key_update_raw,
7270         .oscore_secret_key_update_raw_len = sizeof(test_vector_4_oscore_secret_key_update_raw),
7271 
7272         .oscore_salt_key_update_raw = test_vector_4_oscore_salt_key_update_raw,
7273         .oscore_salt_key_update_raw_len = sizeof(test_vector_4_oscore_salt_key_update_raw),
7274 
7275         .ca_r = test_vector_4_ca_r,
7276         .ca_r_len = sizeof(test_vector_4_ca_r),
7277 
7278         .ca_i = test_vector_4_ca_i,
7279         .ca_i_len = sizeof(test_vector_4_ca_i),
7280 
7281         .ca_r_pk = test_vector_4_ca_r_pk,
7282         .ca_r_pk_len = sizeof(test_vector_4_ca_r_pk),
7283 
7284         .ca_i_pk = test_vector_4_ca_i_pk,
7285         .ca_i_pk_len = sizeof(test_vector_4_ca_i_pk),
7286 
7287         .i_raw = NULL,
7288         .i_raw_len = 0,
7289 
7290         .g_i_raw = NULL,
7291         .g_i_raw_len = 0,
7292 
7293         .r_raw = NULL,
7294         .r_raw_len = 0,
7295 
7296         .g_r_raw = NULL,
7297         .g_r_raw_len = 0,
7298 
7299         .c_i_raw = NULL,
7300         .c_i_raw_len = 0,
7301         .c_i_raw_int =  &test_vector_4_c_i_raw,
7302 
7303         .c_r_raw = NULL,
7304         .c_r_raw_len = 0,
7305         .c_r_raw_int =  &test_vector_4_c_r_raw,
7306 	},
7307 /*--------------- test_vector_5 ------------*/
7308 
7309 	{
7310         .method = test_vector_5_method,
7311         .method_len = sizeof(test_vector_5_method),
7312 
7313         .SUITES_I = test_vector_5_SUITES_I,
7314         .SUITES_I_len = sizeof(test_vector_5_SUITES_I),
7315 
7316         .SUITES_R = test_vector_5_SUITES_R,
7317         .SUITES_R_len = sizeof(test_vector_5_SUITES_R),
7318 
7319         .x_raw = test_vector_5_x_raw,
7320         .x_raw_len = sizeof(test_vector_5_x_raw),
7321 
7322         .g_x_raw = test_vector_5_g_x_raw,
7323         .g_x_raw_len = sizeof(test_vector_5_g_x_raw),
7324 
7325         .g_x = test_vector_5_g_x,
7326         .g_x_len = sizeof(test_vector_5_g_x),
7327 
7328         .c_i = test_vector_5_c_i,
7329         .c_i_len = sizeof(test_vector_5_c_i),
7330 
7331         .ead_1 = test_vector_5_ead_1,
7332         .ead_1_len = sizeof(test_vector_5_ead_1),
7333 
7334         .message_1 = test_vector_5_message_1,
7335         .message_1_len = sizeof(test_vector_5_message_1),
7336 
7337         .y_raw = test_vector_5_y_raw,
7338         .y_raw_len = sizeof(test_vector_5_y_raw),
7339 
7340         .g_y_raw = test_vector_5_g_y_raw,
7341         .g_y_raw_len = sizeof(test_vector_5_g_y_raw),
7342 
7343         .g_y = test_vector_5_g_y,
7344         .g_y_len = sizeof(test_vector_5_g_y),
7345 
7346         .g_xy_raw = test_vector_5_g_xy_raw,
7347         .g_xy_raw_len = sizeof(test_vector_5_g_xy_raw),
7348 
7349         .salt_raw = test_vector_5_salt_raw,
7350         .salt_raw_len = sizeof(test_vector_5_salt_raw),
7351 
7352         .prk_2e_raw = test_vector_5_prk_2e_raw,
7353         .prk_2e_raw_len = sizeof(test_vector_5_prk_2e_raw),
7354 
7355         .sk_r_raw = NULL,
7356         .sk_r_raw_len = 0,
7357 
7358         .pk_r_raw = NULL,
7359         .pk_r_raw_len = 0,
7360 
7361         .prk_3e2m_raw = test_vector_5_prk_3e2m_raw,
7362         .prk_3e2m_raw_len = sizeof(test_vector_5_prk_3e2m_raw),
7363 
7364         .c_r = test_vector_5_c_r,
7365         .c_r_len = sizeof(test_vector_5_c_r),
7366 
7367         .h_message_1_raw = test_vector_5_h_message_1_raw,
7368         .h_message_1_raw_len = sizeof(test_vector_5_h_message_1_raw),
7369 
7370         .h_message_1 = test_vector_5_h_message_1,
7371         .h_message_1_len = sizeof(test_vector_5_h_message_1),
7372 
7373         .input_th_2 = test_vector_5_input_th_2,
7374         .input_th_2_len = sizeof(test_vector_5_input_th_2),
7375 
7376         .th_2_raw = test_vector_5_th_2_raw,
7377         .th_2_raw_len = sizeof(test_vector_5_th_2_raw),
7378 
7379         .th_2 = test_vector_5_th_2,
7380         .th_2_len = sizeof(test_vector_5_th_2),
7381 
7382         .id_cred_r = test_vector_5_id_cred_r,
7383         .id_cred_r_len = sizeof(test_vector_5_id_cred_r),
7384 
7385         .cred_r = test_vector_5_cred_r,
7386         .cred_r_len = sizeof(test_vector_5_cred_r),
7387 
7388         .ead_2 = test_vector_5_ead_2,
7389         .ead_2_len = sizeof(test_vector_5_ead_2),
7390 
7391         .info_mac_2 = test_vector_5_info_mac_2,
7392         .info_mac_2_len = sizeof(test_vector_5_info_mac_2),
7393 
7394         .mac_2_raw = test_vector_5_mac_2_raw,
7395         .mac_2_raw_len = sizeof(test_vector_5_mac_2_raw),
7396 
7397         .mac_2 = test_vector_5_mac_2,
7398         .mac_2_len = sizeof(test_vector_5_mac_2),
7399 
7400         .m_2 = NULL,
7401         .m_2_len = 0,
7402 
7403         .sig_or_mac_2_raw = test_vector_5_sig_or_mac_2_raw,
7404         .sig_or_mac_2_raw_len = sizeof(test_vector_5_sig_or_mac_2_raw),
7405 
7406         .sig_or_mac_2 = test_vector_5_sig_or_mac_2,
7407         .sig_or_mac_2_len = sizeof(test_vector_5_sig_or_mac_2),
7408 
7409         .plaintext_2 = test_vector_5_plaintext_2,
7410         .plaintext_2_len = sizeof(test_vector_5_plaintext_2),
7411 
7412         .info_keystream_2 = test_vector_5_info_keystream_2,
7413         .info_keystream_2_len = sizeof(test_vector_5_info_keystream_2),
7414 
7415         .keystream_2_raw = test_vector_5_keystream_2_raw,
7416         .keystream_2_raw_len = sizeof(test_vector_5_keystream_2_raw),
7417 
7418         .ciphertext_2_raw = test_vector_5_ciphertext_2_raw,
7419         .ciphertext_2_raw_len = sizeof(test_vector_5_ciphertext_2_raw),
7420 
7421         .ciphertext_2 = test_vector_5_ciphertext_2,
7422         .ciphertext_2_len = sizeof(test_vector_5_ciphertext_2),
7423 
7424         .message_2 = test_vector_5_message_2,
7425         .message_2_len = sizeof(test_vector_5_message_2),
7426 
7427         .sk_i_raw = NULL,
7428         .sk_i_raw_len = 0,
7429 
7430         .pk_i_raw = NULL,
7431         .pk_i_raw_len = 0,
7432 
7433         .prk_4x3m_raw = NULL,
7434         .prk_4x3m_raw_len = 0,
7435 
7436         .input_TH_3 = test_vector_5_input_TH_3,
7437         .input_TH_3_len = sizeof(test_vector_5_input_TH_3),
7438 
7439         .th_3_raw = test_vector_5_th_3_raw,
7440         .th_3_raw_len = sizeof(test_vector_5_th_3_raw),
7441 
7442         .th_3 = test_vector_5_th_3,
7443         .th_3_len = sizeof(test_vector_5_th_3),
7444 
7445         .id_cred_i = test_vector_5_id_cred_i,
7446         .id_cred_i_len = sizeof(test_vector_5_id_cred_i),
7447 
7448         .cred_i = test_vector_5_cred_i,
7449         .cred_i_len = sizeof(test_vector_5_cred_i),
7450 
7451         .ead_3 = test_vector_5_ead_3,
7452         .ead_3_len = sizeof(test_vector_5_ead_3),
7453 
7454         .info_mac_3 = test_vector_5_info_mac_3,
7455         .info_mac_3_len = sizeof(test_vector_5_info_mac_3),
7456 
7457         .mac_3_raw = test_vector_5_mac_3_raw,
7458         .mac_3_raw_len = sizeof(test_vector_5_mac_3_raw),
7459 
7460         .mac_3 = test_vector_5_mac_3,
7461         .mac_3_len = sizeof(test_vector_5_mac_3),
7462 
7463         .m_3 = NULL,
7464         .m_3_len = 0,
7465 
7466         .sig_or_mac_3_raw = test_vector_5_sig_or_mac_3_raw,
7467         .sig_or_mac_3_raw_len = sizeof(test_vector_5_sig_or_mac_3_raw),
7468 
7469         .sig_or_mac_3 = test_vector_5_sig_or_mac_3,
7470         .sig_or_mac_3_len = sizeof(test_vector_5_sig_or_mac_3),
7471 
7472         .p_3 = test_vector_5_p_3,
7473         .p_3_len = sizeof(test_vector_5_p_3),
7474 
7475         .a_3 = test_vector_5_a_3,
7476         .a_3_len = sizeof(test_vector_5_a_3),
7477 
7478         .info_k_3 = test_vector_5_info_k_3,
7479         .info_k_3_len = sizeof(test_vector_5_info_k_3),
7480 
7481         .k_3_raw = test_vector_5_k_3_raw,
7482         .k_3_raw_len = sizeof(test_vector_5_k_3_raw),
7483 
7484         .info_iv_3 = test_vector_5_info_iv_3,
7485         .info_iv_3_len = sizeof(test_vector_5_info_iv_3),
7486 
7487         .iv_3_raw = test_vector_5_iv_3_raw,
7488         .iv_3_raw_len = sizeof(test_vector_5_iv_3_raw),
7489 
7490         .ciphertext_3_raw = test_vector_5_ciphertext_3_raw,
7491         .ciphertext_3_raw_len = sizeof(test_vector_5_ciphertext_3_raw),
7492 
7493         .ciphertext_3 = test_vector_5_ciphertext_3,
7494         .ciphertext_3_len = sizeof(test_vector_5_ciphertext_3),
7495 
7496         .message_3 = test_vector_5_message_3,
7497         .message_3_len = sizeof(test_vector_5_message_3),
7498 
7499         .input_th_4 = test_vector_5_input_th_4,
7500         .input_th_4_len = sizeof(test_vector_5_input_th_4),
7501 
7502         .th_4_raw = test_vector_5_th_4_raw,
7503         .th_4_raw_len = sizeof(test_vector_5_th_4_raw),
7504 
7505         .th_4 = test_vector_5_th_4,
7506         .th_4_len = sizeof(test_vector_5_th_4),
7507 
7508         .ead_4 = test_vector_5_ead_4,
7509         .ead_4_len = sizeof(test_vector_5_ead_4),
7510 
7511         .p_4 = test_vector_5_p_4,
7512         .p_4_len = sizeof(test_vector_5_p_4),
7513 
7514         .a_4 = test_vector_5_a_4,
7515         .a_4_len = sizeof(test_vector_5_a_4),
7516 
7517         .info_k_4 = test_vector_5_info_k_4,
7518         .info_k_4_len = sizeof(test_vector_5_info_k_4),
7519 
7520         .k_4_raw = test_vector_5_k_4_raw,
7521         .k_4_raw_len = sizeof(test_vector_5_k_4_raw),
7522 
7523         .info_iv_4 = test_vector_5_info_iv_4,
7524         .info_iv_4_len = sizeof(test_vector_5_info_iv_4),
7525 
7526         .iv_4_raw = test_vector_5_iv_4_raw,
7527         .iv_4_raw_len = sizeof(test_vector_5_iv_4_raw),
7528 
7529         .ciphertext_4_raw = test_vector_5_ciphertext_4_raw,
7530         .ciphertext_4_raw_len = sizeof(test_vector_5_ciphertext_4_raw),
7531 
7532         .ciphertext_4 = test_vector_5_ciphertext_4,
7533         .ciphertext_4_len = sizeof(test_vector_5_ciphertext_4),
7534 
7535         .message_4 = test_vector_5_message_4,
7536         .message_4_len = sizeof(test_vector_5_message_4),
7537 
7538         .oscore_aead_alg = &test_vector_5_oscore_aead_alg,
7539 
7540         .oscore_hash_alg = &test_vector_5_oscore_hash_alg,
7541 
7542         .client_sender_id_raw = test_vector_5_client_sender_id_raw,
7543         .client_sender_id_raw_len = sizeof(test_vector_5_client_sender_id_raw),
7544 
7545         .server_sender_id_raw = test_vector_5_server_sender_id_raw,
7546         .server_sender_id_raw_len = sizeof(test_vector_5_server_sender_id_raw),
7547 
7548         .info_oscore_secret = test_vector_5_info_oscore_secret,
7549         .info_oscore_secret_len = sizeof(test_vector_5_info_oscore_secret),
7550 
7551         .oscore_secret_raw = test_vector_5_oscore_secret_raw,
7552         .oscore_secret_raw_len = sizeof(test_vector_5_oscore_secret_raw),
7553 
7554         .info_oscore_salt = test_vector_5_info_oscore_salt,
7555         .info_oscore_salt_len = sizeof(test_vector_5_info_oscore_salt),
7556 
7557         .oscore_salt_raw = test_vector_5_oscore_salt_raw,
7558         .oscore_salt_raw_len = sizeof(test_vector_5_oscore_salt_raw),
7559 
7560         .key_update_nonce_raw = NULL,
7561         .key_update_nonce_raw_len = 0,
7562 
7563         .prk_4x3m_key_update_raw = NULL,
7564         .prk_4x3m_key_update_raw_len = 0,
7565 
7566         .oscore_secret_key_update_raw = test_vector_5_oscore_secret_key_update_raw,
7567         .oscore_secret_key_update_raw_len = sizeof(test_vector_5_oscore_secret_key_update_raw),
7568 
7569         .oscore_salt_key_update_raw = test_vector_5_oscore_salt_key_update_raw,
7570         .oscore_salt_key_update_raw_len = sizeof(test_vector_5_oscore_salt_key_update_raw),
7571 
7572         .ca_r = test_vector_5_ca_r,
7573         .ca_r_len = sizeof(test_vector_5_ca_r),
7574 
7575         .ca_i = test_vector_5_ca_i,
7576         .ca_i_len = sizeof(test_vector_5_ca_i),
7577 
7578         .ca_r_pk = test_vector_5_ca_r_pk,
7579         .ca_r_pk_len = sizeof(test_vector_5_ca_r_pk),
7580 
7581         .ca_i_pk = test_vector_5_ca_i_pk,
7582         .ca_i_pk_len = sizeof(test_vector_5_ca_i_pk),
7583 
7584         .i_raw = test_vector_5_i_raw,
7585         .i_raw_len = sizeof(test_vector_5_i_raw),
7586 
7587         .g_i_raw = test_vector_5_g_i_raw,
7588         .g_i_raw_len = sizeof(test_vector_5_g_i_raw),
7589 
7590         .r_raw = test_vector_5_r_raw,
7591         .r_raw_len = sizeof(test_vector_5_r_raw),
7592 
7593         .g_r_raw = test_vector_5_g_r_raw,
7594         .g_r_raw_len = sizeof(test_vector_5_g_r_raw),
7595 
7596         .c_i_raw = NULL,
7597         .c_i_raw_len = 0,
7598         .c_i_raw_int =  &test_vector_5_c_i_raw,
7599 
7600         .c_r_raw = NULL,
7601         .c_r_raw_len = 0,
7602         .c_r_raw_int =  &test_vector_5_c_r_raw,
7603 	},
7604 /*--------------- test_vector_6 ------------*/
7605 
7606 	{
7607         .method = test_vector_6_method,
7608         .method_len = sizeof(test_vector_6_method),
7609 
7610         .SUITES_I = test_vector_6_SUITES_I,
7611         .SUITES_I_len = sizeof(test_vector_6_SUITES_I),
7612 
7613         .SUITES_R = test_vector_6_SUITES_R,
7614         .SUITES_R_len = sizeof(test_vector_6_SUITES_R),
7615 
7616         .x_raw = test_vector_6_x_raw,
7617         .x_raw_len = sizeof(test_vector_6_x_raw),
7618 
7619         .g_x_raw = test_vector_6_g_x_raw,
7620         .g_x_raw_len = sizeof(test_vector_6_g_x_raw),
7621 
7622         .g_x = test_vector_6_g_x,
7623         .g_x_len = sizeof(test_vector_6_g_x),
7624 
7625         .c_i = test_vector_6_c_i,
7626         .c_i_len = sizeof(test_vector_6_c_i),
7627 
7628         .ead_1 = test_vector_6_ead_1,
7629         .ead_1_len = sizeof(test_vector_6_ead_1),
7630 
7631         .message_1 = test_vector_6_message_1,
7632         .message_1_len = sizeof(test_vector_6_message_1),
7633 
7634         .y_raw = test_vector_6_y_raw,
7635         .y_raw_len = sizeof(test_vector_6_y_raw),
7636 
7637         .g_y_raw = test_vector_6_g_y_raw,
7638         .g_y_raw_len = sizeof(test_vector_6_g_y_raw),
7639 
7640         .g_y = test_vector_6_g_y,
7641         .g_y_len = sizeof(test_vector_6_g_y),
7642 
7643         .g_xy_raw = test_vector_6_g_xy_raw,
7644         .g_xy_raw_len = sizeof(test_vector_6_g_xy_raw),
7645 
7646         .salt_raw = test_vector_6_salt_raw,
7647         .salt_raw_len = sizeof(test_vector_6_salt_raw),
7648 
7649         .prk_2e_raw = test_vector_6_prk_2e_raw,
7650         .prk_2e_raw_len = sizeof(test_vector_6_prk_2e_raw),
7651 
7652         .sk_r_raw = NULL,
7653         .sk_r_raw_len = 0,
7654 
7655         .pk_r_raw = NULL,
7656         .pk_r_raw_len = 0,
7657 
7658         .prk_3e2m_raw = test_vector_6_prk_3e2m_raw,
7659         .prk_3e2m_raw_len = sizeof(test_vector_6_prk_3e2m_raw),
7660 
7661         .c_r = test_vector_6_c_r,
7662         .c_r_len = sizeof(test_vector_6_c_r),
7663 
7664         .h_message_1_raw = test_vector_6_h_message_1_raw,
7665         .h_message_1_raw_len = sizeof(test_vector_6_h_message_1_raw),
7666 
7667         .h_message_1 = test_vector_6_h_message_1,
7668         .h_message_1_len = sizeof(test_vector_6_h_message_1),
7669 
7670         .input_th_2 = test_vector_6_input_th_2,
7671         .input_th_2_len = sizeof(test_vector_6_input_th_2),
7672 
7673         .th_2_raw = test_vector_6_th_2_raw,
7674         .th_2_raw_len = sizeof(test_vector_6_th_2_raw),
7675 
7676         .th_2 = test_vector_6_th_2,
7677         .th_2_len = sizeof(test_vector_6_th_2),
7678 
7679         .id_cred_r = test_vector_6_id_cred_r,
7680         .id_cred_r_len = sizeof(test_vector_6_id_cred_r),
7681 
7682         .cred_r = test_vector_6_cred_r,
7683         .cred_r_len = sizeof(test_vector_6_cred_r),
7684 
7685         .ead_2 = test_vector_6_ead_2,
7686         .ead_2_len = sizeof(test_vector_6_ead_2),
7687 
7688         .info_mac_2 = test_vector_6_info_mac_2,
7689         .info_mac_2_len = sizeof(test_vector_6_info_mac_2),
7690 
7691         .mac_2_raw = test_vector_6_mac_2_raw,
7692         .mac_2_raw_len = sizeof(test_vector_6_mac_2_raw),
7693 
7694         .mac_2 = test_vector_6_mac_2,
7695         .mac_2_len = sizeof(test_vector_6_mac_2),
7696 
7697         .m_2 = NULL,
7698         .m_2_len = 0,
7699 
7700         .sig_or_mac_2_raw = test_vector_6_sig_or_mac_2_raw,
7701         .sig_or_mac_2_raw_len = sizeof(test_vector_6_sig_or_mac_2_raw),
7702 
7703         .sig_or_mac_2 = test_vector_6_sig_or_mac_2,
7704         .sig_or_mac_2_len = sizeof(test_vector_6_sig_or_mac_2),
7705 
7706         .plaintext_2 = test_vector_6_plaintext_2,
7707         .plaintext_2_len = sizeof(test_vector_6_plaintext_2),
7708 
7709         .info_keystream_2 = test_vector_6_info_keystream_2,
7710         .info_keystream_2_len = sizeof(test_vector_6_info_keystream_2),
7711 
7712         .keystream_2_raw = test_vector_6_keystream_2_raw,
7713         .keystream_2_raw_len = sizeof(test_vector_6_keystream_2_raw),
7714 
7715         .ciphertext_2_raw = test_vector_6_ciphertext_2_raw,
7716         .ciphertext_2_raw_len = sizeof(test_vector_6_ciphertext_2_raw),
7717 
7718         .ciphertext_2 = test_vector_6_ciphertext_2,
7719         .ciphertext_2_len = sizeof(test_vector_6_ciphertext_2),
7720 
7721         .message_2 = test_vector_6_message_2,
7722         .message_2_len = sizeof(test_vector_6_message_2),
7723 
7724         .sk_i_raw = NULL,
7725         .sk_i_raw_len = 0,
7726 
7727         .pk_i_raw = NULL,
7728         .pk_i_raw_len = 0,
7729 
7730         .prk_4x3m_raw = NULL,
7731         .prk_4x3m_raw_len = 0,
7732 
7733         .input_TH_3 = test_vector_6_input_TH_3,
7734         .input_TH_3_len = sizeof(test_vector_6_input_TH_3),
7735 
7736         .th_3_raw = test_vector_6_th_3_raw,
7737         .th_3_raw_len = sizeof(test_vector_6_th_3_raw),
7738 
7739         .th_3 = test_vector_6_th_3,
7740         .th_3_len = sizeof(test_vector_6_th_3),
7741 
7742         .id_cred_i = test_vector_6_id_cred_i,
7743         .id_cred_i_len = sizeof(test_vector_6_id_cred_i),
7744 
7745         .cred_i = test_vector_6_cred_i,
7746         .cred_i_len = sizeof(test_vector_6_cred_i),
7747 
7748         .ead_3 = test_vector_6_ead_3,
7749         .ead_3_len = sizeof(test_vector_6_ead_3),
7750 
7751         .info_mac_3 = test_vector_6_info_mac_3,
7752         .info_mac_3_len = sizeof(test_vector_6_info_mac_3),
7753 
7754         .mac_3_raw = test_vector_6_mac_3_raw,
7755         .mac_3_raw_len = sizeof(test_vector_6_mac_3_raw),
7756 
7757         .mac_3 = test_vector_6_mac_3,
7758         .mac_3_len = sizeof(test_vector_6_mac_3),
7759 
7760         .m_3 = NULL,
7761         .m_3_len = 0,
7762 
7763         .sig_or_mac_3_raw = test_vector_6_sig_or_mac_3_raw,
7764         .sig_or_mac_3_raw_len = sizeof(test_vector_6_sig_or_mac_3_raw),
7765 
7766         .sig_or_mac_3 = test_vector_6_sig_or_mac_3,
7767         .sig_or_mac_3_len = sizeof(test_vector_6_sig_or_mac_3),
7768 
7769         .p_3 = test_vector_6_p_3,
7770         .p_3_len = sizeof(test_vector_6_p_3),
7771 
7772         .a_3 = test_vector_6_a_3,
7773         .a_3_len = sizeof(test_vector_6_a_3),
7774 
7775         .info_k_3 = test_vector_6_info_k_3,
7776         .info_k_3_len = sizeof(test_vector_6_info_k_3),
7777 
7778         .k_3_raw = test_vector_6_k_3_raw,
7779         .k_3_raw_len = sizeof(test_vector_6_k_3_raw),
7780 
7781         .info_iv_3 = test_vector_6_info_iv_3,
7782         .info_iv_3_len = sizeof(test_vector_6_info_iv_3),
7783 
7784         .iv_3_raw = test_vector_6_iv_3_raw,
7785         .iv_3_raw_len = sizeof(test_vector_6_iv_3_raw),
7786 
7787         .ciphertext_3_raw = test_vector_6_ciphertext_3_raw,
7788         .ciphertext_3_raw_len = sizeof(test_vector_6_ciphertext_3_raw),
7789 
7790         .ciphertext_3 = test_vector_6_ciphertext_3,
7791         .ciphertext_3_len = sizeof(test_vector_6_ciphertext_3),
7792 
7793         .message_3 = test_vector_6_message_3,
7794         .message_3_len = sizeof(test_vector_6_message_3),
7795 
7796         .input_th_4 = test_vector_6_input_th_4,
7797         .input_th_4_len = sizeof(test_vector_6_input_th_4),
7798 
7799         .th_4_raw = test_vector_6_th_4_raw,
7800         .th_4_raw_len = sizeof(test_vector_6_th_4_raw),
7801 
7802         .th_4 = test_vector_6_th_4,
7803         .th_4_len = sizeof(test_vector_6_th_4),
7804 
7805         .ead_4 = test_vector_6_ead_4,
7806         .ead_4_len = sizeof(test_vector_6_ead_4),
7807 
7808         .p_4 = test_vector_6_p_4,
7809         .p_4_len = sizeof(test_vector_6_p_4),
7810 
7811         .a_4 = test_vector_6_a_4,
7812         .a_4_len = sizeof(test_vector_6_a_4),
7813 
7814         .info_k_4 = test_vector_6_info_k_4,
7815         .info_k_4_len = sizeof(test_vector_6_info_k_4),
7816 
7817         .k_4_raw = test_vector_6_k_4_raw,
7818         .k_4_raw_len = sizeof(test_vector_6_k_4_raw),
7819 
7820         .info_iv_4 = test_vector_6_info_iv_4,
7821         .info_iv_4_len = sizeof(test_vector_6_info_iv_4),
7822 
7823         .iv_4_raw = test_vector_6_iv_4_raw,
7824         .iv_4_raw_len = sizeof(test_vector_6_iv_4_raw),
7825 
7826         .ciphertext_4_raw = test_vector_6_ciphertext_4_raw,
7827         .ciphertext_4_raw_len = sizeof(test_vector_6_ciphertext_4_raw),
7828 
7829         .ciphertext_4 = test_vector_6_ciphertext_4,
7830         .ciphertext_4_len = sizeof(test_vector_6_ciphertext_4),
7831 
7832         .message_4 = test_vector_6_message_4,
7833         .message_4_len = sizeof(test_vector_6_message_4),
7834 
7835         .oscore_aead_alg = &test_vector_6_oscore_aead_alg,
7836 
7837         .oscore_hash_alg = &test_vector_6_oscore_hash_alg,
7838 
7839         .client_sender_id_raw = test_vector_6_client_sender_id_raw,
7840         .client_sender_id_raw_len = sizeof(test_vector_6_client_sender_id_raw),
7841 
7842         .server_sender_id_raw = test_vector_6_server_sender_id_raw,
7843         .server_sender_id_raw_len = sizeof(test_vector_6_server_sender_id_raw),
7844 
7845         .info_oscore_secret = test_vector_6_info_oscore_secret,
7846         .info_oscore_secret_len = sizeof(test_vector_6_info_oscore_secret),
7847 
7848         .oscore_secret_raw = test_vector_6_oscore_secret_raw,
7849         .oscore_secret_raw_len = sizeof(test_vector_6_oscore_secret_raw),
7850 
7851         .info_oscore_salt = test_vector_6_info_oscore_salt,
7852         .info_oscore_salt_len = sizeof(test_vector_6_info_oscore_salt),
7853 
7854         .oscore_salt_raw = test_vector_6_oscore_salt_raw,
7855         .oscore_salt_raw_len = sizeof(test_vector_6_oscore_salt_raw),
7856 
7857         .key_update_nonce_raw = NULL,
7858         .key_update_nonce_raw_len = 0,
7859 
7860         .prk_4x3m_key_update_raw = NULL,
7861         .prk_4x3m_key_update_raw_len = 0,
7862 
7863         .oscore_secret_key_update_raw = test_vector_6_oscore_secret_key_update_raw,
7864         .oscore_secret_key_update_raw_len = sizeof(test_vector_6_oscore_secret_key_update_raw),
7865 
7866         .oscore_salt_key_update_raw = test_vector_6_oscore_salt_key_update_raw,
7867         .oscore_salt_key_update_raw_len = sizeof(test_vector_6_oscore_salt_key_update_raw),
7868 
7869         .ca_r = test_vector_6_ca_r,
7870         .ca_r_len = sizeof(test_vector_6_ca_r),
7871 
7872         .ca_i = NULL,
7873         .ca_i_len = 0,
7874 
7875         .ca_r_pk = test_vector_6_ca_r_pk,
7876         .ca_r_pk_len = sizeof(test_vector_6_ca_r_pk),
7877 
7878         .ca_i_pk = NULL,
7879         .ca_i_pk_len = 0,
7880 
7881         .i_raw = test_vector_6_i_raw,
7882         .i_raw_len = sizeof(test_vector_6_i_raw),
7883 
7884         .g_i_raw = test_vector_6_g_i_raw,
7885         .g_i_raw_len = sizeof(test_vector_6_g_i_raw),
7886 
7887         .r_raw = test_vector_6_r_raw,
7888         .r_raw_len = sizeof(test_vector_6_r_raw),
7889 
7890         .g_r_raw = test_vector_6_g_r_raw,
7891         .g_r_raw_len = sizeof(test_vector_6_g_r_raw),
7892 
7893         .c_i_raw = NULL,
7894         .c_i_raw_len = 0,
7895         .c_i_raw_int =  &test_vector_6_c_i_raw,
7896 
7897         .c_r_raw = NULL,
7898         .c_r_raw_len = 0,
7899         .c_r_raw_int =  &test_vector_6_c_r_raw,
7900 	},
7901 };