1 /*This is an automatically generated file!*/ 2 3 #include "edhoc.h" 4 #include <stdint.h> 5 #include <stdio.h> 6 #include <stdlib.h> 7 8 9 struct test_vector { 10 const uint8_t *method; 11 uint32_t method_len; 12 13 const uint8_t *SUITES_I; 14 uint32_t SUITES_I_len; 15 16 const uint8_t *SUITES_R; 17 uint32_t SUITES_R_len; 18 19 const uint8_t *x_raw; 20 uint32_t x_raw_len; 21 22 const uint8_t *g_x_raw; 23 uint32_t g_x_raw_len; 24 25 const uint8_t *g_x; 26 uint32_t g_x_len; 27 28 const uint8_t *c_i; 29 uint32_t c_i_len; 30 31 const uint8_t *ead_1; 32 uint32_t ead_1_len; 33 34 const uint8_t *message_1; 35 uint32_t message_1_len; 36 37 const uint8_t *y_raw; 38 uint32_t y_raw_len; 39 40 const uint8_t *g_y_raw; 41 uint32_t g_y_raw_len; 42 43 const uint8_t *g_y; 44 uint32_t g_y_len; 45 46 const uint8_t *g_xy_raw; 47 uint32_t g_xy_raw_len; 48 49 const uint8_t *salt_raw; 50 uint32_t salt_raw_len; 51 52 const uint8_t *prk_2e_raw; 53 uint32_t prk_2e_raw_len; 54 55 const uint8_t *sk_r_raw; 56 uint32_t sk_r_raw_len; 57 58 const uint8_t *pk_r_raw; 59 uint32_t pk_r_raw_len; 60 61 const uint8_t *prk_3e2m_raw; 62 uint32_t prk_3e2m_raw_len; 63 64 const uint8_t *c_r; 65 uint32_t c_r_len; 66 67 const uint8_t *h_message_1_raw; 68 uint32_t h_message_1_raw_len; 69 70 const uint8_t *h_message_1; 71 uint32_t h_message_1_len; 72 73 const uint8_t *input_th_2; 74 uint32_t input_th_2_len; 75 76 const uint8_t *th_2_raw; 77 uint32_t th_2_raw_len; 78 79 const uint8_t *th_2; 80 uint32_t th_2_len; 81 82 const uint8_t *id_cred_r; 83 uint32_t id_cred_r_len; 84 85 const uint8_t *cred_r; 86 uint32_t cred_r_len; 87 88 const uint8_t *ead_2; 89 uint32_t ead_2_len; 90 91 const uint8_t *info_mac_2; 92 uint32_t info_mac_2_len; 93 94 const uint8_t *mac_2_raw; 95 uint32_t mac_2_raw_len; 96 97 const uint8_t *mac_2; 98 uint32_t mac_2_len; 99 100 const uint8_t *m_2; 101 uint32_t m_2_len; 102 103 const uint8_t *sig_or_mac_2_raw; 104 uint32_t sig_or_mac_2_raw_len; 105 106 const uint8_t *sig_or_mac_2; 107 uint32_t sig_or_mac_2_len; 108 109 const uint8_t *plaintext_2; 110 uint32_t plaintext_2_len; 111 112 const uint8_t *info_keystream_2; 113 uint32_t info_keystream_2_len; 114 115 const uint8_t *keystream_2_raw; 116 uint32_t keystream_2_raw_len; 117 118 const uint8_t *ciphertext_2_raw; 119 uint32_t ciphertext_2_raw_len; 120 121 const uint8_t *ciphertext_2; 122 uint32_t ciphertext_2_len; 123 124 const uint8_t *message_2; 125 uint32_t message_2_len; 126 127 const uint8_t *sk_i_raw; 128 uint32_t sk_i_raw_len; 129 130 const uint8_t *pk_i_raw; 131 uint32_t pk_i_raw_len; 132 133 const uint8_t *prk_4x3m_raw; 134 uint32_t prk_4x3m_raw_len; 135 136 const uint8_t *input_TH_3; 137 uint32_t input_TH_3_len; 138 139 const uint8_t *th_3_raw; 140 uint32_t th_3_raw_len; 141 142 const uint8_t *th_3; 143 uint32_t th_3_len; 144 145 const uint8_t *id_cred_i; 146 uint32_t id_cred_i_len; 147 148 const uint8_t *cred_i; 149 uint32_t cred_i_len; 150 151 const uint8_t *ead_3; 152 uint32_t ead_3_len; 153 154 const uint8_t *info_mac_3; 155 uint32_t info_mac_3_len; 156 157 const uint8_t *mac_3_raw; 158 uint32_t mac_3_raw_len; 159 160 const uint8_t *mac_3; 161 uint32_t mac_3_len; 162 163 const uint8_t *m_3; 164 uint32_t m_3_len; 165 166 const uint8_t *sig_or_mac_3_raw; 167 uint32_t sig_or_mac_3_raw_len; 168 169 const uint8_t *sig_or_mac_3; 170 uint32_t sig_or_mac_3_len; 171 172 const uint8_t *p_3; 173 uint32_t p_3_len; 174 175 const uint8_t *a_3; 176 uint32_t a_3_len; 177 178 const uint8_t *info_k_3; 179 uint32_t info_k_3_len; 180 181 const uint8_t *k_3_raw; 182 uint32_t k_3_raw_len; 183 184 const uint8_t *info_iv_3; 185 uint32_t info_iv_3_len; 186 187 const uint8_t *iv_3_raw; 188 uint32_t iv_3_raw_len; 189 190 const uint8_t *ciphertext_3_raw; 191 uint32_t ciphertext_3_raw_len; 192 193 const uint8_t *ciphertext_3; 194 uint32_t ciphertext_3_len; 195 196 const uint8_t *message_3; 197 uint32_t message_3_len; 198 199 const uint8_t *input_th_4; 200 uint32_t input_th_4_len; 201 202 const uint8_t *th_4_raw; 203 uint32_t th_4_raw_len; 204 205 const uint8_t *th_4; 206 uint32_t th_4_len; 207 208 const uint8_t *ead_4; 209 uint32_t ead_4_len; 210 211 const uint8_t *p_4; 212 uint32_t p_4_len; 213 214 const uint8_t *a_4; 215 uint32_t a_4_len; 216 217 const uint8_t *info_k_4; 218 uint32_t info_k_4_len; 219 220 const uint8_t *k_4_raw; 221 uint32_t k_4_raw_len; 222 223 const uint8_t *info_iv_4; 224 uint32_t info_iv_4_len; 225 226 const uint8_t *iv_4_raw; 227 uint32_t iv_4_raw_len; 228 229 const uint8_t *ciphertext_4_raw; 230 uint32_t ciphertext_4_raw_len; 231 232 const uint8_t *ciphertext_4; 233 uint32_t ciphertext_4_len; 234 235 const uint8_t *message_4; 236 uint32_t message_4_len; 237 238 int32_t *oscore_aead_alg; 239 240 int32_t *oscore_hash_alg; 241 242 const uint8_t *client_sender_id_raw; 243 uint32_t client_sender_id_raw_len; 244 245 const uint8_t *server_sender_id_raw; 246 uint32_t server_sender_id_raw_len; 247 248 const uint8_t *info_oscore_secret; 249 uint32_t info_oscore_secret_len; 250 251 const uint8_t *oscore_secret_raw; 252 uint32_t oscore_secret_raw_len; 253 254 const uint8_t *info_oscore_salt; 255 uint32_t info_oscore_salt_len; 256 257 const uint8_t *oscore_salt_raw; 258 uint32_t oscore_salt_raw_len; 259 260 const uint8_t *key_update_nonce_raw; 261 uint32_t key_update_nonce_raw_len; 262 263 const uint8_t *prk_4x3m_key_update_raw; 264 uint32_t prk_4x3m_key_update_raw_len; 265 266 const uint8_t *oscore_secret_key_update_raw; 267 uint32_t oscore_secret_key_update_raw_len; 268 269 const uint8_t *oscore_salt_key_update_raw; 270 uint32_t oscore_salt_key_update_raw_len; 271 272 const uint8_t *ca_r; 273 uint32_t ca_r_len; 274 275 const uint8_t *ca_i; 276 uint32_t ca_i_len; 277 278 const uint8_t *ca_r_pk; 279 uint32_t ca_r_pk_len; 280 281 const uint8_t *ca_i_pk; 282 uint32_t ca_i_pk_len; 283 284 const uint8_t *i_raw; 285 uint32_t i_raw_len; 286 287 const uint8_t *g_i_raw; 288 uint32_t g_i_raw_len; 289 290 const uint8_t *r_raw; 291 uint32_t r_raw_len; 292 293 const uint8_t *g_r_raw; 294 uint32_t g_r_raw_len; 295 296 const uint8_t *c_i_raw; 297 uint32_t c_i_raw_len; 298 int32_t *c_i_raw_int; 299 300 const uint8_t *c_r_raw; 301 uint32_t c_r_raw_len; 302 int32_t *c_r_raw_int; 303 }; 304 305 306 /***************** test_vector_1 ************/ 307 308 static const uint8_t test_vector_1_method[] = { 309 0x00}; 310 static const uint8_t test_vector_1_SUITES_I[] = { 311 0x02}; 312 static const uint8_t test_vector_1_SUITES_R[] = { 313 0x02}; 314 static const uint8_t test_vector_1_x_raw[] = { 315 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 316 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 317 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 318 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 319 static const uint8_t test_vector_1_g_x_raw[] = { 320 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 321 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 322 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 323 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 324 static const uint8_t test_vector_1_g_x_raw_y_coordinate[] = { 325 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 326 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 327 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 328 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 329 static const uint8_t test_vector_1_g_x[] = { 330 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 331 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 332 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 333 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 334 0xc3, 0xb6}; 335 int32_t test_vector_1_c_i_raw = -24; 336 static const uint8_t test_vector_1_c_i[] = { 337 0x37}; 338 static const uint8_t test_vector_1_ead_1[] = { 339 }; 340 static const uint8_t test_vector_1_message_1[] = { 341 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 342 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 343 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 344 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 345 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 346 static const uint8_t test_vector_1_y_raw[] = { 347 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 348 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 349 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 350 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 351 static const uint8_t test_vector_1_g_y_raw[] = { 352 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 353 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 354 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 355 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 356 static const uint8_t test_vector_1_g_y_raw_y_coordinate[] = { 357 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 358 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 359 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 360 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 361 static const uint8_t test_vector_1_g_y[] = { 362 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 363 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 364 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 365 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 366 0xf5, 0xd5}; 367 static const uint8_t test_vector_1_g_xy_raw[] = { 368 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 369 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 370 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 371 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 372 static const uint8_t test_vector_1_salt_raw[] = { 373 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 375 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 377 static const uint8_t test_vector_1_prk_2e_raw[] = { 378 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 379 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 380 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 381 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 382 static const uint8_t test_vector_1_salt_3e2m[] = { 383 0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9, 384 0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11, 385 0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff, 386 0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01}; 387 static const uint8_t test_vector_1_sk_r_raw[] = { 388 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 389 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 390 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 391 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 392 static const uint8_t test_vector_1_pk_r_raw[] = { 393 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 394 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 395 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 396 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 397 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 398 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 399 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 400 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 401 0x72}; 402 static const uint8_t test_vector_1_prk_3e2m_raw[] = { 403 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 404 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 405 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 406 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 407 int32_t test_vector_1_c_r_raw = -8; 408 static const uint8_t test_vector_1_c_r[] = { 409 0x27}; 410 static const uint8_t test_vector_1_h_message_1_raw[] = { 411 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 412 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 413 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 414 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 415 static const uint8_t test_vector_1_h_message_1[] = { 416 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 417 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 418 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 419 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 420 0x67, 0x26}; 421 static const uint8_t test_vector_1_input_th_2[] = { 422 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 423 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 424 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 425 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 426 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 427 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 428 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 429 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 430 0x18, 0x2a, 0x4e, 0x67, 0x26}; 431 static const uint8_t test_vector_1_th_2_raw[] = { 432 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 433 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 434 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 435 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 436 static const uint8_t test_vector_1_th_2[] = { 437 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 438 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 439 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 440 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 441 0xab, 0xa6}; 442 static const uint8_t test_vector_1_id_cred_r[] = { 443 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 444 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 445 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 446 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 447 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 448 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 449 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 450 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 451 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 452 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 453 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 454 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 455 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 456 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 457 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 458 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 459 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 460 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 461 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 462 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 463 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 464 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 465 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 466 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 467 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 468 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 469 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 470 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 471 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 472 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 473 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 474 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 475 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 476 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 477 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 478 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 479 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58}; 480 static const uint8_t test_vector_1_cred_r[] = { 481 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 482 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 483 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 484 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 485 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 486 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 487 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 488 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 489 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 490 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 491 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 492 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 493 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 494 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 495 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 496 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 497 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 498 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 499 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 500 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 501 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 502 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 503 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 504 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 505 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 506 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 507 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 508 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 509 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 510 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 511 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 512 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 513 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 514 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 515 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 516 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 517 0x3b, 0x13, 0x3d, 0x05, 0x58}; 518 static const uint8_t test_vector_1_ca_r[] = { 519 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 520 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 521 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 522 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 523 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 524 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 525 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 526 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 527 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 528 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 529 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 530 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 531 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 532 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 533 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 534 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 535 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 536 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 537 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 538 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 539 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 540 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 541 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 542 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 543 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 544 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 545 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 546 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 547 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 548 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 549 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 550 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 551 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 552 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 553 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 554 0x13, 0x6b, 0xf3, 0x06}; 555 static const uint8_t test_vector_1_ca_r_pk[] = { 556 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 557 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 558 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 559 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 560 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 561 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 562 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 563 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 564 0x95}; 565 static const uint8_t test_vector_1_ead_2[] = { 566 }; 567 static const uint8_t test_vector_1_info_mac_2[] = { 568 0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59, 569 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 570 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 571 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 572 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 573 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 574 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 575 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 576 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 577 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 578 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 579 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 580 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 581 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 582 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 583 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 584 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 585 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 586 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 587 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 588 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 589 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 590 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 591 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 592 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 593 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 594 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 595 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 596 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 597 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 598 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 599 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 600 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 601 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 602 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 603 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 604 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 605 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xe9, 0x2b, 606 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 607 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 608 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 609 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 610 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 611 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 612 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 613 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 614 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 615 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 616 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 617 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 618 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 619 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 620 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 621 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 622 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 623 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 624 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 625 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 626 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 627 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 628 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 629 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 630 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 631 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 632 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 633 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 634 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 635 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 636 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 637 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 638 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 639 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 640 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 641 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 642 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 643 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 644 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 645 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 646 0x3d, 0x05, 0x58, 0x18, 0x20}; 647 static const uint8_t test_vector_1_mac_2_raw[] = { 648 0xd5, 0x38, 0xb0, 0x78, 0xcb, 0x4f, 0x31, 0x51, 649 0xff, 0x55, 0x47, 0xd7, 0xa8, 0xc1, 0x23, 0x92, 650 0xac, 0x48, 0x63, 0x23, 0x4d, 0xba, 0x3a, 0x9f, 651 0x39, 0xe0, 0x00, 0xb2, 0xec, 0x94, 0xb8, 0x3d}; 652 static const uint8_t test_vector_1_mac_2[] = { 653 0x58, 0x20, 0xd5, 0x38, 0xb0, 0x78, 0xcb, 0x4f, 654 0x31, 0x51, 0xff, 0x55, 0x47, 0xd7, 0xa8, 0xc1, 655 0x23, 0x92, 0xac, 0x48, 0x63, 0x23, 0x4d, 0xba, 656 0x3a, 0x9f, 0x39, 0xe0, 0x00, 0xb2, 0xec, 0x94, 657 0xb8, 0x3d}; 658 static const uint8_t test_vector_1_m_2[] = { 659 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 660 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 661 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 662 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 663 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 664 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 665 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 666 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 667 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 668 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 669 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 670 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 671 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 672 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 673 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 674 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 675 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 676 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 677 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 678 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 679 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 680 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 681 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 682 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 683 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 684 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 685 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 686 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 687 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 688 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 689 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 690 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 691 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 692 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 693 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 694 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 695 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 696 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 697 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59, 698 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 699 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 700 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 701 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 702 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30, 703 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 704 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 705 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 706 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 707 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 708 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 709 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 710 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 711 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 712 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 713 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 714 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 715 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 716 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 717 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 718 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 719 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 720 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 721 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 722 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 723 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 724 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 725 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 726 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 727 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 728 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 729 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 730 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 731 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 732 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 733 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 734 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 735 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 736 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 737 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 738 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 739 0x58, 0x58, 0x20, 0xd5, 0x38, 0xb0, 0x78, 0xcb, 740 0x4f, 0x31, 0x51, 0xff, 0x55, 0x47, 0xd7, 0xa8, 741 0xc1, 0x23, 0x92, 0xac, 0x48, 0x63, 0x23, 0x4d, 742 0xba, 0x3a, 0x9f, 0x39, 0xe0, 0x00, 0xb2, 0xec, 743 0x94, 0xb8, 0x3d}; 744 static const uint8_t test_vector_1_sig_or_mac_2_raw[] = { 745 0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36, 0x91, 0xf4, 746 0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd, 0x42, 0x0f, 747 0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4, 0xee, 0x47, 748 0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17, 0x17, 0xaf, 749 0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76, 0x4e, 0xfc, 750 0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc, 0xf8, 0xf2, 751 0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed, 0xb7, 0xaa, 752 0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf, 0x96, 0xfd}; 753 static const uint8_t test_vector_1_sig_or_mac_2[] = { 754 0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36, 755 0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd, 756 0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4, 757 0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17, 758 0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76, 759 0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc, 760 0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed, 761 0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf, 762 0x96, 0xfd}; 763 static const uint8_t test_vector_1_plaintext_2[] = { 764 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 765 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 766 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 767 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 768 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 769 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 770 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 771 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 772 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 773 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 774 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 775 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 776 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 777 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 778 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 779 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 780 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 781 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 782 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 783 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 784 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 785 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 786 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 787 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 788 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 789 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 790 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 791 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 792 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 793 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 794 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 795 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 796 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 797 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 798 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 799 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 800 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 801 0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d, 0x87, 0x36, 802 0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33, 0xf6, 0xfd, 803 0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56, 0x2b, 0xe4, 804 0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43, 0xad, 0x17, 805 0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48, 0xbe, 0x76, 806 0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74, 0x80, 0xbc, 807 0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55, 0x00, 0xed, 808 0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c, 0xad, 0xbf, 809 0x96, 0xfd}; 810 static const uint8_t test_vector_1_info_keystream_2[] = { 811 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 812 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 813 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 814 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 815 0xfb, 0xab, 0xa6, 0x19, 0x01, 0x6a}; 816 static const uint8_t test_vector_1_keystream_2_raw[] = { 817 0xdc, 0x1a, 0x12, 0x50, 0x37, 0xd4, 0x3f, 0x39, 818 0xe9, 0xb5, 0xb1, 0x06, 0x56, 0x18, 0x35, 0xfd, 819 0xd1, 0x5c, 0xd2, 0x86, 0x32, 0xf7, 0xbe, 0xb4, 820 0xf1, 0x80, 0xc1, 0x9c, 0x66, 0x3e, 0xce, 0xc5, 821 0x82, 0xc2, 0xef, 0xce, 0x13, 0x12, 0x71, 0x3c, 822 0x9a, 0x83, 0x81, 0x1e, 0x26, 0xea, 0x16, 0xa8, 823 0x3f, 0x0b, 0x58, 0x00, 0xe2, 0x94, 0xf8, 0xc5, 824 0x82, 0xac, 0xc6, 0x13, 0x7a, 0x16, 0x75, 0x7b, 825 0xed, 0xff, 0xd5, 0xb2, 0x3b, 0x8a, 0x21, 0x55, 826 0xc5, 0xe5, 0xaf, 0x14, 0x8d, 0x76, 0x4c, 0x25, 827 0xdd, 0xa2, 0x97, 0x00, 0xdd, 0xa5, 0x80, 0xc3, 828 0xf9, 0x3a, 0xe1, 0x03, 0x21, 0x9d, 0xe6, 0x2f, 829 0xd7, 0x9b, 0x3e, 0xb3, 0x72, 0xdf, 0xd7, 0x57, 830 0x78, 0x49, 0xed, 0x13, 0x2d, 0xd8, 0x09, 0x11, 831 0x9d, 0x52, 0xa9, 0x86, 0x12, 0x7f, 0x99, 0xfa, 832 0x81, 0xe3, 0x7d, 0x0c, 0x55, 0xca, 0x41, 0xd7, 833 0xb3, 0x25, 0xa2, 0xfb, 0x80, 0xf1, 0xae, 0xc7, 834 0x4e, 0x0d, 0x26, 0xf1, 0xb1, 0x5b, 0x61, 0xe1, 835 0x22, 0x66, 0xfb, 0x67, 0xf0, 0xe3, 0xc6, 0x11, 836 0xad, 0xd6, 0xb3, 0x48, 0xfe, 0xe7, 0xc0, 0xe0, 837 0xdd, 0x29, 0x78, 0x33, 0x95, 0x65, 0x06, 0xbd, 838 0xcb, 0x94, 0x64, 0x99, 0xf1, 0x7b, 0x3d, 0x80, 839 0x13, 0x73, 0xe8, 0x4a, 0x33, 0xd7, 0xc3, 0xd1, 840 0x26, 0xe2, 0x62, 0x4c, 0x99, 0x79, 0x4d, 0xc2, 841 0x97, 0x1c, 0x74, 0x1e, 0xbf, 0x4f, 0xf5, 0x19, 842 0x4a, 0xe7, 0x33, 0x0c, 0xc7, 0xfa, 0xbb, 0xb3, 843 0x40, 0xd7, 0xe2, 0x8c, 0xbd, 0x06, 0x53, 0x07, 844 0x79, 0xeb, 0x8e, 0x82, 0x9f, 0x8f, 0x8d, 0xb3, 845 0xde, 0x60, 0xb0, 0x2e, 0x46, 0x15, 0x51, 0x23, 846 0x77, 0x12, 0x52, 0xf7, 0xf1, 0x11, 0x32, 0x49, 847 0x37, 0x45, 0xab, 0x48, 0xe6, 0x51, 0xe1, 0xed, 848 0x9e, 0x5e, 0x71, 0xfd, 0xee, 0xb5, 0x01, 0x9c, 849 0x58, 0x40, 0xd2, 0x5c, 0x7c, 0xa3, 0x03, 0x97, 850 0x59, 0xb1, 0x7f, 0x31, 0x7a, 0x49, 0x56, 0x89, 851 0x50, 0x33, 0x70, 0x87, 0x5f, 0xab, 0x97, 0x3c, 852 0x38, 0x1b, 0x75, 0x73, 0x2d, 0x92, 0x05, 0x92, 853 0x88, 0x6a, 0x75, 0x4f, 0x14, 0x74, 0x9d, 0xf3, 854 0x57, 0x0d, 0xa3, 0x4f, 0x35, 0xd1, 0xd6, 0x15, 855 0xf5, 0xdd, 0x03, 0x25, 0x0e, 0xc2, 0x44, 0xd6, 856 0x86, 0x7e, 0x3d, 0x4d, 0x81, 0x70, 0x59, 0x41, 857 0x03, 0x07, 0x38, 0x75, 0x00, 0x37, 0x8b, 0x19, 858 0x68, 0xa1, 0xd6, 0xca, 0xbd, 0xec, 0x01, 0xfa, 859 0x4f, 0x71, 0x4a, 0xf9, 0x0d, 0xf1, 0xdd, 0x8e, 860 0x54, 0xf4, 0x65, 0x13, 0xfb, 0x6f, 0x59, 0x5b, 861 0x26, 0x78, 0x90, 0x4c, 0xb6, 0x21, 0xba, 0x97, 862 0x9d, 0xd1}; 863 static const uint8_t test_vector_1_ciphertext_2_raw[] = { 864 0x7d, 0x02, 0x33, 0x09, 0x36, 0xf6, 0x0f, 0xbb, 865 0xe8, 0xab, 0x81, 0x87, 0x93, 0xb8, 0x36, 0xff, 866 0xd0, 0x5e, 0xd0, 0x82, 0x53, 0x1e, 0x26, 0xaa, 867 0xc1, 0x8a, 0xc7, 0x94, 0x4c, 0xb8, 0x86, 0x0b, 868 0xbf, 0xc6, 0xec, 0xcc, 0x23, 0x07, 0x40, 0x2f, 869 0xaa, 0x92, 0x87, 0x1d, 0x73, 0xee, 0x15, 0xa4, 870 0x35, 0x4e, 0x1c, 0x48, 0xad, 0xd7, 0xd8, 0x97, 871 0xed, 0xc3, 0xb2, 0x23, 0x64, 0x01, 0x78, 0x49, 872 0xdf, 0xcf, 0xe4, 0x80, 0x0b, 0xbb, 0x16, 0x64, 873 0xf6, 0xd5, 0x9d, 0x4e, 0x9a, 0x7b, 0x7e, 0x1c, 874 0xec, 0x90, 0xa4, 0x31, 0xef, 0x96, 0xb0, 0xf3, 875 0xc9, 0x0a, 0xbb, 0x33, 0x3b, 0xac, 0xfe, 0x1f, 876 0xc1, 0x9d, 0x3d, 0xe6, 0x76, 0xdc, 0xdb, 0x58, 877 0x3d, 0x0d, 0xa5, 0x5c, 0x6e, 0xf8, 0x5b, 0x74, 878 0xee, 0x22, 0xc6, 0xe8, 0x76, 0x1a, 0xeb, 0xca, 879 0xd8, 0xd3, 0x6e, 0x0a, 0x52, 0xe0, 0xc7, 0x9f, 880 0x7d, 0x18, 0xa0, 0xfa, 0x86, 0xf9, 0x84, 0x41, 881 0x06, 0xc3, 0x1b, 0xf2, 0xb0, 0x5c, 0x62, 0xa3, 882 0x22, 0x62, 0x40, 0xa4, 0xb9, 0x83, 0x94, 0x7f, 883 0x09, 0x05, 0x9d, 0xdc, 0xf2, 0x4a, 0xea, 0xc3, 884 0x9c, 0x61, 0xa5, 0xf1, 0x82, 0xf4, 0xa7, 0x97, 885 0x30, 0x5f, 0xc8, 0x0a, 0x93, 0x5b, 0x7b, 0x5d, 886 0x57, 0x83, 0xad, 0x53, 0xd1, 0x80, 0xe0, 0xba, 887 0x0c, 0xee, 0x80, 0x4e, 0xa6, 0x70, 0x7c, 0x33, 888 0x64, 0x9a, 0xbe, 0x64, 0x42, 0xe9, 0xba, 0xd4, 889 0xaa, 0xf7, 0xbf, 0x2e, 0x8b, 0xab, 0x51, 0x0c, 890 0x20, 0xa5, 0xd2, 0x86, 0xbb, 0x0e, 0x79, 0x81, 891 0x31, 0x25, 0xb3, 0x86, 0x9c, 0x8d, 0x8e, 0xfb, 892 0xde, 0x50, 0xf5, 0x2c, 0x66, 0x25, 0x48, 0x6d, 893 0x82, 0xee, 0x37, 0x3f, 0x46, 0x84, 0xff, 0x84, 894 0x3c, 0xf1, 0x9a, 0xf7, 0x65, 0xbf, 0x86, 0xac, 895 0x5f, 0x69, 0x7d, 0xdf, 0x26, 0x5e, 0x8f, 0x75, 896 0xb5, 0x92, 0x75, 0x59, 0x65, 0xa1, 0x22, 0x97, 897 0xec, 0x32, 0x71, 0xad, 0xf3, 0xef, 0x7c, 0x4e, 898 0x6c, 0xd2, 0x9b, 0x49, 0x5f, 0xca, 0xe7, 0x41, 899 0x80, 0xb3, 0xfb, 0x50, 0x5d, 0x09, 0x4f, 0x5e, 900 0xd0, 0xcb, 0x44, 0x74, 0x07, 0x49, 0x98, 0xab, 901 0x0f, 0x4d, 0x00, 0x45, 0x65, 0x8c, 0x51, 0x23, 902 0x64, 0x29, 0xe6, 0x5c, 0x2f, 0xf1, 0xb2, 0x2b, 903 0xc4, 0x71, 0x23, 0x3a, 0xa4, 0x26, 0x72, 0xa5, 904 0xed, 0x40, 0x28, 0xdc, 0x5d, 0x74, 0x26, 0x0e, 905 0x7f, 0x0e, 0x08, 0xda, 0x5c, 0xa4, 0xbf, 0x8c, 906 0x01, 0x8d, 0x1b, 0x56, 0x36, 0x85, 0x5d, 0x32, 907 0xac, 0x06, 0xf6, 0x9d, 0x3c, 0x3a, 0x59, 0xb6, 908 0x91, 0xd2, 0xcb, 0xd2, 0x7d, 0x1d, 0x17, 0x28, 909 0x0b, 0x2c}; 910 static const uint8_t test_vector_1_ciphertext_2[] = { 911 0x59, 0x01, 0x6a, 0x7d, 0x02, 0x33, 0x09, 0x36, 912 0xf6, 0x0f, 0xbb, 0xe8, 0xab, 0x81, 0x87, 0x93, 913 0xb8, 0x36, 0xff, 0xd0, 0x5e, 0xd0, 0x82, 0x53, 914 0x1e, 0x26, 0xaa, 0xc1, 0x8a, 0xc7, 0x94, 0x4c, 915 0xb8, 0x86, 0x0b, 0xbf, 0xc6, 0xec, 0xcc, 0x23, 916 0x07, 0x40, 0x2f, 0xaa, 0x92, 0x87, 0x1d, 0x73, 917 0xee, 0x15, 0xa4, 0x35, 0x4e, 0x1c, 0x48, 0xad, 918 0xd7, 0xd8, 0x97, 0xed, 0xc3, 0xb2, 0x23, 0x64, 919 0x01, 0x78, 0x49, 0xdf, 0xcf, 0xe4, 0x80, 0x0b, 920 0xbb, 0x16, 0x64, 0xf6, 0xd5, 0x9d, 0x4e, 0x9a, 921 0x7b, 0x7e, 0x1c, 0xec, 0x90, 0xa4, 0x31, 0xef, 922 0x96, 0xb0, 0xf3, 0xc9, 0x0a, 0xbb, 0x33, 0x3b, 923 0xac, 0xfe, 0x1f, 0xc1, 0x9d, 0x3d, 0xe6, 0x76, 924 0xdc, 0xdb, 0x58, 0x3d, 0x0d, 0xa5, 0x5c, 0x6e, 925 0xf8, 0x5b, 0x74, 0xee, 0x22, 0xc6, 0xe8, 0x76, 926 0x1a, 0xeb, 0xca, 0xd8, 0xd3, 0x6e, 0x0a, 0x52, 927 0xe0, 0xc7, 0x9f, 0x7d, 0x18, 0xa0, 0xfa, 0x86, 928 0xf9, 0x84, 0x41, 0x06, 0xc3, 0x1b, 0xf2, 0xb0, 929 0x5c, 0x62, 0xa3, 0x22, 0x62, 0x40, 0xa4, 0xb9, 930 0x83, 0x94, 0x7f, 0x09, 0x05, 0x9d, 0xdc, 0xf2, 931 0x4a, 0xea, 0xc3, 0x9c, 0x61, 0xa5, 0xf1, 0x82, 932 0xf4, 0xa7, 0x97, 0x30, 0x5f, 0xc8, 0x0a, 0x93, 933 0x5b, 0x7b, 0x5d, 0x57, 0x83, 0xad, 0x53, 0xd1, 934 0x80, 0xe0, 0xba, 0x0c, 0xee, 0x80, 0x4e, 0xa6, 935 0x70, 0x7c, 0x33, 0x64, 0x9a, 0xbe, 0x64, 0x42, 936 0xe9, 0xba, 0xd4, 0xaa, 0xf7, 0xbf, 0x2e, 0x8b, 937 0xab, 0x51, 0x0c, 0x20, 0xa5, 0xd2, 0x86, 0xbb, 938 0x0e, 0x79, 0x81, 0x31, 0x25, 0xb3, 0x86, 0x9c, 939 0x8d, 0x8e, 0xfb, 0xde, 0x50, 0xf5, 0x2c, 0x66, 940 0x25, 0x48, 0x6d, 0x82, 0xee, 0x37, 0x3f, 0x46, 941 0x84, 0xff, 0x84, 0x3c, 0xf1, 0x9a, 0xf7, 0x65, 942 0xbf, 0x86, 0xac, 0x5f, 0x69, 0x7d, 0xdf, 0x26, 943 0x5e, 0x8f, 0x75, 0xb5, 0x92, 0x75, 0x59, 0x65, 944 0xa1, 0x22, 0x97, 0xec, 0x32, 0x71, 0xad, 0xf3, 945 0xef, 0x7c, 0x4e, 0x6c, 0xd2, 0x9b, 0x49, 0x5f, 946 0xca, 0xe7, 0x41, 0x80, 0xb3, 0xfb, 0x50, 0x5d, 947 0x09, 0x4f, 0x5e, 0xd0, 0xcb, 0x44, 0x74, 0x07, 948 0x49, 0x98, 0xab, 0x0f, 0x4d, 0x00, 0x45, 0x65, 949 0x8c, 0x51, 0x23, 0x64, 0x29, 0xe6, 0x5c, 0x2f, 950 0xf1, 0xb2, 0x2b, 0xc4, 0x71, 0x23, 0x3a, 0xa4, 951 0x26, 0x72, 0xa5, 0xed, 0x40, 0x28, 0xdc, 0x5d, 952 0x74, 0x26, 0x0e, 0x7f, 0x0e, 0x08, 0xda, 0x5c, 953 0xa4, 0xbf, 0x8c, 0x01, 0x8d, 0x1b, 0x56, 0x36, 954 0x85, 0x5d, 0x32, 0xac, 0x06, 0xf6, 0x9d, 0x3c, 955 0x3a, 0x59, 0xb6, 0x91, 0xd2, 0xcb, 0xd2, 0x7d, 956 0x1d, 0x17, 0x28, 0x0b, 0x2c}; 957 static const uint8_t test_vector_1_message_2[] = { 958 0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 959 0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 960 0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 961 0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 962 0x4f, 0xf5, 0xd5, 0x7d, 0x02, 0x33, 0x09, 0x36, 963 0xf6, 0x0f, 0xbb, 0xe8, 0xab, 0x81, 0x87, 0x93, 964 0xb8, 0x36, 0xff, 0xd0, 0x5e, 0xd0, 0x82, 0x53, 965 0x1e, 0x26, 0xaa, 0xc1, 0x8a, 0xc7, 0x94, 0x4c, 966 0xb8, 0x86, 0x0b, 0xbf, 0xc6, 0xec, 0xcc, 0x23, 967 0x07, 0x40, 0x2f, 0xaa, 0x92, 0x87, 0x1d, 0x73, 968 0xee, 0x15, 0xa4, 0x35, 0x4e, 0x1c, 0x48, 0xad, 969 0xd7, 0xd8, 0x97, 0xed, 0xc3, 0xb2, 0x23, 0x64, 970 0x01, 0x78, 0x49, 0xdf, 0xcf, 0xe4, 0x80, 0x0b, 971 0xbb, 0x16, 0x64, 0xf6, 0xd5, 0x9d, 0x4e, 0x9a, 972 0x7b, 0x7e, 0x1c, 0xec, 0x90, 0xa4, 0x31, 0xef, 973 0x96, 0xb0, 0xf3, 0xc9, 0x0a, 0xbb, 0x33, 0x3b, 974 0xac, 0xfe, 0x1f, 0xc1, 0x9d, 0x3d, 0xe6, 0x76, 975 0xdc, 0xdb, 0x58, 0x3d, 0x0d, 0xa5, 0x5c, 0x6e, 976 0xf8, 0x5b, 0x74, 0xee, 0x22, 0xc6, 0xe8, 0x76, 977 0x1a, 0xeb, 0xca, 0xd8, 0xd3, 0x6e, 0x0a, 0x52, 978 0xe0, 0xc7, 0x9f, 0x7d, 0x18, 0xa0, 0xfa, 0x86, 979 0xf9, 0x84, 0x41, 0x06, 0xc3, 0x1b, 0xf2, 0xb0, 980 0x5c, 0x62, 0xa3, 0x22, 0x62, 0x40, 0xa4, 0xb9, 981 0x83, 0x94, 0x7f, 0x09, 0x05, 0x9d, 0xdc, 0xf2, 982 0x4a, 0xea, 0xc3, 0x9c, 0x61, 0xa5, 0xf1, 0x82, 983 0xf4, 0xa7, 0x97, 0x30, 0x5f, 0xc8, 0x0a, 0x93, 984 0x5b, 0x7b, 0x5d, 0x57, 0x83, 0xad, 0x53, 0xd1, 985 0x80, 0xe0, 0xba, 0x0c, 0xee, 0x80, 0x4e, 0xa6, 986 0x70, 0x7c, 0x33, 0x64, 0x9a, 0xbe, 0x64, 0x42, 987 0xe9, 0xba, 0xd4, 0xaa, 0xf7, 0xbf, 0x2e, 0x8b, 988 0xab, 0x51, 0x0c, 0x20, 0xa5, 0xd2, 0x86, 0xbb, 989 0x0e, 0x79, 0x81, 0x31, 0x25, 0xb3, 0x86, 0x9c, 990 0x8d, 0x8e, 0xfb, 0xde, 0x50, 0xf5, 0x2c, 0x66, 991 0x25, 0x48, 0x6d, 0x82, 0xee, 0x37, 0x3f, 0x46, 992 0x84, 0xff, 0x84, 0x3c, 0xf1, 0x9a, 0xf7, 0x65, 993 0xbf, 0x86, 0xac, 0x5f, 0x69, 0x7d, 0xdf, 0x26, 994 0x5e, 0x8f, 0x75, 0xb5, 0x92, 0x75, 0x59, 0x65, 995 0xa1, 0x22, 0x97, 0xec, 0x32, 0x71, 0xad, 0xf3, 996 0xef, 0x7c, 0x4e, 0x6c, 0xd2, 0x9b, 0x49, 0x5f, 997 0xca, 0xe7, 0x41, 0x80, 0xb3, 0xfb, 0x50, 0x5d, 998 0x09, 0x4f, 0x5e, 0xd0, 0xcb, 0x44, 0x74, 0x07, 999 0x49, 0x98, 0xab, 0x0f, 0x4d, 0x00, 0x45, 0x65, 1000 0x8c, 0x51, 0x23, 0x64, 0x29, 0xe6, 0x5c, 0x2f, 1001 0xf1, 0xb2, 0x2b, 0xc4, 0x71, 0x23, 0x3a, 0xa4, 1002 0x26, 0x72, 0xa5, 0xed, 0x40, 0x28, 0xdc, 0x5d, 1003 0x74, 0x26, 0x0e, 0x7f, 0x0e, 0x08, 0xda, 0x5c, 1004 0xa4, 0xbf, 0x8c, 0x01, 0x8d, 0x1b, 0x56, 0x36, 1005 0x85, 0x5d, 0x32, 0xac, 0x06, 0xf6, 0x9d, 0x3c, 1006 0x3a, 0x59, 0xb6, 0x91, 0xd2, 0xcb, 0xd2, 0x7d, 1007 0x1d, 0x17, 0x28, 0x0b, 0x2c, 0x27}; 1008 static const uint8_t test_vector_1_sk_i_raw[] = { 1009 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 1010 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 1011 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 1012 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 1013 static const uint8_t test_vector_1_pk_i_raw[] = { 1014 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 1015 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 1016 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 1017 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 1018 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 1019 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 1020 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 1021 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 1022 0xc8}; 1023 static const uint8_t test_vector_1_salt_4e3m[] = { 1024 0x61, 0x5a, 0xe4, 0xc6, 0xd5, 0xf2, 0x8b, 0xc7, 1025 0x69, 0xf9, 0xf2, 0xf5, 0xdd, 0x96, 0xdf, 0x30, 1026 0x4e, 0x04, 0xcd, 0xdb, 0x99, 0x1b, 0xc3, 0xd8, 1027 0x2e, 0x20, 0xad, 0x25, 0xd0, 0x55, 0x41, 0x6a}; 1028 static const uint8_t test_vector_1_prk_4e3m_raw[] = { 1029 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 1030 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 1031 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 1032 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 1033 static const uint8_t test_vector_1_input_TH_3[] = { 1034 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 1035 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 1036 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 1037 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 1038 0xab, 0xa6, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 1039 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 1040 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 1041 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1042 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1043 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1044 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1045 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1046 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 1047 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 1048 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1049 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 1050 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 1051 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1052 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 1053 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 1054 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 1055 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 1056 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 1057 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 1058 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 1059 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 1060 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 1061 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 1062 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 1063 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 1064 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 1065 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1066 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 1067 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 1068 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 1069 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 1070 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 1071 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 1072 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 1073 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 1074 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 1075 0x05, 0x58, 0x58, 0x40, 0xa3, 0x0a, 0x50, 0x5d, 1076 0x87, 0x36, 0x91, 0xf4, 0xe5, 0x79, 0x21, 0x33, 1077 0xf6, 0xfd, 0x42, 0x0f, 0x1e, 0x77, 0x25, 0x56, 1078 0x2b, 0xe4, 0xee, 0x47, 0x10, 0xa9, 0x5d, 0x43, 1079 0xad, 0x17, 0x17, 0xaf, 0xde, 0x10, 0xe1, 0x48, 1080 0xbe, 0x76, 0x4e, 0xfc, 0x51, 0xaf, 0x3b, 0x74, 1081 0x80, 0xbc, 0xf8, 0xf2, 0x93, 0x8e, 0xc7, 0x55, 1082 0x00, 0xed, 0xb7, 0xaa, 0x5b, 0x9e, 0xcb, 0x3c, 1083 0xad, 0xbf, 0x96, 0xfd, 0x59, 0x01, 0x22, 0x30, 1084 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 1085 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 1086 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1087 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 1088 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1089 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1090 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 1091 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 1092 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 1093 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 1094 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 1095 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1096 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 1097 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 1098 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 1099 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 1100 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 1101 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 1102 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 1103 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 1104 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 1105 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 1106 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 1107 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 1108 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 1109 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1110 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 1111 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 1112 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 1113 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 1114 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 1115 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 1116 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 1117 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 1118 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 1119 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 1120 0x58}; 1121 static const uint8_t test_vector_1_th_3_raw[] = { 1122 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a, 0x6d, 0x0a, 1123 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b, 0x48, 0xc4, 1124 0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0, 0x05, 0x29, 1125 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78, 0x32, 0x2f}; 1126 static const uint8_t test_vector_1_th_3[] = { 1127 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a, 1128 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b, 1129 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0, 1130 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78, 1131 0x32, 0x2f}; 1132 static const uint8_t test_vector_1_id_cred_i[] = { 1133 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 1134 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 1135 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 1136 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 1137 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 1138 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1139 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 1140 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 1141 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 1142 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 1143 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 1144 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 1145 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 1146 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 1147 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 1148 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 1149 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 1150 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 1151 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 1152 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 1153 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 1154 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 1155 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 1156 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 1157 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 1158 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 1159 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1160 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 1161 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 1162 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 1163 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 1164 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 1165 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 1166 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 1167 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 1168 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 1169 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 1170 static const uint8_t test_vector_1_cred_i[] = { 1171 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 1172 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 1173 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 1174 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1175 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 1176 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 1177 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 1178 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 1179 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 1180 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 1181 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 1182 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 1183 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 1184 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 1185 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 1186 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1187 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1188 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 1189 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 1190 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 1191 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 1192 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 1193 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 1194 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 1195 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 1196 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 1197 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1198 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 1199 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 1200 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 1201 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 1202 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 1203 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 1204 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 1205 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 1206 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 1207 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 1208 static const uint8_t test_vector_1_ca_i[] = { 1209 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 1210 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 1211 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1212 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1213 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1214 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1215 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1216 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 1217 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 1218 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1219 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 1220 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1221 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1222 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 1223 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1224 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1225 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 1226 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 1227 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 1228 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 1229 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 1230 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 1231 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 1232 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 1233 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 1234 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1235 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 1236 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 1237 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 1238 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 1239 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 1240 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 1241 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 1242 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 1243 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 1244 0x13, 0x6b, 0xf3, 0x06}; 1245 static const uint8_t test_vector_1_ca_i_pk[] = { 1246 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 1247 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 1248 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 1249 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 1250 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 1251 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 1252 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 1253 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 1254 0x95}; 1255 static const uint8_t test_vector_1_ead_3[] = { 1256 }; 1257 static const uint8_t test_vector_1_info_mac_3[] = { 1258 0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59, 1259 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 1260 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 1261 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 1262 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1263 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 1264 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 1265 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 1266 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 1267 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 1268 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 1269 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 1270 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 1271 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 1272 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 1273 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 1274 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 1275 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 1276 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 1277 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 1278 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 1279 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 1280 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 1281 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 1282 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 1283 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 1284 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 1285 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 1286 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 1287 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 1288 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 1289 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 1290 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 1291 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 1292 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 1293 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 1294 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 1295 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x7b, 0x7d, 1296 0xa5, 0x33, 0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 1297 0x0b, 0xd3, 0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12, 1298 0x3d, 0xd1, 0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2, 1299 0x7b, 0x48, 0x7f, 0x78, 0x32, 0x2f, 0x59, 0x01, 1300 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 1301 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 1302 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1303 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 1304 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 1305 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 1306 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 1307 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 1308 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 1309 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 1310 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 1311 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 1312 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 1313 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 1314 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 1315 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 1316 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 1317 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 1318 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 1319 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 1320 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 1321 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 1322 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 1323 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 1324 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 1325 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 1326 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1327 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 1328 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 1329 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 1330 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 1331 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 1332 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 1333 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 1334 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 1335 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 1336 0xa2, 0xbe, 0xde, 0x18, 0x20}; 1337 static const uint8_t test_vector_1_mac_3_raw[] = { 1338 0x19, 0x8d, 0x8c, 0x6d, 0xb6, 0x47, 0x38, 0x7d, 1339 0xcb, 0x79, 0x6e, 0xb5, 0xfb, 0x54, 0xce, 0x16, 1340 0x64, 0x97, 0x91, 0x6a, 0xce, 0x5b, 0x58, 0x58, 1341 0x29, 0x61, 0xf9, 0xf3, 0x2e, 0x55, 0x24, 0x09}; 1342 static const uint8_t test_vector_1_mac_3[] = { 1343 0x58, 0x20, 0x19, 0x8d, 0x8c, 0x6d, 0xb6, 0x47, 1344 0x38, 0x7d, 0xcb, 0x79, 0x6e, 0xb5, 0xfb, 0x54, 1345 0xce, 0x16, 0x64, 0x97, 0x91, 0x6a, 0xce, 0x5b, 1346 0x58, 0x58, 0x29, 0x61, 0xf9, 0xf3, 0x2e, 0x55, 1347 0x24, 0x09}; 1348 static const uint8_t test_vector_1_m_3[] = { 1349 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 1350 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 1351 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 1352 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 1353 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 1354 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1355 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 1356 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 1357 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 1358 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 1359 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 1360 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 1361 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 1362 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 1363 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 1364 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 1365 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 1366 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 1367 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 1368 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 1369 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 1370 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 1371 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 1372 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 1373 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 1374 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 1375 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 1376 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 1377 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1378 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 1379 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 1380 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 1381 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 1382 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 1383 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 1384 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 1385 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 1386 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 1387 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59, 1388 0x01, 0x47, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 1389 0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 1390 0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 1391 0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 1392 0x7f, 0x78, 0x32, 0x2f, 0x59, 0x01, 0x22, 0x30, 1393 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 1394 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 1395 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1396 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 1397 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1398 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1399 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 1400 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 1401 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 1402 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 1403 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 1404 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1405 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 1406 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 1407 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 1408 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 1409 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 1410 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 1411 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 1412 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 1413 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 1414 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 1415 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 1416 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 1417 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 1418 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1419 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 1420 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 1421 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 1422 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 1423 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 1424 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 1425 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 1426 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 1427 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 1428 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 1429 0xde, 0x58, 0x20, 0x19, 0x8d, 0x8c, 0x6d, 0xb6, 1430 0x47, 0x38, 0x7d, 0xcb, 0x79, 0x6e, 0xb5, 0xfb, 1431 0x54, 0xce, 0x16, 0x64, 0x97, 0x91, 0x6a, 0xce, 1432 0x5b, 0x58, 0x58, 0x29, 0x61, 0xf9, 0xf3, 0x2e, 1433 0x55, 0x24, 0x09}; 1434 static const uint8_t test_vector_1_sig_or_mac_3_raw[] = { 1435 0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76, 0x4d, 0xb3, 1436 0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84, 0xb0, 0x4d, 1437 0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72, 0x13, 0x6f, 1438 0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4, 0xf3, 0x81, 1439 0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11, 0xb7, 0x17, 1440 0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40, 0x32, 0xe0, 1441 0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5, 0x78, 0xe8, 1442 0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11, 0x62, 0xdb}; 1443 static const uint8_t test_vector_1_sig_or_mac_3[] = { 1444 0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76, 1445 0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84, 1446 0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72, 1447 0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4, 1448 0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11, 1449 0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40, 1450 0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5, 1451 0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11, 1452 0x62, 0xdb}; 1453 static const uint8_t test_vector_1_p_3[] = { 1454 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 1455 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 1456 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 1457 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 1458 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 1459 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1460 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 1461 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 1462 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 1463 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 1464 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 1465 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 1466 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 1467 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 1468 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 1469 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 1470 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 1471 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 1472 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 1473 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 1474 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 1475 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 1476 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 1477 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 1478 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 1479 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 1480 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1481 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 1482 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 1483 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 1484 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 1485 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 1486 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 1487 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 1488 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 1489 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 1490 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 1491 0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22, 0x19, 0x76, 1492 0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1, 0xf8, 0x84, 1493 0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63, 0x11, 0x72, 1494 0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92, 0x7f, 0xa4, 1495 0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf, 0x0e, 0x11, 1496 0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4, 0xd7, 0x40, 1497 0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45, 0x9f, 0xe5, 1498 0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70, 0x2a, 0x11, 1499 0x62, 0xdb}; 1500 static const uint8_t test_vector_1_a_3[] = { 1501 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1502 0x74, 0x30, 0x40, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 1503 0x33, 0xcf, 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 1504 0xd3, 0x0c, 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 1505 0xd1, 0x39, 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 1506 0x48, 0x7f, 0x78, 0x32, 0x2f}; 1507 static const uint8_t test_vector_1_info_k_3[] = { 1508 0x03, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 1509 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 1510 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 1511 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 1512 0x78, 0x32, 0x2f, 0x10}; 1513 static const uint8_t test_vector_1_k_3_raw[] = { 1514 0x89, 0x31, 0x3e, 0x97, 0x37, 0x0d, 0xb3, 0x73, 1515 0xa9, 0xbf, 0x55, 0x32, 0xc7, 0xc2, 0xcb, 0x18}; 1516 static const uint8_t test_vector_1_info_iv_3[] = { 1517 0x04, 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 1518 0x9a, 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 1519 0x8b, 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 1520 0xf0, 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 1521 0x78, 0x32, 0x2f, 0x0d}; 1522 static const uint8_t test_vector_1_iv_3_raw[] = { 1523 0xf7, 0xe8, 0x47, 0xe4, 0x2e, 0x1a, 0xaa, 0x84, 1524 0x3a, 0xd4, 0x71, 0xfb, 0x69}; 1525 static const uint8_t test_vector_1_ciphertext_3_raw[] = { 1526 0x0d, 0x88, 0x60, 0xa9, 0x45, 0x42, 0x4e, 0x80, 1527 0x4e, 0xc9, 0xe5, 0xb7, 0x3b, 0xfc, 0xca, 0x34, 1528 0x8a, 0xbe, 0xd8, 0xae, 0xc6, 0x46, 0x40, 0x3b, 1529 0x54, 0x78, 0xbb, 0x4d, 0x2e, 0xb7, 0xd1, 0x04, 1530 0xda, 0xab, 0xa1, 0x1e, 0x5a, 0x16, 0xa3, 0x86, 1531 0x34, 0x5c, 0xf2, 0xde, 0x5d, 0x16, 0x01, 0x43, 1532 0xc4, 0xa1, 0x1a, 0x17, 0xa2, 0xb3, 0x38, 0x6d, 1533 0x63, 0x28, 0xf5, 0x0d, 0x02, 0xe8, 0x2b, 0x9a, 1534 0x19, 0xfc, 0x96, 0x60, 0xe4, 0x7c, 0xd6, 0xcf, 1535 0x3d, 0x98, 0x6d, 0xa1, 0xbb, 0x69, 0xfe, 0x9a, 1536 0x12, 0x19, 0x3b, 0x7f, 0x21, 0x6d, 0x31, 0x8d, 1537 0x7a, 0x1c, 0xb2, 0x3c, 0xa2, 0x88, 0x34, 0x75, 1538 0x7b, 0xa9, 0xd6, 0xdd, 0x06, 0x45, 0x9f, 0xbb, 1539 0xf1, 0xf1, 0xb4, 0xd1, 0x92, 0x76, 0xa9, 0xbf, 1540 0xf8, 0x3a, 0x0c, 0x7b, 0x55, 0x52, 0x2d, 0xac, 1541 0x00, 0x0f, 0x92, 0x59, 0x59, 0xf2, 0x2c, 0xa1, 1542 0x5c, 0xb0, 0xc5, 0x8b, 0xac, 0x51, 0x38, 0x2e, 1543 0xa8, 0x4c, 0x3c, 0xf9, 0x24, 0xcd, 0x73, 0x9b, 1544 0xdb, 0x07, 0x23, 0x9d, 0x99, 0x4a, 0xf7, 0xfa, 1545 0xdb, 0x63, 0xe2, 0x5b, 0xf9, 0x27, 0xf2, 0xa7, 1546 0x27, 0xe7, 0x30, 0xfb, 0xcf, 0x16, 0xc3, 0xec, 1547 0xe1, 0x0e, 0x83, 0xeb, 0x19, 0x82, 0x1d, 0x0c, 1548 0x2a, 0x2d, 0xcc, 0xdd, 0xf4, 0xc1, 0x5a, 0x47, 1549 0x55, 0x6f, 0x76, 0xb1, 0xb1, 0xf3, 0x93, 0xfc, 1550 0xa9, 0x28, 0x13, 0xa8, 0xaa, 0x79, 0xdf, 0x4f, 1551 0x2e, 0x26, 0xd6, 0x75, 0xc1, 0xe1, 0x5c, 0x4d, 1552 0xc6, 0x0e, 0xb3, 0xe4, 0xcb, 0x01, 0xe5, 0x95, 1553 0x22, 0xda, 0x10, 0xcf, 0x0e, 0x43, 0x9e, 0xe5, 1554 0x9a, 0x51, 0xe6, 0x9b, 0xfc, 0x63, 0xc9, 0x49, 1555 0xbd, 0x6e, 0x17, 0xf7, 0x0a, 0x26, 0x66, 0x30, 1556 0xac, 0x4d, 0x18, 0x3b, 0xc0, 0x32, 0xf7, 0xaf, 1557 0xa3, 0x2d, 0xda, 0xd3, 0xd5, 0x17, 0x0d, 0x0a, 1558 0x6c, 0xb6, 0x72, 0xac, 0xbb, 0xfb, 0x9b, 0x1f, 1559 0x24, 0x98, 0x19, 0x04, 0x30, 0x5c, 0x90, 0x7e, 1560 0x53, 0x01, 0x60, 0x3f, 0x26, 0x87, 0x40, 0x2e, 1561 0x75, 0xb3, 0xcb, 0x64, 0xe0, 0xa9, 0x27, 0xc0, 1562 0x28, 0xb6, 0x7e, 0x67, 0x11, 0xde, 0x7c, 0x88, 1563 0xaf, 0xa2, 0x9c, 0x66, 0xf8, 0xbe, 0x82, 0x9a, 1564 0xf7, 0xc3, 0x83, 0xb2, 0x76, 0x92, 0xc0, 0xe3, 1565 0x87, 0x23, 0xd1, 0x3c, 0xb5, 0x33, 0x6a, 0x04, 1566 0xcb, 0xb2, 0xfe, 0x02, 0x8d, 0xe6, 0x4c, 0x99, 1567 0xdc, 0xcf, 0x54, 0x15, 0x97, 0x3a, 0xb1, 0x18, 1568 0xbe, 0x24, 0x91, 0x32, 0xf9, 0x90, 0xd6, 0x4f, 1569 0x7e, 0x84, 0xb5, 0xfb, 0x84, 0x94, 0x67, 0xd1, 1570 0xaa, 0xaa, 0xe3, 0x7c, 0xc7, 0xdb, 0x01, 0x3e, 1571 0x95, 0xed, 0x84, 0x53, 0x27, 0x3c, 0x46, 0x76, 1572 0x22, 0x70}; 1573 static const uint8_t test_vector_1_ciphertext_3[] = { 1574 0x59, 0x01, 0x72, 0x0d, 0x88, 0x60, 0xa9, 0x45, 1575 0x42, 0x4e, 0x80, 0x4e, 0xc9, 0xe5, 0xb7, 0x3b, 1576 0xfc, 0xca, 0x34, 0x8a, 0xbe, 0xd8, 0xae, 0xc6, 1577 0x46, 0x40, 0x3b, 0x54, 0x78, 0xbb, 0x4d, 0x2e, 1578 0xb7, 0xd1, 0x04, 0xda, 0xab, 0xa1, 0x1e, 0x5a, 1579 0x16, 0xa3, 0x86, 0x34, 0x5c, 0xf2, 0xde, 0x5d, 1580 0x16, 0x01, 0x43, 0xc4, 0xa1, 0x1a, 0x17, 0xa2, 1581 0xb3, 0x38, 0x6d, 0x63, 0x28, 0xf5, 0x0d, 0x02, 1582 0xe8, 0x2b, 0x9a, 0x19, 0xfc, 0x96, 0x60, 0xe4, 1583 0x7c, 0xd6, 0xcf, 0x3d, 0x98, 0x6d, 0xa1, 0xbb, 1584 0x69, 0xfe, 0x9a, 0x12, 0x19, 0x3b, 0x7f, 0x21, 1585 0x6d, 0x31, 0x8d, 0x7a, 0x1c, 0xb2, 0x3c, 0xa2, 1586 0x88, 0x34, 0x75, 0x7b, 0xa9, 0xd6, 0xdd, 0x06, 1587 0x45, 0x9f, 0xbb, 0xf1, 0xf1, 0xb4, 0xd1, 0x92, 1588 0x76, 0xa9, 0xbf, 0xf8, 0x3a, 0x0c, 0x7b, 0x55, 1589 0x52, 0x2d, 0xac, 0x00, 0x0f, 0x92, 0x59, 0x59, 1590 0xf2, 0x2c, 0xa1, 0x5c, 0xb0, 0xc5, 0x8b, 0xac, 1591 0x51, 0x38, 0x2e, 0xa8, 0x4c, 0x3c, 0xf9, 0x24, 1592 0xcd, 0x73, 0x9b, 0xdb, 0x07, 0x23, 0x9d, 0x99, 1593 0x4a, 0xf7, 0xfa, 0xdb, 0x63, 0xe2, 0x5b, 0xf9, 1594 0x27, 0xf2, 0xa7, 0x27, 0xe7, 0x30, 0xfb, 0xcf, 1595 0x16, 0xc3, 0xec, 0xe1, 0x0e, 0x83, 0xeb, 0x19, 1596 0x82, 0x1d, 0x0c, 0x2a, 0x2d, 0xcc, 0xdd, 0xf4, 1597 0xc1, 0x5a, 0x47, 0x55, 0x6f, 0x76, 0xb1, 0xb1, 1598 0xf3, 0x93, 0xfc, 0xa9, 0x28, 0x13, 0xa8, 0xaa, 1599 0x79, 0xdf, 0x4f, 0x2e, 0x26, 0xd6, 0x75, 0xc1, 1600 0xe1, 0x5c, 0x4d, 0xc6, 0x0e, 0xb3, 0xe4, 0xcb, 1601 0x01, 0xe5, 0x95, 0x22, 0xda, 0x10, 0xcf, 0x0e, 1602 0x43, 0x9e, 0xe5, 0x9a, 0x51, 0xe6, 0x9b, 0xfc, 1603 0x63, 0xc9, 0x49, 0xbd, 0x6e, 0x17, 0xf7, 0x0a, 1604 0x26, 0x66, 0x30, 0xac, 0x4d, 0x18, 0x3b, 0xc0, 1605 0x32, 0xf7, 0xaf, 0xa3, 0x2d, 0xda, 0xd3, 0xd5, 1606 0x17, 0x0d, 0x0a, 0x6c, 0xb6, 0x72, 0xac, 0xbb, 1607 0xfb, 0x9b, 0x1f, 0x24, 0x98, 0x19, 0x04, 0x30, 1608 0x5c, 0x90, 0x7e, 0x53, 0x01, 0x60, 0x3f, 0x26, 1609 0x87, 0x40, 0x2e, 0x75, 0xb3, 0xcb, 0x64, 0xe0, 1610 0xa9, 0x27, 0xc0, 0x28, 0xb6, 0x7e, 0x67, 0x11, 1611 0xde, 0x7c, 0x88, 0xaf, 0xa2, 0x9c, 0x66, 0xf8, 1612 0xbe, 0x82, 0x9a, 0xf7, 0xc3, 0x83, 0xb2, 0x76, 1613 0x92, 0xc0, 0xe3, 0x87, 0x23, 0xd1, 0x3c, 0xb5, 1614 0x33, 0x6a, 0x04, 0xcb, 0xb2, 0xfe, 0x02, 0x8d, 1615 0xe6, 0x4c, 0x99, 0xdc, 0xcf, 0x54, 0x15, 0x97, 1616 0x3a, 0xb1, 0x18, 0xbe, 0x24, 0x91, 0x32, 0xf9, 1617 0x90, 0xd6, 0x4f, 0x7e, 0x84, 0xb5, 0xfb, 0x84, 1618 0x94, 0x67, 0xd1, 0xaa, 0xaa, 0xe3, 0x7c, 0xc7, 1619 0xdb, 0x01, 0x3e, 0x95, 0xed, 0x84, 0x53, 0x27, 1620 0x3c, 0x46, 0x76, 0x22, 0x70}; 1621 static const uint8_t test_vector_1_message_3[] = { 1622 0x59, 0x01, 0x72, 0x0d, 0x88, 0x60, 0xa9, 0x45, 1623 0x42, 0x4e, 0x80, 0x4e, 0xc9, 0xe5, 0xb7, 0x3b, 1624 0xfc, 0xca, 0x34, 0x8a, 0xbe, 0xd8, 0xae, 0xc6, 1625 0x46, 0x40, 0x3b, 0x54, 0x78, 0xbb, 0x4d, 0x2e, 1626 0xb7, 0xd1, 0x04, 0xda, 0xab, 0xa1, 0x1e, 0x5a, 1627 0x16, 0xa3, 0x86, 0x34, 0x5c, 0xf2, 0xde, 0x5d, 1628 0x16, 0x01, 0x43, 0xc4, 0xa1, 0x1a, 0x17, 0xa2, 1629 0xb3, 0x38, 0x6d, 0x63, 0x28, 0xf5, 0x0d, 0x02, 1630 0xe8, 0x2b, 0x9a, 0x19, 0xfc, 0x96, 0x60, 0xe4, 1631 0x7c, 0xd6, 0xcf, 0x3d, 0x98, 0x6d, 0xa1, 0xbb, 1632 0x69, 0xfe, 0x9a, 0x12, 0x19, 0x3b, 0x7f, 0x21, 1633 0x6d, 0x31, 0x8d, 0x7a, 0x1c, 0xb2, 0x3c, 0xa2, 1634 0x88, 0x34, 0x75, 0x7b, 0xa9, 0xd6, 0xdd, 0x06, 1635 0x45, 0x9f, 0xbb, 0xf1, 0xf1, 0xb4, 0xd1, 0x92, 1636 0x76, 0xa9, 0xbf, 0xf8, 0x3a, 0x0c, 0x7b, 0x55, 1637 0x52, 0x2d, 0xac, 0x00, 0x0f, 0x92, 0x59, 0x59, 1638 0xf2, 0x2c, 0xa1, 0x5c, 0xb0, 0xc5, 0x8b, 0xac, 1639 0x51, 0x38, 0x2e, 0xa8, 0x4c, 0x3c, 0xf9, 0x24, 1640 0xcd, 0x73, 0x9b, 0xdb, 0x07, 0x23, 0x9d, 0x99, 1641 0x4a, 0xf7, 0xfa, 0xdb, 0x63, 0xe2, 0x5b, 0xf9, 1642 0x27, 0xf2, 0xa7, 0x27, 0xe7, 0x30, 0xfb, 0xcf, 1643 0x16, 0xc3, 0xec, 0xe1, 0x0e, 0x83, 0xeb, 0x19, 1644 0x82, 0x1d, 0x0c, 0x2a, 0x2d, 0xcc, 0xdd, 0xf4, 1645 0xc1, 0x5a, 0x47, 0x55, 0x6f, 0x76, 0xb1, 0xb1, 1646 0xf3, 0x93, 0xfc, 0xa9, 0x28, 0x13, 0xa8, 0xaa, 1647 0x79, 0xdf, 0x4f, 0x2e, 0x26, 0xd6, 0x75, 0xc1, 1648 0xe1, 0x5c, 0x4d, 0xc6, 0x0e, 0xb3, 0xe4, 0xcb, 1649 0x01, 0xe5, 0x95, 0x22, 0xda, 0x10, 0xcf, 0x0e, 1650 0x43, 0x9e, 0xe5, 0x9a, 0x51, 0xe6, 0x9b, 0xfc, 1651 0x63, 0xc9, 0x49, 0xbd, 0x6e, 0x17, 0xf7, 0x0a, 1652 0x26, 0x66, 0x30, 0xac, 0x4d, 0x18, 0x3b, 0xc0, 1653 0x32, 0xf7, 0xaf, 0xa3, 0x2d, 0xda, 0xd3, 0xd5, 1654 0x17, 0x0d, 0x0a, 0x6c, 0xb6, 0x72, 0xac, 0xbb, 1655 0xfb, 0x9b, 0x1f, 0x24, 0x98, 0x19, 0x04, 0x30, 1656 0x5c, 0x90, 0x7e, 0x53, 0x01, 0x60, 0x3f, 0x26, 1657 0x87, 0x40, 0x2e, 0x75, 0xb3, 0xcb, 0x64, 0xe0, 1658 0xa9, 0x27, 0xc0, 0x28, 0xb6, 0x7e, 0x67, 0x11, 1659 0xde, 0x7c, 0x88, 0xaf, 0xa2, 0x9c, 0x66, 0xf8, 1660 0xbe, 0x82, 0x9a, 0xf7, 0xc3, 0x83, 0xb2, 0x76, 1661 0x92, 0xc0, 0xe3, 0x87, 0x23, 0xd1, 0x3c, 0xb5, 1662 0x33, 0x6a, 0x04, 0xcb, 0xb2, 0xfe, 0x02, 0x8d, 1663 0xe6, 0x4c, 0x99, 0xdc, 0xcf, 0x54, 0x15, 0x97, 1664 0x3a, 0xb1, 0x18, 0xbe, 0x24, 0x91, 0x32, 0xf9, 1665 0x90, 0xd6, 0x4f, 0x7e, 0x84, 0xb5, 0xfb, 0x84, 1666 0x94, 0x67, 0xd1, 0xaa, 0xaa, 0xe3, 0x7c, 0xc7, 1667 0xdb, 0x01, 0x3e, 0x95, 0xed, 0x84, 0x53, 0x27, 1668 0x3c, 0x46, 0x76, 0x22, 0x70}; 1669 static const uint8_t test_vector_1_input_th_4[] = { 1670 0x58, 0x20, 0x7b, 0x7d, 0xa5, 0x33, 0xcf, 0x9a, 1671 0x6d, 0x0a, 0x0e, 0xbd, 0x0b, 0xd3, 0x0c, 0x8b, 1672 0x48, 0xc4, 0x4d, 0x12, 0x3d, 0xd1, 0x39, 0xf0, 1673 0x05, 0x29, 0x8c, 0xf2, 0x7b, 0x48, 0x7f, 0x78, 1674 0x32, 0x2f, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 1675 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 1676 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 1677 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1678 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1679 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1680 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1681 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1682 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 1683 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 1684 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1685 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 1686 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 1687 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1688 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 1689 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 1690 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 1691 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 1692 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 1693 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 1694 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 1695 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 1696 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 1697 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 1698 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 1699 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 1700 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 1701 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1702 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 1703 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 1704 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 1705 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 1706 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 1707 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 1708 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 1709 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 1710 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 1711 0xbe, 0xde, 0x58, 0x40, 0xa5, 0x1e, 0x90, 0x22, 1712 0x19, 0x76, 0x4d, 0xb3, 0xe2, 0xb5, 0xb1, 0xb1, 1713 0xf8, 0x84, 0xb0, 0x4d, 0xb5, 0xdb, 0x1d, 0x63, 1714 0x11, 0x72, 0x13, 0x6f, 0x4b, 0x0f, 0xf1, 0x92, 1715 0x7f, 0xa4, 0xf3, 0x81, 0x05, 0x1c, 0xec, 0xaf, 1716 0x0e, 0x11, 0xb7, 0x17, 0xa9, 0xc5, 0x4f, 0xf4, 1717 0xd7, 0x40, 0x32, 0xe0, 0xb7, 0xab, 0xed, 0x45, 1718 0x9f, 0xe5, 0x78, 0xe8, 0xe6, 0x8e, 0x97, 0x70, 1719 0x2a, 0x11, 0x62, 0xdb, 0x59, 0x01, 0x22, 0x30, 1720 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 1721 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 1722 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1723 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 1724 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1725 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1726 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 1727 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 1728 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 1729 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 1730 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 1731 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1732 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 1733 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 1734 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 1735 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 1736 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 1737 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 1738 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 1739 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 1740 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 1741 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 1742 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 1743 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 1744 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 1745 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1746 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 1747 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 1748 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 1749 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 1750 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 1751 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 1752 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 1753 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 1754 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 1755 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 1756 0xde}; 1757 static const uint8_t test_vector_1_th_4_raw[] = { 1758 0x25, 0x54, 0x2f, 0x9c, 0xa5, 0x81, 0x77, 0x1f, 1759 0x1d, 0xc5, 0x12, 0xd4, 0xe1, 0x95, 0xc4, 0x66, 1760 0x5a, 0x27, 0x12, 0x91, 0x18, 0x2d, 0xdf, 0x49, 1761 0x47, 0xff, 0x69, 0x15, 0xa8, 0x61, 0x4c, 0x7c}; 1762 static const uint8_t test_vector_1_th_4[] = { 1763 0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5, 0x81, 1764 0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1, 0x95, 1765 0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18, 0x2d, 1766 0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8, 0x61, 1767 0x4c, 0x7c}; 1768 static const uint8_t test_vector_1_ead_4[] = { 1769 }; 1770 static const uint8_t test_vector_1_p_4[] = { 1771 }; 1772 static const uint8_t test_vector_1_a_4[] = { 1773 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1774 0x74, 0x30, 0x40, 0x58, 0x20, 0x25, 0x54, 0x2f, 1775 0x9c, 0xa5, 0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12, 1776 0xd4, 0xe1, 0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12, 1777 0x91, 0x18, 0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69, 1778 0x15, 0xa8, 0x61, 0x4c, 0x7c}; 1779 static const uint8_t test_vector_1_info_k_4[] = { 1780 0x08, 0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5, 1781 0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1, 1782 0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18, 1783 0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8, 1784 0x61, 0x4c, 0x7c, 0x10}; 1785 static const uint8_t test_vector_1_k_4_raw[] = { 1786 0x9c, 0x8e, 0xa2, 0xce, 0xa2, 0x93, 0x55, 0x73, 1787 0x71, 0xd2, 0x2d, 0x37, 0xaa, 0x20, 0x70, 0x98}; 1788 static const uint8_t test_vector_1_info_iv_4[] = { 1789 0x09, 0x58, 0x20, 0x25, 0x54, 0x2f, 0x9c, 0xa5, 1790 0x81, 0x77, 0x1f, 0x1d, 0xc5, 0x12, 0xd4, 0xe1, 1791 0x95, 0xc4, 0x66, 0x5a, 0x27, 0x12, 0x91, 0x18, 1792 0x2d, 0xdf, 0x49, 0x47, 0xff, 0x69, 0x15, 0xa8, 1793 0x61, 0x4c, 0x7c, 0x0d}; 1794 static const uint8_t test_vector_1_iv_4_raw[] = { 1795 0x37, 0x3e, 0x5c, 0x16, 0x3e, 0x4c, 0x39, 0x7f, 1796 0x77, 0xd8, 0x8f, 0xe0, 0xe7}; 1797 static const uint8_t test_vector_1_ciphertext_4_raw[] = { 1798 0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8, 0x2e}; 1799 static const uint8_t test_vector_1_ciphertext_4[] = { 1800 0x48, 0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8, 1801 0x2e}; 1802 static const uint8_t test_vector_1_message_4[] = { 1803 0x48, 0x84, 0xb8, 0x2f, 0x78, 0x09, 0x72, 0xd8, 1804 0x2e}; 1805 static const uint8_t test_vector_1_prk_out[] = { 1806 0xf8, 0x76, 0x74, 0x4b, 0x44, 0x64, 0xed, 0x78, 1807 0x6f, 0xe9, 0xe6, 0x89, 0xe4, 0xf5, 0xbd, 0x3d, 1808 0xa6, 0xc2, 0xed, 0xcf, 0x65, 0xe8, 0xe0, 0x3c, 1809 0x0c, 0xbb, 0x06, 0xe9, 0xbf, 0x2d, 0xbd, 0x0d}; 1810 static const uint8_t test_vector_1_prk_exporter[] = { 1811 0x62, 0x59, 0x46, 0x35, 0x59, 0x20, 0xb9, 0xb9, 1812 0xf4, 0x6f, 0x77, 0x1e, 0x09, 0xd9, 0x2d, 0x38, 1813 0xe9, 0x9d, 0x60, 0x79, 0x0d, 0xb3, 0xf4, 0x69, 1814 0xd0, 0x80, 0x21, 0x44, 0x41, 0xe9, 0xd7, 0x8b}; 1815 int32_t test_vector_1_oscore_aead_alg = 10; 1816 int32_t test_vector_1_oscore_hash_alg = -16; 1817 static const uint8_t test_vector_1_client_sender_id_raw[] = { 1818 0x27}; 1819 static const uint8_t test_vector_1_server_sender_id_raw[] = { 1820 0x37}; 1821 static const uint8_t test_vector_1_info_oscore_secret[] = { 1822 0x00, 0x40, 0x10}; 1823 static const uint8_t test_vector_1_oscore_secret_raw[] = { 1824 0xf3, 0x66, 0xb1, 0x32, 0xd4, 0xb0, 0xfe, 0xbd, 1825 0x92, 0xb5, 0xb8, 0xba, 0x2e, 0x73, 0x92, 0xc0}; 1826 static const uint8_t test_vector_1_info_oscore_salt[] = { 1827 0x01, 0x40, 0x08}; 1828 static const uint8_t test_vector_1_oscore_salt_raw[] = { 1829 0xf6, 0x1f, 0x88, 0xb0, 0x57, 0x94, 0xd8, 0x99}; 1830 static const uint8_t test_vector_1_prk_out_updated[] = { 1831 0x3d, 0x4b, 0x92, 0x2b, 0xb6, 0xb4, 0x7a, 0x23, 1832 0x42, 0x13, 0xad, 0x88, 0x69, 0x43, 0x58, 0x09, 1833 0x3e, 0xe9, 0xb6, 0xd0, 0x7a, 0x4c, 0xde, 0x0b, 1834 0x3c, 0x66, 0xf8, 0x37, 0xa6, 0x0d, 0xfc, 0xa5}; 1835 static const uint8_t test_vector_1_prk_exporter_update[] = { 1836 0xbf, 0x70, 0xfd, 0xb6, 0x83, 0x3e, 0xc0, 0xb6, 1837 0x76, 0xca, 0x1b, 0xef, 0x5b, 0xb4, 0x1f, 0x48, 1838 0x75, 0xdb, 0x05, 0xe2, 0xb5, 0x4b, 0x8b, 0x7e, 1839 0x03, 0xef, 0xb4, 0x46, 0xae, 0xef, 0x1e, 0x44}; 1840 static const uint8_t test_vector_1_oscore_secret_key_update_raw[] = { 1841 0x20, 0x38, 0x25, 0x12, 0x30, 0x76, 0x41, 0x37, 1842 0xed, 0x94, 0x6f, 0x8b, 0xf1, 0x82, 0xc1, 0x51}; 1843 static const uint8_t test_vector_1_oscore_salt_key_update_raw[] = { 1844 0xf0, 0x0e, 0xa8, 0x85, 0xba, 0xdd, 0x15, 0xdb}; 1845 1846 /***************** test_vector_2 ************/ 1847 1848 static const uint8_t test_vector_2_method[] = { 1849 0x00}; 1850 static const uint8_t test_vector_2_SUITES_I[] = { 1851 0x02}; 1852 static const uint8_t test_vector_2_SUITES_R[] = { 1853 0x02}; 1854 static const uint8_t test_vector_2_x_raw[] = { 1855 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 1856 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 1857 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 1858 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 1859 static const uint8_t test_vector_2_g_x_raw[] = { 1860 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 1861 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 1862 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 1863 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 1864 static const uint8_t test_vector_2_g_x_raw_y_coordinate[] = { 1865 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 1866 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 1867 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 1868 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 1869 static const uint8_t test_vector_2_g_x[] = { 1870 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 1871 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 1872 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 1873 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 1874 0xc3, 0xb6}; 1875 int32_t test_vector_2_c_i_raw = -24; 1876 static const uint8_t test_vector_2_c_i[] = { 1877 0x37}; 1878 static const uint8_t test_vector_2_ead_1[] = { 1879 }; 1880 static const uint8_t test_vector_2_message_1[] = { 1881 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 1882 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 1883 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 1884 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 1885 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 1886 static const uint8_t test_vector_2_y_raw[] = { 1887 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 1888 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 1889 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 1890 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 1891 static const uint8_t test_vector_2_g_y_raw[] = { 1892 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 1893 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 1894 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 1895 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 1896 static const uint8_t test_vector_2_g_y_raw_y_coordinate[] = { 1897 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 1898 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 1899 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 1900 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 1901 static const uint8_t test_vector_2_g_y[] = { 1902 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 1903 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 1904 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 1905 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 1906 0xf5, 0xd5}; 1907 static const uint8_t test_vector_2_g_xy_raw[] = { 1908 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 1909 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 1910 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 1911 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 1912 static const uint8_t test_vector_2_salt_raw[] = { 1913 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1914 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1915 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1916 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 1917 static const uint8_t test_vector_2_prk_2e_raw[] = { 1918 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 1919 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 1920 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 1921 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 1922 static const uint8_t test_vector_2_salt_3e2m[] = { 1923 0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9, 1924 0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11, 1925 0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff, 1926 0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01}; 1927 static const uint8_t test_vector_2_sk_r_raw[] = { 1928 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 1929 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 1930 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 1931 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 1932 static const uint8_t test_vector_2_pk_r_raw[] = { 1933 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 1934 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 1935 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 1936 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 1937 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 1938 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 1939 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 1940 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 1941 0x72}; 1942 static const uint8_t test_vector_2_prk_3e2m_raw[] = { 1943 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 1944 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 1945 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 1946 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 1947 int32_t test_vector_2_c_r_raw = -8; 1948 static const uint8_t test_vector_2_c_r[] = { 1949 0x27}; 1950 static const uint8_t test_vector_2_h_message_1_raw[] = { 1951 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 1952 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 1953 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 1954 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 1955 static const uint8_t test_vector_2_h_message_1[] = { 1956 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 1957 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 1958 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 1959 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 1960 0x67, 0x26}; 1961 static const uint8_t test_vector_2_input_th_2[] = { 1962 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 1963 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 1964 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 1965 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 1966 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 1967 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 1968 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 1969 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 1970 0x18, 0x2a, 0x4e, 0x67, 0x26}; 1971 static const uint8_t test_vector_2_th_2_raw[] = { 1972 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 1973 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 1974 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 1975 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 1976 static const uint8_t test_vector_2_th_2[] = { 1977 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 1978 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 1979 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 1980 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 1981 0xab, 0xa6}; 1982 static const uint8_t test_vector_2_id_cred_r[] = { 1983 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80, 1984 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4}; 1985 static const uint8_t test_vector_2_cred_r[] = { 1986 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 1987 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 1988 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 1989 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1990 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 1991 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 1992 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 1993 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 1994 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 1995 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 1996 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 1997 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 1998 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 1999 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 2000 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 2001 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2002 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2003 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 2004 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 2005 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 2006 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 2007 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 2008 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 2009 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 2010 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 2011 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 2012 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2013 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2014 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 2015 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 2016 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 2017 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 2018 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 2019 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 2020 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 2021 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 2022 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2023 static const uint8_t test_vector_2_ca_r[] = { 2024 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 2025 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 2026 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2027 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 2028 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 2029 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2030 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 2031 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 2032 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 2033 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 2034 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 2035 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2036 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2037 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 2038 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2039 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2040 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 2041 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 2042 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 2043 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 2044 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 2045 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 2046 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 2047 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 2048 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 2049 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2050 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 2051 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 2052 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 2053 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 2054 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 2055 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 2056 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 2057 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 2058 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 2059 0x13, 0x6b, 0xf3, 0x06}; 2060 static const uint8_t test_vector_2_ca_r_pk[] = { 2061 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 2062 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 2063 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 2064 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 2065 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 2066 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 2067 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 2068 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 2069 0x95}; 2070 static const uint8_t test_vector_2_ead_2[] = { 2071 }; 2072 static const uint8_t test_vector_2_info_mac_2[] = { 2073 0x02, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82, 2074 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 2075 0xab, 0xf4, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 2076 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 2077 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 2078 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 2079 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30, 2080 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 2081 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 2082 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2083 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 2084 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2085 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2086 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 2087 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 2088 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 2089 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 2090 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 2091 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2092 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 2093 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 2094 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 2095 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 2096 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 2097 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 2098 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 2099 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 2100 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 2101 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 2102 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 2103 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 2104 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 2105 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 2106 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 2107 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 2108 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 2109 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 2110 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 2111 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 2112 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 2113 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 2114 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 2115 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 2116 0x58, 0x18, 0x20}; 2117 static const uint8_t test_vector_2_mac_2_raw[] = { 2118 0x61, 0xb4, 0x21, 0x43, 0x51, 0x5f, 0x46, 0x09, 2119 0x7a, 0xd3, 0xee, 0xd0, 0x42, 0x3f, 0xf0, 0x6c, 2120 0xf0, 0xbf, 0xe1, 0x02, 0xd6, 0xd7, 0x29, 0x58, 2121 0x95, 0x9d, 0xd8, 0xb9, 0x8a, 0x54, 0xe8, 0xe7}; 2122 static const uint8_t test_vector_2_mac_2[] = { 2123 0x58, 0x20, 0x61, 0xb4, 0x21, 0x43, 0x51, 0x5f, 2124 0x46, 0x09, 0x7a, 0xd3, 0xee, 0xd0, 0x42, 0x3f, 2125 0xf0, 0x6c, 0xf0, 0xbf, 0xe1, 0x02, 0xd6, 0xd7, 2126 0x29, 0x58, 0x95, 0x9d, 0xd8, 0xb9, 0x8a, 0x54, 2127 0xe8, 0xe7}; 2128 static const uint8_t test_vector_2_m_2[] = { 2129 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2130 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 2131 0x82, 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 2132 0xa8, 0xab, 0xf4, 0x59, 0x01, 0x47, 0x58, 0x20, 2133 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 2134 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 2135 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 2136 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6, 2137 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2138 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2139 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 2140 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2141 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2142 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2143 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2144 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 2145 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 2146 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2147 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2148 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2149 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2150 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 2151 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 2152 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2153 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2154 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 2155 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 2156 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 2157 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 2158 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 2159 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 2160 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 2161 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 2162 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 2163 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2164 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2165 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 2166 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 2167 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 2168 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 2169 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 2170 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 2171 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 2172 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 2173 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0x61, 2174 0xb4, 0x21, 0x43, 0x51, 0x5f, 0x46, 0x09, 0x7a, 2175 0xd3, 0xee, 0xd0, 0x42, 0x3f, 0xf0, 0x6c, 0xf0, 2176 0xbf, 0xe1, 0x02, 0xd6, 0xd7, 0x29, 0x58, 0x95, 2177 0x9d, 0xd8, 0xb9, 0x8a, 0x54, 0xe8, 0xe7}; 2178 static const uint8_t test_vector_2_sig_or_mac_2_raw[] = { 2179 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 0x4a, 0x00, 2180 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 0x15, 0x53, 2181 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 0xa7, 0xdc, 2182 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 0x2c, 0xb6, 2183 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 0x94, 0xdd, 2184 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 0xbb, 0xbd, 2185 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 0x31, 0x3b, 2186 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 0x2b, 0x45}; 2187 static const uint8_t test_vector_2_sig_or_mac_2[] = { 2188 0x58, 0x40, 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 2189 0x4a, 0x00, 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 2190 0x15, 0x53, 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 2191 0xa7, 0xdc, 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 2192 0x2c, 0xb6, 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 2193 0x94, 0xdd, 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 2194 0xbb, 0xbd, 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 2195 0x31, 0x3b, 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 2196 0x2b, 0x45}; 2197 static const uint8_t test_vector_2_plaintext_2[] = { 2198 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80, 2199 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 0x58, 0x40, 2200 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 0x4a, 0x00, 2201 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 0x15, 0x53, 2202 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 0xa7, 0xdc, 2203 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 0x2c, 0xb6, 2204 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 0x94, 0xdd, 2205 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 0xbb, 0xbd, 2206 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 0x31, 0x3b, 2207 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 0x2b, 0x45}; 2208 static const uint8_t test_vector_2_info_keystream_2[] = { 2209 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 2210 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 2211 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 2212 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 2213 0xfb, 0xab, 0xa6, 0x18, 0x50}; 2214 static const uint8_t test_vector_2_keystream_2_raw[] = { 2215 0x1a, 0x09, 0xd5, 0xb3, 0xba, 0xd1, 0xc8, 0xf4, 2216 0x69, 0x24, 0x6f, 0xf3, 0x19, 0x6d, 0x4f, 0x6f, 2217 0x2c, 0xc6, 0x6d, 0xf8, 0x39, 0xf1, 0x21, 0xe0, 2218 0xad, 0x3a, 0x8c, 0xea, 0xd4, 0x92, 0x92, 0xa7, 2219 0xde, 0xa8, 0x3e, 0xa0, 0xa4, 0x6d, 0x4e, 0x1d, 2220 0x1c, 0x70, 0xa3, 0xf6, 0x7c, 0x6c, 0xbf, 0xa5, 2221 0xb9, 0x9b, 0x34, 0xb8, 0x11, 0xae, 0x03, 0x57, 2222 0x7a, 0xdf, 0xe6, 0x4a, 0x56, 0xb2, 0xd7, 0x25, 2223 0xbd, 0xf3, 0xf1, 0x6e, 0xf2, 0xfe, 0x8d, 0x80, 2224 0x26, 0xc4, 0x35, 0x75, 0x4f, 0xf8, 0xca, 0x20}; 2225 static const uint8_t test_vector_2_ciphertext_2_raw[] = { 2226 0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99, 0xfc, 0x74, 2227 0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99, 0x17, 0x2f, 2228 0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e, 0x6b, 0xe0, 2229 0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f, 0x87, 0xf4, 2230 0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff, 0xe9, 0xc1, 2231 0x77, 0x43, 0xda, 0x28, 0xed, 0x8e, 0x93, 0x13, 2232 0xd3, 0x35, 0x06, 0xda, 0x94, 0xea, 0x97, 0x8a, 2233 0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b, 0x6c, 0x98, 2234 0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47, 0xbc, 0xbb, 2235 0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40, 0xe1, 0x65}; 2236 static const uint8_t test_vector_2_ciphertext_2[] = { 2237 0x58, 0x50, 0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99, 2238 0xfc, 0x74, 0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99, 2239 0x17, 0x2f, 0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e, 2240 0x6b, 0xe0, 0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f, 2241 0x87, 0xf4, 0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff, 2242 0xe9, 0xc1, 0x77, 0x43, 0xda, 0x28, 0xed, 0x8e, 2243 0x93, 0x13, 0xd3, 0x35, 0x06, 0xda, 0x94, 0xea, 2244 0x97, 0x8a, 0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b, 2245 0x6c, 0x98, 0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47, 2246 0xbc, 0xbb, 0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40, 2247 0xe1, 0x65}; 2248 static const uint8_t test_vector_2_message_2[] = { 2249 0x58, 0x70, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2250 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2251 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2252 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2253 0xf5, 0xd5, 0xbb, 0x11, 0xf7, 0x31, 0x94, 0x99, 2254 0xfc, 0x74, 0x9c, 0xde, 0x6e, 0x5b, 0xb2, 0x99, 2255 0x17, 0x2f, 0x0a, 0x1a, 0x85, 0x5e, 0x86, 0x4e, 2256 0x6b, 0xe0, 0xd8, 0x03, 0xa6, 0xcc, 0x76, 0x4f, 2257 0x87, 0xf4, 0x69, 0x4d, 0x4b, 0xa1, 0x45, 0xff, 2258 0xe9, 0xc1, 0x77, 0x43, 0xda, 0x28, 0xed, 0x8e, 2259 0x93, 0x13, 0xd3, 0x35, 0x06, 0xda, 0x94, 0xea, 2260 0x97, 0x8a, 0x9a, 0xd2, 0x46, 0xd8, 0x06, 0x5b, 2261 0x6c, 0x98, 0x52, 0x6a, 0xc7, 0x7d, 0x47, 0x47, 2262 0xbc, 0xbb, 0x28, 0xba, 0x5b, 0xd3, 0xa8, 0x40, 2263 0xe1, 0x65, 0x27}; 2264 static const uint8_t test_vector_2_sk_i_raw[] = { 2265 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 2266 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 2267 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 2268 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 2269 static const uint8_t test_vector_2_pk_i_raw[] = { 2270 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 2271 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 2272 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 2273 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 2274 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 2275 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 2276 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 2277 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 2278 0xc8}; 2279 static const uint8_t test_vector_2_salt_4e3m[] = { 2280 0x80, 0xe6, 0xf4, 0x85, 0x3c, 0x64, 0x0a, 0x20, 2281 0x00, 0xc0, 0x93, 0x5c, 0xe5, 0x9e, 0x25, 0xb0, 2282 0x82, 0xa0, 0xa7, 0xb6, 0x17, 0x25, 0x3e, 0x19, 2283 0x18, 0x36, 0x08, 0x46, 0x87, 0x89, 0x0e, 0xdc}; 2284 static const uint8_t test_vector_2_prk_4e3m_raw[] = { 2285 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 2286 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 2287 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 2288 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 2289 static const uint8_t test_vector_2_input_TH_3[] = { 2290 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 2291 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 2292 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 2293 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 2294 0xab, 0xa6, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 2295 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 2296 0x58, 0x40, 0x26, 0xdc, 0xe8, 0xa6, 0xbf, 0xbf, 2297 0x4a, 0x00, 0x75, 0x39, 0x2a, 0x26, 0xa2, 0xdd, 2298 0x15, 0x53, 0xb7, 0xe5, 0x75, 0x01, 0xe1, 0x92, 2299 0xa7, 0xdc, 0x6b, 0x33, 0x79, 0xde, 0x91, 0xe2, 2300 0x2c, 0xb6, 0x6a, 0xae, 0x32, 0x62, 0x85, 0x44, 2301 0x94, 0xdd, 0xe0, 0x0d, 0xa0, 0x92, 0x50, 0xe9, 2302 0xbb, 0xbd, 0xef, 0x99, 0x36, 0x13, 0xb5, 0xb9, 2303 0x31, 0x3b, 0x0e, 0x7e, 0x6e, 0xa6, 0xe7, 0xb8, 2304 0x2b, 0x45, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 2305 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 2306 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 2307 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2308 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 2309 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 2310 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 2311 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 2312 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 2313 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 2314 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 2315 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 2316 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 2317 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 2318 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 2319 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 2320 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 2321 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 2322 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 2323 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 2324 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 2325 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 2326 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 2327 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 2328 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 2329 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 2330 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2331 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 2332 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 2333 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 2334 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 2335 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 2336 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 2337 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 2338 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 2339 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 2340 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2341 static const uint8_t test_vector_2_th_3_raw[] = { 2342 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 0x80, 0x06, 2343 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 0x0e, 0x98, 2344 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 0x16, 0x63, 2345 0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 0x4f, 0x2a}; 2346 static const uint8_t test_vector_2_th_3[] = { 2347 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 2348 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 2349 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 2350 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 2351 0x4f, 0x2a}; 2352 static const uint8_t test_vector_2_id_cred_i[] = { 2353 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7, 2354 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76}; 2355 static const uint8_t test_vector_2_cred_i[] = { 2356 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2357 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2358 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 2359 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2360 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2361 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2362 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2363 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 2364 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 2365 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2366 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2367 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2368 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2369 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 2370 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 2371 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2372 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2373 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 2374 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 2375 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 2376 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 2377 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 2378 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 2379 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 2380 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 2381 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 2382 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2383 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2384 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 2385 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 2386 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 2387 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 2388 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 2389 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 2390 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 2391 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 2392 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 2393 static const uint8_t test_vector_2_ca_i[] = { 2394 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 2395 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 2396 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2397 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 2398 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 2399 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2400 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 2401 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 2402 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 2403 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 2404 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 2405 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2406 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2407 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 2408 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2409 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2410 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 2411 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 2412 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 2413 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 2414 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 2415 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 2416 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 2417 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 2418 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 2419 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2420 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 2421 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 2422 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 2423 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 2424 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 2425 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 2426 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 2427 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 2428 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 2429 0x13, 0x6b, 0xf3, 0x06}; 2430 static const uint8_t test_vector_2_ca_i_pk[] = { 2431 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 2432 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 2433 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 2434 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 2435 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 2436 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 2437 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 2438 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 2439 0x95}; 2440 static const uint8_t test_vector_2_ead_3[] = { 2441 }; 2442 static const uint8_t test_vector_2_info_mac_3[] = { 2443 0x06, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82, 2444 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 2445 0x26, 0x76, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 2446 0x53, 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 2447 0xa6, 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 2448 0x4c, 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 2449 0x07, 0x35, 0x4f, 0x2a, 0x59, 0x01, 0x22, 0x30, 2450 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 2451 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 2452 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2453 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 2454 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2455 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2456 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 2457 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 2458 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 2459 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 2460 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 2461 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2462 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 2463 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 2464 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 2465 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 2466 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 2467 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 2468 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 2469 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 2470 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 2471 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 2472 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 2473 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 2474 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 2475 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 2476 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 2477 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 2478 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 2479 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 2480 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 2481 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 2482 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 2483 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 2484 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 2485 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 2486 0xde, 0x18, 0x20}; 2487 static const uint8_t test_vector_2_mac_3_raw[] = { 2488 0xbb, 0xd1, 0xce, 0x72, 0x52, 0xd1, 0xbb, 0xeb, 2489 0xdc, 0xf1, 0x8c, 0x28, 0x6a, 0x4f, 0xc9, 0xb1, 2490 0xbd, 0x23, 0x46, 0xb1, 0x2a, 0x66, 0x2e, 0xa2, 2491 0x16, 0xb7, 0x8c, 0x98, 0x68, 0x82, 0xd1, 0x45}; 2492 static const uint8_t test_vector_2_mac_3[] = { 2493 0x58, 0x20, 0xbb, 0xd1, 0xce, 0x72, 0x52, 0xd1, 2494 0xbb, 0xeb, 0xdc, 0xf1, 0x8c, 0x28, 0x6a, 0x4f, 2495 0xc9, 0xb1, 0xbd, 0x23, 0x46, 0xb1, 0x2a, 0x66, 2496 0x2e, 0xa2, 0x16, 0xb7, 0x8c, 0x98, 0x68, 0x82, 2497 0xd1, 0x45}; 2498 static const uint8_t test_vector_2_m_3[] = { 2499 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2500 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 2501 0x82, 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 2502 0x16, 0x26, 0x76, 0x59, 0x01, 0x47, 0x58, 0x20, 2503 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 0x80, 0x06, 2504 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 0x0e, 0x98, 2505 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 0x16, 0x63, 2506 0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 0x4f, 0x2a, 2507 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2508 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2509 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 2510 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2511 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2512 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2513 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2514 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 2515 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 2516 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2517 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2518 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2519 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2520 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 2521 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 2522 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2523 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2524 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 2525 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 2526 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 2527 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 2528 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 2529 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 2530 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 2531 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 2532 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 2533 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2534 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2535 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 2536 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 2537 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 2538 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 2539 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 2540 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 2541 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 2542 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 2543 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xbb, 2544 0xd1, 0xce, 0x72, 0x52, 0xd1, 0xbb, 0xeb, 0xdc, 2545 0xf1, 0x8c, 0x28, 0x6a, 0x4f, 0xc9, 0xb1, 0xbd, 2546 0x23, 0x46, 0xb1, 0x2a, 0x66, 0x2e, 0xa2, 0x16, 2547 0xb7, 0x8c, 0x98, 0x68, 0x82, 0xd1, 0x45}; 2548 static const uint8_t test_vector_2_sig_or_mac_3_raw[] = { 2549 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 0xab, 0x56, 2550 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 0x5a, 0x0b, 2551 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 0x25, 0x15, 2552 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 0x4e, 0x70, 2553 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 0xde, 0x8a, 2554 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 0x4f, 0xf5, 2555 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 0x3e, 0xfc, 2556 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 0x3e, 0x86}; 2557 static const uint8_t test_vector_2_sig_or_mac_3[] = { 2558 0x58, 0x40, 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 2559 0xab, 0x56, 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 2560 0x5a, 0x0b, 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 2561 0x25, 0x15, 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 2562 0x4e, 0x70, 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 2563 0xde, 0x8a, 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 2564 0x4f, 0xf5, 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 2565 0x3e, 0xfc, 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 2566 0x3e, 0x86}; 2567 static const uint8_t test_vector_2_p_3[] = { 2568 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7, 2569 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 0x58, 0x40, 2570 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 0xab, 0x56, 2571 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 0x5a, 0x0b, 2572 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 0x25, 0x15, 2573 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 0x4e, 0x70, 2574 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 0xde, 0x8a, 2575 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 0x4f, 0xf5, 2576 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 0x3e, 0xfc, 2577 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 0x3e, 0x86}; 2578 static const uint8_t test_vector_2_a_3[] = { 2579 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2580 0x74, 0x30, 0x40, 0x58, 0x20, 0xa3, 0x67, 0x67, 2581 0xf2, 0x53, 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 2582 0xe9, 0xa6, 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 2583 0x0b, 0x4c, 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 2584 0x45, 0x07, 0x35, 0x4f, 0x2a}; 2585 static const uint8_t test_vector_2_info_k_3[] = { 2586 0x03, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 2587 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 2588 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 2589 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 2590 0x35, 0x4f, 0x2a, 0x10}; 2591 static const uint8_t test_vector_2_k_3_raw[] = { 2592 0x75, 0xf2, 0x6e, 0xb6, 0xf8, 0x69, 0x98, 0x1c, 2593 0xe2, 0x98, 0x1d, 0x83, 0xbc, 0x59, 0x60, 0x4c}; 2594 static const uint8_t test_vector_2_info_iv_3[] = { 2595 0x04, 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 2596 0xf2, 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 2597 0x14, 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 2598 0x7e, 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 2599 0x35, 0x4f, 0x2a, 0x0d}; 2600 static const uint8_t test_vector_2_iv_3_raw[] = { 2601 0xee, 0xe0, 0xad, 0xf5, 0x03, 0xb8, 0x2f, 0x1f, 2602 0x27, 0x74, 0xc4, 0xe2, 0x7a}; 2603 static const uint8_t test_vector_2_ciphertext_3_raw[] = { 2604 0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc, 0x6a, 0xd7, 2605 0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29, 0xdf, 0x7d, 2606 0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38, 0x71, 0x33, 2607 0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4, 0x03, 0x07, 2608 0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10, 0xd3, 0xd5, 2609 0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63, 0xb6, 0x84, 2610 0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46, 0x24, 0xd9, 2611 0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2, 0xa9, 0xba, 2612 0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63, 0xbf, 0x2b, 2613 0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73, 0x41, 0xef, 2614 0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9, 0x75, 0xb0}; 2615 static const uint8_t test_vector_2_ciphertext_3[] = { 2616 0x58, 0x58, 0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc, 2617 0x6a, 0xd7, 0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29, 2618 0xdf, 0x7d, 0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38, 2619 0x71, 0x33, 0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4, 2620 0x03, 0x07, 0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10, 2621 0xd3, 0xd5, 0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63, 2622 0xb6, 0x84, 0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46, 2623 0x24, 0xd9, 0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2, 2624 0xa9, 0xba, 0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63, 2625 0xbf, 0x2b, 0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73, 2626 0x41, 0xef, 0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9, 2627 0x75, 0xb0}; 2628 static const uint8_t test_vector_2_message_3[] = { 2629 0x58, 0x58, 0x33, 0x1b, 0x9f, 0xf4, 0x90, 0xdc, 2630 0x6a, 0xd7, 0x2f, 0x8b, 0xb0, 0x92, 0xec, 0x29, 2631 0xdf, 0x7d, 0xf2, 0xc2, 0xb5, 0x3c, 0x86, 0x38, 2632 0x71, 0x33, 0x0a, 0x34, 0xa2, 0x7c, 0x92, 0xe4, 2633 0x03, 0x07, 0x02, 0xcb, 0x28, 0xe6, 0xeb, 0x10, 2634 0xd3, 0xd5, 0x9c, 0xfb, 0x77, 0xbd, 0xb1, 0x63, 2635 0xb6, 0x84, 0x1d, 0x61, 0x1f, 0xd0, 0xea, 0x46, 2636 0x24, 0xd9, 0x53, 0x33, 0x9a, 0x25, 0xd6, 0xd2, 2637 0xa9, 0xba, 0xa5, 0xd1, 0x41, 0x03, 0xa6, 0x63, 2638 0xbf, 0x2b, 0xbf, 0xbe, 0x49, 0xc3, 0x7d, 0x73, 2639 0x41, 0xef, 0x83, 0xda, 0x0c, 0x6b, 0x5a, 0xc9, 2640 0x75, 0xb0}; 2641 static const uint8_t test_vector_2_input_th_4[] = { 2642 0x58, 0x20, 0xa3, 0x67, 0x67, 0xf2, 0x53, 0xf2, 2643 0x80, 0x06, 0x76, 0x57, 0xd2, 0xe9, 0xa6, 0x14, 2644 0x0e, 0x98, 0xe3, 0x80, 0x22, 0x0b, 0x4c, 0x7e, 2645 0x16, 0x63, 0xea, 0x72, 0x11, 0x45, 0x07, 0x35, 2646 0x4f, 0x2a, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 2647 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 2648 0x58, 0x40, 0x16, 0x33, 0x6b, 0xa1, 0xf8, 0x58, 2649 0xab, 0x56, 0x44, 0x87, 0xb9, 0x79, 0x3a, 0x9a, 2650 0x5a, 0x0b, 0x12, 0xc8, 0xa6, 0x14, 0xa2, 0x2c, 2651 0x25, 0x15, 0x03, 0xca, 0xb9, 0xa2, 0x9f, 0x8d, 2652 0x4e, 0x70, 0xb0, 0x9d, 0xd7, 0x3e, 0x35, 0x7f, 2653 0xde, 0x8a, 0x52, 0x5d, 0xf1, 0xf3, 0x8c, 0xee, 2654 0x4f, 0xf5, 0xa6, 0x16, 0xd3, 0xd4, 0x0c, 0xb3, 2655 0x3e, 0xfc, 0x6b, 0x09, 0xa1, 0xc3, 0xb6, 0x5b, 2656 0x3e, 0x86, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 2657 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 2658 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 2659 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2660 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 2661 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 2662 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 2663 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 2664 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 2665 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 2666 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 2667 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 2668 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 2669 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 2670 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 2671 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 2672 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 2673 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 2674 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 2675 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 2676 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 2677 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 2678 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 2679 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 2680 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 2681 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 2682 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2683 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 2684 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 2685 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 2686 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 2687 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 2688 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 2689 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 2690 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 2691 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 2692 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 2693 static const uint8_t test_vector_2_th_4_raw[] = { 2694 0x14, 0x06, 0x2c, 0x19, 0x72, 0x60, 0x3a, 0x77, 2695 0xc5, 0x7a, 0x6f, 0xe4, 0xef, 0x82, 0xf4, 0xdd, 2696 0x34, 0x4e, 0x79, 0x9d, 0xbb, 0x92, 0x12, 0x6b, 2697 0x89, 0x59, 0x37, 0x51, 0xcf, 0xbd, 0xb2, 0x77}; 2698 static const uint8_t test_vector_2_th_4[] = { 2699 0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72, 0x60, 2700 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef, 0x82, 2701 0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb, 0x92, 2702 0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf, 0xbd, 2703 0xb2, 0x77}; 2704 static const uint8_t test_vector_2_ead_4[] = { 2705 }; 2706 static const uint8_t test_vector_2_p_4[] = { 2707 }; 2708 static const uint8_t test_vector_2_a_4[] = { 2709 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2710 0x74, 0x30, 0x40, 0x58, 0x20, 0x14, 0x06, 0x2c, 2711 0x19, 0x72, 0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 2712 0xe4, 0xef, 0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79, 2713 0x9d, 0xbb, 0x92, 0x12, 0x6b, 0x89, 0x59, 0x37, 2714 0x51, 0xcf, 0xbd, 0xb2, 0x77}; 2715 static const uint8_t test_vector_2_info_k_4[] = { 2716 0x08, 0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72, 2717 0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef, 2718 0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb, 2719 0x92, 0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf, 2720 0xbd, 0xb2, 0x77, 0x10}; 2721 static const uint8_t test_vector_2_k_4_raw[] = { 2722 0xd4, 0x1a, 0x09, 0xdc, 0xce, 0xda, 0x94, 0x20, 2723 0xd2, 0x4a, 0x93, 0x17, 0x0b, 0xe0, 0x5c, 0x3c}; 2724 static const uint8_t test_vector_2_info_iv_4[] = { 2725 0x09, 0x58, 0x20, 0x14, 0x06, 0x2c, 0x19, 0x72, 2726 0x60, 0x3a, 0x77, 0xc5, 0x7a, 0x6f, 0xe4, 0xef, 2727 0x82, 0xf4, 0xdd, 0x34, 0x4e, 0x79, 0x9d, 0xbb, 2728 0x92, 0x12, 0x6b, 0x89, 0x59, 0x37, 0x51, 0xcf, 2729 0xbd, 0xb2, 0x77, 0x0d}; 2730 static const uint8_t test_vector_2_iv_4_raw[] = { 2731 0x44, 0xbc, 0xee, 0x63, 0xb3, 0xef, 0x66, 0x05, 2732 0xfe, 0x8a, 0x7b, 0x83, 0xa8}; 2733 static const uint8_t test_vector_2_ciphertext_4_raw[] = { 2734 0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45, 0x7b}; 2735 static const uint8_t test_vector_2_ciphertext_4[] = { 2736 0x48, 0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45, 2737 0x7b}; 2738 static const uint8_t test_vector_2_message_4[] = { 2739 0x48, 0x3c, 0x7f, 0x24, 0xcc, 0xec, 0x20, 0x45, 2740 0x7b}; 2741 static const uint8_t test_vector_2_prk_out[] = { 2742 0x52, 0x09, 0x32, 0xd5, 0x35, 0xf8, 0x0c, 0x85, 2743 0x83, 0xfe, 0x29, 0x6e, 0x8a, 0x54, 0xc4, 0xfb, 2744 0xd7, 0x94, 0x29, 0x21, 0x0a, 0x7b, 0xa6, 0xa7, 2745 0xfa, 0x91, 0x82, 0xf0, 0xec, 0xd0, 0xae, 0xf8}; 2746 static const uint8_t test_vector_2_prk_exporter[] = { 2747 0xda, 0xd4, 0xb5, 0x4a, 0x0e, 0x6f, 0xdc, 0x36, 2748 0xb8, 0xac, 0xef, 0x4c, 0x2d, 0x89, 0x22, 0x56, 2749 0xce, 0x2f, 0x2a, 0xbb, 0x2f, 0x9b, 0x09, 0x4a, 2750 0xca, 0xef, 0x1d, 0x90, 0x8f, 0x66, 0xc2, 0x6f}; 2751 int32_t test_vector_2_oscore_aead_alg = 10; 2752 int32_t test_vector_2_oscore_hash_alg = -16; 2753 static const uint8_t test_vector_2_client_sender_id_raw[] = { 2754 0x27}; 2755 static const uint8_t test_vector_2_server_sender_id_raw[] = { 2756 0x37}; 2757 static const uint8_t test_vector_2_info_oscore_secret[] = { 2758 0x00, 0x40, 0x10}; 2759 static const uint8_t test_vector_2_oscore_secret_raw[] = { 2760 0xed, 0xb6, 0x56, 0x9f, 0x49, 0x2b, 0x8f, 0xc1, 2761 0x64, 0x11, 0x00, 0x42, 0x70, 0x71, 0x99, 0xdf}; 2762 static const uint8_t test_vector_2_info_oscore_salt[] = { 2763 0x01, 0x40, 0x08}; 2764 static const uint8_t test_vector_2_oscore_salt_raw[] = { 2765 0x47, 0xa5, 0xa3, 0x99, 0x87, 0xd9, 0x63, 0xd4}; 2766 static const uint8_t test_vector_2_prk_out_updated[] = { 2767 0xb2, 0x39, 0xc9, 0xe0, 0x03, 0x78, 0x0d, 0x9e, 2768 0x3d, 0xf6, 0xb7, 0x4f, 0x0b, 0xa1, 0x50, 0x86, 2769 0x07, 0xf3, 0xd6, 0xbf, 0xc7, 0x2a, 0xf8, 0x0d, 2770 0x04, 0xe3, 0xef, 0x1e, 0x48, 0x59, 0x74, 0x21}; 2771 static const uint8_t test_vector_2_prk_exporter_update[] = { 2772 0x7b, 0x0e, 0x2e, 0x74, 0x7b, 0x6e, 0x9f, 0xe9, 2773 0xd3, 0xaf, 0xc5, 0x5d, 0xe3, 0xa8, 0x00, 0x19, 2774 0x13, 0xe7, 0x0f, 0xe6, 0x46, 0xd1, 0xe6, 0x20, 2775 0x19, 0x0b, 0x98, 0x75, 0x85, 0x2b, 0x35, 0xd2}; 2776 static const uint8_t test_vector_2_oscore_secret_key_update_raw[] = { 2777 0xb3, 0x54, 0x1b, 0xd2, 0xc8, 0x5c, 0x03, 0x48, 2778 0x7e, 0x65, 0x98, 0xe7, 0x9f, 0xae, 0x81, 0x9f}; 2779 static const uint8_t test_vector_2_oscore_salt_key_update_raw[] = { 2780 0x6a, 0xd4, 0xae, 0x42, 0x4d, 0x76, 0x21, 0xd7}; 2781 2782 /***************** test_vector_3 ************/ 2783 2784 static const uint8_t test_vector_3_method[] = { 2785 0x00}; 2786 static const uint8_t test_vector_3_SUITES_I[] = { 2787 0x02}; 2788 static const uint8_t test_vector_3_SUITES_R[] = { 2789 0x02}; 2790 static const uint8_t test_vector_3_x_raw[] = { 2791 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 2792 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 2793 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 2794 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 2795 static const uint8_t test_vector_3_g_x_raw[] = { 2796 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 2797 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 2798 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 2799 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 2800 static const uint8_t test_vector_3_g_x_raw_y_coordinate[] = { 2801 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 2802 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 2803 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 2804 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 2805 static const uint8_t test_vector_3_g_x[] = { 2806 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 2807 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 2808 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 2809 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 2810 0xc3, 0xb6}; 2811 int32_t test_vector_3_c_i_raw = -24; 2812 static const uint8_t test_vector_3_c_i[] = { 2813 0x37}; 2814 static const uint8_t test_vector_3_ead_1[] = { 2815 }; 2816 static const uint8_t test_vector_3_message_1[] = { 2817 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 2818 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 2819 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 2820 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 2821 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 2822 static const uint8_t test_vector_3_y_raw[] = { 2823 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 2824 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 2825 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 2826 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 2827 static const uint8_t test_vector_3_g_y_raw[] = { 2828 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 2829 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 2830 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 2831 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 2832 static const uint8_t test_vector_3_g_y_raw_y_coordinate[] = { 2833 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 2834 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 2835 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 2836 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 2837 static const uint8_t test_vector_3_g_y[] = { 2838 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2839 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2840 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2841 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2842 0xf5, 0xd5}; 2843 static const uint8_t test_vector_3_g_xy_raw[] = { 2844 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 2845 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 2846 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 2847 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 2848 static const uint8_t test_vector_3_salt_raw[] = { 2849 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2850 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2851 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2852 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 2853 static const uint8_t test_vector_3_prk_2e_raw[] = { 2854 0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06, 2855 0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a, 2856 0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71, 2857 0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31}; 2858 static const uint8_t test_vector_3_salt_3e2m[] = { 2859 0x7a, 0xfb, 0x7f, 0x9e, 0x53, 0x3b, 0x00, 0xbb, 2860 0xea, 0xf8, 0x8c, 0xd1, 0x07, 0x09, 0xec, 0xbb, 2861 0x36, 0xbe, 0x1c, 0x0b, 0xb9, 0x26, 0x35, 0xef, 2862 0xd3, 0x4e, 0x9b, 0x9a, 0x81, 0x82, 0x75, 0xa2}; 2863 static const uint8_t test_vector_3_sk_r_raw[] = { 2864 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 2865 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 2866 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 2867 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 2868 static const uint8_t test_vector_3_pk_r_raw[] = { 2869 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 2870 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 2871 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 2872 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 2873 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 2874 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 2875 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 2876 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 2877 0x72}; 2878 static const uint8_t test_vector_3_prk_3e2m_raw[] = { 2879 0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06, 2880 0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a, 2881 0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71, 2882 0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31}; 2883 int32_t test_vector_3_c_r_raw = -19; 2884 static const uint8_t test_vector_3_c_r[] = { 2885 0x32}; 2886 static const uint8_t test_vector_3_h_message_1_raw[] = { 2887 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 2888 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 2889 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 2890 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 2891 static const uint8_t test_vector_3_h_message_1[] = { 2892 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 2893 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 2894 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 2895 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 2896 0x67, 0x26}; 2897 static const uint8_t test_vector_3_input_th_2[] = { 2898 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2899 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2900 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2901 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2902 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xc7, 0x93, 0x1f, 2903 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 2904 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 2905 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 2906 0x18, 0x2a, 0x4e, 0x67, 0x26}; 2907 static const uint8_t test_vector_3_th_2_raw[] = { 2908 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 2909 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 2910 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 2911 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d}; 2912 static const uint8_t test_vector_3_th_2[] = { 2913 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 2914 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 2915 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 2916 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 2917 0x85, 0x0d}; 2918 static const uint8_t test_vector_3_id_cred_r[] = { 2919 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 2920 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 2921 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 2922 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 2923 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 2924 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2925 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 2926 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 2927 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 2928 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 2929 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 2930 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 2931 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 2932 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 2933 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 2934 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 2935 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 2936 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 2937 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 2938 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 2939 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 2940 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 2941 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 2942 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 2943 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 2944 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 2945 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2946 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 2947 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 2948 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 2949 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 2950 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 2951 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 2952 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 2953 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 2954 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 2955 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2956 static const uint8_t test_vector_3_cred_r[] = { 2957 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2958 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2959 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 2960 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2961 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2962 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2963 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2964 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 2965 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 2966 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2967 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2968 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2969 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2970 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 2971 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 2972 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2973 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2974 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 2975 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 2976 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 2977 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 2978 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 2979 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 2980 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 2981 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 2982 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 2983 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2984 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2985 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 2986 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 2987 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 2988 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 2989 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 2990 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 2991 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 2992 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 2993 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2994 static const uint8_t test_vector_3_ca_r[] = { 2995 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 2996 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 2997 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2998 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 2999 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3000 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3001 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3002 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 3003 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 3004 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3005 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 3006 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3007 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3008 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 3009 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 3010 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3011 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 3012 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 3013 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 3014 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 3015 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 3016 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 3017 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 3018 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 3019 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 3020 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3021 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 3022 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 3023 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 3024 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 3025 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 3026 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 3027 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 3028 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 3029 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 3030 0x13, 0x6b, 0xf3, 0x06}; 3031 static const uint8_t test_vector_3_ca_r_pk[] = { 3032 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 3033 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 3034 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 3035 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 3036 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 3037 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 3038 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 3039 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 3040 0x95}; 3041 static const uint8_t test_vector_3_ead_2[] = { 3042 }; 3043 static const uint8_t test_vector_3_info_mac_2[] = { 3044 0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59, 3045 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 3046 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 3047 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 3048 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3049 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 3050 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 3051 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 3052 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 3053 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 3054 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 3055 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 3056 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 3057 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 3058 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3059 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 3060 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 3061 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 3062 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 3063 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 3064 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 3065 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 3066 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 3067 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 3068 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 3069 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 3070 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 3071 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 3072 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 3073 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 3074 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 3075 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 3076 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 3077 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 3078 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 3079 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 3080 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 3081 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xb8, 0x1b, 3082 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 3083 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 3084 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 3085 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 3086 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 3087 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 3088 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3089 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 3090 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 3091 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 3092 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 3093 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 3094 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 3095 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 3096 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 3097 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 3098 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 3099 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 3100 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 3101 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 3102 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 3103 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 3104 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 3105 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 3106 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 3107 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 3108 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 3109 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 3110 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 3111 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 3112 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 3113 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 3114 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 3115 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 3116 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 3117 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 3118 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 3119 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 3120 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 3121 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 3122 0x3d, 0x05, 0x58, 0x18, 0x20}; 3123 static const uint8_t test_vector_3_mac_2_raw[] = { 3124 0xbd, 0x10, 0xb4, 0x5d, 0x70, 0xdb, 0x93, 0xda, 3125 0xd0, 0x83, 0x08, 0x86, 0x7f, 0x7a, 0x05, 0xa3, 3126 0x2a, 0xda, 0x37, 0x5e, 0x49, 0xdf, 0x76, 0x63, 3127 0x69, 0xc4, 0x20, 0x12, 0xcb, 0x1d, 0x6e, 0xea}; 3128 static const uint8_t test_vector_3_mac_2[] = { 3129 0x58, 0x20, 0xbd, 0x10, 0xb4, 0x5d, 0x70, 0xdb, 3130 0x93, 0xda, 0xd0, 0x83, 0x08, 0x86, 0x7f, 0x7a, 3131 0x05, 0xa3, 0x2a, 0xda, 0x37, 0x5e, 0x49, 0xdf, 3132 0x76, 0x63, 0x69, 0xc4, 0x20, 0x12, 0xcb, 0x1d, 3133 0x6e, 0xea}; 3134 static const uint8_t test_vector_3_m_2[] = { 3135 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 3136 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 3137 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 3138 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 3139 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 3140 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3141 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 3142 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 3143 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 3144 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 3145 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 3146 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 3147 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 3148 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 3149 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 3150 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 3151 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 3152 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 3153 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 3154 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 3155 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 3156 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 3157 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 3158 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 3159 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 3160 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 3161 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 3162 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 3163 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3164 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 3165 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 3166 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 3167 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 3168 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 3169 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 3170 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 3171 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 3172 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 3173 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59, 3174 0x01, 0x47, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 3175 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 3176 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 3177 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 3178 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 0x22, 0x30, 3179 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 3180 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 3181 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3182 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 3183 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3184 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3185 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 3186 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 3187 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 3188 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 3189 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 3190 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3191 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3192 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 3193 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 3194 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 3195 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 3196 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 3197 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 3198 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 3199 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 3200 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 3201 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 3202 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 3203 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 3204 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3205 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 3206 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 3207 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 3208 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 3209 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 3210 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 3211 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 3212 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 3213 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 3214 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 3215 0x58, 0x58, 0x20, 0xbd, 0x10, 0xb4, 0x5d, 0x70, 3216 0xdb, 0x93, 0xda, 0xd0, 0x83, 0x08, 0x86, 0x7f, 3217 0x7a, 0x05, 0xa3, 0x2a, 0xda, 0x37, 0x5e, 0x49, 3218 0xdf, 0x76, 0x63, 0x69, 0xc4, 0x20, 0x12, 0xcb, 3219 0x1d, 0x6e, 0xea}; 3220 static const uint8_t test_vector_3_sig_or_mac_2_raw[] = { 3221 0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe, 0xb4, 0x76, 3222 0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a, 0x36, 0xff, 3223 0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97, 0x98, 0xbb, 3224 0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78, 0x53, 0xa9, 3225 0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6, 0x18, 0x84, 3226 0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e, 0x5d, 0x99, 3227 0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15, 0xd1, 0xa8, 3228 0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e, 0x72, 0x05}; 3229 static const uint8_t test_vector_3_sig_or_mac_2[] = { 3230 0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe, 3231 0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a, 3232 0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97, 3233 0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78, 3234 0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6, 3235 0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e, 3236 0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15, 3237 0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e, 3238 0x72, 0x05}; 3239 static const uint8_t test_vector_3_plaintext_2[] = { 3240 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3241 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3242 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 3243 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3244 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3245 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3246 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3247 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3248 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 3249 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3250 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3251 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3252 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3253 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 3254 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 3255 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3256 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3257 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3258 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 3259 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 3260 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 3261 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 3262 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 3263 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 3264 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 3265 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 3266 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3267 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3268 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 3269 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 3270 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 3271 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 3272 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 3273 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 3274 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 3275 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 3276 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 3277 0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0, 0xf6, 0xfe, 3278 0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1, 0xd0, 0x9a, 3279 0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13, 0x02, 0x97, 3280 0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f, 0xb8, 0x78, 3281 0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04, 0xf0, 0xc6, 3282 0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac, 0xea, 0x6e, 3283 0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88, 0xee, 0x15, 3284 0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd, 0x25, 0x4e, 3285 0x72, 0x05}; 3286 static const uint8_t test_vector_3_info_keystream_2[] = { 3287 0x00, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 3288 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 3289 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 3290 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 3291 0x2b, 0x85, 0x0d, 0x19, 0x01, 0x6a}; 3292 static const uint8_t test_vector_3_keystream_2_raw[] = { 3293 0x7d, 0x96, 0x1b, 0xbf, 0x82, 0x61, 0x4c, 0x81, 3294 0x58, 0x96, 0x12, 0x39, 0x44, 0x17, 0x3f, 0x57, 3295 0x0a, 0x0f, 0x25, 0x2a, 0xb9, 0x2a, 0xb5, 0xfa, 3296 0xa1, 0xf3, 0x46, 0x84, 0x48, 0x50, 0x76, 0xe6, 3297 0xc5, 0xab, 0xea, 0x1f, 0x24, 0xce, 0xde, 0xd2, 3298 0xa0, 0x47, 0x62, 0xb3, 0x13, 0x94, 0xa9, 0x7a, 3299 0xbe, 0xdd, 0x11, 0x8f, 0xcd, 0x33, 0x3d, 0x5d, 3300 0x16, 0xcd, 0x3a, 0x0f, 0x80, 0x06, 0x4e, 0x1c, 3301 0x48, 0x48, 0xb1, 0x08, 0xad, 0x66, 0xc4, 0x9c, 3302 0x2d, 0x85, 0x86, 0x8c, 0x2b, 0xf3, 0x5f, 0x98, 3303 0x87, 0x21, 0x87, 0xc4, 0x6e, 0x58, 0xd8, 0x09, 3304 0xa6, 0x5b, 0x7b, 0xd9, 0xd8, 0x38, 0x8e, 0xe5, 3305 0x91, 0x97, 0xd7, 0x43, 0xac, 0xe7, 0xea, 0xa0, 3306 0x70, 0x3f, 0xc6, 0xd4, 0x3e, 0xdc, 0x4c, 0xe9, 3307 0x2a, 0x2e, 0xc1, 0xfd, 0x58, 0xfd, 0x71, 0x7f, 3308 0x03, 0x9a, 0x92, 0x81, 0x99, 0x86, 0x62, 0x29, 3309 0x64, 0xe8, 0xd6, 0x50, 0x36, 0xdd, 0x88, 0x72, 3310 0xac, 0x06, 0xa6, 0xb4, 0x62, 0x4c, 0x99, 0x21, 3311 0xa2, 0x7b, 0x21, 0x37, 0x6d, 0x08, 0x99, 0xa1, 3312 0xbf, 0x51, 0x16, 0xb5, 0xbe, 0x20, 0x23, 0x15, 3313 0x8b, 0x04, 0xa6, 0xe8, 0x83, 0xb7, 0x71, 0x34, 3314 0xf5, 0xa0, 0xf1, 0xa1, 0x71, 0xdc, 0x15, 0x7b, 3315 0xca, 0x79, 0x4f, 0x29, 0xc8, 0xb8, 0x11, 0xc4, 3316 0x41, 0xa6, 0xf7, 0x7e, 0x56, 0x79, 0x7c, 0x43, 3317 0x6d, 0x52, 0xf2, 0xf8, 0xa3, 0x9c, 0xcf, 0x8e, 3318 0xed, 0xdb, 0x6f, 0xd0, 0x36, 0x68, 0x2d, 0xbd, 3319 0xbd, 0xf5, 0xa8, 0xd5, 0x5a, 0x1f, 0x52, 0xeb, 3320 0x26, 0xc3, 0x1c, 0x21, 0x70, 0xd1, 0x9d, 0x85, 3321 0x10, 0x18, 0xcb, 0x60, 0x7d, 0xc9, 0xc8, 0xa4, 3322 0xac, 0xec, 0x82, 0xad, 0x1b, 0x30, 0x07, 0x26, 3323 0x00, 0x55, 0x59, 0x86, 0x98, 0x44, 0x2e, 0x22, 3324 0xca, 0x9c, 0xc8, 0x36, 0x4e, 0x98, 0xb4, 0xf1, 3325 0x65, 0x94, 0xe5, 0x08, 0x64, 0x2c, 0xf4, 0xc5, 3326 0xa0, 0x78, 0x15, 0x30, 0x3c, 0xc0, 0x85, 0xfe, 3327 0x9c, 0xbf, 0x18, 0x9e, 0xd6, 0xd7, 0x37, 0xea, 3328 0xc2, 0x81, 0x86, 0x6b, 0xfa, 0xe9, 0x2e, 0x6f, 3329 0x71, 0x8b, 0x9f, 0x7a, 0xec, 0x8b, 0x90, 0xea, 3330 0xbf, 0x06, 0x96, 0xfc, 0x07, 0x9e, 0x5e, 0x8b, 3331 0x0f, 0xfe, 0xbf, 0x49, 0xa9, 0x8b, 0xfd, 0x2e, 3332 0xe3, 0x54, 0x9e, 0x4d, 0x18, 0xa9, 0xbd, 0x97, 3333 0x24, 0xac, 0xc1, 0x4c, 0x23, 0xb9, 0x22, 0x00, 3334 0x77, 0x9a, 0x1d, 0x34, 0x90, 0x20, 0x57, 0x07, 3335 0xf7, 0x46, 0x92, 0xe3, 0xaf, 0x5d, 0x81, 0xcb, 3336 0xe0, 0x5b, 0x35, 0x88, 0x30, 0xe5, 0xba, 0x51, 3337 0x73, 0x24, 0x86, 0x41, 0x48, 0x05, 0x9b, 0xaf, 3338 0x00, 0x0a}; 3339 static const uint8_t test_vector_3_ciphertext_2_raw[] = { 3340 0xdc, 0x8e, 0x3b, 0xe6, 0x83, 0x43, 0x7c, 0x03, 3341 0x59, 0x88, 0x22, 0xb8, 0x81, 0xb7, 0x3c, 0x55, 3342 0x0b, 0x0d, 0x27, 0x2e, 0xd8, 0xc3, 0x2d, 0xe4, 3343 0x91, 0xf9, 0x40, 0x8c, 0x62, 0xd6, 0x3e, 0x28, 3344 0xf8, 0xaf, 0xe9, 0x1d, 0x14, 0xdb, 0xef, 0xc1, 3345 0x90, 0x56, 0x64, 0xb0, 0x46, 0x90, 0xaa, 0x76, 3346 0xb4, 0x98, 0x55, 0xc7, 0x82, 0x70, 0x1d, 0x0f, 3347 0x79, 0xa2, 0x4e, 0x3f, 0x9e, 0x11, 0x43, 0x2e, 3348 0x7a, 0x78, 0x80, 0x3a, 0x9d, 0x57, 0xf3, 0xad, 3349 0x1e, 0xb5, 0xb4, 0xd6, 0x3c, 0xfe, 0x6d, 0xa1, 3350 0xb6, 0x13, 0xb4, 0xf5, 0x5c, 0x6b, 0xe8, 0x39, 3351 0x96, 0x6b, 0x21, 0xe9, 0xc2, 0x09, 0x96, 0xd5, 3352 0x87, 0x91, 0xd4, 0x16, 0xa8, 0xe4, 0xe6, 0xaf, 3353 0x35, 0x7b, 0x8e, 0x9b, 0x7d, 0xfc, 0x1e, 0x8c, 3354 0x59, 0x5e, 0xae, 0x93, 0x3c, 0x98, 0x03, 0x4f, 3355 0x5a, 0xaa, 0x81, 0x87, 0x9e, 0xac, 0xe4, 0x61, 3356 0xaa, 0xd5, 0xd4, 0x51, 0x30, 0xd5, 0xa2, 0xf4, 3357 0xe4, 0xc8, 0x9b, 0xb7, 0x63, 0x4b, 0x9a, 0x63, 3358 0xa2, 0x7f, 0x9a, 0xf4, 0x24, 0x68, 0xcb, 0xcf, 3359 0x1b, 0x82, 0x38, 0x21, 0xb2, 0x8d, 0x09, 0x36, 3360 0xca, 0x4c, 0x7b, 0x2a, 0x94, 0x26, 0xd0, 0x1e, 3361 0x0e, 0x6b, 0x5d, 0x32, 0x13, 0xfc, 0x53, 0xa6, 3362 0x8e, 0x89, 0x0a, 0x30, 0x2a, 0xef, 0x32, 0xaf, 3363 0x6b, 0xaa, 0x15, 0x7c, 0x69, 0x70, 0x4d, 0xb2, 3364 0x9e, 0xd4, 0x38, 0x82, 0x5e, 0x3a, 0x80, 0x43, 3365 0x0d, 0xcb, 0xe3, 0xf2, 0x7a, 0x39, 0xc7, 0x02, 3366 0xdd, 0x87, 0x98, 0xdf, 0x5c, 0x17, 0x78, 0x6d, 3367 0x6e, 0x0d, 0x21, 0x25, 0x73, 0xd3, 0x9e, 0xcd, 3368 0x10, 0x28, 0x8e, 0x62, 0x5d, 0xf9, 0xd1, 0xea, 3369 0x59, 0x10, 0xe7, 0x65, 0xac, 0xa5, 0xca, 0xeb, 3370 0x0b, 0xe1, 0x68, 0x39, 0x1b, 0xaa, 0x49, 0x63, 3371 0x0b, 0xab, 0xc4, 0x14, 0x86, 0x73, 0x3a, 0x18, 3372 0x88, 0x46, 0x42, 0x0d, 0x7d, 0x2e, 0xd5, 0xc5, 3373 0x15, 0xfb, 0x1b, 0xac, 0xb5, 0x66, 0xaf, 0x39, 3374 0xa0, 0x5e, 0xf3, 0x50, 0xd6, 0xb6, 0x47, 0x97, 3375 0x7a, 0x29, 0x08, 0x48, 0x8a, 0x72, 0x64, 0xa3, 3376 0x29, 0x2a, 0xae, 0x41, 0xff, 0xb6, 0x95, 0xb2, 3377 0xe7, 0x46, 0xe5, 0x0e, 0xbf, 0x3e, 0xa8, 0x75, 3378 0xbb, 0x88, 0xda, 0xab, 0x12, 0x4a, 0x2d, 0xb4, 3379 0xd5, 0xab, 0x31, 0xb8, 0x37, 0xba, 0xbf, 0x00, 3380 0xbc, 0x17, 0x40, 0x14, 0xbf, 0xa6, 0x9a, 0x78, 3381 0x24, 0x33, 0xef, 0xb9, 0xe3, 0x24, 0xa7, 0xc1, 3382 0xef, 0xc2, 0x84, 0x42, 0x30, 0xf1, 0x6b, 0xa5, 3383 0xbd, 0xc2, 0x9c, 0x7e, 0xe3, 0x6d, 0x54, 0x44, 3384 0xa2, 0x8c, 0x90, 0xa6, 0x77, 0xc8, 0xbe, 0xe1, 3385 0x72, 0x0f}; 3386 static const uint8_t test_vector_3_ciphertext_2[] = { 3387 0x59, 0x01, 0x6a, 0xdc, 0x8e, 0x3b, 0xe6, 0x83, 3388 0x43, 0x7c, 0x03, 0x59, 0x88, 0x22, 0xb8, 0x81, 3389 0xb7, 0x3c, 0x55, 0x0b, 0x0d, 0x27, 0x2e, 0xd8, 3390 0xc3, 0x2d, 0xe4, 0x91, 0xf9, 0x40, 0x8c, 0x62, 3391 0xd6, 0x3e, 0x28, 0xf8, 0xaf, 0xe9, 0x1d, 0x14, 3392 0xdb, 0xef, 0xc1, 0x90, 0x56, 0x64, 0xb0, 0x46, 3393 0x90, 0xaa, 0x76, 0xb4, 0x98, 0x55, 0xc7, 0x82, 3394 0x70, 0x1d, 0x0f, 0x79, 0xa2, 0x4e, 0x3f, 0x9e, 3395 0x11, 0x43, 0x2e, 0x7a, 0x78, 0x80, 0x3a, 0x9d, 3396 0x57, 0xf3, 0xad, 0x1e, 0xb5, 0xb4, 0xd6, 0x3c, 3397 0xfe, 0x6d, 0xa1, 0xb6, 0x13, 0xb4, 0xf5, 0x5c, 3398 0x6b, 0xe8, 0x39, 0x96, 0x6b, 0x21, 0xe9, 0xc2, 3399 0x09, 0x96, 0xd5, 0x87, 0x91, 0xd4, 0x16, 0xa8, 3400 0xe4, 0xe6, 0xaf, 0x35, 0x7b, 0x8e, 0x9b, 0x7d, 3401 0xfc, 0x1e, 0x8c, 0x59, 0x5e, 0xae, 0x93, 0x3c, 3402 0x98, 0x03, 0x4f, 0x5a, 0xaa, 0x81, 0x87, 0x9e, 3403 0xac, 0xe4, 0x61, 0xaa, 0xd5, 0xd4, 0x51, 0x30, 3404 0xd5, 0xa2, 0xf4, 0xe4, 0xc8, 0x9b, 0xb7, 0x63, 3405 0x4b, 0x9a, 0x63, 0xa2, 0x7f, 0x9a, 0xf4, 0x24, 3406 0x68, 0xcb, 0xcf, 0x1b, 0x82, 0x38, 0x21, 0xb2, 3407 0x8d, 0x09, 0x36, 0xca, 0x4c, 0x7b, 0x2a, 0x94, 3408 0x26, 0xd0, 0x1e, 0x0e, 0x6b, 0x5d, 0x32, 0x13, 3409 0xfc, 0x53, 0xa6, 0x8e, 0x89, 0x0a, 0x30, 0x2a, 3410 0xef, 0x32, 0xaf, 0x6b, 0xaa, 0x15, 0x7c, 0x69, 3411 0x70, 0x4d, 0xb2, 0x9e, 0xd4, 0x38, 0x82, 0x5e, 3412 0x3a, 0x80, 0x43, 0x0d, 0xcb, 0xe3, 0xf2, 0x7a, 3413 0x39, 0xc7, 0x02, 0xdd, 0x87, 0x98, 0xdf, 0x5c, 3414 0x17, 0x78, 0x6d, 0x6e, 0x0d, 0x21, 0x25, 0x73, 3415 0xd3, 0x9e, 0xcd, 0x10, 0x28, 0x8e, 0x62, 0x5d, 3416 0xf9, 0xd1, 0xea, 0x59, 0x10, 0xe7, 0x65, 0xac, 3417 0xa5, 0xca, 0xeb, 0x0b, 0xe1, 0x68, 0x39, 0x1b, 3418 0xaa, 0x49, 0x63, 0x0b, 0xab, 0xc4, 0x14, 0x86, 3419 0x73, 0x3a, 0x18, 0x88, 0x46, 0x42, 0x0d, 0x7d, 3420 0x2e, 0xd5, 0xc5, 0x15, 0xfb, 0x1b, 0xac, 0xb5, 3421 0x66, 0xaf, 0x39, 0xa0, 0x5e, 0xf3, 0x50, 0xd6, 3422 0xb6, 0x47, 0x97, 0x7a, 0x29, 0x08, 0x48, 0x8a, 3423 0x72, 0x64, 0xa3, 0x29, 0x2a, 0xae, 0x41, 0xff, 3424 0xb6, 0x95, 0xb2, 0xe7, 0x46, 0xe5, 0x0e, 0xbf, 3425 0x3e, 0xa8, 0x75, 0xbb, 0x88, 0xda, 0xab, 0x12, 3426 0x4a, 0x2d, 0xb4, 0xd5, 0xab, 0x31, 0xb8, 0x37, 3427 0xba, 0xbf, 0x00, 0xbc, 0x17, 0x40, 0x14, 0xbf, 3428 0xa6, 0x9a, 0x78, 0x24, 0x33, 0xef, 0xb9, 0xe3, 3429 0x24, 0xa7, 0xc1, 0xef, 0xc2, 0x84, 0x42, 0x30, 3430 0xf1, 0x6b, 0xa5, 0xbd, 0xc2, 0x9c, 0x7e, 0xe3, 3431 0x6d, 0x54, 0x44, 0xa2, 0x8c, 0x90, 0xa6, 0x77, 3432 0xc8, 0xbe, 0xe1, 0x72, 0x0f}; 3433 static const uint8_t test_vector_3_message_2[] = { 3434 0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 3435 0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 3436 0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 3437 0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 3438 0x4f, 0xf5, 0xd5, 0xdc, 0x8e, 0x3b, 0xe6, 0x83, 3439 0x43, 0x7c, 0x03, 0x59, 0x88, 0x22, 0xb8, 0x81, 3440 0xb7, 0x3c, 0x55, 0x0b, 0x0d, 0x27, 0x2e, 0xd8, 3441 0xc3, 0x2d, 0xe4, 0x91, 0xf9, 0x40, 0x8c, 0x62, 3442 0xd6, 0x3e, 0x28, 0xf8, 0xaf, 0xe9, 0x1d, 0x14, 3443 0xdb, 0xef, 0xc1, 0x90, 0x56, 0x64, 0xb0, 0x46, 3444 0x90, 0xaa, 0x76, 0xb4, 0x98, 0x55, 0xc7, 0x82, 3445 0x70, 0x1d, 0x0f, 0x79, 0xa2, 0x4e, 0x3f, 0x9e, 3446 0x11, 0x43, 0x2e, 0x7a, 0x78, 0x80, 0x3a, 0x9d, 3447 0x57, 0xf3, 0xad, 0x1e, 0xb5, 0xb4, 0xd6, 0x3c, 3448 0xfe, 0x6d, 0xa1, 0xb6, 0x13, 0xb4, 0xf5, 0x5c, 3449 0x6b, 0xe8, 0x39, 0x96, 0x6b, 0x21, 0xe9, 0xc2, 3450 0x09, 0x96, 0xd5, 0x87, 0x91, 0xd4, 0x16, 0xa8, 3451 0xe4, 0xe6, 0xaf, 0x35, 0x7b, 0x8e, 0x9b, 0x7d, 3452 0xfc, 0x1e, 0x8c, 0x59, 0x5e, 0xae, 0x93, 0x3c, 3453 0x98, 0x03, 0x4f, 0x5a, 0xaa, 0x81, 0x87, 0x9e, 3454 0xac, 0xe4, 0x61, 0xaa, 0xd5, 0xd4, 0x51, 0x30, 3455 0xd5, 0xa2, 0xf4, 0xe4, 0xc8, 0x9b, 0xb7, 0x63, 3456 0x4b, 0x9a, 0x63, 0xa2, 0x7f, 0x9a, 0xf4, 0x24, 3457 0x68, 0xcb, 0xcf, 0x1b, 0x82, 0x38, 0x21, 0xb2, 3458 0x8d, 0x09, 0x36, 0xca, 0x4c, 0x7b, 0x2a, 0x94, 3459 0x26, 0xd0, 0x1e, 0x0e, 0x6b, 0x5d, 0x32, 0x13, 3460 0xfc, 0x53, 0xa6, 0x8e, 0x89, 0x0a, 0x30, 0x2a, 3461 0xef, 0x32, 0xaf, 0x6b, 0xaa, 0x15, 0x7c, 0x69, 3462 0x70, 0x4d, 0xb2, 0x9e, 0xd4, 0x38, 0x82, 0x5e, 3463 0x3a, 0x80, 0x43, 0x0d, 0xcb, 0xe3, 0xf2, 0x7a, 3464 0x39, 0xc7, 0x02, 0xdd, 0x87, 0x98, 0xdf, 0x5c, 3465 0x17, 0x78, 0x6d, 0x6e, 0x0d, 0x21, 0x25, 0x73, 3466 0xd3, 0x9e, 0xcd, 0x10, 0x28, 0x8e, 0x62, 0x5d, 3467 0xf9, 0xd1, 0xea, 0x59, 0x10, 0xe7, 0x65, 0xac, 3468 0xa5, 0xca, 0xeb, 0x0b, 0xe1, 0x68, 0x39, 0x1b, 3469 0xaa, 0x49, 0x63, 0x0b, 0xab, 0xc4, 0x14, 0x86, 3470 0x73, 0x3a, 0x18, 0x88, 0x46, 0x42, 0x0d, 0x7d, 3471 0x2e, 0xd5, 0xc5, 0x15, 0xfb, 0x1b, 0xac, 0xb5, 3472 0x66, 0xaf, 0x39, 0xa0, 0x5e, 0xf3, 0x50, 0xd6, 3473 0xb6, 0x47, 0x97, 0x7a, 0x29, 0x08, 0x48, 0x8a, 3474 0x72, 0x64, 0xa3, 0x29, 0x2a, 0xae, 0x41, 0xff, 3475 0xb6, 0x95, 0xb2, 0xe7, 0x46, 0xe5, 0x0e, 0xbf, 3476 0x3e, 0xa8, 0x75, 0xbb, 0x88, 0xda, 0xab, 0x12, 3477 0x4a, 0x2d, 0xb4, 0xd5, 0xab, 0x31, 0xb8, 0x37, 3478 0xba, 0xbf, 0x00, 0xbc, 0x17, 0x40, 0x14, 0xbf, 3479 0xa6, 0x9a, 0x78, 0x24, 0x33, 0xef, 0xb9, 0xe3, 3480 0x24, 0xa7, 0xc1, 0xef, 0xc2, 0x84, 0x42, 0x30, 3481 0xf1, 0x6b, 0xa5, 0xbd, 0xc2, 0x9c, 0x7e, 0xe3, 3482 0x6d, 0x54, 0x44, 0xa2, 0x8c, 0x90, 0xa6, 0x77, 3483 0xc8, 0xbe, 0xe1, 0x72, 0x0f, 0x32}; 3484 static const uint8_t test_vector_3_sk_i_raw[] = { 3485 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 3486 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 3487 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 3488 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 3489 static const uint8_t test_vector_3_pk_i_raw[] = { 3490 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 3491 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 3492 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 3493 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 3494 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 3495 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 3496 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 3497 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 3498 0xc8}; 3499 static const uint8_t test_vector_3_salt_4e3m[] = { 3500 0x6f, 0xe0, 0x76, 0xbf, 0x9f, 0x38, 0x19, 0xeb, 3501 0xfa, 0xdc, 0x3f, 0xa7, 0x5f, 0x2d, 0x70, 0x8c, 3502 0x2f, 0x1b, 0xc4, 0x7f, 0x7b, 0xe2, 0x15, 0xe1, 3503 0xeb, 0x96, 0xcf, 0xc0, 0xd3, 0x68, 0x09, 0x7c}; 3504 static const uint8_t test_vector_3_prk_4e3m_raw[] = { 3505 0xe3, 0x83, 0x62, 0x3e, 0xa6, 0xa3, 0x04, 0x06, 3506 0xf6, 0x03, 0x94, 0xb0, 0xef, 0x79, 0xb9, 0x6a, 3507 0x41, 0x3f, 0x52, 0xd1, 0xa3, 0xdd, 0x60, 0x71, 3508 0xb8, 0x7f, 0x44, 0xa6, 0xce, 0xf1, 0x53, 0x31}; 3509 static const uint8_t test_vector_3_input_TH_3[] = { 3510 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 3511 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 3512 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 3513 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 3514 0x85, 0x0d, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 3515 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 3516 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 3517 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3518 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 3519 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3520 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3521 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3522 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 3523 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 3524 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3525 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 3526 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 3527 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3528 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 3529 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 3530 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 3531 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 3532 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 3533 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 3534 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 3535 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 3536 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 3537 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 3538 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 3539 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 3540 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 3541 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3542 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 3543 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 3544 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 3545 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 3546 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 3547 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 3548 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 3549 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 3550 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 3551 0x05, 0x58, 0x58, 0x40, 0x73, 0xf2, 0xb8, 0xa0, 3552 0xf6, 0xfe, 0xb4, 0x76, 0x65, 0xe2, 0xbb, 0xc1, 3553 0xd0, 0x9a, 0x36, 0xff, 0xaf, 0xf5, 0x2f, 0x13, 3554 0x02, 0x97, 0x98, 0xbb, 0x81, 0x58, 0x9c, 0x1f, 3555 0xb8, 0x78, 0x53, 0xa9, 0xf2, 0x8d, 0x73, 0x04, 3556 0xf0, 0xc6, 0x18, 0x84, 0x16, 0xa1, 0x9f, 0xac, 3557 0xea, 0x6e, 0x5d, 0x99, 0xa9, 0xf6, 0xd3, 0x88, 3558 0xee, 0x15, 0xd1, 0xa8, 0x16, 0xe7, 0x3f, 0xcd, 3559 0x25, 0x4e, 0x72, 0x05, 0x59, 0x01, 0x22, 0x30, 3560 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 3561 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 3562 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3563 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 3564 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3565 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3566 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 3567 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 3568 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 3569 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 3570 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 3571 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3572 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3573 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 3574 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 3575 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 3576 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 3577 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 3578 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 3579 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 3580 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 3581 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 3582 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 3583 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 3584 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 3585 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3586 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 3587 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 3588 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 3589 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 3590 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 3591 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 3592 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 3593 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 3594 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 3595 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 3596 0x58}; 3597 static const uint8_t test_vector_3_th_3_raw[] = { 3598 0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74, 0x96, 0x7c, 3599 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2, 0x11, 0xf6, 3600 0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42, 0xb6, 0x32, 3601 0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b, 0xd6, 0x26}; 3602 static const uint8_t test_vector_3_th_3[] = { 3603 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74, 3604 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2, 3605 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42, 3606 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b, 3607 0xd6, 0x26}; 3608 static const uint8_t test_vector_3_id_cred_i[] = { 3609 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3610 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3611 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 3612 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3613 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3614 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3615 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3616 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3617 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 3618 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3619 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3620 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3621 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3622 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 3623 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 3624 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3625 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3626 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3627 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 3628 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 3629 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 3630 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 3631 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 3632 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 3633 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 3634 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 3635 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3636 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3637 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 3638 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 3639 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 3640 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 3641 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 3642 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 3643 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 3644 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 3645 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 3646 static const uint8_t test_vector_3_cred_i[] = { 3647 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 3648 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 3649 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 3650 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 3651 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 3652 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 3653 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 3654 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 3655 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 3656 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 3657 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 3658 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 3659 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 3660 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 3661 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 3662 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 3663 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3664 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 3665 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 3666 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 3667 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 3668 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 3669 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 3670 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 3671 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 3672 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 3673 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3674 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 3675 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 3676 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 3677 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 3678 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 3679 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 3680 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 3681 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 3682 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 3683 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 3684 static const uint8_t test_vector_3_ca_i[] = { 3685 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 3686 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 3687 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3688 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 3689 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3690 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3691 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3692 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 3693 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 3694 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3695 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 3696 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3697 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3698 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 3699 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 3700 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3701 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 3702 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 3703 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 3704 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 3705 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 3706 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 3707 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 3708 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 3709 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 3710 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3711 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 3712 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 3713 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 3714 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 3715 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 3716 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 3717 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 3718 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 3719 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 3720 0x13, 0x6b, 0xf3, 0x06}; 3721 static const uint8_t test_vector_3_ca_i_pk[] = { 3722 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 3723 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 3724 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 3725 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 3726 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 3727 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 3728 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 3729 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 3730 0x95}; 3731 static const uint8_t test_vector_3_ead_3[] = { 3732 }; 3733 static const uint8_t test_vector_3_info_mac_3[] = { 3734 0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59, 3735 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 3736 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 3737 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 3738 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3739 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 3740 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 3741 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 3742 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 3743 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 3744 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 3745 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 3746 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 3747 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 3748 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 3749 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 3750 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 3751 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 3752 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 3753 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 3754 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 3755 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 3756 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 3757 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 3758 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 3759 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 3760 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 3761 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 3762 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 3763 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 3764 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 3765 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 3766 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 3767 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 3768 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 3769 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 3770 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 3771 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xa8, 0xda, 3772 0x4e, 0x27, 0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92, 3773 0xd4, 0x9e, 0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39, 3774 0x36, 0xc2, 0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f, 3775 0x38, 0x96, 0x54, 0x3b, 0xd6, 0x26, 0x59, 0x01, 3776 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 3777 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 3778 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3779 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 3780 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 3781 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 3782 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 3783 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 3784 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 3785 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 3786 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 3787 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 3788 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 3789 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 3790 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 3791 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 3792 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 3793 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 3794 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 3795 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 3796 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 3797 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 3798 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 3799 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 3800 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 3801 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 3802 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 3803 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 3804 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 3805 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 3806 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 3807 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 3808 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 3809 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 3810 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 3811 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 3812 0xa2, 0xbe, 0xde, 0x18, 0x20}; 3813 static const uint8_t test_vector_3_mac_3_raw[] = { 3814 0x78, 0xb4, 0xec, 0xb5, 0xd5, 0xda, 0xd1, 0xd7, 3815 0x5e, 0xc0, 0x3a, 0x79, 0x08, 0xb8, 0xe1, 0x10, 3816 0xb1, 0x79, 0xe4, 0x85, 0xc9, 0xfc, 0xff, 0x3c, 3817 0x8d, 0x80, 0xc2, 0xad, 0xeb, 0xc7, 0xbf, 0x6e}; 3818 static const uint8_t test_vector_3_mac_3[] = { 3819 0x58, 0x20, 0x78, 0xb4, 0xec, 0xb5, 0xd5, 0xda, 3820 0xd1, 0xd7, 0x5e, 0xc0, 0x3a, 0x79, 0x08, 0xb8, 3821 0xe1, 0x10, 0xb1, 0x79, 0xe4, 0x85, 0xc9, 0xfc, 3822 0xff, 0x3c, 0x8d, 0x80, 0xc2, 0xad, 0xeb, 0xc7, 3823 0xbf, 0x6e}; 3824 static const uint8_t test_vector_3_m_3[] = { 3825 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 3826 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 3827 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 3828 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 3829 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 3830 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3831 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 3832 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 3833 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 3834 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 3835 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 3836 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 3837 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 3838 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 3839 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 3840 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 3841 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 3842 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 3843 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 3844 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 3845 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 3846 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 3847 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 3848 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 3849 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 3850 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 3851 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 3852 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 3853 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3854 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 3855 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 3856 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 3857 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 3858 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 3859 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 3860 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 3861 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 3862 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 3863 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59, 3864 0x01, 0x47, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 3865 0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 3866 0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 3867 0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 3868 0x54, 0x3b, 0xd6, 0x26, 0x59, 0x01, 0x22, 0x30, 3869 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 3870 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 3871 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3872 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 3873 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3874 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3875 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 3876 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 3877 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 3878 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 3879 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 3880 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3881 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 3882 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 3883 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 3884 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 3885 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 3886 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 3887 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 3888 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 3889 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 3890 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 3891 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 3892 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 3893 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 3894 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3895 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 3896 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 3897 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 3898 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 3899 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 3900 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 3901 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 3902 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 3903 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 3904 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 3905 0xde, 0x58, 0x20, 0x78, 0xb4, 0xec, 0xb5, 0xd5, 3906 0xda, 0xd1, 0xd7, 0x5e, 0xc0, 0x3a, 0x79, 0x08, 3907 0xb8, 0xe1, 0x10, 0xb1, 0x79, 0xe4, 0x85, 0xc9, 3908 0xfc, 0xff, 0x3c, 0x8d, 0x80, 0xc2, 0xad, 0xeb, 3909 0xc7, 0xbf, 0x6e}; 3910 static const uint8_t test_vector_3_sig_or_mac_3_raw[] = { 3911 0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38, 0x53, 0x97, 3912 0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91, 0x3b, 0x27, 3913 0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f, 0x88, 0x23, 3914 0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3, 0xb2, 0x40, 3915 0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a, 0x9e, 0x79, 3916 0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68, 0x3f, 0x4b, 3917 0x67, 0x55, 0x66, 0xbd, 0x26, 0x47, 0xda, 0xe4, 3918 0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2, 0x32, 0xbe}; 3919 static const uint8_t test_vector_3_sig_or_mac_3[] = { 3920 0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38, 3921 0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91, 3922 0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f, 3923 0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3, 3924 0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a, 3925 0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68, 3926 0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd, 0x26, 0x47, 3927 0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2, 3928 0x32, 0xbe}; 3929 static const uint8_t test_vector_3_p_3[] = { 3930 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3931 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3932 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 3933 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3934 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3935 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3936 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3937 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3938 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 3939 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3940 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3941 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3942 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3943 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 3944 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 3945 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3946 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3947 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3948 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 3949 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 3950 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 3951 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 3952 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 3953 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 3954 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 3955 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 3956 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3957 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3958 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 3959 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 3960 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 3961 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 3962 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 3963 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 3964 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 3965 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 3966 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 3967 0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb, 0x2e, 0x38, 3968 0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57, 0x5e, 0x91, 3969 0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb, 0x0d, 0x9f, 3970 0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82, 0xa2, 0xb3, 3971 0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47, 0x43, 0x0a, 3972 0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86, 0xb0, 0x68, 3973 0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd, 0x26, 0x47, 3974 0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b, 0x6c, 0xd2, 3975 0x32, 0xbe}; 3976 static const uint8_t test_vector_3_a_3[] = { 3977 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 3978 0x74, 0x30, 0x40, 0x58, 0x20, 0xa8, 0xda, 0x4e, 3979 0x27, 0xa2, 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 3980 0x9e, 0x4f, 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 3981 0xc2, 0xea, 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 3982 0x96, 0x54, 0x3b, 0xd6, 0x26}; 3983 static const uint8_t test_vector_3_info_k_3[] = { 3984 0x03, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 3985 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 3986 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 3987 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 3988 0x3b, 0xd6, 0x26, 0x10}; 3989 static const uint8_t test_vector_3_k_3_raw[] = { 3990 0x4d, 0x40, 0xc6, 0x91, 0x01, 0x21, 0x54, 0xe6, 3991 0x23, 0xd2, 0x1b, 0x89, 0x2b, 0x15, 0x60, 0xa7}; 3992 static const uint8_t test_vector_3_info_iv_3[] = { 3993 0x04, 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 3994 0x74, 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 3995 0xd2, 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 3996 0x42, 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 3997 0x3b, 0xd6, 0x26, 0x0d}; 3998 static const uint8_t test_vector_3_iv_3_raw[] = { 3999 0x6f, 0x96, 0xcc, 0xcc, 0x47, 0x8f, 0xd5, 0x7a, 4000 0x1a, 0xf4, 0x92, 0xdf, 0x89}; 4001 static const uint8_t test_vector_3_ciphertext_3_raw[] = { 4002 0x54, 0x2f, 0xac, 0xfb, 0x80, 0x78, 0x5e, 0xd3, 4003 0xd0, 0xe4, 0x57, 0x25, 0x31, 0x29, 0xd0, 0x6b, 4004 0x36, 0xb5, 0x1d, 0x81, 0x0b, 0x07, 0x7c, 0xf8, 4005 0x30, 0xcd, 0x6b, 0x29, 0xa7, 0x6d, 0xb4, 0xe1, 4006 0xd2, 0x7e, 0x6c, 0x55, 0x2c, 0x83, 0xd8, 0x59, 4007 0x7e, 0x45, 0xff, 0x29, 0xee, 0xb8, 0x09, 0x3e, 4008 0xf0, 0x84, 0xeb, 0x97, 0x77, 0xc7, 0x43, 0x75, 4009 0xb4, 0xb1, 0x71, 0xa5, 0xc6, 0xf5, 0xdc, 0xe4, 4010 0x9f, 0xea, 0xa6, 0x1b, 0x99, 0x38, 0x24, 0x86, 4011 0x18, 0xe3, 0x92, 0x9c, 0xbe, 0xdf, 0x0d, 0x9c, 4012 0xb4, 0x8c, 0x10, 0xdc, 0x40, 0x97, 0x93, 0x0d, 4013 0x98, 0x39, 0xd6, 0x9f, 0x89, 0x41, 0x07, 0x05, 4014 0x7a, 0xea, 0xab, 0xc7, 0x4e, 0xb1, 0xbf, 0x49, 4015 0xb7, 0x27, 0x40, 0xba, 0x89, 0x2e, 0x7d, 0xfb, 4016 0x9c, 0x79, 0x58, 0x5c, 0x3e, 0xfe, 0xbd, 0x2f, 4017 0xf0, 0xdd, 0x7d, 0x6a, 0x16, 0x85, 0xef, 0x2d, 4018 0xd0, 0x78, 0x3f, 0xef, 0x83, 0x11, 0x75, 0xbd, 4019 0x77, 0x66, 0x5a, 0x24, 0xaa, 0x8f, 0xda, 0xa0, 4020 0xcb, 0x97, 0x85, 0x92, 0x4c, 0x6c, 0x1d, 0x77, 4021 0x57, 0xb3, 0xff, 0x6f, 0x45, 0xa8, 0x42, 0xc3, 4022 0xb2, 0x73, 0x03, 0xf3, 0x7a, 0xad, 0x98, 0x9e, 4023 0x6c, 0x54, 0xb8, 0x00, 0xb0, 0xb4, 0xd4, 0x18, 4024 0xe9, 0xed, 0x88, 0x6f, 0xd3, 0xc6, 0xa3, 0xf9, 4025 0xa8, 0xd7, 0x90, 0xbe, 0xa3, 0x19, 0x13, 0x86, 4026 0xed, 0x92, 0x5e, 0x78, 0x17, 0xb1, 0x89, 0x41, 4027 0xba, 0xa4, 0x35, 0x00, 0x5b, 0x62, 0x1e, 0x64, 4028 0x49, 0xd2, 0x78, 0x83, 0xfe, 0x75, 0x30, 0x2d, 4029 0xc8, 0xc9, 0x83, 0x38, 0x25, 0xa7, 0xc0, 0x4e, 4030 0xd3, 0xb3, 0xbb, 0x19, 0xd0, 0xa9, 0x91, 0xfe, 4031 0x06, 0x7d, 0x21, 0xab, 0xfc, 0x07, 0x3d, 0x71, 4032 0x22, 0x78, 0xfb, 0x82, 0x5e, 0x31, 0xba, 0x67, 4033 0x93, 0x41, 0x8f, 0xec, 0x55, 0x55, 0xd8, 0x7a, 4034 0x26, 0xd4, 0x4a, 0x47, 0x17, 0x06, 0x19, 0x0b, 4035 0x93, 0xdd, 0x2a, 0x9f, 0xaf, 0xea, 0x22, 0x1a, 4036 0xe3, 0xae, 0xf0, 0x43, 0x8b, 0xb8, 0x68, 0x65, 4037 0x5e, 0x3e, 0xc8, 0x0f, 0x81, 0xce, 0xb4, 0x04, 4038 0x62, 0x8b, 0xd5, 0x25, 0xe8, 0x2d, 0x5e, 0xf0, 4039 0x65, 0xb7, 0x17, 0x44, 0x81, 0x39, 0xbd, 0xfb, 4040 0x08, 0xe5, 0x24, 0x12, 0xff, 0xa1, 0x90, 0xb9, 4041 0xdc, 0xfb, 0xe6, 0x42, 0xfd, 0xdd, 0x0b, 0xc6, 4042 0xe9, 0x8d, 0xb2, 0x72, 0x35, 0x53, 0x11, 0x51, 4043 0xbd, 0xa5, 0x6c, 0x68, 0xc4, 0x08, 0x6b, 0x67, 4044 0x0e, 0x93, 0x88, 0xea, 0x6e, 0x0a, 0x71, 0x9b, 4045 0x5c, 0xce, 0x54, 0x79, 0xd1, 0x5b, 0xbe, 0x0e, 4046 0x0d, 0x13, 0xf6, 0xbd, 0xe9, 0x9f, 0x71, 0x12, 4047 0x61, 0xa4, 0x82, 0x67, 0x68, 0x2e, 0xa0, 0x70, 4048 0xf4, 0x85}; 4049 static const uint8_t test_vector_3_ciphertext_3[] = { 4050 0x59, 0x01, 0x72, 0x54, 0x2f, 0xac, 0xfb, 0x80, 4051 0x78, 0x5e, 0xd3, 0xd0, 0xe4, 0x57, 0x25, 0x31, 4052 0x29, 0xd0, 0x6b, 0x36, 0xb5, 0x1d, 0x81, 0x0b, 4053 0x07, 0x7c, 0xf8, 0x30, 0xcd, 0x6b, 0x29, 0xa7, 4054 0x6d, 0xb4, 0xe1, 0xd2, 0x7e, 0x6c, 0x55, 0x2c, 4055 0x83, 0xd8, 0x59, 0x7e, 0x45, 0xff, 0x29, 0xee, 4056 0xb8, 0x09, 0x3e, 0xf0, 0x84, 0xeb, 0x97, 0x77, 4057 0xc7, 0x43, 0x75, 0xb4, 0xb1, 0x71, 0xa5, 0xc6, 4058 0xf5, 0xdc, 0xe4, 0x9f, 0xea, 0xa6, 0x1b, 0x99, 4059 0x38, 0x24, 0x86, 0x18, 0xe3, 0x92, 0x9c, 0xbe, 4060 0xdf, 0x0d, 0x9c, 0xb4, 0x8c, 0x10, 0xdc, 0x40, 4061 0x97, 0x93, 0x0d, 0x98, 0x39, 0xd6, 0x9f, 0x89, 4062 0x41, 0x07, 0x05, 0x7a, 0xea, 0xab, 0xc7, 0x4e, 4063 0xb1, 0xbf, 0x49, 0xb7, 0x27, 0x40, 0xba, 0x89, 4064 0x2e, 0x7d, 0xfb, 0x9c, 0x79, 0x58, 0x5c, 0x3e, 4065 0xfe, 0xbd, 0x2f, 0xf0, 0xdd, 0x7d, 0x6a, 0x16, 4066 0x85, 0xef, 0x2d, 0xd0, 0x78, 0x3f, 0xef, 0x83, 4067 0x11, 0x75, 0xbd, 0x77, 0x66, 0x5a, 0x24, 0xaa, 4068 0x8f, 0xda, 0xa0, 0xcb, 0x97, 0x85, 0x92, 0x4c, 4069 0x6c, 0x1d, 0x77, 0x57, 0xb3, 0xff, 0x6f, 0x45, 4070 0xa8, 0x42, 0xc3, 0xb2, 0x73, 0x03, 0xf3, 0x7a, 4071 0xad, 0x98, 0x9e, 0x6c, 0x54, 0xb8, 0x00, 0xb0, 4072 0xb4, 0xd4, 0x18, 0xe9, 0xed, 0x88, 0x6f, 0xd3, 4073 0xc6, 0xa3, 0xf9, 0xa8, 0xd7, 0x90, 0xbe, 0xa3, 4074 0x19, 0x13, 0x86, 0xed, 0x92, 0x5e, 0x78, 0x17, 4075 0xb1, 0x89, 0x41, 0xba, 0xa4, 0x35, 0x00, 0x5b, 4076 0x62, 0x1e, 0x64, 0x49, 0xd2, 0x78, 0x83, 0xfe, 4077 0x75, 0x30, 0x2d, 0xc8, 0xc9, 0x83, 0x38, 0x25, 4078 0xa7, 0xc0, 0x4e, 0xd3, 0xb3, 0xbb, 0x19, 0xd0, 4079 0xa9, 0x91, 0xfe, 0x06, 0x7d, 0x21, 0xab, 0xfc, 4080 0x07, 0x3d, 0x71, 0x22, 0x78, 0xfb, 0x82, 0x5e, 4081 0x31, 0xba, 0x67, 0x93, 0x41, 0x8f, 0xec, 0x55, 4082 0x55, 0xd8, 0x7a, 0x26, 0xd4, 0x4a, 0x47, 0x17, 4083 0x06, 0x19, 0x0b, 0x93, 0xdd, 0x2a, 0x9f, 0xaf, 4084 0xea, 0x22, 0x1a, 0xe3, 0xae, 0xf0, 0x43, 0x8b, 4085 0xb8, 0x68, 0x65, 0x5e, 0x3e, 0xc8, 0x0f, 0x81, 4086 0xce, 0xb4, 0x04, 0x62, 0x8b, 0xd5, 0x25, 0xe8, 4087 0x2d, 0x5e, 0xf0, 0x65, 0xb7, 0x17, 0x44, 0x81, 4088 0x39, 0xbd, 0xfb, 0x08, 0xe5, 0x24, 0x12, 0xff, 4089 0xa1, 0x90, 0xb9, 0xdc, 0xfb, 0xe6, 0x42, 0xfd, 4090 0xdd, 0x0b, 0xc6, 0xe9, 0x8d, 0xb2, 0x72, 0x35, 4091 0x53, 0x11, 0x51, 0xbd, 0xa5, 0x6c, 0x68, 0xc4, 4092 0x08, 0x6b, 0x67, 0x0e, 0x93, 0x88, 0xea, 0x6e, 4093 0x0a, 0x71, 0x9b, 0x5c, 0xce, 0x54, 0x79, 0xd1, 4094 0x5b, 0xbe, 0x0e, 0x0d, 0x13, 0xf6, 0xbd, 0xe9, 4095 0x9f, 0x71, 0x12, 0x61, 0xa4, 0x82, 0x67, 0x68, 4096 0x2e, 0xa0, 0x70, 0xf4, 0x85}; 4097 static const uint8_t test_vector_3_message_3[] = { 4098 0x59, 0x01, 0x72, 0x54, 0x2f, 0xac, 0xfb, 0x80, 4099 0x78, 0x5e, 0xd3, 0xd0, 0xe4, 0x57, 0x25, 0x31, 4100 0x29, 0xd0, 0x6b, 0x36, 0xb5, 0x1d, 0x81, 0x0b, 4101 0x07, 0x7c, 0xf8, 0x30, 0xcd, 0x6b, 0x29, 0xa7, 4102 0x6d, 0xb4, 0xe1, 0xd2, 0x7e, 0x6c, 0x55, 0x2c, 4103 0x83, 0xd8, 0x59, 0x7e, 0x45, 0xff, 0x29, 0xee, 4104 0xb8, 0x09, 0x3e, 0xf0, 0x84, 0xeb, 0x97, 0x77, 4105 0xc7, 0x43, 0x75, 0xb4, 0xb1, 0x71, 0xa5, 0xc6, 4106 0xf5, 0xdc, 0xe4, 0x9f, 0xea, 0xa6, 0x1b, 0x99, 4107 0x38, 0x24, 0x86, 0x18, 0xe3, 0x92, 0x9c, 0xbe, 4108 0xdf, 0x0d, 0x9c, 0xb4, 0x8c, 0x10, 0xdc, 0x40, 4109 0x97, 0x93, 0x0d, 0x98, 0x39, 0xd6, 0x9f, 0x89, 4110 0x41, 0x07, 0x05, 0x7a, 0xea, 0xab, 0xc7, 0x4e, 4111 0xb1, 0xbf, 0x49, 0xb7, 0x27, 0x40, 0xba, 0x89, 4112 0x2e, 0x7d, 0xfb, 0x9c, 0x79, 0x58, 0x5c, 0x3e, 4113 0xfe, 0xbd, 0x2f, 0xf0, 0xdd, 0x7d, 0x6a, 0x16, 4114 0x85, 0xef, 0x2d, 0xd0, 0x78, 0x3f, 0xef, 0x83, 4115 0x11, 0x75, 0xbd, 0x77, 0x66, 0x5a, 0x24, 0xaa, 4116 0x8f, 0xda, 0xa0, 0xcb, 0x97, 0x85, 0x92, 0x4c, 4117 0x6c, 0x1d, 0x77, 0x57, 0xb3, 0xff, 0x6f, 0x45, 4118 0xa8, 0x42, 0xc3, 0xb2, 0x73, 0x03, 0xf3, 0x7a, 4119 0xad, 0x98, 0x9e, 0x6c, 0x54, 0xb8, 0x00, 0xb0, 4120 0xb4, 0xd4, 0x18, 0xe9, 0xed, 0x88, 0x6f, 0xd3, 4121 0xc6, 0xa3, 0xf9, 0xa8, 0xd7, 0x90, 0xbe, 0xa3, 4122 0x19, 0x13, 0x86, 0xed, 0x92, 0x5e, 0x78, 0x17, 4123 0xb1, 0x89, 0x41, 0xba, 0xa4, 0x35, 0x00, 0x5b, 4124 0x62, 0x1e, 0x64, 0x49, 0xd2, 0x78, 0x83, 0xfe, 4125 0x75, 0x30, 0x2d, 0xc8, 0xc9, 0x83, 0x38, 0x25, 4126 0xa7, 0xc0, 0x4e, 0xd3, 0xb3, 0xbb, 0x19, 0xd0, 4127 0xa9, 0x91, 0xfe, 0x06, 0x7d, 0x21, 0xab, 0xfc, 4128 0x07, 0x3d, 0x71, 0x22, 0x78, 0xfb, 0x82, 0x5e, 4129 0x31, 0xba, 0x67, 0x93, 0x41, 0x8f, 0xec, 0x55, 4130 0x55, 0xd8, 0x7a, 0x26, 0xd4, 0x4a, 0x47, 0x17, 4131 0x06, 0x19, 0x0b, 0x93, 0xdd, 0x2a, 0x9f, 0xaf, 4132 0xea, 0x22, 0x1a, 0xe3, 0xae, 0xf0, 0x43, 0x8b, 4133 0xb8, 0x68, 0x65, 0x5e, 0x3e, 0xc8, 0x0f, 0x81, 4134 0xce, 0xb4, 0x04, 0x62, 0x8b, 0xd5, 0x25, 0xe8, 4135 0x2d, 0x5e, 0xf0, 0x65, 0xb7, 0x17, 0x44, 0x81, 4136 0x39, 0xbd, 0xfb, 0x08, 0xe5, 0x24, 0x12, 0xff, 4137 0xa1, 0x90, 0xb9, 0xdc, 0xfb, 0xe6, 0x42, 0xfd, 4138 0xdd, 0x0b, 0xc6, 0xe9, 0x8d, 0xb2, 0x72, 0x35, 4139 0x53, 0x11, 0x51, 0xbd, 0xa5, 0x6c, 0x68, 0xc4, 4140 0x08, 0x6b, 0x67, 0x0e, 0x93, 0x88, 0xea, 0x6e, 4141 0x0a, 0x71, 0x9b, 0x5c, 0xce, 0x54, 0x79, 0xd1, 4142 0x5b, 0xbe, 0x0e, 0x0d, 0x13, 0xf6, 0xbd, 0xe9, 4143 0x9f, 0x71, 0x12, 0x61, 0xa4, 0x82, 0x67, 0x68, 4144 0x2e, 0xa0, 0x70, 0xf4, 0x85}; 4145 static const uint8_t test_vector_3_input_th_4[] = { 4146 0x58, 0x20, 0xa8, 0xda, 0x4e, 0x27, 0xa2, 0x74, 4147 0x96, 0x7c, 0xd7, 0x92, 0xd4, 0x9e, 0x4f, 0xd2, 4148 0x11, 0xf6, 0x2c, 0x39, 0x36, 0xc2, 0xea, 0x42, 4149 0xb6, 0x32, 0x4e, 0x1f, 0x38, 0x96, 0x54, 0x3b, 4150 0xd6, 0x26, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 4151 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4152 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 4153 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4154 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4155 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4156 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4157 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4158 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 4159 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 4160 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4161 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4162 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4163 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4164 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 4165 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4166 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4167 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4168 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 4169 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 4170 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 4171 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 4172 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 4173 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 4174 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 4175 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 4176 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 4177 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4178 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 4179 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 4180 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 4181 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 4182 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 4183 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 4184 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 4185 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 4186 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 4187 0xbe, 0xde, 0x58, 0x40, 0xab, 0x59, 0xc0, 0xfb, 4188 0x2e, 0x38, 0x53, 0x97, 0x5f, 0x46, 0xc0, 0x57, 4189 0x5e, 0x91, 0x3b, 0x27, 0x44, 0x78, 0x87, 0xcb, 4190 0x0d, 0x9f, 0x88, 0x23, 0x5e, 0xe4, 0xbb, 0x82, 4191 0xa2, 0xb3, 0xb2, 0x40, 0x9a, 0xfc, 0x2a, 0x47, 4192 0x43, 0x0a, 0x9e, 0x79, 0x58, 0x14, 0xb9, 0x86, 4193 0xb0, 0x68, 0x3f, 0x4b, 0x67, 0x55, 0x66, 0xbd, 4194 0x26, 0x47, 0xda, 0xe4, 0xa6, 0x24, 0x9b, 0x0b, 4195 0x6c, 0xd2, 0x32, 0xbe, 0x59, 0x01, 0x22, 0x30, 4196 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 4197 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 4198 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 4199 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 4200 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 4201 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4202 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 4203 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 4204 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 4205 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 4206 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 4207 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 4208 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 4209 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 4210 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 4211 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 4212 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 4213 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 4214 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 4215 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 4216 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 4217 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 4218 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 4219 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 4220 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 4221 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 4222 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 4223 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 4224 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 4225 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 4226 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 4227 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 4228 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 4229 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 4230 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 4231 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 4232 0xde}; 4233 static const uint8_t test_vector_3_th_4_raw[] = { 4234 0xfa, 0x86, 0xdb, 0xec, 0x97, 0x0e, 0x61, 0x45, 4235 0x81, 0x6b, 0x20, 0x03, 0xf4, 0x9a, 0x13, 0x2f, 4236 0xf2, 0x2b, 0x47, 0xc0, 0xe1, 0x71, 0x84, 0x13, 4237 0x58, 0x91, 0x02, 0x25, 0x1d, 0xb8, 0xf7, 0x73}; 4238 static const uint8_t test_vector_3_th_4[] = { 4239 0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97, 0x0e, 4240 0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4, 0x9a, 4241 0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1, 0x71, 4242 0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d, 0xb8, 4243 0xf7, 0x73}; 4244 static const uint8_t test_vector_3_ead_4[] = { 4245 }; 4246 static const uint8_t test_vector_3_p_4[] = { 4247 }; 4248 static const uint8_t test_vector_3_a_4[] = { 4249 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4250 0x74, 0x30, 0x40, 0x58, 0x20, 0xfa, 0x86, 0xdb, 4251 0xec, 0x97, 0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20, 4252 0x03, 0xf4, 0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47, 4253 0xc0, 0xe1, 0x71, 0x84, 0x13, 0x58, 0x91, 0x02, 4254 0x25, 0x1d, 0xb8, 0xf7, 0x73}; 4255 static const uint8_t test_vector_3_info_k_4[] = { 4256 0x08, 0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97, 4257 0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4, 4258 0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1, 4259 0x71, 0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d, 4260 0xb8, 0xf7, 0x73, 0x10}; 4261 static const uint8_t test_vector_3_k_4_raw[] = { 4262 0x0f, 0x32, 0xd5, 0x98, 0x57, 0x67, 0x3d, 0x56, 4263 0x51, 0x32, 0x47, 0xae, 0x34, 0x8b, 0xa9, 0xf7}; 4264 static const uint8_t test_vector_3_info_iv_4[] = { 4265 0x09, 0x58, 0x20, 0xfa, 0x86, 0xdb, 0xec, 0x97, 4266 0x0e, 0x61, 0x45, 0x81, 0x6b, 0x20, 0x03, 0xf4, 4267 0x9a, 0x13, 0x2f, 0xf2, 0x2b, 0x47, 0xc0, 0xe1, 4268 0x71, 0x84, 0x13, 0x58, 0x91, 0x02, 0x25, 0x1d, 4269 0xb8, 0xf7, 0x73, 0x0d}; 4270 static const uint8_t test_vector_3_iv_4_raw[] = { 4271 0x4d, 0x4e, 0x41, 0x60, 0xfe, 0xcd, 0x28, 0xc2, 4272 0xfe, 0x6e, 0x89, 0x2e, 0x6c}; 4273 static const uint8_t test_vector_3_ciphertext_4_raw[] = { 4274 0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95, 0x65}; 4275 static const uint8_t test_vector_3_ciphertext_4[] = { 4276 0x48, 0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95, 4277 0x65}; 4278 static const uint8_t test_vector_3_message_4[] = { 4279 0x48, 0x23, 0xad, 0x8f, 0x10, 0x52, 0x44, 0x95, 4280 0x65}; 4281 static const uint8_t test_vector_3_prk_out[] = { 4282 0x69, 0xe8, 0x02, 0xd1, 0xea, 0xeb, 0x0d, 0x31, 4283 0x2a, 0x4d, 0x21, 0x75, 0x38, 0xb5, 0xf3, 0x61, 4284 0x34, 0x84, 0x5f, 0xb9, 0x04, 0xa4, 0x86, 0xb5, 4285 0x57, 0x19, 0x8f, 0x60, 0xef, 0xbd, 0xd4, 0x78}; 4286 static const uint8_t test_vector_3_prk_exporter[] = { 4287 0xb8, 0xb0, 0xda, 0x43, 0x53, 0x5e, 0xc7, 0x9f, 4288 0xd4, 0xd5, 0x35, 0xf8, 0x44, 0x64, 0xae, 0x92, 4289 0x5b, 0x31, 0xda, 0x66, 0xec, 0x38, 0xb4, 0x53, 4290 0x5d, 0xf0, 0x59, 0xf5, 0x7e, 0xb1, 0x66, 0xa9}; 4291 int32_t test_vector_3_oscore_aead_alg = 10; 4292 int32_t test_vector_3_oscore_hash_alg = -16; 4293 static const uint8_t test_vector_3_client_sender_id_raw[] = { 4294 0x32}; 4295 static const uint8_t test_vector_3_server_sender_id_raw[] = { 4296 0x37}; 4297 static const uint8_t test_vector_3_info_oscore_secret[] = { 4298 0x00, 0x40, 0x10}; 4299 static const uint8_t test_vector_3_oscore_secret_raw[] = { 4300 0xe2, 0x8d, 0xb1, 0x01, 0x7e, 0xcd, 0x46, 0x5f, 4301 0x54, 0x6b, 0xb6, 0x29, 0x37, 0x49, 0x9f, 0xa6}; 4302 static const uint8_t test_vector_3_info_oscore_salt[] = { 4303 0x01, 0x40, 0x08}; 4304 static const uint8_t test_vector_3_oscore_salt_raw[] = { 4305 0x68, 0xee, 0x67, 0xb6, 0x04, 0xf8, 0x3c, 0x65}; 4306 static const uint8_t test_vector_3_prk_out_updated[] = { 4307 0xd6, 0xd2, 0x24, 0x60, 0x53, 0x39, 0xea, 0x6a, 4308 0x59, 0xc3, 0xcf, 0xd7, 0x4d, 0x3a, 0x17, 0xc2, 4309 0x3f, 0x22, 0x24, 0xfc, 0x21, 0xf9, 0x72, 0xc6, 4310 0x8d, 0xc7, 0xa9, 0x9b, 0xa3, 0x77, 0x8e, 0x93}; 4311 static const uint8_t test_vector_3_prk_exporter_update[] = { 4312 0x07, 0x27, 0xcf, 0xa2, 0x90, 0xc2, 0x2d, 0xc6, 4313 0x92, 0xc5, 0x08, 0xe3, 0x77, 0xe2, 0x87, 0x72, 4314 0xd9, 0x80, 0x74, 0x29, 0x08, 0xa3, 0x5e, 0x29, 4315 0x43, 0xce, 0x3b, 0x1e, 0x38, 0x70, 0x52, 0xf4}; 4316 static const uint8_t test_vector_3_oscore_secret_key_update_raw[] = { 4317 0x3f, 0xde, 0x55, 0x56, 0x7a, 0xcb, 0x4f, 0x9d, 4318 0x33, 0xb3, 0xc8, 0xb7, 0x1d, 0xe2, 0x42, 0x67}; 4319 static const uint8_t test_vector_3_oscore_salt_key_update_raw[] = { 4320 0xe5, 0xb5, 0x4c, 0xcd, 0x2c, 0x1d, 0xef, 0xa7}; 4321 4322 /***************** test_vector_4 ************/ 4323 4324 static const uint8_t test_vector_4_method[] = { 4325 0x00}; 4326 static const uint8_t test_vector_4_SUITES_I[] = { 4327 0x02}; 4328 static const uint8_t test_vector_4_SUITES_R[] = { 4329 0x02}; 4330 static const uint8_t test_vector_4_x_raw[] = { 4331 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 4332 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 4333 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 4334 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 4335 static const uint8_t test_vector_4_g_x_raw[] = { 4336 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 4337 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 4338 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 4339 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 4340 static const uint8_t test_vector_4_g_x_raw_y_coordinate[] = { 4341 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 4342 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 4343 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 4344 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 4345 static const uint8_t test_vector_4_g_x[] = { 4346 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 4347 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 4348 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 4349 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 4350 0xc3, 0xb6}; 4351 int32_t test_vector_4_c_i_raw = -24; 4352 static const uint8_t test_vector_4_c_i[] = { 4353 0x37}; 4354 static const uint8_t test_vector_4_ead_1[] = { 4355 }; 4356 static const uint8_t test_vector_4_message_1[] = { 4357 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 4358 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 4359 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 4360 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 4361 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 4362 static const uint8_t test_vector_4_y_raw[] = { 4363 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 4364 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 4365 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 4366 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 4367 static const uint8_t test_vector_4_g_y_raw[] = { 4368 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 4369 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 4370 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 4371 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 4372 static const uint8_t test_vector_4_g_y_raw_y_coordinate[] = { 4373 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 4374 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 4375 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 4376 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 4377 static const uint8_t test_vector_4_g_y[] = { 4378 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4379 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4380 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4381 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4382 0xf5, 0xd5}; 4383 static const uint8_t test_vector_4_g_xy_raw[] = { 4384 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 4385 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 4386 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 4387 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 4388 static const uint8_t test_vector_4_salt_raw[] = { 4389 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4390 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 4393 static const uint8_t test_vector_4_prk_2e_raw[] = { 4394 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 4395 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 4396 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 4397 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 4398 static const uint8_t test_vector_4_salt_3e2m[] = { 4399 0x80, 0x1a, 0x13, 0xd6, 0x37, 0x13, 0x32, 0xe9, 4400 0xbb, 0x17, 0x58, 0x93, 0x88, 0x98, 0xcf, 0x11, 4401 0xb7, 0xab, 0x69, 0x4b, 0x40, 0xac, 0x53, 0xff, 4402 0x4c, 0x41, 0xb2, 0xfa, 0xcf, 0xe6, 0xf5, 0x01}; 4403 static const uint8_t test_vector_4_sk_r_raw[] = { 4404 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 4405 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 4406 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 4407 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 4408 static const uint8_t test_vector_4_pk_r_raw[] = { 4409 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 4410 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 4411 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 4412 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 4413 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 4414 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 4415 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 4416 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 4417 0x72}; 4418 static const uint8_t test_vector_4_prk_3e2m_raw[] = { 4419 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 4420 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 4421 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 4422 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 4423 int32_t test_vector_4_c_r_raw = -8; 4424 static const uint8_t test_vector_4_c_r[] = { 4425 0x27}; 4426 static const uint8_t test_vector_4_h_message_1_raw[] = { 4427 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 4428 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 4429 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 4430 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 4431 static const uint8_t test_vector_4_h_message_1[] = { 4432 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 4433 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 4434 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 4435 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 4436 0x67, 0x26}; 4437 static const uint8_t test_vector_4_input_th_2[] = { 4438 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4439 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4440 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4441 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4442 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 4443 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 4444 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 4445 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 4446 0x18, 0x2a, 0x4e, 0x67, 0x26}; 4447 static const uint8_t test_vector_4_th_2_raw[] = { 4448 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 4449 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 4450 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 4451 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 4452 static const uint8_t test_vector_4_th_2[] = { 4453 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 4454 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 4455 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 4456 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 4457 0xab, 0xa6}; 4458 static const uint8_t test_vector_4_id_cred_r[] = { 4459 0xa1, 0x04, 0x32}; 4460 static const uint8_t test_vector_4_cred_r[] = { 4461 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 4462 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 4463 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 4464 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 4465 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 4466 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 4467 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 4468 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 4469 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 4470 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 4471 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 4472 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 4473 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 4474 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 4475 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 4476 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4477 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4478 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 4479 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 4480 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 4481 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 4482 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 4483 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 4484 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 4485 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 4486 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 4487 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4488 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 4489 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 4490 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 4491 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 4492 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 4493 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 4494 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 4495 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 4496 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 4497 0x3b, 0x13, 0x3d, 0x05, 0x58}; 4498 static const uint8_t test_vector_4_ca_r[] = { 4499 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 4500 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4501 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4502 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4503 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4504 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4505 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4506 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4507 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 4508 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4509 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 4510 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 4511 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4512 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 4513 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4514 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4515 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 4516 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 4517 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 4518 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 4519 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 4520 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 4521 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 4522 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 4523 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 4524 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4525 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 4526 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 4527 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 4528 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 4529 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 4530 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 4531 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 4532 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 4533 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 4534 0x13, 0x6b, 0xf3, 0x06}; 4535 static const uint8_t test_vector_4_ca_r_pk[] = { 4536 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 4537 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 4538 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 4539 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 4540 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 4541 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 4542 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 4543 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 4544 0x95}; 4545 static const uint8_t test_vector_4_ead_2[] = { 4546 }; 4547 static const uint8_t test_vector_4_info_mac_2[] = { 4548 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x32, 0x58, 4549 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 4550 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 4551 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 4552 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 4553 0xa6, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 4554 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 4555 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 4556 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 4557 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 4558 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 4559 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 4560 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 4561 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 4562 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 4563 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 4564 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 4565 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 4566 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 4567 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 4568 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4569 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4570 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 4571 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 4572 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 4573 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 4574 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 4575 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 4576 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 4577 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 4578 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 4579 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4580 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 4581 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 4582 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 4583 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 4584 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 4585 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 4586 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 4587 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 4588 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 4589 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x18, 0x20}; 4590 static const uint8_t test_vector_4_mac_2_raw[] = { 4591 0x93, 0x92, 0x5a, 0x13, 0x45, 0xcd, 0x35, 0xb3, 4592 0x84, 0x01, 0xff, 0xf8, 0xc2, 0x73, 0x19, 0x80, 4593 0x02, 0xf4, 0xbd, 0xc8, 0x0c, 0xc1, 0xa4, 0x72, 4594 0xfc, 0xe1, 0xf8, 0xcb, 0xea, 0xf8, 0x73, 0xbd}; 4595 static const uint8_t test_vector_4_mac_2[] = { 4596 0x58, 0x20, 0x93, 0x92, 0x5a, 0x13, 0x45, 0xcd, 4597 0x35, 0xb3, 0x84, 0x01, 0xff, 0xf8, 0xc2, 0x73, 4598 0x19, 0x80, 0x02, 0xf4, 0xbd, 0xc8, 0x0c, 0xc1, 4599 0xa4, 0x72, 0xfc, 0xe1, 0xf8, 0xcb, 0xea, 0xf8, 4600 0x73, 0xbd}; 4601 static const uint8_t test_vector_4_m_2[] = { 4602 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 4603 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x32, 4604 0x59, 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 4605 0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 4606 0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 4607 0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 4608 0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 4609 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4610 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4611 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4612 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4613 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4614 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4615 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4616 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4617 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 4618 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4619 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4620 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4621 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4622 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 4623 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4624 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4625 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4626 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 4627 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 4628 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 4629 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 4630 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 4631 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 4632 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 4633 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 4634 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 4635 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4636 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 4637 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 4638 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 4639 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 4640 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 4641 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 4642 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 4643 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 4644 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 4645 0x05, 0x58, 0x58, 0x20, 0x93, 0x92, 0x5a, 0x13, 4646 0x45, 0xcd, 0x35, 0xb3, 0x84, 0x01, 0xff, 0xf8, 4647 0xc2, 0x73, 0x19, 0x80, 0x02, 0xf4, 0xbd, 0xc8, 4648 0x0c, 0xc1, 0xa4, 0x72, 0xfc, 0xe1, 0xf8, 0xcb, 4649 0xea, 0xf8, 0x73, 0xbd}; 4650 static const uint8_t test_vector_4_sig_or_mac_2_raw[] = { 4651 0x33, 0x17, 0xe6, 0x0d, 0x78, 0x12, 0xd3, 0x38, 4652 0x25, 0x2a, 0xb3, 0xfd, 0x7b, 0xd9, 0x13, 0x68, 4653 0x7c, 0x96, 0x51, 0xef, 0x56, 0x5b, 0x53, 0x4e, 4654 0x5d, 0xe0, 0x60, 0x8a, 0x7b, 0xef, 0x21, 0x25, 4655 0x8b, 0x38, 0x85, 0xb8, 0x04, 0x72, 0x1d, 0xc1, 4656 0xf3, 0x73, 0xb9, 0x73, 0xa7, 0x55, 0x96, 0xd8, 4657 0x47, 0xae, 0x49, 0x76, 0x88, 0x8a, 0xae, 0x04, 4658 0x7f, 0x91, 0xee, 0x53, 0x7d, 0x24, 0xa7, 0xd1}; 4659 static const uint8_t test_vector_4_sig_or_mac_2[] = { 4660 0x58, 0x40, 0x33, 0x17, 0xe6, 0x0d, 0x78, 0x12, 4661 0xd3, 0x38, 0x25, 0x2a, 0xb3, 0xfd, 0x7b, 0xd9, 4662 0x13, 0x68, 0x7c, 0x96, 0x51, 0xef, 0x56, 0x5b, 4663 0x53, 0x4e, 0x5d, 0xe0, 0x60, 0x8a, 0x7b, 0xef, 4664 0x21, 0x25, 0x8b, 0x38, 0x85, 0xb8, 0x04, 0x72, 4665 0x1d, 0xc1, 0xf3, 0x73, 0xb9, 0x73, 0xa7, 0x55, 4666 0x96, 0xd8, 0x47, 0xae, 0x49, 0x76, 0x88, 0x8a, 4667 0xae, 0x04, 0x7f, 0x91, 0xee, 0x53, 0x7d, 0x24, 4668 0xa7, 0xd1}; 4669 static const uint8_t test_vector_4_plaintext_2[] = { 4670 0x32, 0x58, 0x40, 0x33, 0x17, 0xe6, 0x0d, 0x78, 4671 0x12, 0xd3, 0x38, 0x25, 0x2a, 0xb3, 0xfd, 0x7b, 4672 0xd9, 0x13, 0x68, 0x7c, 0x96, 0x51, 0xef, 0x56, 4673 0x5b, 0x53, 0x4e, 0x5d, 0xe0, 0x60, 0x8a, 0x7b, 4674 0xef, 0x21, 0x25, 0x8b, 0x38, 0x85, 0xb8, 0x04, 4675 0x72, 0x1d, 0xc1, 0xf3, 0x73, 0xb9, 0x73, 0xa7, 4676 0x55, 0x96, 0xd8, 0x47, 0xae, 0x49, 0x76, 0x88, 4677 0x8a, 0xae, 0x04, 0x7f, 0x91, 0xee, 0x53, 0x7d, 4678 0x24, 0xa7, 0xd1}; 4679 static const uint8_t test_vector_4_info_keystream_2[] = { 4680 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 4681 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 4682 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 4683 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 4684 0xfb, 0xab, 0xa6, 0x18, 0x43}; 4685 static const uint8_t test_vector_4_keystream_2_raw[] = { 4686 0x83, 0x21, 0x7c, 0xba, 0x0e, 0xda, 0xe9, 0xfa, 4687 0x30, 0xc3, 0xa0, 0x27, 0xc8, 0xe6, 0x00, 0xef, 4688 0x83, 0xf1, 0xdc, 0xa2, 0x39, 0xf9, 0x94, 0x9a, 4689 0xb4, 0x67, 0x9d, 0x3c, 0x84, 0xc5, 0x57, 0xf0, 4690 0x99, 0x71, 0x19, 0xda, 0x13, 0xc5, 0x70, 0xdd, 4691 0x37, 0xf3, 0x74, 0x36, 0x94, 0x41, 0x1e, 0xe6, 4692 0xd6, 0x30, 0x25, 0xdc, 0x10, 0x31, 0xeb, 0x46, 4693 0x98, 0x1d, 0x08, 0xff, 0xe1, 0xad, 0x81, 0xda, 4694 0x19, 0x1f, 0x85}; 4695 static const uint8_t test_vector_4_ciphertext_2_raw[] = { 4696 0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c, 0xe4, 0x82, 4697 0x22, 0x10, 0x98, 0x02, 0xe2, 0x55, 0xfd, 0x94, 4698 0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8, 0x7b, 0xcc, 4699 0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5, 0xdd, 0x8b, 4700 0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40, 0xc8, 0xd9, 4701 0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8, 0x6d, 0x41, 4702 0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78, 0x9d, 0xce, 4703 0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43, 0xd2, 0xa7, 4704 0x3d, 0xb8, 0x54}; 4705 static const uint8_t test_vector_4_ciphertext_2[] = { 4706 0x58, 0x43, 0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c, 4707 0xe4, 0x82, 0x22, 0x10, 0x98, 0x02, 0xe2, 0x55, 4708 0xfd, 0x94, 0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8, 4709 0x7b, 0xcc, 0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5, 4710 0xdd, 0x8b, 0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40, 4711 0xc8, 0xd9, 0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8, 4712 0x6d, 0x41, 0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78, 4713 0x9d, 0xce, 0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43, 4714 0xd2, 0xa7, 0x3d, 0xb8, 0x54}; 4715 static const uint8_t test_vector_4_message_2[] = { 4716 0x58, 0x63, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4717 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4718 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4719 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4720 0xf5, 0xd5, 0xb1, 0x79, 0x3c, 0x89, 0x19, 0x3c, 4721 0xe4, 0x82, 0x22, 0x10, 0x98, 0x02, 0xe2, 0x55, 4722 0xfd, 0x94, 0x5a, 0xe2, 0xb4, 0xde, 0xaf, 0xa8, 4723 0x7b, 0xcc, 0xef, 0x34, 0xd3, 0x61, 0x64, 0xa5, 4724 0xdd, 0x8b, 0x76, 0x50, 0x3c, 0x51, 0x2b, 0x40, 4725 0xc8, 0xd9, 0x45, 0xee, 0xb5, 0xc5, 0xe7, 0xf8, 4726 0x6d, 0x41, 0x83, 0xa6, 0xfd, 0x9b, 0xbe, 0x78, 4727 0x9d, 0xce, 0x12, 0xb3, 0x0c, 0x80, 0x70, 0x43, 4728 0xd2, 0xa7, 0x3d, 0xb8, 0x54, 0x27}; 4729 static const uint8_t test_vector_4_sk_i_raw[] = { 4730 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 4731 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 4732 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 4733 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 4734 static const uint8_t test_vector_4_pk_i_raw[] = { 4735 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 4736 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 4737 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 4738 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 4739 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 4740 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 4741 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 4742 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 4743 0xc8}; 4744 static const uint8_t test_vector_4_salt_4e3m[] = { 4745 0x16, 0x6c, 0xf1, 0xc0, 0xeb, 0xeb, 0x99, 0xd0, 4746 0x89, 0xc8, 0xde, 0xe2, 0xd9, 0x80, 0x28, 0xff, 4747 0x81, 0x67, 0xaf, 0x3a, 0xe3, 0xfb, 0x6f, 0xa1, 4748 0x8b, 0xf1, 0x6d, 0x13, 0x16, 0x14, 0x91, 0x2e}; 4749 static const uint8_t test_vector_4_prk_4e3m_raw[] = { 4750 0xba, 0xaf, 0xcc, 0x36, 0x99, 0x2f, 0x3a, 0x12, 4751 0x07, 0x79, 0xa2, 0xb6, 0xea, 0x68, 0xd5, 0xc6, 4752 0xfd, 0xea, 0x1e, 0x6e, 0x30, 0xc0, 0xaa, 0xbe, 4753 0x7f, 0x90, 0xd9, 0xb5, 0x78, 0xff, 0x19, 0x7b}; 4754 static const uint8_t test_vector_4_input_TH_3[] = { 4755 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 4756 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 4757 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 4758 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 4759 0xab, 0xa6, 0x32, 0x58, 0x40, 0x33, 0x17, 0xe6, 4760 0x0d, 0x78, 0x12, 0xd3, 0x38, 0x25, 0x2a, 0xb3, 4761 0xfd, 0x7b, 0xd9, 0x13, 0x68, 0x7c, 0x96, 0x51, 4762 0xef, 0x56, 0x5b, 0x53, 0x4e, 0x5d, 0xe0, 0x60, 4763 0x8a, 0x7b, 0xef, 0x21, 0x25, 0x8b, 0x38, 0x85, 4764 0xb8, 0x04, 0x72, 0x1d, 0xc1, 0xf3, 0x73, 0xb9, 4765 0x73, 0xa7, 0x55, 0x96, 0xd8, 0x47, 0xae, 0x49, 4766 0x76, 0x88, 0x8a, 0xae, 0x04, 0x7f, 0x91, 0xee, 4767 0x53, 0x7d, 0x24, 0xa7, 0xd1, 0x59, 0x01, 0x22, 4768 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4769 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4770 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4771 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4772 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4773 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4774 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4775 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4776 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 4777 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4778 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4779 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4780 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4781 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 4782 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4783 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4784 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4785 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 4786 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 4787 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 4788 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 4789 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 4790 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 4791 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 4792 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 4793 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 4794 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4795 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 4796 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 4797 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 4798 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 4799 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 4800 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 4801 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 4802 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 4803 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 4804 0x05, 0x58}; 4805 static const uint8_t test_vector_4_th_3_raw[] = { 4806 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 0x3f, 0x29, 4807 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 0x67, 0xe2, 4808 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 0x70, 0x26, 4809 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 0xe7, 0x6d}; 4810 static const uint8_t test_vector_4_th_3[] = { 4811 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 4812 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 4813 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 4814 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 4815 0xe7, 0x6d}; 4816 static const uint8_t test_vector_4_id_cred_i[] = { 4817 0xa1, 0x04, 0x2b}; 4818 static const uint8_t test_vector_4_cred_i[] = { 4819 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 4820 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 4821 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 4822 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 4823 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 4824 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 4825 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 4826 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 4827 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 4828 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 4829 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 4830 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 4831 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 4832 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 4833 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 4834 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4835 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4836 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 4837 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 4838 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 4839 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 4840 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 4841 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 4842 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 4843 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 4844 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 4845 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4846 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 4847 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 4848 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 4849 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 4850 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 4851 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 4852 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 4853 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 4854 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 4855 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 4856 static const uint8_t test_vector_4_ca_i[] = { 4857 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 4858 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4859 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4860 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4861 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4862 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4863 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4864 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4865 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 4866 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4867 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 4868 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 4869 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4870 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 4871 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4872 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4873 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 4874 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 4875 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 4876 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 4877 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 4878 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 4879 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 4880 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 4881 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 4882 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4883 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 4884 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 4885 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 4886 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 4887 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 4888 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 4889 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 4890 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 4891 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 4892 0x13, 0x6b, 0xf3, 0x06}; 4893 static const uint8_t test_vector_4_ca_i_pk[] = { 4894 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 4895 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 4896 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 4897 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 4898 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 4899 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 4900 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 4901 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 4902 0x95}; 4903 static const uint8_t test_vector_4_ead_3[] = { 4904 }; 4905 static const uint8_t test_vector_4_info_mac_3[] = { 4906 0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x2b, 0x58, 4907 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 0x3f, 4908 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 0x67, 4909 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 0x70, 4910 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 0xe7, 4911 0x6d, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 4912 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 4913 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 4914 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 4915 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 4916 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 4917 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 4918 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 4919 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 4920 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 4921 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 4922 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 4923 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 4924 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 4925 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 4926 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4927 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4928 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 4929 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 4930 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 4931 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 4932 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 4933 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 4934 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 4935 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 4936 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 4937 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4938 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 4939 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 4940 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 4941 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 4942 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 4943 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 4944 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 4945 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 4946 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 4947 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x18, 0x20}; 4948 static const uint8_t test_vector_4_mac_3_raw[] = { 4949 0xbe, 0x85, 0x57, 0xbc, 0x02, 0x61, 0x2e, 0xfd, 4950 0x5d, 0xce, 0x76, 0xdd, 0x0d, 0x3a, 0x4a, 0x08, 4951 0x5d, 0x1b, 0x68, 0x0d, 0x1d, 0xf7, 0x3d, 0x6c, 4952 0xcd, 0xfd, 0x98, 0x7b, 0x5f, 0xed, 0xa3, 0x02}; 4953 static const uint8_t test_vector_4_mac_3[] = { 4954 0x58, 0x20, 0xbe, 0x85, 0x57, 0xbc, 0x02, 0x61, 4955 0x2e, 0xfd, 0x5d, 0xce, 0x76, 0xdd, 0x0d, 0x3a, 4956 0x4a, 0x08, 0x5d, 0x1b, 0x68, 0x0d, 0x1d, 0xf7, 4957 0x3d, 0x6c, 0xcd, 0xfd, 0x98, 0x7b, 0x5f, 0xed, 4958 0xa3, 0x02}; 4959 static const uint8_t test_vector_4_m_3[] = { 4960 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 4961 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x2b, 4962 0x59, 0x01, 0x47, 0x58, 0x20, 0xcd, 0x63, 0x99, 4963 0x97, 0x49, 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 4964 0xf5, 0xc6, 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 4965 0x5b, 0xc4, 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 4966 0xe3, 0xf1, 0x4e, 0xe7, 0x6d, 0x59, 0x01, 0x22, 4967 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4968 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 4969 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4970 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4971 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4972 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4973 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4974 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 4975 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 4976 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4977 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4978 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4979 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4980 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 4981 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4982 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4983 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4984 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 4985 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 4986 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 4987 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 4988 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 4989 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 4990 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 4991 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 4992 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 4993 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4994 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 4995 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 4996 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 4997 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 4998 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 4999 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 5000 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 5001 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 5002 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 5003 0xbe, 0xde, 0x58, 0x20, 0xbe, 0x85, 0x57, 0xbc, 5004 0x02, 0x61, 0x2e, 0xfd, 0x5d, 0xce, 0x76, 0xdd, 5005 0x0d, 0x3a, 0x4a, 0x08, 0x5d, 0x1b, 0x68, 0x0d, 5006 0x1d, 0xf7, 0x3d, 0x6c, 0xcd, 0xfd, 0x98, 0x7b, 5007 0x5f, 0xed, 0xa3, 0x02}; 5008 static const uint8_t test_vector_4_sig_or_mac_3_raw[] = { 5009 0xc3, 0x7f, 0x0a, 0xf5, 0xbc, 0xd3, 0xb6, 0x12, 5010 0x51, 0x81, 0xe7, 0xb9, 0x99, 0x3f, 0x37, 0x11, 5011 0x7e, 0x7a, 0x36, 0xe2, 0xe1, 0xec, 0xa3, 0x71, 5012 0x6e, 0x5b, 0x5f, 0x5d, 0xbd, 0xde, 0xb4, 0x86, 5013 0xe7, 0xa4, 0xe4, 0xbf, 0x6c, 0x61, 0xeb, 0x38, 5014 0xb1, 0x0a, 0x92, 0x14, 0x43, 0xed, 0xb5, 0x7d, 5015 0x06, 0x83, 0xa2, 0xf1, 0xc7, 0xb9, 0xa1, 0xee, 5016 0xc9, 0x2d, 0xd1, 0xc9, 0xde, 0x13, 0xf1, 0x78}; 5017 static const uint8_t test_vector_4_sig_or_mac_3[] = { 5018 0x58, 0x40, 0xc3, 0x7f, 0x0a, 0xf5, 0xbc, 0xd3, 5019 0xb6, 0x12, 0x51, 0x81, 0xe7, 0xb9, 0x99, 0x3f, 5020 0x37, 0x11, 0x7e, 0x7a, 0x36, 0xe2, 0xe1, 0xec, 5021 0xa3, 0x71, 0x6e, 0x5b, 0x5f, 0x5d, 0xbd, 0xde, 5022 0xb4, 0x86, 0xe7, 0xa4, 0xe4, 0xbf, 0x6c, 0x61, 5023 0xeb, 0x38, 0xb1, 0x0a, 0x92, 0x14, 0x43, 0xed, 5024 0xb5, 0x7d, 0x06, 0x83, 0xa2, 0xf1, 0xc7, 0xb9, 5025 0xa1, 0xee, 0xc9, 0x2d, 0xd1, 0xc9, 0xde, 0x13, 5026 0xf1, 0x78}; 5027 static const uint8_t test_vector_4_p_3[] = { 5028 0x2b, 0x58, 0x40, 0xc3, 0x7f, 0x0a, 0xf5, 0xbc, 5029 0xd3, 0xb6, 0x12, 0x51, 0x81, 0xe7, 0xb9, 0x99, 5030 0x3f, 0x37, 0x11, 0x7e, 0x7a, 0x36, 0xe2, 0xe1, 5031 0xec, 0xa3, 0x71, 0x6e, 0x5b, 0x5f, 0x5d, 0xbd, 5032 0xde, 0xb4, 0x86, 0xe7, 0xa4, 0xe4, 0xbf, 0x6c, 5033 0x61, 0xeb, 0x38, 0xb1, 0x0a, 0x92, 0x14, 0x43, 5034 0xed, 0xb5, 0x7d, 0x06, 0x83, 0xa2, 0xf1, 0xc7, 5035 0xb9, 0xa1, 0xee, 0xc9, 0x2d, 0xd1, 0xc9, 0xde, 5036 0x13, 0xf1, 0x78}; 5037 static const uint8_t test_vector_4_a_3[] = { 5038 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5039 0x74, 0x30, 0x40, 0x58, 0x20, 0xcd, 0x63, 0x99, 5040 0x97, 0x49, 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 5041 0xf5, 0xc6, 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 5042 0x5b, 0xc4, 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 5043 0xe3, 0xf1, 0x4e, 0xe7, 0x6d}; 5044 static const uint8_t test_vector_4_info_k_3[] = { 5045 0x03, 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 5046 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 5047 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 5048 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 5049 0x4e, 0xe7, 0x6d, 0x10}; 5050 static const uint8_t test_vector_4_k_3_raw[] = { 5051 0xad, 0xf3, 0x6a, 0x8f, 0xa2, 0x8a, 0x8f, 0x6b, 5052 0xcb, 0xc6, 0x2b, 0x9c, 0xc7, 0x81, 0xb2, 0x5b}; 5053 static const uint8_t test_vector_4_info_iv_3[] = { 5054 0x04, 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 5055 0xc3, 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 5056 0xe8, 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 5057 0xa2, 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 5058 0x4e, 0xe7, 0x6d, 0x0d}; 5059 static const uint8_t test_vector_4_iv_3_raw[] = { 5060 0x6c, 0x40, 0x11, 0xbf, 0x66, 0x2e, 0x08, 0xb2, 5061 0x38, 0xd7, 0xac, 0x9f, 0x22}; 5062 static const uint8_t test_vector_4_ciphertext_3_raw[] = { 5063 0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91, 0x96, 0xf4, 5064 0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd, 0x64, 0xa1, 5065 0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20, 0x98, 0x34, 5066 0x67, 0x92, 0x13, 0x64, 0x59, 0x1e, 0x54, 0xc6, 5067 0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f, 0x68, 0x66, 5068 0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63, 0x10, 0x67, 5069 0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47, 0xdd, 0x97, 5070 0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45, 0xf4, 0x7b, 5071 0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1, 0x9a, 0xf6, 5072 0xd7, 0x48, 0x8a}; 5073 static const uint8_t test_vector_4_ciphertext_3[] = { 5074 0x58, 0x4b, 0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91, 5075 0x96, 0xf4, 0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd, 5076 0x64, 0xa1, 0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20, 5077 0x98, 0x34, 0x67, 0x92, 0x13, 0x64, 0x59, 0x1e, 5078 0x54, 0xc6, 0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f, 5079 0x68, 0x66, 0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63, 5080 0x10, 0x67, 0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47, 5081 0xdd, 0x97, 0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45, 5082 0xf4, 0x7b, 0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1, 5083 0x9a, 0xf6, 0xd7, 0x48, 0x8a}; 5084 static const uint8_t test_vector_4_message_3[] = { 5085 0x58, 0x4b, 0x52, 0xce, 0xc6, 0x7d, 0xf7, 0x91, 5086 0x96, 0xf4, 0x30, 0x33, 0xc1, 0xba, 0xe9, 0xdd, 5087 0x64, 0xa1, 0x23, 0xa5, 0x04, 0xfe, 0x1d, 0x20, 5088 0x98, 0x34, 0x67, 0x92, 0x13, 0x64, 0x59, 0x1e, 5089 0x54, 0xc6, 0x7b, 0x4e, 0x48, 0x9b, 0x95, 0x1f, 5090 0x68, 0x66, 0xef, 0xa1, 0x90, 0x94, 0x4e, 0x63, 5091 0x10, 0x67, 0x9b, 0xaf, 0x0c, 0xcc, 0x29, 0x47, 5092 0xdd, 0x97, 0xfa, 0x7e, 0x90, 0xe7, 0xfb, 0x45, 5093 0xf4, 0x7b, 0x58, 0x84, 0x4f, 0x83, 0x28, 0xd1, 5094 0x9a, 0xf6, 0xd7, 0x48, 0x8a}; 5095 static const uint8_t test_vector_4_input_th_4[] = { 5096 0x58, 0x20, 0xcd, 0x63, 0x99, 0x97, 0x49, 0xc3, 5097 0x3f, 0x29, 0x34, 0xfb, 0xe3, 0xf5, 0xc6, 0xe8, 5098 0x67, 0xe2, 0x59, 0x1b, 0x0e, 0x5b, 0xc4, 0xa2, 5099 0x70, 0x26, 0xc8, 0x8b, 0x0a, 0xe3, 0xf1, 0x4e, 5100 0xe7, 0x6d, 0x2b, 0x58, 0x40, 0xc3, 0x7f, 0x0a, 5101 0xf5, 0xbc, 0xd3, 0xb6, 0x12, 0x51, 0x81, 0xe7, 5102 0xb9, 0x99, 0x3f, 0x37, 0x11, 0x7e, 0x7a, 0x36, 5103 0xe2, 0xe1, 0xec, 0xa3, 0x71, 0x6e, 0x5b, 0x5f, 5104 0x5d, 0xbd, 0xde, 0xb4, 0x86, 0xe7, 0xa4, 0xe4, 5105 0xbf, 0x6c, 0x61, 0xeb, 0x38, 0xb1, 0x0a, 0x92, 5106 0x14, 0x43, 0xed, 0xb5, 0x7d, 0x06, 0x83, 0xa2, 5107 0xf1, 0xc7, 0xb9, 0xa1, 0xee, 0xc9, 0x2d, 0xd1, 5108 0xc9, 0xde, 0x13, 0xf1, 0x78, 0x59, 0x01, 0x22, 5109 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 5110 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 5111 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5112 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5113 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5114 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5115 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5116 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 5117 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 5118 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5119 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 5120 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 5121 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5122 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 5123 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 5124 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 5125 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 5126 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 5127 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 5128 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 5129 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 5130 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 5131 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 5132 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 5133 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 5134 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 5135 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 5136 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 5137 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 5138 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 5139 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 5140 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 5141 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 5142 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 5143 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 5144 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 5145 0xbe, 0xde}; 5146 static const uint8_t test_vector_4_th_4_raw[] = { 5147 0x57, 0x9e, 0x6b, 0xd8, 0xe3, 0x7b, 0x6f, 0x4e, 5148 0xdc, 0x50, 0xbb, 0xdd, 0x99, 0xb0, 0xe5, 0x38, 5149 0xee, 0xc8, 0xad, 0x29, 0x9a, 0x77, 0x1a, 0xae, 5150 0xb7, 0xae, 0xa1, 0x9d, 0x3c, 0xb7, 0xe2, 0x6a}; 5151 static const uint8_t test_vector_4_th_4[] = { 5152 0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3, 0x7b, 5153 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99, 0xb0, 5154 0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a, 0x77, 5155 0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c, 0xb7, 5156 0xe2, 0x6a}; 5157 static const uint8_t test_vector_4_ead_4[] = { 5158 }; 5159 static const uint8_t test_vector_4_p_4[] = { 5160 }; 5161 static const uint8_t test_vector_4_a_4[] = { 5162 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5163 0x74, 0x30, 0x40, 0x58, 0x20, 0x57, 0x9e, 0x6b, 5164 0xd8, 0xe3, 0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 5165 0xdd, 0x99, 0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad, 5166 0x29, 0x9a, 0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1, 5167 0x9d, 0x3c, 0xb7, 0xe2, 0x6a}; 5168 static const uint8_t test_vector_4_info_k_4[] = { 5169 0x08, 0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3, 5170 0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99, 5171 0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a, 5172 0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c, 5173 0xb7, 0xe2, 0x6a, 0x10}; 5174 static const uint8_t test_vector_4_k_4_raw[] = { 5175 0x2d, 0x51, 0x6b, 0x3f, 0x47, 0x2c, 0xcf, 0x0c, 5176 0x2c, 0x55, 0x8e, 0x3d, 0x84, 0x4b, 0xde, 0xae}; 5177 static const uint8_t test_vector_4_info_iv_4[] = { 5178 0x09, 0x58, 0x20, 0x57, 0x9e, 0x6b, 0xd8, 0xe3, 5179 0x7b, 0x6f, 0x4e, 0xdc, 0x50, 0xbb, 0xdd, 0x99, 5180 0xb0, 0xe5, 0x38, 0xee, 0xc8, 0xad, 0x29, 0x9a, 5181 0x77, 0x1a, 0xae, 0xb7, 0xae, 0xa1, 0x9d, 0x3c, 5182 0xb7, 0xe2, 0x6a, 0x0d}; 5183 static const uint8_t test_vector_4_iv_4_raw[] = { 5184 0xa5, 0x1d, 0x67, 0xa5, 0x77, 0x7d, 0xcc, 0xf7, 5185 0xfc, 0x4c, 0x48, 0x34, 0x92}; 5186 static const uint8_t test_vector_4_ciphertext_4_raw[] = { 5187 0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84, 0xf5}; 5188 static const uint8_t test_vector_4_ciphertext_4[] = { 5189 0x48, 0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84, 5190 0xf5}; 5191 static const uint8_t test_vector_4_message_4[] = { 5192 0x48, 0x30, 0xdd, 0xad, 0x40, 0xab, 0x1c, 0x84, 5193 0xf5}; 5194 static const uint8_t test_vector_4_prk_out[] = { 5195 0x00, 0x96, 0xe0, 0xa0, 0x18, 0x32, 0x33, 0xa8, 5196 0x6f, 0xbc, 0x3b, 0x42, 0x29, 0x19, 0xa6, 0xc9, 5197 0x3b, 0x0c, 0xf5, 0x75, 0x27, 0x50, 0x38, 0x9a, 5198 0x21, 0x8b, 0xeb, 0xb6, 0x12, 0x2e, 0x4c, 0xa5}; 5199 static const uint8_t test_vector_4_prk_exporter[] = { 5200 0xeb, 0x00, 0xb9, 0xf5, 0x98, 0x5f, 0x39, 0x33, 5201 0x5d, 0x62, 0xeb, 0x8c, 0x1a, 0x2c, 0xfa, 0x9e, 5202 0xb2, 0xae, 0x9e, 0x28, 0xda, 0x4b, 0xea, 0xc5, 5203 0x68, 0xcb, 0x0a, 0x49, 0x1f, 0xdc, 0x91, 0x60}; 5204 int32_t test_vector_4_oscore_aead_alg = 10; 5205 int32_t test_vector_4_oscore_hash_alg = -16; 5206 static const uint8_t test_vector_4_client_sender_id_raw[] = { 5207 0x27}; 5208 static const uint8_t test_vector_4_server_sender_id_raw[] = { 5209 0x37}; 5210 static const uint8_t test_vector_4_info_oscore_secret[] = { 5211 0x00, 0x40, 0x10}; 5212 static const uint8_t test_vector_4_oscore_secret_raw[] = { 5213 0xb7, 0xd8, 0xc8, 0xc8, 0x96, 0xac, 0xa2, 0xd0, 5214 0xd0, 0x60, 0x4e, 0xd8, 0x8d, 0xc1, 0x22, 0xc1}; 5215 static const uint8_t test_vector_4_info_oscore_salt[] = { 5216 0x01, 0x40, 0x08}; 5217 static const uint8_t test_vector_4_oscore_salt_raw[] = { 5218 0x40, 0xa3, 0x60, 0xc9, 0x82, 0x53, 0xaa, 0xd0}; 5219 static const uint8_t test_vector_4_prk_out_updated[] = { 5220 0x14, 0xb0, 0xd6, 0xd8, 0x05, 0xe1, 0x68, 0xa0, 5221 0x71, 0xa9, 0x8d, 0x9b, 0xf2, 0x9c, 0x42, 0x18, 5222 0xe1, 0xa7, 0x4e, 0xb5, 0x36, 0xb4, 0x67, 0x61, 5223 0xd0, 0xf0, 0x2b, 0xe3, 0xaf, 0xd5, 0x0f, 0xc4}; 5224 static const uint8_t test_vector_4_prk_exporter_update[] = { 5225 0x96, 0x41, 0xbd, 0x52, 0x40, 0x9f, 0x4c, 0xed, 5226 0xfb, 0x3c, 0xe8, 0xdf, 0x54, 0x35, 0x89, 0x50, 5227 0xec, 0x5f, 0xa9, 0x0e, 0x59, 0xe4, 0xa8, 0xec, 5228 0x70, 0xa4, 0x41, 0x54, 0xd0, 0xd6, 0xb7, 0x7c}; 5229 static const uint8_t test_vector_4_oscore_secret_key_update_raw[] = { 5230 0xa7, 0xe8, 0xa6, 0x1b, 0x05, 0xa7, 0xd9, 0xf9, 5231 0xec, 0xc2, 0x77, 0x06, 0x4b, 0x16, 0xe1, 0x73}; 5232 static const uint8_t test_vector_4_oscore_salt_key_update_raw[] = { 5233 0x0b, 0xc5, 0xea, 0x00, 0xe2, 0xf3, 0x1f, 0xf2}; 5234 5235 /***************** test_vector_5 ************/ 5236 5237 static const uint8_t test_vector_5_method[] = { 5238 0x03}; 5239 static const uint8_t test_vector_5_SUITES_I[] = { 5240 0x02}; 5241 static const uint8_t test_vector_5_SUITES_R[] = { 5242 0x02}; 5243 static const uint8_t test_vector_5_x_raw[] = { 5244 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 5245 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 5246 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 5247 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 5248 static const uint8_t test_vector_5_g_x_raw[] = { 5249 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 5250 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 5251 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 5252 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 5253 static const uint8_t test_vector_5_g_x_raw_y_coordinate[] = { 5254 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 5255 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 5256 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 5257 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 5258 static const uint8_t test_vector_5_g_x[] = { 5259 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 5260 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 5261 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 5262 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 5263 0xc3, 0xb6}; 5264 int32_t test_vector_5_c_i_raw = -24; 5265 static const uint8_t test_vector_5_c_i[] = { 5266 0x37}; 5267 static const uint8_t test_vector_5_ead_1[] = { 5268 }; 5269 static const uint8_t test_vector_5_message_1[] = { 5270 0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 5271 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 5272 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 5273 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 5274 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 5275 static const uint8_t test_vector_5_y_raw[] = { 5276 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 5277 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 5278 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 5279 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 5280 static const uint8_t test_vector_5_g_y_raw[] = { 5281 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 5282 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 5283 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 5284 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 5285 static const uint8_t test_vector_5_g_y_raw_y_coordinate[] = { 5286 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 5287 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 5288 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 5289 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 5290 static const uint8_t test_vector_5_g_y[] = { 5291 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5292 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5293 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5294 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5295 0xf5, 0xd5}; 5296 static const uint8_t test_vector_5_g_xy_raw[] = { 5297 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 5298 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 5299 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 5300 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 5301 static const uint8_t test_vector_5_salt_raw[] = { 5302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 5306 static const uint8_t test_vector_5_prk_2e_raw[] = { 5307 0x0b, 0x46, 0x4d, 0x36, 0x99, 0x07, 0x60, 0xcd, 5308 0xab, 0xe1, 0x8c, 0x66, 0xf3, 0xc3, 0xd8, 0xb1, 5309 0xfd, 0x5b, 0x05, 0x88, 0x17, 0xe4, 0x19, 0xf4, 5310 0x0d, 0xaa, 0x96, 0x07, 0xa9, 0x43, 0x97, 0xd4}; 5311 static const uint8_t test_vector_5_salt_3e2m[] = { 5312 0x4b, 0x4f, 0xc9, 0xde, 0xda, 0xeb, 0x34, 0x6b, 5313 0xf7, 0x5e, 0x59, 0x10, 0x82, 0x03, 0xc0, 0xd3, 5314 0x90, 0x73, 0x3c, 0x94, 0x80, 0xb6, 0x75, 0x65, 5315 0x5a, 0xf9, 0xc9, 0xdc, 0xa5, 0xb7, 0x33, 0x47}; 5316 static const uint8_t test_vector_5_r_raw[] = { 5317 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 5318 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 5319 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 5320 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 5321 static const uint8_t test_vector_5_g_r_raw[] = { 5322 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5323 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5324 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5325 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0}; 5326 static const uint8_t test_vector_5_g_r_raw_y_coordinate[] = { 5327 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5328 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5329 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5330 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72}; 5331 static const uint8_t test_vector_5_g_rx_raw[] = { 5332 0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e, 5333 0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0, 5334 0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08, 5335 0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23}; 5336 static const uint8_t test_vector_5_prk_3e2m_raw[] = { 5337 0x8e, 0x79, 0xbb, 0x0c, 0x12, 0xb9, 0x47, 0x68, 5338 0xa3, 0xed, 0x92, 0xb8, 0x9f, 0xc2, 0x60, 0xf6, 5339 0x17, 0x8f, 0x7a, 0xa5, 0x71, 0x7b, 0xd9, 0x70, 5340 0x61, 0x2d, 0xa7, 0x5d, 0x69, 0x02, 0x87, 0x1b}; 5341 int32_t test_vector_5_c_r_raw = -19; 5342 static const uint8_t test_vector_5_c_r[] = { 5343 0x32}; 5344 static const uint8_t test_vector_5_h_message_1_raw[] = { 5345 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45, 5346 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf, 5347 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca, 5348 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5349 static const uint8_t test_vector_5_h_message_1[] = { 5350 0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 5351 0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 5352 0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 5353 0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 5354 0x3e, 0x83}; 5355 static const uint8_t test_vector_5_input_th_2[] = { 5356 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5357 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5358 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5359 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5360 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb, 5361 0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35, 5362 0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09, 5363 0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe, 5364 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5365 static const uint8_t test_vector_5_th_2_raw[] = { 5366 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf, 5367 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72, 5368 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60, 5369 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4}; 5370 static const uint8_t test_vector_5_th_2[] = { 5371 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5372 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5373 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5374 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5375 0x5c, 0xb4}; 5376 static const uint8_t test_vector_5_id_cred_r[] = { 5377 0xa1, 0x04, 0x22}; 5378 static const uint8_t test_vector_5_cred_r[] = { 5379 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 5380 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 5381 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 5382 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 5383 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 5384 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 5385 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 5386 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 5387 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 5388 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 5389 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 5390 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 5391 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 5392 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 5393 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 5394 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5395 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5396 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 5397 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 5398 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 5399 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 5400 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 5401 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 5402 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 5403 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 5404 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 5405 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5406 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 5407 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 5408 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 5409 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 5410 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 5411 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 5412 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 5413 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 5414 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 5415 0x3b, 0x13, 0x3d, 0x05, 0x58}; 5416 static const uint8_t test_vector_5_ca_r[] = { 5417 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 5418 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 5419 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5420 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5421 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5422 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5423 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5424 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 5425 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 5426 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5427 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 5428 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5429 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5430 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 5431 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5432 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5433 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 5434 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 5435 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 5436 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 5437 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 5438 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 5439 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 5440 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 5441 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 5442 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5443 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 5444 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 5445 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 5446 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 5447 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 5448 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 5449 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 5450 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 5451 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 5452 0x13, 0x6b, 0xf3, 0x06}; 5453 static const uint8_t test_vector_5_ca_r_pk[] = { 5454 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 5455 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 5456 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 5457 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 5458 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 5459 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 5460 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 5461 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 5462 0x95}; 5463 static const uint8_t test_vector_5_ead_2[] = { 5464 }; 5465 static const uint8_t test_vector_5_info_mac_2[] = { 5466 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58, 5467 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 5468 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 5469 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 5470 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 5471 0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 5472 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 5473 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 5474 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 5475 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 5476 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 5477 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 5478 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 5479 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 5480 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 5481 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 5482 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 5483 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 5484 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 5485 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 5486 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5487 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5488 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 5489 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5490 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5491 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5492 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 5493 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5494 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5495 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5496 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 5497 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5498 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 5499 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 5500 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 5501 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 5502 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 5503 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 5504 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 5505 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 5506 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 5507 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08}; 5508 static const uint8_t test_vector_5_mac_2_raw[] = { 5509 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c}; 5510 static const uint8_t test_vector_5_mac_2[] = { 5511 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 5512 0x6c}; 5513 static const uint8_t test_vector_5_sig_or_mac_2_raw[] = { 5514 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c}; 5515 static const uint8_t test_vector_5_sig_or_mac_2[] = { 5516 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 5517 0x6c}; 5518 static const uint8_t test_vector_5_plaintext_2[] = { 5519 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 5520 0xcd, 0x6c}; 5521 static const uint8_t test_vector_5_info_keystream_2[] = { 5522 0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 5523 0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 5524 0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 5525 0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 5526 0xf6, 0x5c, 0xb4, 0x0a}; 5527 static const uint8_t test_vector_5_keystream_2_raw[] = { 5528 0x7e, 0x0f, 0xff, 0x9a, 0xd8, 0xb8, 0x6f, 0x8d, 5529 0x78, 0x84}; 5530 static const uint8_t test_vector_5_ciphertext_2_raw[] = { 5531 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 0xfe, 5532 0xb5, 0xe8}; 5533 static const uint8_t test_vector_5_ciphertext_2[] = { 5534 0x4a, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 5535 0xfe, 0xb5, 0xe8}; 5536 static const uint8_t test_vector_5_message_2[] = { 5537 0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5538 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5539 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5540 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5541 0xf5, 0xd5, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 5542 0xed, 0xfe, 0xb5, 0xe8, 0x32}; 5543 static const uint8_t test_vector_5_i_raw[] = { 5544 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 5545 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 5546 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 5547 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 5548 static const uint8_t test_vector_5_g_i_raw[] = { 5549 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 5550 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 5551 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 5552 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6}; 5553 static const uint8_t test_vector_5_g_i_raw_y_coordinate[] = { 5554 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 5555 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 5556 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 5557 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8}; 5558 static const uint8_t test_vector_5_g_iy_raw[] = { 5559 0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49, 5560 0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23, 5561 0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20, 5562 0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3}; 5563 static const uint8_t test_vector_5_salt_4e3m[] = { 5564 0xb1, 0x2c, 0x9e, 0x6b, 0x41, 0x31, 0x94, 0x03, 5565 0x9f, 0xae, 0xde, 0xc7, 0x75, 0xf6, 0x2a, 0x2d, 5566 0xd3, 0x31, 0xb8, 0x78, 0xd2, 0xfb, 0x16, 0xe2, 5567 0xc3, 0xf7, 0x1f, 0xab, 0xda, 0xef, 0xfb, 0x95}; 5568 static const uint8_t test_vector_5_prk_4e3m_raw[] = { 5569 0x59, 0xce, 0x58, 0xe0, 0xbf, 0x2d, 0x7e, 0x4b, 5570 0x7e, 0xe8, 0x61, 0x9f, 0x09, 0xae, 0xb5, 0xb2, 5571 0xa9, 0xd4, 0x01, 0x35, 0xe9, 0x29, 0x51, 0xb7, 5572 0xb1, 0xcf, 0x33, 0x0c, 0x83, 0x99, 0x36, 0x9d}; 5573 static const uint8_t test_vector_5_input_TH_3[] = { 5574 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5575 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5576 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5577 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5578 0x5c, 0xb4, 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 5579 0x82, 0x73, 0xcd, 0x6c, 0x59, 0x01, 0x22, 0x30, 5580 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 5581 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 5582 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 5583 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 5584 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5585 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5586 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 5587 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 5588 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 5589 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 5590 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 5591 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 5592 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 5593 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 5594 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 5595 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 5596 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 5597 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 5598 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 5599 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 5600 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 5601 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 5602 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 5603 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 5604 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 5605 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 5606 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 5607 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 5608 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 5609 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 5610 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 5611 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 5612 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 5613 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 5614 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 5615 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 5616 0x58}; 5617 static const uint8_t test_vector_5_th_3_raw[] = { 5618 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 5619 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0, 5620 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88, 5621 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96}; 5622 static const uint8_t test_vector_5_th_3[] = { 5623 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 5624 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 5625 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 5626 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 5627 0x66, 0x96}; 5628 static const uint8_t test_vector_5_id_cred_i[] = { 5629 0xa1, 0x04, 0x05}; 5630 static const uint8_t test_vector_5_cred_i[] = { 5631 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 5632 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 5633 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 5634 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 5635 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 5636 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 5637 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 5638 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 5639 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 5640 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 5641 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 5642 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 5643 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 5644 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 5645 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 5646 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5647 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5648 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 5649 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 5650 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 5651 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 5652 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 5653 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 5654 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 5655 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 5656 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 5657 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5658 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 5659 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 5660 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 5661 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 5662 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 5663 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 5664 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 5665 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 5666 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 5667 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 5668 static const uint8_t test_vector_5_ca_i[] = { 5669 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 5670 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 5671 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5672 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5673 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5674 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5675 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5676 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 5677 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 5678 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5679 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 5680 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5681 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5682 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 5683 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5684 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5685 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 5686 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 5687 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 5688 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 5689 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 5690 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 5691 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 5692 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 5693 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 5694 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5695 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 5696 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 5697 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 5698 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 5699 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 5700 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 5701 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 5702 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 5703 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 5704 0x13, 0x6b, 0xf3, 0x06}; 5705 static const uint8_t test_vector_5_ca_i_pk[] = { 5706 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 5707 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 5708 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 5709 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 5710 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 5711 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 5712 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 5713 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 5714 0x95}; 5715 static const uint8_t test_vector_5_ead_3[] = { 5716 }; 5717 static const uint8_t test_vector_5_info_mac_3[] = { 5718 0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x05, 0x58, 5719 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 5720 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 5721 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 5722 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 5723 0x96, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 5724 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 5725 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 5726 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 5727 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 5728 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 5729 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 5730 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 5731 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 5732 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 5733 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 5734 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 5735 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 5736 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 5737 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 5738 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5739 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5740 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 5741 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 5742 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 5743 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 5744 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 5745 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 5746 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 5747 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 5748 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 5749 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5750 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 5751 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 5752 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 5753 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 5754 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 5755 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 5756 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 5757 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 5758 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 5759 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x08}; 5760 static const uint8_t test_vector_5_mac_3_raw[] = { 5761 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 0xea}; 5762 static const uint8_t test_vector_5_mac_3[] = { 5763 0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 5764 0xea}; 5765 static const uint8_t test_vector_5_sig_or_mac_3_raw[] = { 5766 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 0xea}; 5767 static const uint8_t test_vector_5_sig_or_mac_3[] = { 5768 0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 0xa2, 5769 0xea}; 5770 static const uint8_t test_vector_5_p_3[] = { 5771 0x05, 0x48, 0x75, 0xb2, 0x16, 0xd5, 0x2f, 0x70, 5772 0xa2, 0xea}; 5773 static const uint8_t test_vector_5_a_3[] = { 5774 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5775 0x74, 0x30, 0x40, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 5776 0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 5777 0x82, 0xf0, 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 5778 0x03, 0xf3, 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 5779 0xb6, 0x2d, 0xd5, 0x66, 0x96}; 5780 static const uint8_t test_vector_5_info_k_3[] = { 5781 0x03, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 5782 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 5783 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 5784 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 5785 0xd5, 0x66, 0x96, 0x10}; 5786 static const uint8_t test_vector_5_k_3_raw[] = { 5787 0xd1, 0x27, 0x6f, 0xac, 0x6f, 0x37, 0x6f, 0xf7, 5788 0x4a, 0x0a, 0x55, 0xc2, 0x5f, 0x12, 0x6e, 0xef}; 5789 static const uint8_t test_vector_5_info_iv_3[] = { 5790 0x04, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 5791 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 5792 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 5793 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 5794 0xd5, 0x66, 0x96, 0x0d}; 5795 static const uint8_t test_vector_5_iv_3_raw[] = { 5796 0xb5, 0x2e, 0x1b, 0x34, 0x85, 0xa7, 0x3d, 0x4a, 5797 0x29, 0xe3, 0x18, 0x5c, 0xd2}; 5798 static const uint8_t test_vector_5_ciphertext_3_raw[] = { 5799 0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64, 0xb5, 5800 0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5, 0xf4, 5801 0x45, 0xfa}; 5802 static const uint8_t test_vector_5_ciphertext_3[] = { 5803 0x52, 0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64, 5804 0xb5, 0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5, 5805 0xf4, 0x45, 0xfa}; 5806 static const uint8_t test_vector_5_message_3[] = { 5807 0x52, 0xd1, 0xdf, 0x4a, 0xf9, 0x3b, 0x57, 0x64, 5808 0xb5, 0x99, 0xa9, 0x9d, 0x4d, 0x95, 0x4a, 0xd5, 5809 0xf4, 0x45, 0xfa}; 5810 static const uint8_t test_vector_5_input_th_4[] = { 5811 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 5812 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 5813 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 5814 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 5815 0x66, 0x96, 0x05, 0x48, 0x75, 0xb2, 0x16, 0xd5, 5816 0x2f, 0x70, 0xa2, 0xea, 0x59, 0x01, 0x22, 0x30, 5817 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 5818 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 5819 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 5820 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 5821 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5822 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5823 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 5824 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 5825 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 5826 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 5827 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 5828 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 5829 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 5830 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 5831 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 5832 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 5833 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 5834 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 5835 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 5836 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 5837 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 5838 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 5839 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 5840 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 5841 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 5842 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 5843 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 5844 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 5845 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 5846 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 5847 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 5848 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 5849 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 5850 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 5851 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 5852 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 5853 0xde}; 5854 static const uint8_t test_vector_5_th_4_raw[] = { 5855 0x99, 0x54, 0x4b, 0xea, 0x69, 0x40, 0xd7, 0xeb, 5856 0x71, 0x7f, 0x2a, 0xce, 0xa8, 0x0e, 0x83, 0x7e, 5857 0x18, 0x85, 0x5b, 0x3e, 0x89, 0x64, 0x1f, 0xdf, 5858 0xc7, 0xee, 0xf7, 0x8b, 0x87, 0x1b, 0x77, 0xec}; 5859 static const uint8_t test_vector_5_th_4[] = { 5860 0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69, 0x40, 5861 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8, 0x0e, 5862 0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89, 0x64, 5863 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87, 0x1b, 5864 0x77, 0xec}; 5865 static const uint8_t test_vector_5_ead_4[] = { 5866 }; 5867 static const uint8_t test_vector_5_p_4[] = { 5868 }; 5869 static const uint8_t test_vector_5_a_4[] = { 5870 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5871 0x74, 0x30, 0x40, 0x58, 0x20, 0x99, 0x54, 0x4b, 5872 0xea, 0x69, 0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 5873 0xce, 0xa8, 0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b, 5874 0x3e, 0x89, 0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 5875 0x8b, 0x87, 0x1b, 0x77, 0xec}; 5876 static const uint8_t test_vector_5_info_k_4[] = { 5877 0x08, 0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69, 5878 0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8, 5879 0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89, 5880 0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87, 5881 0x1b, 0x77, 0xec, 0x10}; 5882 static const uint8_t test_vector_5_k_4_raw[] = { 5883 0x8a, 0x81, 0xac, 0x25, 0xb8, 0xef, 0x22, 0x51, 5884 0x12, 0x21, 0x8c, 0x31, 0xc1, 0x52, 0x73, 0x4d}; 5885 static const uint8_t test_vector_5_info_iv_4[] = { 5886 0x09, 0x58, 0x20, 0x99, 0x54, 0x4b, 0xea, 0x69, 5887 0x40, 0xd7, 0xeb, 0x71, 0x7f, 0x2a, 0xce, 0xa8, 5888 0x0e, 0x83, 0x7e, 0x18, 0x85, 0x5b, 0x3e, 0x89, 5889 0x64, 0x1f, 0xdf, 0xc7, 0xee, 0xf7, 0x8b, 0x87, 5890 0x1b, 0x77, 0xec, 0x0d}; 5891 static const uint8_t test_vector_5_iv_4_raw[] = { 5892 0xbd, 0xb4, 0xe1, 0x5d, 0xe4, 0x2f, 0xab, 0x9f, 5893 0xac, 0xac, 0xb0, 0xde, 0xa9}; 5894 static const uint8_t test_vector_5_ciphertext_4_raw[] = { 5895 0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff, 0x9e}; 5896 static const uint8_t test_vector_5_ciphertext_4[] = { 5897 0x48, 0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff, 5898 0x9e}; 5899 static const uint8_t test_vector_5_message_4[] = { 5900 0x48, 0xeb, 0xcf, 0x62, 0x75, 0xd9, 0xb8, 0xff, 5901 0x9e}; 5902 static const uint8_t test_vector_5_prk_out[] = { 5903 0xcc, 0x4b, 0x17, 0xe1, 0x66, 0x84, 0xd7, 0xaa, 5904 0xcd, 0xed, 0x60, 0xda, 0x6e, 0xb1, 0x0b, 0xe0, 5905 0xb0, 0x66, 0xaa, 0xd7, 0x6d, 0x11, 0xc6, 0x30, 5906 0xa4, 0xf8, 0xbb, 0x06, 0x83, 0x84, 0x59, 0xe1}; 5907 static const uint8_t test_vector_5_prk_exporter[] = { 5908 0xc9, 0xab, 0x5f, 0xc8, 0xa7, 0xbd, 0x8b, 0x0c, 5909 0xd1, 0x1f, 0x87, 0x8b, 0x3f, 0xd8, 0x30, 0xbc, 5910 0x78, 0xab, 0xb5, 0x4d, 0x23, 0xd2, 0x0d, 0x09, 5911 0x7f, 0x41, 0x43, 0x12, 0x14, 0xde, 0xd0, 0xee}; 5912 int32_t test_vector_5_oscore_aead_alg = 10; 5913 int32_t test_vector_5_oscore_hash_alg = -16; 5914 static const uint8_t test_vector_5_client_sender_id_raw[] = { 5915 0x32}; 5916 static const uint8_t test_vector_5_server_sender_id_raw[] = { 5917 0x37}; 5918 static const uint8_t test_vector_5_info_oscore_secret[] = { 5919 0x00, 0x40, 0x10}; 5920 static const uint8_t test_vector_5_oscore_secret_raw[] = { 5921 0xad, 0xcd, 0xeb, 0xfb, 0x63, 0x05, 0xf4, 0x9c, 5922 0xea, 0x82, 0x4b, 0x3f, 0xf0, 0xe7, 0x1b, 0x7c}; 5923 static const uint8_t test_vector_5_info_oscore_salt[] = { 5924 0x01, 0x40, 0x08}; 5925 static const uint8_t test_vector_5_oscore_salt_raw[] = { 5926 0xac, 0x9f, 0x61, 0xa1, 0x95, 0xc0, 0x5d, 0x8b}; 5927 static const uint8_t test_vector_5_prk_out_updated[] = { 5928 0x0f, 0x0f, 0xe3, 0x68, 0x5c, 0x07, 0x94, 0x24, 5929 0x02, 0xdf, 0xbc, 0x4e, 0x8b, 0x4c, 0x23, 0xd3, 5930 0x42, 0xf5, 0xbe, 0xf1, 0x3a, 0x95, 0xa8, 0xb7, 5931 0x4d, 0x14, 0x79, 0x64, 0x70, 0x63, 0x84, 0x22}; 5932 static const uint8_t test_vector_5_prk_exporter_update[] = { 5933 0x0a, 0x11, 0x3d, 0xc9, 0x74, 0xa0, 0x20, 0x41, 5934 0x1f, 0x3a, 0xfa, 0x34, 0x30, 0x9b, 0x74, 0xe6, 5935 0xc3, 0xdd, 0xba, 0xf1, 0xce, 0xae, 0xf0, 0x7f, 5936 0x5a, 0x62, 0xe9, 0xec, 0xd2, 0xab, 0xe3, 0x35}; 5937 static const uint8_t test_vector_5_oscore_secret_key_update_raw[] = { 5938 0x1d, 0x65, 0x63, 0xa2, 0xe4, 0x71, 0xd8, 0x12, 5939 0x12, 0x20, 0x0f, 0x8d, 0xa9, 0x22, 0x76, 0xa2}; 5940 static const uint8_t test_vector_5_oscore_salt_key_update_raw[] = { 5941 0x93, 0xb7, 0xd4, 0xca, 0x6a, 0x8e, 0x66, 0x12}; 5942 5943 /***************** test_vector_6 ************/ 5944 5945 static const uint8_t test_vector_6_method[] = { 5946 0x03}; 5947 static const uint8_t test_vector_6_SUITES_I[] = { 5948 0x02}; 5949 static const uint8_t test_vector_6_SUITES_R[] = { 5950 0x02}; 5951 static const uint8_t test_vector_6_x_raw[] = { 5952 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 5953 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 5954 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 5955 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 5956 static const uint8_t test_vector_6_g_x_raw[] = { 5957 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 5958 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 5959 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 5960 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 5961 static const uint8_t test_vector_6_g_x_raw_y_coordinate[] = { 5962 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 5963 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 5964 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 5965 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 5966 static const uint8_t test_vector_6_g_x[] = { 5967 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 5968 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 5969 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 5970 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 5971 0xc3, 0xb6}; 5972 int32_t test_vector_6_c_i_raw = -24; 5973 static const uint8_t test_vector_6_c_i[] = { 5974 0x37}; 5975 static const uint8_t test_vector_6_ead_1[] = { 5976 }; 5977 static const uint8_t test_vector_6_message_1[] = { 5978 0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 5979 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 5980 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 5981 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 5982 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 5983 static const uint8_t test_vector_6_y_raw[] = { 5984 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 5985 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 5986 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 5987 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 5988 static const uint8_t test_vector_6_g_y_raw[] = { 5989 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 5990 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 5991 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 5992 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 5993 static const uint8_t test_vector_6_g_y_raw_y_coordinate[] = { 5994 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 5995 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 5996 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 5997 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 5998 static const uint8_t test_vector_6_g_y[] = { 5999 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 6000 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 6001 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 6002 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 6003 0xf5, 0xd5}; 6004 static const uint8_t test_vector_6_g_xy_raw[] = { 6005 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 6006 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 6007 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 6008 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 6009 static const uint8_t test_vector_6_salt_raw[] = { 6010 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 6011 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 6012 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 6013 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 6014 static const uint8_t test_vector_6_prk_2e_raw[] = { 6015 0x0b, 0x46, 0x4d, 0x36, 0x99, 0x07, 0x60, 0xcd, 6016 0xab, 0xe1, 0x8c, 0x66, 0xf3, 0xc3, 0xd8, 0xb1, 6017 0xfd, 0x5b, 0x05, 0x88, 0x17, 0xe4, 0x19, 0xf4, 6018 0x0d, 0xaa, 0x96, 0x07, 0xa9, 0x43, 0x97, 0xd4}; 6019 static const uint8_t test_vector_6_salt_3e2m[] = { 6020 0x4b, 0x4f, 0xc9, 0xde, 0xda, 0xeb, 0x34, 0x6b, 6021 0xf7, 0x5e, 0x59, 0x10, 0x82, 0x03, 0xc0, 0xd3, 6022 0x90, 0x73, 0x3c, 0x94, 0x80, 0xb6, 0x75, 0x65, 6023 0x5a, 0xf9, 0xc9, 0xdc, 0xa5, 0xb7, 0x33, 0x47}; 6024 static const uint8_t test_vector_6_r_raw[] = { 6025 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 6026 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 6027 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 6028 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 6029 static const uint8_t test_vector_6_g_r_raw[] = { 6030 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 6031 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 6032 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 6033 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0}; 6034 static const uint8_t test_vector_6_g_r_raw_y_coordinate[] = { 6035 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 6036 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 6037 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 6038 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72}; 6039 static const uint8_t test_vector_6_g_rx_raw[] = { 6040 0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e, 6041 0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0, 6042 0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08, 6043 0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23}; 6044 static const uint8_t test_vector_6_prk_3e2m_raw[] = { 6045 0x8e, 0x79, 0xbb, 0x0c, 0x12, 0xb9, 0x47, 0x68, 6046 0xa3, 0xed, 0x92, 0xb8, 0x9f, 0xc2, 0x60, 0xf6, 6047 0x17, 0x8f, 0x7a, 0xa5, 0x71, 0x7b, 0xd9, 0x70, 6048 0x61, 0x2d, 0xa7, 0x5d, 0x69, 0x02, 0x87, 0x1b}; 6049 int32_t test_vector_6_c_r_raw = -19; 6050 static const uint8_t test_vector_6_c_r[] = { 6051 0x32}; 6052 static const uint8_t test_vector_6_h_message_1_raw[] = { 6053 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45, 6054 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf, 6055 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca, 6056 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 6057 static const uint8_t test_vector_6_h_message_1[] = { 6058 0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 6059 0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 6060 0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 6061 0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 6062 0x3e, 0x83}; 6063 static const uint8_t test_vector_6_input_th_2[] = { 6064 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 6065 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 6066 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 6067 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 6068 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb, 6069 0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35, 6070 0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09, 6071 0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe, 6072 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 6073 static const uint8_t test_vector_6_th_2_raw[] = { 6074 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf, 6075 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72, 6076 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60, 6077 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4}; 6078 static const uint8_t test_vector_6_th_2[] = { 6079 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 6080 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 6081 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 6082 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 6083 0x5c, 0xb4}; 6084 static const uint8_t test_vector_6_id_cred_r[] = { 6085 0xa1, 0x04, 0x22}; 6086 static const uint8_t test_vector_6_cred_r[] = { 6087 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 6088 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 6089 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 6090 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 6091 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 6092 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 6093 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 6094 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 6095 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 6096 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 6097 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 6098 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 6099 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 6100 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 6101 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 6102 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 6103 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 6104 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 6105 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 6106 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 6107 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 6108 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 6109 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 6110 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 6111 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 6112 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 6113 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 6114 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 6115 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 6116 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 6117 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 6118 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 6119 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 6120 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 6121 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 6122 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 6123 0x3b, 0x13, 0x3d, 0x05, 0x58}; 6124 static const uint8_t test_vector_6_ca_r[] = { 6125 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 6126 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 6127 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 6128 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 6129 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 6130 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 6131 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 6132 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 6133 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 6134 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 6135 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 6136 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 6137 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 6138 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 6139 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 6140 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 6141 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 6142 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 6143 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 6144 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 6145 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 6146 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 6147 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 6148 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 6149 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 6150 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 6151 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 6152 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 6153 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 6154 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 6155 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 6156 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 6157 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 6158 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 6159 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 6160 0x13, 0x6b, 0xf3, 0x06}; 6161 static const uint8_t test_vector_6_ca_r_pk[] = { 6162 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 6163 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 6164 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 6165 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 6166 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 6167 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 6168 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 6169 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 6170 0x95}; 6171 static const uint8_t test_vector_6_ead_2[] = { 6172 }; 6173 static const uint8_t test_vector_6_info_mac_2[] = { 6174 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58, 6175 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 6176 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 6177 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 6178 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 6179 0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 6180 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 6181 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 6182 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 6183 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 6184 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 6185 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 6186 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 6187 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 6188 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 6189 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 6190 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 6191 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 6192 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 6193 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 6194 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 6195 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 6196 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 6197 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 6198 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 6199 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 6200 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 6201 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 6202 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 6203 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 6204 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 6205 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 6206 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 6207 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 6208 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 6209 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 6210 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 6211 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 6212 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 6213 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 6214 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 6215 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08}; 6216 static const uint8_t test_vector_6_mac_2_raw[] = { 6217 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c}; 6218 static const uint8_t test_vector_6_mac_2[] = { 6219 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 6220 0x6c}; 6221 static const uint8_t test_vector_6_sig_or_mac_2_raw[] = { 6222 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 0x6c}; 6223 static const uint8_t test_vector_6_sig_or_mac_2[] = { 6224 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 0xcd, 6225 0x6c}; 6226 static const uint8_t test_vector_6_plaintext_2[] = { 6227 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 0x82, 0x73, 6228 0xcd, 0x6c}; 6229 static const uint8_t test_vector_6_info_keystream_2[] = { 6230 0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 6231 0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 6232 0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 6233 0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 6234 0xf6, 0x5c, 0xb4, 0x0a}; 6235 static const uint8_t test_vector_6_keystream_2_raw[] = { 6236 0x7e, 0x0f, 0xff, 0x9a, 0xd8, 0xb8, 0x6f, 0x8d, 6237 0x78, 0x84}; 6238 static const uint8_t test_vector_6_ciphertext_2_raw[] = { 6239 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 0xfe, 6240 0xb5, 0xe8}; 6241 static const uint8_t test_vector_6_ciphertext_2[] = { 6242 0x4a, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 0xed, 6243 0xfe, 0xb5, 0xe8}; 6244 static const uint8_t test_vector_6_message_2[] = { 6245 0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 6246 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 6247 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 6248 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 6249 0xf5, 0xd5, 0x5c, 0x47, 0xfa, 0xce, 0x01, 0x02, 6250 0xed, 0xfe, 0xb5, 0xe8, 0x32}; 6251 static const uint8_t test_vector_6_i_raw[] = { 6252 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 6253 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 6254 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 6255 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 6256 static const uint8_t test_vector_6_g_i_raw[] = { 6257 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 6258 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 6259 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 6260 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6}; 6261 static const uint8_t test_vector_6_g_i_raw_y_coordinate[] = { 6262 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 6263 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 6264 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 6265 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8}; 6266 static const uint8_t test_vector_6_g_iy_raw[] = { 6267 0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49, 6268 0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23, 6269 0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20, 6270 0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3}; 6271 static const uint8_t test_vector_6_salt_4e3m[] = { 6272 0xb1, 0x2c, 0x9e, 0x6b, 0x41, 0x31, 0x94, 0x03, 6273 0x9f, 0xae, 0xde, 0xc7, 0x75, 0xf6, 0x2a, 0x2d, 6274 0xd3, 0x31, 0xb8, 0x78, 0xd2, 0xfb, 0x16, 0xe2, 6275 0xc3, 0xf7, 0x1f, 0xab, 0xda, 0xef, 0xfb, 0x95}; 6276 static const uint8_t test_vector_6_prk_4e3m_raw[] = { 6277 0x59, 0xce, 0x58, 0xe0, 0xbf, 0x2d, 0x7e, 0x4b, 6278 0x7e, 0xe8, 0x61, 0x9f, 0x09, 0xae, 0xb5, 0xb2, 6279 0xa9, 0xd4, 0x01, 0x35, 0xe9, 0x29, 0x51, 0xb7, 6280 0xb1, 0xcf, 0x33, 0x0c, 0x83, 0x99, 0x36, 0x9d}; 6281 static const uint8_t test_vector_6_input_TH_3[] = { 6282 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 6283 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 6284 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 6285 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 6286 0x5c, 0xb4, 0x22, 0x48, 0x05, 0x54, 0xd9, 0xba, 6287 0x82, 0x73, 0xcd, 0x6c, 0x59, 0x01, 0x22, 0x30, 6288 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 6289 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 6290 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 6291 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 6292 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 6293 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 6294 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 6295 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 6296 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 6297 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 6298 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 6299 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 6300 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 6301 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 6302 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 6303 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 6304 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 6305 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 6306 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 6307 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 6308 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 6309 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 6310 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 6311 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 6312 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 6313 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 6314 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 6315 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 6316 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 6317 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 6318 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 6319 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 6320 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 6321 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 6322 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 6323 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 6324 0x58}; 6325 static const uint8_t test_vector_6_th_3_raw[] = { 6326 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 6327 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0, 6328 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88, 6329 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96}; 6330 static const uint8_t test_vector_6_th_3[] = { 6331 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 6332 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 6333 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 6334 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 6335 0x66, 0x96}; 6336 static const uint8_t test_vector_6_id_cred_i[] = { 6337 0xa1, 0x04, 0x05}; 6338 static const uint8_t test_vector_6_cred_i[] = { 6339 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 6340 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 6341 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 6342 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02, 6343 0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac, 6344 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 6345 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 6346 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 6347 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22, 6348 0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 6349 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 6350 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 6351 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 6352 0xff, 0xc8}; 6353 static const uint8_t test_vector_6_ead_3[] = { 6354 }; 6355 static const uint8_t test_vector_6_info_mac_3[] = { 6356 0x06, 0x58, 0x8f, 0xa1, 0x04, 0x05, 0x58, 0x20, 6357 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 6358 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 0x40, 0xb0, 6359 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 0x29, 0x88, 6360 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 0x66, 0x96, 6361 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 6362 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 6363 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 6364 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02, 6365 0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac, 6366 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 6367 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 6368 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 6369 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22, 6370 0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 6371 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 6372 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 6373 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 6374 0xff, 0xc8, 0x08}; 6375 static const uint8_t test_vector_6_mac_3_raw[] = { 6376 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 0x41}; 6377 static const uint8_t test_vector_6_mac_3[] = { 6378 0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 6379 0x41}; 6380 static const uint8_t test_vector_6_sig_or_mac_3_raw[] = { 6381 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 0x41}; 6382 static const uint8_t test_vector_6_sig_or_mac_3[] = { 6383 0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 0x59, 6384 0x41}; 6385 static const uint8_t test_vector_6_p_3[] = { 6386 0x05, 0x48, 0x12, 0x4d, 0xdf, 0xdf, 0xce, 0x54, 6387 0x59, 0x41}; 6388 static const uint8_t test_vector_6_a_3[] = { 6389 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6390 0x74, 0x30, 0x40, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 6391 0xd6, 0x7c, 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 6392 0x82, 0xf0, 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 6393 0x03, 0xf3, 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 6394 0xb6, 0x2d, 0xd5, 0x66, 0x96}; 6395 static const uint8_t test_vector_6_info_k_3[] = { 6396 0x03, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 6397 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 6398 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 6399 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 6400 0xd5, 0x66, 0x96, 0x10}; 6401 static const uint8_t test_vector_6_k_3_raw[] = { 6402 0xd1, 0x27, 0x6f, 0xac, 0x6f, 0x37, 0x6f, 0xf7, 6403 0x4a, 0x0a, 0x55, 0xc2, 0x5f, 0x12, 0x6e, 0xef}; 6404 static const uint8_t test_vector_6_info_iv_3[] = { 6405 0x04, 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 6406 0x0a, 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 6407 0xd8, 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 6408 0x2e, 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 6409 0xd5, 0x66, 0x96, 0x0d}; 6410 static const uint8_t test_vector_6_iv_3_raw[] = { 6411 0xb5, 0x2e, 0x1b, 0x34, 0x85, 0xa7, 0x3d, 0x4a, 6412 0x29, 0xe3, 0x18, 0x5c, 0xd2}; 6413 static const uint8_t test_vector_6_ciphertext_3_raw[] = { 6414 0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85, 0x91, 6415 0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2, 0x45, 6416 0x52, 0x75}; 6417 static const uint8_t test_vector_6_ciphertext_3[] = { 6418 0x52, 0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85, 6419 0x91, 0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2, 6420 0x45, 0x52, 0x75}; 6421 static const uint8_t test_vector_6_message_3[] = { 6422 0x52, 0xd1, 0xdf, 0x2d, 0x06, 0xf2, 0x5d, 0x85, 6423 0x91, 0x62, 0x02, 0x0f, 0xf2, 0x4a, 0x61, 0xf2, 6424 0x45, 0x52, 0x75}; 6425 static const uint8_t test_vector_6_input_th_4[] = { 6426 0x58, 0x20, 0x9d, 0xfe, 0x0e, 0xd6, 0x7c, 0x0a, 6427 0xa2, 0xa2, 0xc0, 0xa8, 0xc0, 0x82, 0xf0, 0xd8, 6428 0x40, 0xb0, 0xa9, 0xb6, 0x55, 0x03, 0xf3, 0x2e, 6429 0x29, 0x88, 0x86, 0xc9, 0x98, 0xb6, 0x2d, 0xd5, 6430 0x66, 0x96, 0x05, 0x48, 0x12, 0x4d, 0xdf, 0xdf, 6431 0xce, 0x54, 0x59, 0x41, 0xa2, 0x02, 0x77, 0x34, 6432 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d, 6433 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37, 6434 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1, 6435 0x01, 0xa5, 0x01, 0x02, 0x02, 0x05, 0x20, 0x01, 6436 0x21, 0x58, 0x20, 0xac, 0x75, 0xe9, 0xec, 0xe3, 6437 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 6438 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 6439 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 6440 0x7f, 0x7e, 0xb6, 0x22, 0x58, 0x20, 0x6e, 0x5d, 6441 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 6442 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 6443 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 6444 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8}; 6445 static const uint8_t test_vector_6_th_4_raw[] = { 6446 0xa8, 0xa6, 0x4c, 0x28, 0x60, 0xba, 0xb8, 0xe7, 6447 0xb7, 0xc5, 0x24, 0xc0, 0xea, 0xd0, 0xb2, 0x7a, 6448 0x6c, 0x43, 0x53, 0xb6, 0x2d, 0x35, 0x3e, 0x4a, 6449 0x3a, 0xe9, 0xde, 0xb5, 0x84, 0x4a, 0x28, 0xd0}; 6450 static const uint8_t test_vector_6_th_4[] = { 6451 0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60, 0xba, 6452 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea, 0xd0, 6453 0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d, 0x35, 6454 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84, 0x4a, 6455 0x28, 0xd0}; 6456 static const uint8_t test_vector_6_ead_4[] = { 6457 }; 6458 static const uint8_t test_vector_6_p_4[] = { 6459 }; 6460 static const uint8_t test_vector_6_a_4[] = { 6461 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6462 0x74, 0x30, 0x40, 0x58, 0x20, 0xa8, 0xa6, 0x4c, 6463 0x28, 0x60, 0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 6464 0xc0, 0xea, 0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53, 6465 0xb6, 0x2d, 0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 6466 0xb5, 0x84, 0x4a, 0x28, 0xd0}; 6467 static const uint8_t test_vector_6_info_k_4[] = { 6468 0x08, 0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60, 6469 0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea, 6470 0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d, 6471 0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84, 6472 0x4a, 0x28, 0xd0, 0x10}; 6473 static const uint8_t test_vector_6_k_4_raw[] = { 6474 0x13, 0x2b, 0x45, 0xae, 0x0e, 0xa5, 0x9f, 0xef, 6475 0x2f, 0xca, 0x90, 0x4c, 0x16, 0x81, 0x88, 0xfa}; 6476 static const uint8_t test_vector_6_info_iv_4[] = { 6477 0x09, 0x58, 0x20, 0xa8, 0xa6, 0x4c, 0x28, 0x60, 6478 0xba, 0xb8, 0xe7, 0xb7, 0xc5, 0x24, 0xc0, 0xea, 6479 0xd0, 0xb2, 0x7a, 0x6c, 0x43, 0x53, 0xb6, 0x2d, 6480 0x35, 0x3e, 0x4a, 0x3a, 0xe9, 0xde, 0xb5, 0x84, 6481 0x4a, 0x28, 0xd0, 0x0d}; 6482 static const uint8_t test_vector_6_iv_4_raw[] = { 6483 0xf1, 0x11, 0x17, 0xb9, 0x6a, 0xfa, 0x16, 0x70, 6484 0xd1, 0xab, 0x91, 0xa3, 0x01}; 6485 static const uint8_t test_vector_6_ciphertext_4_raw[] = { 6486 0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b, 0x38}; 6487 static const uint8_t test_vector_6_ciphertext_4[] = { 6488 0x48, 0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b, 6489 0x38}; 6490 static const uint8_t test_vector_6_message_4[] = { 6491 0x48, 0x4e, 0x19, 0xc3, 0x5e, 0x10, 0x32, 0x1b, 6492 0x38}; 6493 static const uint8_t test_vector_6_prk_out[] = { 6494 0x31, 0xb9, 0xc2, 0x05, 0x96, 0x88, 0x46, 0x0d, 6495 0xb3, 0xcb, 0xb4, 0x4b, 0xae, 0x07, 0xe2, 0x10, 6496 0x03, 0xb1, 0x10, 0xa9, 0xb3, 0x86, 0x08, 0xf7, 6497 0x97, 0xb9, 0xe5, 0x72, 0x7d, 0xff, 0xd2, 0xf6}; 6498 static const uint8_t test_vector_6_prk_exporter[] = { 6499 0x42, 0x1b, 0x7b, 0x5d, 0xb9, 0x67, 0x45, 0x66, 6500 0x65, 0x40, 0x29, 0xe8, 0x24, 0x82, 0xf0, 0x89, 6501 0x04, 0xd4, 0x6a, 0x88, 0xf8, 0xcc, 0xd7, 0xdb, 6502 0x7a, 0x05, 0x7c, 0x20, 0x61, 0x9a, 0x6d, 0xfd}; 6503 int32_t test_vector_6_oscore_aead_alg = 10; 6504 int32_t test_vector_6_oscore_hash_alg = -16; 6505 static const uint8_t test_vector_6_client_sender_id_raw[] = { 6506 0x32}; 6507 static const uint8_t test_vector_6_server_sender_id_raw[] = { 6508 0x37}; 6509 static const uint8_t test_vector_6_info_oscore_secret[] = { 6510 0x00, 0x40, 0x10}; 6511 static const uint8_t test_vector_6_oscore_secret_raw[] = { 6512 0xf3, 0x5f, 0xfb, 0xc4, 0x34, 0x2c, 0x03, 0xf3, 6513 0x7b, 0x39, 0x99, 0xcb, 0x1d, 0x49, 0x46, 0xf4}; 6514 static const uint8_t test_vector_6_info_oscore_salt[] = { 6515 0x01, 0x40, 0x08}; 6516 static const uint8_t test_vector_6_oscore_salt_raw[] = { 6517 0xff, 0xf4, 0xb5, 0x4e, 0xe5, 0xed, 0xb8, 0xb3}; 6518 static const uint8_t test_vector_6_prk_out_updated[] = { 6519 0xa1, 0x42, 0x3d, 0x34, 0x99, 0x92, 0x96, 0xf8, 6520 0x48, 0xd4, 0x1c, 0x47, 0xa1, 0x8e, 0xf8, 0x3a, 6521 0xb4, 0xb0, 0x48, 0x37, 0x17, 0xea, 0x0a, 0xd3, 6522 0x7d, 0xc6, 0x1c, 0x22, 0xf0, 0x90, 0x84, 0xbd}; 6523 static const uint8_t test_vector_6_prk_exporter_update[] = { 6524 0x1e, 0xf7, 0x17, 0xc5, 0xbe, 0x80, 0x20, 0x62, 6525 0xe0, 0xd8, 0x69, 0xde, 0x7e, 0x00, 0x60, 0xaf, 6526 0xe6, 0x3a, 0x73, 0xff, 0xa5, 0xfd, 0x11, 0x74, 6527 0xbe, 0x9c, 0x61, 0xd6, 0x0d, 0xa4, 0x89, 0xd3}; 6528 static const uint8_t test_vector_6_oscore_secret_key_update_raw[] = { 6529 0x2f, 0xca, 0xd7, 0xa8, 0x0b, 0x45, 0x2e, 0x75, 6530 0x49, 0xde, 0x7c, 0x04, 0x5e, 0x5e, 0x25, 0xbc}; 6531 static const uint8_t test_vector_6_oscore_salt_key_update_raw[] = { 6532 0xde, 0x3d, 0x21, 0xa9, 0x28, 0x31, 0x8c, 0x50}; 6533 6534 6535 struct test_vector test_vectors[] = { 6536 6537 /*--------------- test_vector_1 ------------*/ 6538 6539 { 6540 .method = test_vector_1_method, 6541 .method_len = sizeof(test_vector_1_method), 6542 6543 .SUITES_I = test_vector_1_SUITES_I, 6544 .SUITES_I_len = sizeof(test_vector_1_SUITES_I), 6545 6546 .SUITES_R = test_vector_1_SUITES_R, 6547 .SUITES_R_len = sizeof(test_vector_1_SUITES_R), 6548 6549 .x_raw = test_vector_1_x_raw, 6550 .x_raw_len = sizeof(test_vector_1_x_raw), 6551 6552 .g_x_raw = test_vector_1_g_x_raw, 6553 .g_x_raw_len = sizeof(test_vector_1_g_x_raw), 6554 6555 .g_x = test_vector_1_g_x, 6556 .g_x_len = sizeof(test_vector_1_g_x), 6557 6558 .c_i = test_vector_1_c_i, 6559 .c_i_len = sizeof(test_vector_1_c_i), 6560 6561 .ead_1 = test_vector_1_ead_1, 6562 .ead_1_len = sizeof(test_vector_1_ead_1), 6563 6564 .message_1 = test_vector_1_message_1, 6565 .message_1_len = sizeof(test_vector_1_message_1), 6566 6567 .y_raw = test_vector_1_y_raw, 6568 .y_raw_len = sizeof(test_vector_1_y_raw), 6569 6570 .g_y_raw = test_vector_1_g_y_raw, 6571 .g_y_raw_len = sizeof(test_vector_1_g_y_raw), 6572 6573 .g_y = test_vector_1_g_y, 6574 .g_y_len = sizeof(test_vector_1_g_y), 6575 6576 .g_xy_raw = test_vector_1_g_xy_raw, 6577 .g_xy_raw_len = sizeof(test_vector_1_g_xy_raw), 6578 6579 .salt_raw = test_vector_1_salt_raw, 6580 .salt_raw_len = sizeof(test_vector_1_salt_raw), 6581 6582 .prk_2e_raw = test_vector_1_prk_2e_raw, 6583 .prk_2e_raw_len = sizeof(test_vector_1_prk_2e_raw), 6584 6585 .sk_r_raw = test_vector_1_sk_r_raw, 6586 .sk_r_raw_len = sizeof(test_vector_1_sk_r_raw), 6587 6588 .pk_r_raw = test_vector_1_pk_r_raw, 6589 .pk_r_raw_len = sizeof(test_vector_1_pk_r_raw), 6590 6591 .prk_3e2m_raw = test_vector_1_prk_3e2m_raw, 6592 .prk_3e2m_raw_len = sizeof(test_vector_1_prk_3e2m_raw), 6593 6594 .c_r = test_vector_1_c_r, 6595 .c_r_len = sizeof(test_vector_1_c_r), 6596 6597 .h_message_1_raw = test_vector_1_h_message_1_raw, 6598 .h_message_1_raw_len = sizeof(test_vector_1_h_message_1_raw), 6599 6600 .h_message_1 = test_vector_1_h_message_1, 6601 .h_message_1_len = sizeof(test_vector_1_h_message_1), 6602 6603 .input_th_2 = test_vector_1_input_th_2, 6604 .input_th_2_len = sizeof(test_vector_1_input_th_2), 6605 6606 .th_2_raw = test_vector_1_th_2_raw, 6607 .th_2_raw_len = sizeof(test_vector_1_th_2_raw), 6608 6609 .th_2 = test_vector_1_th_2, 6610 .th_2_len = sizeof(test_vector_1_th_2), 6611 6612 .id_cred_r = test_vector_1_id_cred_r, 6613 .id_cred_r_len = sizeof(test_vector_1_id_cred_r), 6614 6615 .cred_r = test_vector_1_cred_r, 6616 .cred_r_len = sizeof(test_vector_1_cred_r), 6617 6618 .ead_2 = test_vector_1_ead_2, 6619 .ead_2_len = sizeof(test_vector_1_ead_2), 6620 6621 .info_mac_2 = test_vector_1_info_mac_2, 6622 .info_mac_2_len = sizeof(test_vector_1_info_mac_2), 6623 6624 .mac_2_raw = test_vector_1_mac_2_raw, 6625 .mac_2_raw_len = sizeof(test_vector_1_mac_2_raw), 6626 6627 .mac_2 = test_vector_1_mac_2, 6628 .mac_2_len = sizeof(test_vector_1_mac_2), 6629 6630 .m_2 = test_vector_1_m_2, 6631 .m_2_len = sizeof(test_vector_1_m_2), 6632 6633 .sig_or_mac_2_raw = test_vector_1_sig_or_mac_2_raw, 6634 .sig_or_mac_2_raw_len = sizeof(test_vector_1_sig_or_mac_2_raw), 6635 6636 .sig_or_mac_2 = test_vector_1_sig_or_mac_2, 6637 .sig_or_mac_2_len = sizeof(test_vector_1_sig_or_mac_2), 6638 6639 .plaintext_2 = test_vector_1_plaintext_2, 6640 .plaintext_2_len = sizeof(test_vector_1_plaintext_2), 6641 6642 .info_keystream_2 = test_vector_1_info_keystream_2, 6643 .info_keystream_2_len = sizeof(test_vector_1_info_keystream_2), 6644 6645 .keystream_2_raw = test_vector_1_keystream_2_raw, 6646 .keystream_2_raw_len = sizeof(test_vector_1_keystream_2_raw), 6647 6648 .ciphertext_2_raw = test_vector_1_ciphertext_2_raw, 6649 .ciphertext_2_raw_len = sizeof(test_vector_1_ciphertext_2_raw), 6650 6651 .ciphertext_2 = test_vector_1_ciphertext_2, 6652 .ciphertext_2_len = sizeof(test_vector_1_ciphertext_2), 6653 6654 .message_2 = test_vector_1_message_2, 6655 .message_2_len = sizeof(test_vector_1_message_2), 6656 6657 .sk_i_raw = test_vector_1_sk_i_raw, 6658 .sk_i_raw_len = sizeof(test_vector_1_sk_i_raw), 6659 6660 .pk_i_raw = test_vector_1_pk_i_raw, 6661 .pk_i_raw_len = sizeof(test_vector_1_pk_i_raw), 6662 6663 .prk_4x3m_raw = NULL, 6664 .prk_4x3m_raw_len = 0, 6665 6666 .input_TH_3 = test_vector_1_input_TH_3, 6667 .input_TH_3_len = sizeof(test_vector_1_input_TH_3), 6668 6669 .th_3_raw = test_vector_1_th_3_raw, 6670 .th_3_raw_len = sizeof(test_vector_1_th_3_raw), 6671 6672 .th_3 = test_vector_1_th_3, 6673 .th_3_len = sizeof(test_vector_1_th_3), 6674 6675 .id_cred_i = test_vector_1_id_cred_i, 6676 .id_cred_i_len = sizeof(test_vector_1_id_cred_i), 6677 6678 .cred_i = test_vector_1_cred_i, 6679 .cred_i_len = sizeof(test_vector_1_cred_i), 6680 6681 .ead_3 = test_vector_1_ead_3, 6682 .ead_3_len = sizeof(test_vector_1_ead_3), 6683 6684 .info_mac_3 = test_vector_1_info_mac_3, 6685 .info_mac_3_len = sizeof(test_vector_1_info_mac_3), 6686 6687 .mac_3_raw = test_vector_1_mac_3_raw, 6688 .mac_3_raw_len = sizeof(test_vector_1_mac_3_raw), 6689 6690 .mac_3 = test_vector_1_mac_3, 6691 .mac_3_len = sizeof(test_vector_1_mac_3), 6692 6693 .m_3 = test_vector_1_m_3, 6694 .m_3_len = sizeof(test_vector_1_m_3), 6695 6696 .sig_or_mac_3_raw = test_vector_1_sig_or_mac_3_raw, 6697 .sig_or_mac_3_raw_len = sizeof(test_vector_1_sig_or_mac_3_raw), 6698 6699 .sig_or_mac_3 = test_vector_1_sig_or_mac_3, 6700 .sig_or_mac_3_len = sizeof(test_vector_1_sig_or_mac_3), 6701 6702 .p_3 = test_vector_1_p_3, 6703 .p_3_len = sizeof(test_vector_1_p_3), 6704 6705 .a_3 = test_vector_1_a_3, 6706 .a_3_len = sizeof(test_vector_1_a_3), 6707 6708 .info_k_3 = test_vector_1_info_k_3, 6709 .info_k_3_len = sizeof(test_vector_1_info_k_3), 6710 6711 .k_3_raw = test_vector_1_k_3_raw, 6712 .k_3_raw_len = sizeof(test_vector_1_k_3_raw), 6713 6714 .info_iv_3 = test_vector_1_info_iv_3, 6715 .info_iv_3_len = sizeof(test_vector_1_info_iv_3), 6716 6717 .iv_3_raw = test_vector_1_iv_3_raw, 6718 .iv_3_raw_len = sizeof(test_vector_1_iv_3_raw), 6719 6720 .ciphertext_3_raw = test_vector_1_ciphertext_3_raw, 6721 .ciphertext_3_raw_len = sizeof(test_vector_1_ciphertext_3_raw), 6722 6723 .ciphertext_3 = test_vector_1_ciphertext_3, 6724 .ciphertext_3_len = sizeof(test_vector_1_ciphertext_3), 6725 6726 .message_3 = test_vector_1_message_3, 6727 .message_3_len = sizeof(test_vector_1_message_3), 6728 6729 .input_th_4 = test_vector_1_input_th_4, 6730 .input_th_4_len = sizeof(test_vector_1_input_th_4), 6731 6732 .th_4_raw = test_vector_1_th_4_raw, 6733 .th_4_raw_len = sizeof(test_vector_1_th_4_raw), 6734 6735 .th_4 = test_vector_1_th_4, 6736 .th_4_len = sizeof(test_vector_1_th_4), 6737 6738 .ead_4 = test_vector_1_ead_4, 6739 .ead_4_len = sizeof(test_vector_1_ead_4), 6740 6741 .p_4 = test_vector_1_p_4, 6742 .p_4_len = sizeof(test_vector_1_p_4), 6743 6744 .a_4 = test_vector_1_a_4, 6745 .a_4_len = sizeof(test_vector_1_a_4), 6746 6747 .info_k_4 = test_vector_1_info_k_4, 6748 .info_k_4_len = sizeof(test_vector_1_info_k_4), 6749 6750 .k_4_raw = test_vector_1_k_4_raw, 6751 .k_4_raw_len = sizeof(test_vector_1_k_4_raw), 6752 6753 .info_iv_4 = test_vector_1_info_iv_4, 6754 .info_iv_4_len = sizeof(test_vector_1_info_iv_4), 6755 6756 .iv_4_raw = test_vector_1_iv_4_raw, 6757 .iv_4_raw_len = sizeof(test_vector_1_iv_4_raw), 6758 6759 .ciphertext_4_raw = test_vector_1_ciphertext_4_raw, 6760 .ciphertext_4_raw_len = sizeof(test_vector_1_ciphertext_4_raw), 6761 6762 .ciphertext_4 = test_vector_1_ciphertext_4, 6763 .ciphertext_4_len = sizeof(test_vector_1_ciphertext_4), 6764 6765 .message_4 = test_vector_1_message_4, 6766 .message_4_len = sizeof(test_vector_1_message_4), 6767 6768 .oscore_aead_alg = &test_vector_1_oscore_aead_alg, 6769 6770 .oscore_hash_alg = &test_vector_1_oscore_hash_alg, 6771 6772 .client_sender_id_raw = test_vector_1_client_sender_id_raw, 6773 .client_sender_id_raw_len = sizeof(test_vector_1_client_sender_id_raw), 6774 6775 .server_sender_id_raw = test_vector_1_server_sender_id_raw, 6776 .server_sender_id_raw_len = sizeof(test_vector_1_server_sender_id_raw), 6777 6778 .info_oscore_secret = test_vector_1_info_oscore_secret, 6779 .info_oscore_secret_len = sizeof(test_vector_1_info_oscore_secret), 6780 6781 .oscore_secret_raw = test_vector_1_oscore_secret_raw, 6782 .oscore_secret_raw_len = sizeof(test_vector_1_oscore_secret_raw), 6783 6784 .info_oscore_salt = test_vector_1_info_oscore_salt, 6785 .info_oscore_salt_len = sizeof(test_vector_1_info_oscore_salt), 6786 6787 .oscore_salt_raw = test_vector_1_oscore_salt_raw, 6788 .oscore_salt_raw_len = sizeof(test_vector_1_oscore_salt_raw), 6789 6790 .key_update_nonce_raw = NULL, 6791 .key_update_nonce_raw_len = 0, 6792 6793 .prk_4x3m_key_update_raw = NULL, 6794 .prk_4x3m_key_update_raw_len = 0, 6795 6796 .oscore_secret_key_update_raw = test_vector_1_oscore_secret_key_update_raw, 6797 .oscore_secret_key_update_raw_len = sizeof(test_vector_1_oscore_secret_key_update_raw), 6798 6799 .oscore_salt_key_update_raw = test_vector_1_oscore_salt_key_update_raw, 6800 .oscore_salt_key_update_raw_len = sizeof(test_vector_1_oscore_salt_key_update_raw), 6801 6802 .ca_r = test_vector_1_ca_r, 6803 .ca_r_len = sizeof(test_vector_1_ca_r), 6804 6805 .ca_i = test_vector_1_ca_i, 6806 .ca_i_len = sizeof(test_vector_1_ca_i), 6807 6808 .ca_r_pk = test_vector_1_ca_r_pk, 6809 .ca_r_pk_len = sizeof(test_vector_1_ca_r_pk), 6810 6811 .ca_i_pk = test_vector_1_ca_i_pk, 6812 .ca_i_pk_len = sizeof(test_vector_1_ca_i_pk), 6813 6814 .i_raw = NULL, 6815 .i_raw_len = 0, 6816 6817 .g_i_raw = NULL, 6818 .g_i_raw_len = 0, 6819 6820 .r_raw = NULL, 6821 .r_raw_len = 0, 6822 6823 .g_r_raw = NULL, 6824 .g_r_raw_len = 0, 6825 6826 .c_i_raw = NULL, 6827 .c_i_raw_len = 0, 6828 .c_i_raw_int = &test_vector_1_c_i_raw, 6829 6830 .c_r_raw = NULL, 6831 .c_r_raw_len = 0, 6832 .c_r_raw_int = &test_vector_1_c_r_raw, 6833 }, 6834 /*--------------- test_vector_2 ------------*/ 6835 6836 { 6837 .method = test_vector_2_method, 6838 .method_len = sizeof(test_vector_2_method), 6839 6840 .SUITES_I = test_vector_2_SUITES_I, 6841 .SUITES_I_len = sizeof(test_vector_2_SUITES_I), 6842 6843 .SUITES_R = test_vector_2_SUITES_R, 6844 .SUITES_R_len = sizeof(test_vector_2_SUITES_R), 6845 6846 .x_raw = test_vector_2_x_raw, 6847 .x_raw_len = sizeof(test_vector_2_x_raw), 6848 6849 .g_x_raw = test_vector_2_g_x_raw, 6850 .g_x_raw_len = sizeof(test_vector_2_g_x_raw), 6851 6852 .g_x = test_vector_2_g_x, 6853 .g_x_len = sizeof(test_vector_2_g_x), 6854 6855 .c_i = test_vector_2_c_i, 6856 .c_i_len = sizeof(test_vector_2_c_i), 6857 6858 .ead_1 = test_vector_2_ead_1, 6859 .ead_1_len = sizeof(test_vector_2_ead_1), 6860 6861 .message_1 = test_vector_2_message_1, 6862 .message_1_len = sizeof(test_vector_2_message_1), 6863 6864 .y_raw = test_vector_2_y_raw, 6865 .y_raw_len = sizeof(test_vector_2_y_raw), 6866 6867 .g_y_raw = test_vector_2_g_y_raw, 6868 .g_y_raw_len = sizeof(test_vector_2_g_y_raw), 6869 6870 .g_y = test_vector_2_g_y, 6871 .g_y_len = sizeof(test_vector_2_g_y), 6872 6873 .g_xy_raw = test_vector_2_g_xy_raw, 6874 .g_xy_raw_len = sizeof(test_vector_2_g_xy_raw), 6875 6876 .salt_raw = test_vector_2_salt_raw, 6877 .salt_raw_len = sizeof(test_vector_2_salt_raw), 6878 6879 .prk_2e_raw = test_vector_2_prk_2e_raw, 6880 .prk_2e_raw_len = sizeof(test_vector_2_prk_2e_raw), 6881 6882 .sk_r_raw = test_vector_2_sk_r_raw, 6883 .sk_r_raw_len = sizeof(test_vector_2_sk_r_raw), 6884 6885 .pk_r_raw = test_vector_2_pk_r_raw, 6886 .pk_r_raw_len = sizeof(test_vector_2_pk_r_raw), 6887 6888 .prk_3e2m_raw = test_vector_2_prk_3e2m_raw, 6889 .prk_3e2m_raw_len = sizeof(test_vector_2_prk_3e2m_raw), 6890 6891 .c_r = test_vector_2_c_r, 6892 .c_r_len = sizeof(test_vector_2_c_r), 6893 6894 .h_message_1_raw = test_vector_2_h_message_1_raw, 6895 .h_message_1_raw_len = sizeof(test_vector_2_h_message_1_raw), 6896 6897 .h_message_1 = test_vector_2_h_message_1, 6898 .h_message_1_len = sizeof(test_vector_2_h_message_1), 6899 6900 .input_th_2 = test_vector_2_input_th_2, 6901 .input_th_2_len = sizeof(test_vector_2_input_th_2), 6902 6903 .th_2_raw = test_vector_2_th_2_raw, 6904 .th_2_raw_len = sizeof(test_vector_2_th_2_raw), 6905 6906 .th_2 = test_vector_2_th_2, 6907 .th_2_len = sizeof(test_vector_2_th_2), 6908 6909 .id_cred_r = test_vector_2_id_cred_r, 6910 .id_cred_r_len = sizeof(test_vector_2_id_cred_r), 6911 6912 .cred_r = test_vector_2_cred_r, 6913 .cred_r_len = sizeof(test_vector_2_cred_r), 6914 6915 .ead_2 = test_vector_2_ead_2, 6916 .ead_2_len = sizeof(test_vector_2_ead_2), 6917 6918 .info_mac_2 = test_vector_2_info_mac_2, 6919 .info_mac_2_len = sizeof(test_vector_2_info_mac_2), 6920 6921 .mac_2_raw = test_vector_2_mac_2_raw, 6922 .mac_2_raw_len = sizeof(test_vector_2_mac_2_raw), 6923 6924 .mac_2 = test_vector_2_mac_2, 6925 .mac_2_len = sizeof(test_vector_2_mac_2), 6926 6927 .m_2 = test_vector_2_m_2, 6928 .m_2_len = sizeof(test_vector_2_m_2), 6929 6930 .sig_or_mac_2_raw = test_vector_2_sig_or_mac_2_raw, 6931 .sig_or_mac_2_raw_len = sizeof(test_vector_2_sig_or_mac_2_raw), 6932 6933 .sig_or_mac_2 = test_vector_2_sig_or_mac_2, 6934 .sig_or_mac_2_len = sizeof(test_vector_2_sig_or_mac_2), 6935 6936 .plaintext_2 = test_vector_2_plaintext_2, 6937 .plaintext_2_len = sizeof(test_vector_2_plaintext_2), 6938 6939 .info_keystream_2 = test_vector_2_info_keystream_2, 6940 .info_keystream_2_len = sizeof(test_vector_2_info_keystream_2), 6941 6942 .keystream_2_raw = test_vector_2_keystream_2_raw, 6943 .keystream_2_raw_len = sizeof(test_vector_2_keystream_2_raw), 6944 6945 .ciphertext_2_raw = test_vector_2_ciphertext_2_raw, 6946 .ciphertext_2_raw_len = sizeof(test_vector_2_ciphertext_2_raw), 6947 6948 .ciphertext_2 = test_vector_2_ciphertext_2, 6949 .ciphertext_2_len = sizeof(test_vector_2_ciphertext_2), 6950 6951 .message_2 = test_vector_2_message_2, 6952 .message_2_len = sizeof(test_vector_2_message_2), 6953 6954 .sk_i_raw = test_vector_2_sk_i_raw, 6955 .sk_i_raw_len = sizeof(test_vector_2_sk_i_raw), 6956 6957 .pk_i_raw = test_vector_2_pk_i_raw, 6958 .pk_i_raw_len = sizeof(test_vector_2_pk_i_raw), 6959 6960 .prk_4x3m_raw = NULL, 6961 .prk_4x3m_raw_len = 0, 6962 6963 .input_TH_3 = test_vector_2_input_TH_3, 6964 .input_TH_3_len = sizeof(test_vector_2_input_TH_3), 6965 6966 .th_3_raw = test_vector_2_th_3_raw, 6967 .th_3_raw_len = sizeof(test_vector_2_th_3_raw), 6968 6969 .th_3 = test_vector_2_th_3, 6970 .th_3_len = sizeof(test_vector_2_th_3), 6971 6972 .id_cred_i = test_vector_2_id_cred_i, 6973 .id_cred_i_len = sizeof(test_vector_2_id_cred_i), 6974 6975 .cred_i = test_vector_2_cred_i, 6976 .cred_i_len = sizeof(test_vector_2_cred_i), 6977 6978 .ead_3 = test_vector_2_ead_3, 6979 .ead_3_len = sizeof(test_vector_2_ead_3), 6980 6981 .info_mac_3 = test_vector_2_info_mac_3, 6982 .info_mac_3_len = sizeof(test_vector_2_info_mac_3), 6983 6984 .mac_3_raw = test_vector_2_mac_3_raw, 6985 .mac_3_raw_len = sizeof(test_vector_2_mac_3_raw), 6986 6987 .mac_3 = test_vector_2_mac_3, 6988 .mac_3_len = sizeof(test_vector_2_mac_3), 6989 6990 .m_3 = test_vector_2_m_3, 6991 .m_3_len = sizeof(test_vector_2_m_3), 6992 6993 .sig_or_mac_3_raw = test_vector_2_sig_or_mac_3_raw, 6994 .sig_or_mac_3_raw_len = sizeof(test_vector_2_sig_or_mac_3_raw), 6995 6996 .sig_or_mac_3 = test_vector_2_sig_or_mac_3, 6997 .sig_or_mac_3_len = sizeof(test_vector_2_sig_or_mac_3), 6998 6999 .p_3 = test_vector_2_p_3, 7000 .p_3_len = sizeof(test_vector_2_p_3), 7001 7002 .a_3 = test_vector_2_a_3, 7003 .a_3_len = sizeof(test_vector_2_a_3), 7004 7005 .info_k_3 = test_vector_2_info_k_3, 7006 .info_k_3_len = sizeof(test_vector_2_info_k_3), 7007 7008 .k_3_raw = test_vector_2_k_3_raw, 7009 .k_3_raw_len = sizeof(test_vector_2_k_3_raw), 7010 7011 .info_iv_3 = test_vector_2_info_iv_3, 7012 .info_iv_3_len = sizeof(test_vector_2_info_iv_3), 7013 7014 .iv_3_raw = test_vector_2_iv_3_raw, 7015 .iv_3_raw_len = sizeof(test_vector_2_iv_3_raw), 7016 7017 .ciphertext_3_raw = test_vector_2_ciphertext_3_raw, 7018 .ciphertext_3_raw_len = sizeof(test_vector_2_ciphertext_3_raw), 7019 7020 .ciphertext_3 = test_vector_2_ciphertext_3, 7021 .ciphertext_3_len = sizeof(test_vector_2_ciphertext_3), 7022 7023 .message_3 = test_vector_2_message_3, 7024 .message_3_len = sizeof(test_vector_2_message_3), 7025 7026 .input_th_4 = test_vector_2_input_th_4, 7027 .input_th_4_len = sizeof(test_vector_2_input_th_4), 7028 7029 .th_4_raw = test_vector_2_th_4_raw, 7030 .th_4_raw_len = sizeof(test_vector_2_th_4_raw), 7031 7032 .th_4 = test_vector_2_th_4, 7033 .th_4_len = sizeof(test_vector_2_th_4), 7034 7035 .ead_4 = test_vector_2_ead_4, 7036 .ead_4_len = sizeof(test_vector_2_ead_4), 7037 7038 .p_4 = test_vector_2_p_4, 7039 .p_4_len = sizeof(test_vector_2_p_4), 7040 7041 .a_4 = test_vector_2_a_4, 7042 .a_4_len = sizeof(test_vector_2_a_4), 7043 7044 .info_k_4 = test_vector_2_info_k_4, 7045 .info_k_4_len = sizeof(test_vector_2_info_k_4), 7046 7047 .k_4_raw = test_vector_2_k_4_raw, 7048 .k_4_raw_len = sizeof(test_vector_2_k_4_raw), 7049 7050 .info_iv_4 = test_vector_2_info_iv_4, 7051 .info_iv_4_len = sizeof(test_vector_2_info_iv_4), 7052 7053 .iv_4_raw = test_vector_2_iv_4_raw, 7054 .iv_4_raw_len = sizeof(test_vector_2_iv_4_raw), 7055 7056 .ciphertext_4_raw = test_vector_2_ciphertext_4_raw, 7057 .ciphertext_4_raw_len = sizeof(test_vector_2_ciphertext_4_raw), 7058 7059 .ciphertext_4 = test_vector_2_ciphertext_4, 7060 .ciphertext_4_len = sizeof(test_vector_2_ciphertext_4), 7061 7062 .message_4 = test_vector_2_message_4, 7063 .message_4_len = sizeof(test_vector_2_message_4), 7064 7065 .oscore_aead_alg = &test_vector_2_oscore_aead_alg, 7066 7067 .oscore_hash_alg = &test_vector_2_oscore_hash_alg, 7068 7069 .client_sender_id_raw = test_vector_2_client_sender_id_raw, 7070 .client_sender_id_raw_len = sizeof(test_vector_2_client_sender_id_raw), 7071 7072 .server_sender_id_raw = test_vector_2_server_sender_id_raw, 7073 .server_sender_id_raw_len = sizeof(test_vector_2_server_sender_id_raw), 7074 7075 .info_oscore_secret = test_vector_2_info_oscore_secret, 7076 .info_oscore_secret_len = sizeof(test_vector_2_info_oscore_secret), 7077 7078 .oscore_secret_raw = test_vector_2_oscore_secret_raw, 7079 .oscore_secret_raw_len = sizeof(test_vector_2_oscore_secret_raw), 7080 7081 .info_oscore_salt = test_vector_2_info_oscore_salt, 7082 .info_oscore_salt_len = sizeof(test_vector_2_info_oscore_salt), 7083 7084 .oscore_salt_raw = test_vector_2_oscore_salt_raw, 7085 .oscore_salt_raw_len = sizeof(test_vector_2_oscore_salt_raw), 7086 7087 .key_update_nonce_raw = NULL, 7088 .key_update_nonce_raw_len = 0, 7089 7090 .prk_4x3m_key_update_raw = NULL, 7091 .prk_4x3m_key_update_raw_len = 0, 7092 7093 .oscore_secret_key_update_raw = test_vector_2_oscore_secret_key_update_raw, 7094 .oscore_secret_key_update_raw_len = sizeof(test_vector_2_oscore_secret_key_update_raw), 7095 7096 .oscore_salt_key_update_raw = test_vector_2_oscore_salt_key_update_raw, 7097 .oscore_salt_key_update_raw_len = sizeof(test_vector_2_oscore_salt_key_update_raw), 7098 7099 .ca_r = test_vector_2_ca_r, 7100 .ca_r_len = sizeof(test_vector_2_ca_r), 7101 7102 .ca_i = test_vector_2_ca_i, 7103 .ca_i_len = sizeof(test_vector_2_ca_i), 7104 7105 .ca_r_pk = test_vector_2_ca_r_pk, 7106 .ca_r_pk_len = sizeof(test_vector_2_ca_r_pk), 7107 7108 .ca_i_pk = test_vector_2_ca_i_pk, 7109 .ca_i_pk_len = sizeof(test_vector_2_ca_i_pk), 7110 7111 .i_raw = NULL, 7112 .i_raw_len = 0, 7113 7114 .g_i_raw = NULL, 7115 .g_i_raw_len = 0, 7116 7117 .r_raw = NULL, 7118 .r_raw_len = 0, 7119 7120 .g_r_raw = NULL, 7121 .g_r_raw_len = 0, 7122 7123 .c_i_raw = NULL, 7124 .c_i_raw_len = 0, 7125 .c_i_raw_int = &test_vector_2_c_i_raw, 7126 7127 .c_r_raw = NULL, 7128 .c_r_raw_len = 0, 7129 .c_r_raw_int = &test_vector_2_c_r_raw, 7130 }, 7131 /*--------------- test_vector_3 ------------*/ 7132 7133 { 7134 .method = test_vector_3_method, 7135 .method_len = sizeof(test_vector_3_method), 7136 7137 .SUITES_I = test_vector_3_SUITES_I, 7138 .SUITES_I_len = sizeof(test_vector_3_SUITES_I), 7139 7140 .SUITES_R = test_vector_3_SUITES_R, 7141 .SUITES_R_len = sizeof(test_vector_3_SUITES_R), 7142 7143 .x_raw = test_vector_3_x_raw, 7144 .x_raw_len = sizeof(test_vector_3_x_raw), 7145 7146 .g_x_raw = test_vector_3_g_x_raw, 7147 .g_x_raw_len = sizeof(test_vector_3_g_x_raw), 7148 7149 .g_x = test_vector_3_g_x, 7150 .g_x_len = sizeof(test_vector_3_g_x), 7151 7152 .c_i = test_vector_3_c_i, 7153 .c_i_len = sizeof(test_vector_3_c_i), 7154 7155 .ead_1 = test_vector_3_ead_1, 7156 .ead_1_len = sizeof(test_vector_3_ead_1), 7157 7158 .message_1 = test_vector_3_message_1, 7159 .message_1_len = sizeof(test_vector_3_message_1), 7160 7161 .y_raw = test_vector_3_y_raw, 7162 .y_raw_len = sizeof(test_vector_3_y_raw), 7163 7164 .g_y_raw = test_vector_3_g_y_raw, 7165 .g_y_raw_len = sizeof(test_vector_3_g_y_raw), 7166 7167 .g_y = test_vector_3_g_y, 7168 .g_y_len = sizeof(test_vector_3_g_y), 7169 7170 .g_xy_raw = test_vector_3_g_xy_raw, 7171 .g_xy_raw_len = sizeof(test_vector_3_g_xy_raw), 7172 7173 .salt_raw = test_vector_3_salt_raw, 7174 .salt_raw_len = sizeof(test_vector_3_salt_raw), 7175 7176 .prk_2e_raw = test_vector_3_prk_2e_raw, 7177 .prk_2e_raw_len = sizeof(test_vector_3_prk_2e_raw), 7178 7179 .sk_r_raw = test_vector_3_sk_r_raw, 7180 .sk_r_raw_len = sizeof(test_vector_3_sk_r_raw), 7181 7182 .pk_r_raw = test_vector_3_pk_r_raw, 7183 .pk_r_raw_len = sizeof(test_vector_3_pk_r_raw), 7184 7185 .prk_3e2m_raw = test_vector_3_prk_3e2m_raw, 7186 .prk_3e2m_raw_len = sizeof(test_vector_3_prk_3e2m_raw), 7187 7188 .c_r = test_vector_3_c_r, 7189 .c_r_len = sizeof(test_vector_3_c_r), 7190 7191 .h_message_1_raw = test_vector_3_h_message_1_raw, 7192 .h_message_1_raw_len = sizeof(test_vector_3_h_message_1_raw), 7193 7194 .h_message_1 = test_vector_3_h_message_1, 7195 .h_message_1_len = sizeof(test_vector_3_h_message_1), 7196 7197 .input_th_2 = test_vector_3_input_th_2, 7198 .input_th_2_len = sizeof(test_vector_3_input_th_2), 7199 7200 .th_2_raw = test_vector_3_th_2_raw, 7201 .th_2_raw_len = sizeof(test_vector_3_th_2_raw), 7202 7203 .th_2 = test_vector_3_th_2, 7204 .th_2_len = sizeof(test_vector_3_th_2), 7205 7206 .id_cred_r = test_vector_3_id_cred_r, 7207 .id_cred_r_len = sizeof(test_vector_3_id_cred_r), 7208 7209 .cred_r = test_vector_3_cred_r, 7210 .cred_r_len = sizeof(test_vector_3_cred_r), 7211 7212 .ead_2 = test_vector_3_ead_2, 7213 .ead_2_len = sizeof(test_vector_3_ead_2), 7214 7215 .info_mac_2 = test_vector_3_info_mac_2, 7216 .info_mac_2_len = sizeof(test_vector_3_info_mac_2), 7217 7218 .mac_2_raw = test_vector_3_mac_2_raw, 7219 .mac_2_raw_len = sizeof(test_vector_3_mac_2_raw), 7220 7221 .mac_2 = test_vector_3_mac_2, 7222 .mac_2_len = sizeof(test_vector_3_mac_2), 7223 7224 .m_2 = test_vector_3_m_2, 7225 .m_2_len = sizeof(test_vector_3_m_2), 7226 7227 .sig_or_mac_2_raw = test_vector_3_sig_or_mac_2_raw, 7228 .sig_or_mac_2_raw_len = sizeof(test_vector_3_sig_or_mac_2_raw), 7229 7230 .sig_or_mac_2 = test_vector_3_sig_or_mac_2, 7231 .sig_or_mac_2_len = sizeof(test_vector_3_sig_or_mac_2), 7232 7233 .plaintext_2 = test_vector_3_plaintext_2, 7234 .plaintext_2_len = sizeof(test_vector_3_plaintext_2), 7235 7236 .info_keystream_2 = test_vector_3_info_keystream_2, 7237 .info_keystream_2_len = sizeof(test_vector_3_info_keystream_2), 7238 7239 .keystream_2_raw = test_vector_3_keystream_2_raw, 7240 .keystream_2_raw_len = sizeof(test_vector_3_keystream_2_raw), 7241 7242 .ciphertext_2_raw = test_vector_3_ciphertext_2_raw, 7243 .ciphertext_2_raw_len = sizeof(test_vector_3_ciphertext_2_raw), 7244 7245 .ciphertext_2 = test_vector_3_ciphertext_2, 7246 .ciphertext_2_len = sizeof(test_vector_3_ciphertext_2), 7247 7248 .message_2 = test_vector_3_message_2, 7249 .message_2_len = sizeof(test_vector_3_message_2), 7250 7251 .sk_i_raw = test_vector_3_sk_i_raw, 7252 .sk_i_raw_len = sizeof(test_vector_3_sk_i_raw), 7253 7254 .pk_i_raw = test_vector_3_pk_i_raw, 7255 .pk_i_raw_len = sizeof(test_vector_3_pk_i_raw), 7256 7257 .prk_4x3m_raw = NULL, 7258 .prk_4x3m_raw_len = 0, 7259 7260 .input_TH_3 = test_vector_3_input_TH_3, 7261 .input_TH_3_len = sizeof(test_vector_3_input_TH_3), 7262 7263 .th_3_raw = test_vector_3_th_3_raw, 7264 .th_3_raw_len = sizeof(test_vector_3_th_3_raw), 7265 7266 .th_3 = test_vector_3_th_3, 7267 .th_3_len = sizeof(test_vector_3_th_3), 7268 7269 .id_cred_i = test_vector_3_id_cred_i, 7270 .id_cred_i_len = sizeof(test_vector_3_id_cred_i), 7271 7272 .cred_i = test_vector_3_cred_i, 7273 .cred_i_len = sizeof(test_vector_3_cred_i), 7274 7275 .ead_3 = test_vector_3_ead_3, 7276 .ead_3_len = sizeof(test_vector_3_ead_3), 7277 7278 .info_mac_3 = test_vector_3_info_mac_3, 7279 .info_mac_3_len = sizeof(test_vector_3_info_mac_3), 7280 7281 .mac_3_raw = test_vector_3_mac_3_raw, 7282 .mac_3_raw_len = sizeof(test_vector_3_mac_3_raw), 7283 7284 .mac_3 = test_vector_3_mac_3, 7285 .mac_3_len = sizeof(test_vector_3_mac_3), 7286 7287 .m_3 = test_vector_3_m_3, 7288 .m_3_len = sizeof(test_vector_3_m_3), 7289 7290 .sig_or_mac_3_raw = test_vector_3_sig_or_mac_3_raw, 7291 .sig_or_mac_3_raw_len = sizeof(test_vector_3_sig_or_mac_3_raw), 7292 7293 .sig_or_mac_3 = test_vector_3_sig_or_mac_3, 7294 .sig_or_mac_3_len = sizeof(test_vector_3_sig_or_mac_3), 7295 7296 .p_3 = test_vector_3_p_3, 7297 .p_3_len = sizeof(test_vector_3_p_3), 7298 7299 .a_3 = test_vector_3_a_3, 7300 .a_3_len = sizeof(test_vector_3_a_3), 7301 7302 .info_k_3 = test_vector_3_info_k_3, 7303 .info_k_3_len = sizeof(test_vector_3_info_k_3), 7304 7305 .k_3_raw = test_vector_3_k_3_raw, 7306 .k_3_raw_len = sizeof(test_vector_3_k_3_raw), 7307 7308 .info_iv_3 = test_vector_3_info_iv_3, 7309 .info_iv_3_len = sizeof(test_vector_3_info_iv_3), 7310 7311 .iv_3_raw = test_vector_3_iv_3_raw, 7312 .iv_3_raw_len = sizeof(test_vector_3_iv_3_raw), 7313 7314 .ciphertext_3_raw = test_vector_3_ciphertext_3_raw, 7315 .ciphertext_3_raw_len = sizeof(test_vector_3_ciphertext_3_raw), 7316 7317 .ciphertext_3 = test_vector_3_ciphertext_3, 7318 .ciphertext_3_len = sizeof(test_vector_3_ciphertext_3), 7319 7320 .message_3 = test_vector_3_message_3, 7321 .message_3_len = sizeof(test_vector_3_message_3), 7322 7323 .input_th_4 = test_vector_3_input_th_4, 7324 .input_th_4_len = sizeof(test_vector_3_input_th_4), 7325 7326 .th_4_raw = test_vector_3_th_4_raw, 7327 .th_4_raw_len = sizeof(test_vector_3_th_4_raw), 7328 7329 .th_4 = test_vector_3_th_4, 7330 .th_4_len = sizeof(test_vector_3_th_4), 7331 7332 .ead_4 = test_vector_3_ead_4, 7333 .ead_4_len = sizeof(test_vector_3_ead_4), 7334 7335 .p_4 = test_vector_3_p_4, 7336 .p_4_len = sizeof(test_vector_3_p_4), 7337 7338 .a_4 = test_vector_3_a_4, 7339 .a_4_len = sizeof(test_vector_3_a_4), 7340 7341 .info_k_4 = test_vector_3_info_k_4, 7342 .info_k_4_len = sizeof(test_vector_3_info_k_4), 7343 7344 .k_4_raw = test_vector_3_k_4_raw, 7345 .k_4_raw_len = sizeof(test_vector_3_k_4_raw), 7346 7347 .info_iv_4 = test_vector_3_info_iv_4, 7348 .info_iv_4_len = sizeof(test_vector_3_info_iv_4), 7349 7350 .iv_4_raw = test_vector_3_iv_4_raw, 7351 .iv_4_raw_len = sizeof(test_vector_3_iv_4_raw), 7352 7353 .ciphertext_4_raw = test_vector_3_ciphertext_4_raw, 7354 .ciphertext_4_raw_len = sizeof(test_vector_3_ciphertext_4_raw), 7355 7356 .ciphertext_4 = test_vector_3_ciphertext_4, 7357 .ciphertext_4_len = sizeof(test_vector_3_ciphertext_4), 7358 7359 .message_4 = test_vector_3_message_4, 7360 .message_4_len = sizeof(test_vector_3_message_4), 7361 7362 .oscore_aead_alg = &test_vector_3_oscore_aead_alg, 7363 7364 .oscore_hash_alg = &test_vector_3_oscore_hash_alg, 7365 7366 .client_sender_id_raw = test_vector_3_client_sender_id_raw, 7367 .client_sender_id_raw_len = sizeof(test_vector_3_client_sender_id_raw), 7368 7369 .server_sender_id_raw = test_vector_3_server_sender_id_raw, 7370 .server_sender_id_raw_len = sizeof(test_vector_3_server_sender_id_raw), 7371 7372 .info_oscore_secret = test_vector_3_info_oscore_secret, 7373 .info_oscore_secret_len = sizeof(test_vector_3_info_oscore_secret), 7374 7375 .oscore_secret_raw = test_vector_3_oscore_secret_raw, 7376 .oscore_secret_raw_len = sizeof(test_vector_3_oscore_secret_raw), 7377 7378 .info_oscore_salt = test_vector_3_info_oscore_salt, 7379 .info_oscore_salt_len = sizeof(test_vector_3_info_oscore_salt), 7380 7381 .oscore_salt_raw = test_vector_3_oscore_salt_raw, 7382 .oscore_salt_raw_len = sizeof(test_vector_3_oscore_salt_raw), 7383 7384 .key_update_nonce_raw = NULL, 7385 .key_update_nonce_raw_len = 0, 7386 7387 .prk_4x3m_key_update_raw = NULL, 7388 .prk_4x3m_key_update_raw_len = 0, 7389 7390 .oscore_secret_key_update_raw = test_vector_3_oscore_secret_key_update_raw, 7391 .oscore_secret_key_update_raw_len = sizeof(test_vector_3_oscore_secret_key_update_raw), 7392 7393 .oscore_salt_key_update_raw = test_vector_3_oscore_salt_key_update_raw, 7394 .oscore_salt_key_update_raw_len = sizeof(test_vector_3_oscore_salt_key_update_raw), 7395 7396 .ca_r = test_vector_3_ca_r, 7397 .ca_r_len = sizeof(test_vector_3_ca_r), 7398 7399 .ca_i = test_vector_3_ca_i, 7400 .ca_i_len = sizeof(test_vector_3_ca_i), 7401 7402 .ca_r_pk = test_vector_3_ca_r_pk, 7403 .ca_r_pk_len = sizeof(test_vector_3_ca_r_pk), 7404 7405 .ca_i_pk = test_vector_3_ca_i_pk, 7406 .ca_i_pk_len = sizeof(test_vector_3_ca_i_pk), 7407 7408 .i_raw = NULL, 7409 .i_raw_len = 0, 7410 7411 .g_i_raw = NULL, 7412 .g_i_raw_len = 0, 7413 7414 .r_raw = NULL, 7415 .r_raw_len = 0, 7416 7417 .g_r_raw = NULL, 7418 .g_r_raw_len = 0, 7419 7420 .c_i_raw = NULL, 7421 .c_i_raw_len = 0, 7422 .c_i_raw_int = &test_vector_3_c_i_raw, 7423 7424 .c_r_raw = NULL, 7425 .c_r_raw_len = 0, 7426 .c_r_raw_int = &test_vector_3_c_r_raw, 7427 }, 7428 /*--------------- test_vector_4 ------------*/ 7429 7430 { 7431 .method = test_vector_4_method, 7432 .method_len = sizeof(test_vector_4_method), 7433 7434 .SUITES_I = test_vector_4_SUITES_I, 7435 .SUITES_I_len = sizeof(test_vector_4_SUITES_I), 7436 7437 .SUITES_R = test_vector_4_SUITES_R, 7438 .SUITES_R_len = sizeof(test_vector_4_SUITES_R), 7439 7440 .x_raw = test_vector_4_x_raw, 7441 .x_raw_len = sizeof(test_vector_4_x_raw), 7442 7443 .g_x_raw = test_vector_4_g_x_raw, 7444 .g_x_raw_len = sizeof(test_vector_4_g_x_raw), 7445 7446 .g_x = test_vector_4_g_x, 7447 .g_x_len = sizeof(test_vector_4_g_x), 7448 7449 .c_i = test_vector_4_c_i, 7450 .c_i_len = sizeof(test_vector_4_c_i), 7451 7452 .ead_1 = test_vector_4_ead_1, 7453 .ead_1_len = sizeof(test_vector_4_ead_1), 7454 7455 .message_1 = test_vector_4_message_1, 7456 .message_1_len = sizeof(test_vector_4_message_1), 7457 7458 .y_raw = test_vector_4_y_raw, 7459 .y_raw_len = sizeof(test_vector_4_y_raw), 7460 7461 .g_y_raw = test_vector_4_g_y_raw, 7462 .g_y_raw_len = sizeof(test_vector_4_g_y_raw), 7463 7464 .g_y = test_vector_4_g_y, 7465 .g_y_len = sizeof(test_vector_4_g_y), 7466 7467 .g_xy_raw = test_vector_4_g_xy_raw, 7468 .g_xy_raw_len = sizeof(test_vector_4_g_xy_raw), 7469 7470 .salt_raw = test_vector_4_salt_raw, 7471 .salt_raw_len = sizeof(test_vector_4_salt_raw), 7472 7473 .prk_2e_raw = test_vector_4_prk_2e_raw, 7474 .prk_2e_raw_len = sizeof(test_vector_4_prk_2e_raw), 7475 7476 .sk_r_raw = test_vector_4_sk_r_raw, 7477 .sk_r_raw_len = sizeof(test_vector_4_sk_r_raw), 7478 7479 .pk_r_raw = test_vector_4_pk_r_raw, 7480 .pk_r_raw_len = sizeof(test_vector_4_pk_r_raw), 7481 7482 .prk_3e2m_raw = test_vector_4_prk_3e2m_raw, 7483 .prk_3e2m_raw_len = sizeof(test_vector_4_prk_3e2m_raw), 7484 7485 .c_r = test_vector_4_c_r, 7486 .c_r_len = sizeof(test_vector_4_c_r), 7487 7488 .h_message_1_raw = test_vector_4_h_message_1_raw, 7489 .h_message_1_raw_len = sizeof(test_vector_4_h_message_1_raw), 7490 7491 .h_message_1 = test_vector_4_h_message_1, 7492 .h_message_1_len = sizeof(test_vector_4_h_message_1), 7493 7494 .input_th_2 = test_vector_4_input_th_2, 7495 .input_th_2_len = sizeof(test_vector_4_input_th_2), 7496 7497 .th_2_raw = test_vector_4_th_2_raw, 7498 .th_2_raw_len = sizeof(test_vector_4_th_2_raw), 7499 7500 .th_2 = test_vector_4_th_2, 7501 .th_2_len = sizeof(test_vector_4_th_2), 7502 7503 .id_cred_r = test_vector_4_id_cred_r, 7504 .id_cred_r_len = sizeof(test_vector_4_id_cred_r), 7505 7506 .cred_r = test_vector_4_cred_r, 7507 .cred_r_len = sizeof(test_vector_4_cred_r), 7508 7509 .ead_2 = test_vector_4_ead_2, 7510 .ead_2_len = sizeof(test_vector_4_ead_2), 7511 7512 .info_mac_2 = test_vector_4_info_mac_2, 7513 .info_mac_2_len = sizeof(test_vector_4_info_mac_2), 7514 7515 .mac_2_raw = test_vector_4_mac_2_raw, 7516 .mac_2_raw_len = sizeof(test_vector_4_mac_2_raw), 7517 7518 .mac_2 = test_vector_4_mac_2, 7519 .mac_2_len = sizeof(test_vector_4_mac_2), 7520 7521 .m_2 = test_vector_4_m_2, 7522 .m_2_len = sizeof(test_vector_4_m_2), 7523 7524 .sig_or_mac_2_raw = test_vector_4_sig_or_mac_2_raw, 7525 .sig_or_mac_2_raw_len = sizeof(test_vector_4_sig_or_mac_2_raw), 7526 7527 .sig_or_mac_2 = test_vector_4_sig_or_mac_2, 7528 .sig_or_mac_2_len = sizeof(test_vector_4_sig_or_mac_2), 7529 7530 .plaintext_2 = test_vector_4_plaintext_2, 7531 .plaintext_2_len = sizeof(test_vector_4_plaintext_2), 7532 7533 .info_keystream_2 = test_vector_4_info_keystream_2, 7534 .info_keystream_2_len = sizeof(test_vector_4_info_keystream_2), 7535 7536 .keystream_2_raw = test_vector_4_keystream_2_raw, 7537 .keystream_2_raw_len = sizeof(test_vector_4_keystream_2_raw), 7538 7539 .ciphertext_2_raw = test_vector_4_ciphertext_2_raw, 7540 .ciphertext_2_raw_len = sizeof(test_vector_4_ciphertext_2_raw), 7541 7542 .ciphertext_2 = test_vector_4_ciphertext_2, 7543 .ciphertext_2_len = sizeof(test_vector_4_ciphertext_2), 7544 7545 .message_2 = test_vector_4_message_2, 7546 .message_2_len = sizeof(test_vector_4_message_2), 7547 7548 .sk_i_raw = test_vector_4_sk_i_raw, 7549 .sk_i_raw_len = sizeof(test_vector_4_sk_i_raw), 7550 7551 .pk_i_raw = test_vector_4_pk_i_raw, 7552 .pk_i_raw_len = sizeof(test_vector_4_pk_i_raw), 7553 7554 .prk_4x3m_raw = NULL, 7555 .prk_4x3m_raw_len = 0, 7556 7557 .input_TH_3 = test_vector_4_input_TH_3, 7558 .input_TH_3_len = sizeof(test_vector_4_input_TH_3), 7559 7560 .th_3_raw = test_vector_4_th_3_raw, 7561 .th_3_raw_len = sizeof(test_vector_4_th_3_raw), 7562 7563 .th_3 = test_vector_4_th_3, 7564 .th_3_len = sizeof(test_vector_4_th_3), 7565 7566 .id_cred_i = test_vector_4_id_cred_i, 7567 .id_cred_i_len = sizeof(test_vector_4_id_cred_i), 7568 7569 .cred_i = test_vector_4_cred_i, 7570 .cred_i_len = sizeof(test_vector_4_cred_i), 7571 7572 .ead_3 = test_vector_4_ead_3, 7573 .ead_3_len = sizeof(test_vector_4_ead_3), 7574 7575 .info_mac_3 = test_vector_4_info_mac_3, 7576 .info_mac_3_len = sizeof(test_vector_4_info_mac_3), 7577 7578 .mac_3_raw = test_vector_4_mac_3_raw, 7579 .mac_3_raw_len = sizeof(test_vector_4_mac_3_raw), 7580 7581 .mac_3 = test_vector_4_mac_3, 7582 .mac_3_len = sizeof(test_vector_4_mac_3), 7583 7584 .m_3 = test_vector_4_m_3, 7585 .m_3_len = sizeof(test_vector_4_m_3), 7586 7587 .sig_or_mac_3_raw = test_vector_4_sig_or_mac_3_raw, 7588 .sig_or_mac_3_raw_len = sizeof(test_vector_4_sig_or_mac_3_raw), 7589 7590 .sig_or_mac_3 = test_vector_4_sig_or_mac_3, 7591 .sig_or_mac_3_len = sizeof(test_vector_4_sig_or_mac_3), 7592 7593 .p_3 = test_vector_4_p_3, 7594 .p_3_len = sizeof(test_vector_4_p_3), 7595 7596 .a_3 = test_vector_4_a_3, 7597 .a_3_len = sizeof(test_vector_4_a_3), 7598 7599 .info_k_3 = test_vector_4_info_k_3, 7600 .info_k_3_len = sizeof(test_vector_4_info_k_3), 7601 7602 .k_3_raw = test_vector_4_k_3_raw, 7603 .k_3_raw_len = sizeof(test_vector_4_k_3_raw), 7604 7605 .info_iv_3 = test_vector_4_info_iv_3, 7606 .info_iv_3_len = sizeof(test_vector_4_info_iv_3), 7607 7608 .iv_3_raw = test_vector_4_iv_3_raw, 7609 .iv_3_raw_len = sizeof(test_vector_4_iv_3_raw), 7610 7611 .ciphertext_3_raw = test_vector_4_ciphertext_3_raw, 7612 .ciphertext_3_raw_len = sizeof(test_vector_4_ciphertext_3_raw), 7613 7614 .ciphertext_3 = test_vector_4_ciphertext_3, 7615 .ciphertext_3_len = sizeof(test_vector_4_ciphertext_3), 7616 7617 .message_3 = test_vector_4_message_3, 7618 .message_3_len = sizeof(test_vector_4_message_3), 7619 7620 .input_th_4 = test_vector_4_input_th_4, 7621 .input_th_4_len = sizeof(test_vector_4_input_th_4), 7622 7623 .th_4_raw = test_vector_4_th_4_raw, 7624 .th_4_raw_len = sizeof(test_vector_4_th_4_raw), 7625 7626 .th_4 = test_vector_4_th_4, 7627 .th_4_len = sizeof(test_vector_4_th_4), 7628 7629 .ead_4 = test_vector_4_ead_4, 7630 .ead_4_len = sizeof(test_vector_4_ead_4), 7631 7632 .p_4 = test_vector_4_p_4, 7633 .p_4_len = sizeof(test_vector_4_p_4), 7634 7635 .a_4 = test_vector_4_a_4, 7636 .a_4_len = sizeof(test_vector_4_a_4), 7637 7638 .info_k_4 = test_vector_4_info_k_4, 7639 .info_k_4_len = sizeof(test_vector_4_info_k_4), 7640 7641 .k_4_raw = test_vector_4_k_4_raw, 7642 .k_4_raw_len = sizeof(test_vector_4_k_4_raw), 7643 7644 .info_iv_4 = test_vector_4_info_iv_4, 7645 .info_iv_4_len = sizeof(test_vector_4_info_iv_4), 7646 7647 .iv_4_raw = test_vector_4_iv_4_raw, 7648 .iv_4_raw_len = sizeof(test_vector_4_iv_4_raw), 7649 7650 .ciphertext_4_raw = test_vector_4_ciphertext_4_raw, 7651 .ciphertext_4_raw_len = sizeof(test_vector_4_ciphertext_4_raw), 7652 7653 .ciphertext_4 = test_vector_4_ciphertext_4, 7654 .ciphertext_4_len = sizeof(test_vector_4_ciphertext_4), 7655 7656 .message_4 = test_vector_4_message_4, 7657 .message_4_len = sizeof(test_vector_4_message_4), 7658 7659 .oscore_aead_alg = &test_vector_4_oscore_aead_alg, 7660 7661 .oscore_hash_alg = &test_vector_4_oscore_hash_alg, 7662 7663 .client_sender_id_raw = test_vector_4_client_sender_id_raw, 7664 .client_sender_id_raw_len = sizeof(test_vector_4_client_sender_id_raw), 7665 7666 .server_sender_id_raw = test_vector_4_server_sender_id_raw, 7667 .server_sender_id_raw_len = sizeof(test_vector_4_server_sender_id_raw), 7668 7669 .info_oscore_secret = test_vector_4_info_oscore_secret, 7670 .info_oscore_secret_len = sizeof(test_vector_4_info_oscore_secret), 7671 7672 .oscore_secret_raw = test_vector_4_oscore_secret_raw, 7673 .oscore_secret_raw_len = sizeof(test_vector_4_oscore_secret_raw), 7674 7675 .info_oscore_salt = test_vector_4_info_oscore_salt, 7676 .info_oscore_salt_len = sizeof(test_vector_4_info_oscore_salt), 7677 7678 .oscore_salt_raw = test_vector_4_oscore_salt_raw, 7679 .oscore_salt_raw_len = sizeof(test_vector_4_oscore_salt_raw), 7680 7681 .key_update_nonce_raw = NULL, 7682 .key_update_nonce_raw_len = 0, 7683 7684 .prk_4x3m_key_update_raw = NULL, 7685 .prk_4x3m_key_update_raw_len = 0, 7686 7687 .oscore_secret_key_update_raw = test_vector_4_oscore_secret_key_update_raw, 7688 .oscore_secret_key_update_raw_len = sizeof(test_vector_4_oscore_secret_key_update_raw), 7689 7690 .oscore_salt_key_update_raw = test_vector_4_oscore_salt_key_update_raw, 7691 .oscore_salt_key_update_raw_len = sizeof(test_vector_4_oscore_salt_key_update_raw), 7692 7693 .ca_r = test_vector_4_ca_r, 7694 .ca_r_len = sizeof(test_vector_4_ca_r), 7695 7696 .ca_i = test_vector_4_ca_i, 7697 .ca_i_len = sizeof(test_vector_4_ca_i), 7698 7699 .ca_r_pk = test_vector_4_ca_r_pk, 7700 .ca_r_pk_len = sizeof(test_vector_4_ca_r_pk), 7701 7702 .ca_i_pk = test_vector_4_ca_i_pk, 7703 .ca_i_pk_len = sizeof(test_vector_4_ca_i_pk), 7704 7705 .i_raw = NULL, 7706 .i_raw_len = 0, 7707 7708 .g_i_raw = NULL, 7709 .g_i_raw_len = 0, 7710 7711 .r_raw = NULL, 7712 .r_raw_len = 0, 7713 7714 .g_r_raw = NULL, 7715 .g_r_raw_len = 0, 7716 7717 .c_i_raw = NULL, 7718 .c_i_raw_len = 0, 7719 .c_i_raw_int = &test_vector_4_c_i_raw, 7720 7721 .c_r_raw = NULL, 7722 .c_r_raw_len = 0, 7723 .c_r_raw_int = &test_vector_4_c_r_raw, 7724 }, 7725 /*--------------- test_vector_5 ------------*/ 7726 7727 { 7728 .method = test_vector_5_method, 7729 .method_len = sizeof(test_vector_5_method), 7730 7731 .SUITES_I = test_vector_5_SUITES_I, 7732 .SUITES_I_len = sizeof(test_vector_5_SUITES_I), 7733 7734 .SUITES_R = test_vector_5_SUITES_R, 7735 .SUITES_R_len = sizeof(test_vector_5_SUITES_R), 7736 7737 .x_raw = test_vector_5_x_raw, 7738 .x_raw_len = sizeof(test_vector_5_x_raw), 7739 7740 .g_x_raw = test_vector_5_g_x_raw, 7741 .g_x_raw_len = sizeof(test_vector_5_g_x_raw), 7742 7743 .g_x = test_vector_5_g_x, 7744 .g_x_len = sizeof(test_vector_5_g_x), 7745 7746 .c_i = test_vector_5_c_i, 7747 .c_i_len = sizeof(test_vector_5_c_i), 7748 7749 .ead_1 = test_vector_5_ead_1, 7750 .ead_1_len = sizeof(test_vector_5_ead_1), 7751 7752 .message_1 = test_vector_5_message_1, 7753 .message_1_len = sizeof(test_vector_5_message_1), 7754 7755 .y_raw = test_vector_5_y_raw, 7756 .y_raw_len = sizeof(test_vector_5_y_raw), 7757 7758 .g_y_raw = test_vector_5_g_y_raw, 7759 .g_y_raw_len = sizeof(test_vector_5_g_y_raw), 7760 7761 .g_y = test_vector_5_g_y, 7762 .g_y_len = sizeof(test_vector_5_g_y), 7763 7764 .g_xy_raw = test_vector_5_g_xy_raw, 7765 .g_xy_raw_len = sizeof(test_vector_5_g_xy_raw), 7766 7767 .salt_raw = test_vector_5_salt_raw, 7768 .salt_raw_len = sizeof(test_vector_5_salt_raw), 7769 7770 .prk_2e_raw = test_vector_5_prk_2e_raw, 7771 .prk_2e_raw_len = sizeof(test_vector_5_prk_2e_raw), 7772 7773 .sk_r_raw = NULL, 7774 .sk_r_raw_len = 0, 7775 7776 .pk_r_raw = NULL, 7777 .pk_r_raw_len = 0, 7778 7779 .prk_3e2m_raw = test_vector_5_prk_3e2m_raw, 7780 .prk_3e2m_raw_len = sizeof(test_vector_5_prk_3e2m_raw), 7781 7782 .c_r = test_vector_5_c_r, 7783 .c_r_len = sizeof(test_vector_5_c_r), 7784 7785 .h_message_1_raw = test_vector_5_h_message_1_raw, 7786 .h_message_1_raw_len = sizeof(test_vector_5_h_message_1_raw), 7787 7788 .h_message_1 = test_vector_5_h_message_1, 7789 .h_message_1_len = sizeof(test_vector_5_h_message_1), 7790 7791 .input_th_2 = test_vector_5_input_th_2, 7792 .input_th_2_len = sizeof(test_vector_5_input_th_2), 7793 7794 .th_2_raw = test_vector_5_th_2_raw, 7795 .th_2_raw_len = sizeof(test_vector_5_th_2_raw), 7796 7797 .th_2 = test_vector_5_th_2, 7798 .th_2_len = sizeof(test_vector_5_th_2), 7799 7800 .id_cred_r = test_vector_5_id_cred_r, 7801 .id_cred_r_len = sizeof(test_vector_5_id_cred_r), 7802 7803 .cred_r = test_vector_5_cred_r, 7804 .cred_r_len = sizeof(test_vector_5_cred_r), 7805 7806 .ead_2 = test_vector_5_ead_2, 7807 .ead_2_len = sizeof(test_vector_5_ead_2), 7808 7809 .info_mac_2 = test_vector_5_info_mac_2, 7810 .info_mac_2_len = sizeof(test_vector_5_info_mac_2), 7811 7812 .mac_2_raw = test_vector_5_mac_2_raw, 7813 .mac_2_raw_len = sizeof(test_vector_5_mac_2_raw), 7814 7815 .mac_2 = test_vector_5_mac_2, 7816 .mac_2_len = sizeof(test_vector_5_mac_2), 7817 7818 .m_2 = NULL, 7819 .m_2_len = 0, 7820 7821 .sig_or_mac_2_raw = test_vector_5_sig_or_mac_2_raw, 7822 .sig_or_mac_2_raw_len = sizeof(test_vector_5_sig_or_mac_2_raw), 7823 7824 .sig_or_mac_2 = test_vector_5_sig_or_mac_2, 7825 .sig_or_mac_2_len = sizeof(test_vector_5_sig_or_mac_2), 7826 7827 .plaintext_2 = test_vector_5_plaintext_2, 7828 .plaintext_2_len = sizeof(test_vector_5_plaintext_2), 7829 7830 .info_keystream_2 = test_vector_5_info_keystream_2, 7831 .info_keystream_2_len = sizeof(test_vector_5_info_keystream_2), 7832 7833 .keystream_2_raw = test_vector_5_keystream_2_raw, 7834 .keystream_2_raw_len = sizeof(test_vector_5_keystream_2_raw), 7835 7836 .ciphertext_2_raw = test_vector_5_ciphertext_2_raw, 7837 .ciphertext_2_raw_len = sizeof(test_vector_5_ciphertext_2_raw), 7838 7839 .ciphertext_2 = test_vector_5_ciphertext_2, 7840 .ciphertext_2_len = sizeof(test_vector_5_ciphertext_2), 7841 7842 .message_2 = test_vector_5_message_2, 7843 .message_2_len = sizeof(test_vector_5_message_2), 7844 7845 .sk_i_raw = NULL, 7846 .sk_i_raw_len = 0, 7847 7848 .pk_i_raw = NULL, 7849 .pk_i_raw_len = 0, 7850 7851 .prk_4x3m_raw = NULL, 7852 .prk_4x3m_raw_len = 0, 7853 7854 .input_TH_3 = test_vector_5_input_TH_3, 7855 .input_TH_3_len = sizeof(test_vector_5_input_TH_3), 7856 7857 .th_3_raw = test_vector_5_th_3_raw, 7858 .th_3_raw_len = sizeof(test_vector_5_th_3_raw), 7859 7860 .th_3 = test_vector_5_th_3, 7861 .th_3_len = sizeof(test_vector_5_th_3), 7862 7863 .id_cred_i = test_vector_5_id_cred_i, 7864 .id_cred_i_len = sizeof(test_vector_5_id_cred_i), 7865 7866 .cred_i = test_vector_5_cred_i, 7867 .cred_i_len = sizeof(test_vector_5_cred_i), 7868 7869 .ead_3 = test_vector_5_ead_3, 7870 .ead_3_len = sizeof(test_vector_5_ead_3), 7871 7872 .info_mac_3 = test_vector_5_info_mac_3, 7873 .info_mac_3_len = sizeof(test_vector_5_info_mac_3), 7874 7875 .mac_3_raw = test_vector_5_mac_3_raw, 7876 .mac_3_raw_len = sizeof(test_vector_5_mac_3_raw), 7877 7878 .mac_3 = test_vector_5_mac_3, 7879 .mac_3_len = sizeof(test_vector_5_mac_3), 7880 7881 .m_3 = NULL, 7882 .m_3_len = 0, 7883 7884 .sig_or_mac_3_raw = test_vector_5_sig_or_mac_3_raw, 7885 .sig_or_mac_3_raw_len = sizeof(test_vector_5_sig_or_mac_3_raw), 7886 7887 .sig_or_mac_3 = test_vector_5_sig_or_mac_3, 7888 .sig_or_mac_3_len = sizeof(test_vector_5_sig_or_mac_3), 7889 7890 .p_3 = test_vector_5_p_3, 7891 .p_3_len = sizeof(test_vector_5_p_3), 7892 7893 .a_3 = test_vector_5_a_3, 7894 .a_3_len = sizeof(test_vector_5_a_3), 7895 7896 .info_k_3 = test_vector_5_info_k_3, 7897 .info_k_3_len = sizeof(test_vector_5_info_k_3), 7898 7899 .k_3_raw = test_vector_5_k_3_raw, 7900 .k_3_raw_len = sizeof(test_vector_5_k_3_raw), 7901 7902 .info_iv_3 = test_vector_5_info_iv_3, 7903 .info_iv_3_len = sizeof(test_vector_5_info_iv_3), 7904 7905 .iv_3_raw = test_vector_5_iv_3_raw, 7906 .iv_3_raw_len = sizeof(test_vector_5_iv_3_raw), 7907 7908 .ciphertext_3_raw = test_vector_5_ciphertext_3_raw, 7909 .ciphertext_3_raw_len = sizeof(test_vector_5_ciphertext_3_raw), 7910 7911 .ciphertext_3 = test_vector_5_ciphertext_3, 7912 .ciphertext_3_len = sizeof(test_vector_5_ciphertext_3), 7913 7914 .message_3 = test_vector_5_message_3, 7915 .message_3_len = sizeof(test_vector_5_message_3), 7916 7917 .input_th_4 = test_vector_5_input_th_4, 7918 .input_th_4_len = sizeof(test_vector_5_input_th_4), 7919 7920 .th_4_raw = test_vector_5_th_4_raw, 7921 .th_4_raw_len = sizeof(test_vector_5_th_4_raw), 7922 7923 .th_4 = test_vector_5_th_4, 7924 .th_4_len = sizeof(test_vector_5_th_4), 7925 7926 .ead_4 = test_vector_5_ead_4, 7927 .ead_4_len = sizeof(test_vector_5_ead_4), 7928 7929 .p_4 = test_vector_5_p_4, 7930 .p_4_len = sizeof(test_vector_5_p_4), 7931 7932 .a_4 = test_vector_5_a_4, 7933 .a_4_len = sizeof(test_vector_5_a_4), 7934 7935 .info_k_4 = test_vector_5_info_k_4, 7936 .info_k_4_len = sizeof(test_vector_5_info_k_4), 7937 7938 .k_4_raw = test_vector_5_k_4_raw, 7939 .k_4_raw_len = sizeof(test_vector_5_k_4_raw), 7940 7941 .info_iv_4 = test_vector_5_info_iv_4, 7942 .info_iv_4_len = sizeof(test_vector_5_info_iv_4), 7943 7944 .iv_4_raw = test_vector_5_iv_4_raw, 7945 .iv_4_raw_len = sizeof(test_vector_5_iv_4_raw), 7946 7947 .ciphertext_4_raw = test_vector_5_ciphertext_4_raw, 7948 .ciphertext_4_raw_len = sizeof(test_vector_5_ciphertext_4_raw), 7949 7950 .ciphertext_4 = test_vector_5_ciphertext_4, 7951 .ciphertext_4_len = sizeof(test_vector_5_ciphertext_4), 7952 7953 .message_4 = test_vector_5_message_4, 7954 .message_4_len = sizeof(test_vector_5_message_4), 7955 7956 .oscore_aead_alg = &test_vector_5_oscore_aead_alg, 7957 7958 .oscore_hash_alg = &test_vector_5_oscore_hash_alg, 7959 7960 .client_sender_id_raw = test_vector_5_client_sender_id_raw, 7961 .client_sender_id_raw_len = sizeof(test_vector_5_client_sender_id_raw), 7962 7963 .server_sender_id_raw = test_vector_5_server_sender_id_raw, 7964 .server_sender_id_raw_len = sizeof(test_vector_5_server_sender_id_raw), 7965 7966 .info_oscore_secret = test_vector_5_info_oscore_secret, 7967 .info_oscore_secret_len = sizeof(test_vector_5_info_oscore_secret), 7968 7969 .oscore_secret_raw = test_vector_5_oscore_secret_raw, 7970 .oscore_secret_raw_len = sizeof(test_vector_5_oscore_secret_raw), 7971 7972 .info_oscore_salt = test_vector_5_info_oscore_salt, 7973 .info_oscore_salt_len = sizeof(test_vector_5_info_oscore_salt), 7974 7975 .oscore_salt_raw = test_vector_5_oscore_salt_raw, 7976 .oscore_salt_raw_len = sizeof(test_vector_5_oscore_salt_raw), 7977 7978 .key_update_nonce_raw = NULL, 7979 .key_update_nonce_raw_len = 0, 7980 7981 .prk_4x3m_key_update_raw = NULL, 7982 .prk_4x3m_key_update_raw_len = 0, 7983 7984 .oscore_secret_key_update_raw = test_vector_5_oscore_secret_key_update_raw, 7985 .oscore_secret_key_update_raw_len = sizeof(test_vector_5_oscore_secret_key_update_raw), 7986 7987 .oscore_salt_key_update_raw = test_vector_5_oscore_salt_key_update_raw, 7988 .oscore_salt_key_update_raw_len = sizeof(test_vector_5_oscore_salt_key_update_raw), 7989 7990 .ca_r = test_vector_5_ca_r, 7991 .ca_r_len = sizeof(test_vector_5_ca_r), 7992 7993 .ca_i = test_vector_5_ca_i, 7994 .ca_i_len = sizeof(test_vector_5_ca_i), 7995 7996 .ca_r_pk = test_vector_5_ca_r_pk, 7997 .ca_r_pk_len = sizeof(test_vector_5_ca_r_pk), 7998 7999 .ca_i_pk = test_vector_5_ca_i_pk, 8000 .ca_i_pk_len = sizeof(test_vector_5_ca_i_pk), 8001 8002 .i_raw = test_vector_5_i_raw, 8003 .i_raw_len = sizeof(test_vector_5_i_raw), 8004 8005 .g_i_raw = test_vector_5_g_i_raw, 8006 .g_i_raw_len = sizeof(test_vector_5_g_i_raw), 8007 8008 .r_raw = test_vector_5_r_raw, 8009 .r_raw_len = sizeof(test_vector_5_r_raw), 8010 8011 .g_r_raw = test_vector_5_g_r_raw, 8012 .g_r_raw_len = sizeof(test_vector_5_g_r_raw), 8013 8014 .c_i_raw = NULL, 8015 .c_i_raw_len = 0, 8016 .c_i_raw_int = &test_vector_5_c_i_raw, 8017 8018 .c_r_raw = NULL, 8019 .c_r_raw_len = 0, 8020 .c_r_raw_int = &test_vector_5_c_r_raw, 8021 }, 8022 /*--------------- test_vector_6 ------------*/ 8023 8024 { 8025 .method = test_vector_6_method, 8026 .method_len = sizeof(test_vector_6_method), 8027 8028 .SUITES_I = test_vector_6_SUITES_I, 8029 .SUITES_I_len = sizeof(test_vector_6_SUITES_I), 8030 8031 .SUITES_R = test_vector_6_SUITES_R, 8032 .SUITES_R_len = sizeof(test_vector_6_SUITES_R), 8033 8034 .x_raw = test_vector_6_x_raw, 8035 .x_raw_len = sizeof(test_vector_6_x_raw), 8036 8037 .g_x_raw = test_vector_6_g_x_raw, 8038 .g_x_raw_len = sizeof(test_vector_6_g_x_raw), 8039 8040 .g_x = test_vector_6_g_x, 8041 .g_x_len = sizeof(test_vector_6_g_x), 8042 8043 .c_i = test_vector_6_c_i, 8044 .c_i_len = sizeof(test_vector_6_c_i), 8045 8046 .ead_1 = test_vector_6_ead_1, 8047 .ead_1_len = sizeof(test_vector_6_ead_1), 8048 8049 .message_1 = test_vector_6_message_1, 8050 .message_1_len = sizeof(test_vector_6_message_1), 8051 8052 .y_raw = test_vector_6_y_raw, 8053 .y_raw_len = sizeof(test_vector_6_y_raw), 8054 8055 .g_y_raw = test_vector_6_g_y_raw, 8056 .g_y_raw_len = sizeof(test_vector_6_g_y_raw), 8057 8058 .g_y = test_vector_6_g_y, 8059 .g_y_len = sizeof(test_vector_6_g_y), 8060 8061 .g_xy_raw = test_vector_6_g_xy_raw, 8062 .g_xy_raw_len = sizeof(test_vector_6_g_xy_raw), 8063 8064 .salt_raw = test_vector_6_salt_raw, 8065 .salt_raw_len = sizeof(test_vector_6_salt_raw), 8066 8067 .prk_2e_raw = test_vector_6_prk_2e_raw, 8068 .prk_2e_raw_len = sizeof(test_vector_6_prk_2e_raw), 8069 8070 .sk_r_raw = NULL, 8071 .sk_r_raw_len = 0, 8072 8073 .pk_r_raw = NULL, 8074 .pk_r_raw_len = 0, 8075 8076 .prk_3e2m_raw = test_vector_6_prk_3e2m_raw, 8077 .prk_3e2m_raw_len = sizeof(test_vector_6_prk_3e2m_raw), 8078 8079 .c_r = test_vector_6_c_r, 8080 .c_r_len = sizeof(test_vector_6_c_r), 8081 8082 .h_message_1_raw = test_vector_6_h_message_1_raw, 8083 .h_message_1_raw_len = sizeof(test_vector_6_h_message_1_raw), 8084 8085 .h_message_1 = test_vector_6_h_message_1, 8086 .h_message_1_len = sizeof(test_vector_6_h_message_1), 8087 8088 .input_th_2 = test_vector_6_input_th_2, 8089 .input_th_2_len = sizeof(test_vector_6_input_th_2), 8090 8091 .th_2_raw = test_vector_6_th_2_raw, 8092 .th_2_raw_len = sizeof(test_vector_6_th_2_raw), 8093 8094 .th_2 = test_vector_6_th_2, 8095 .th_2_len = sizeof(test_vector_6_th_2), 8096 8097 .id_cred_r = test_vector_6_id_cred_r, 8098 .id_cred_r_len = sizeof(test_vector_6_id_cred_r), 8099 8100 .cred_r = test_vector_6_cred_r, 8101 .cred_r_len = sizeof(test_vector_6_cred_r), 8102 8103 .ead_2 = test_vector_6_ead_2, 8104 .ead_2_len = sizeof(test_vector_6_ead_2), 8105 8106 .info_mac_2 = test_vector_6_info_mac_2, 8107 .info_mac_2_len = sizeof(test_vector_6_info_mac_2), 8108 8109 .mac_2_raw = test_vector_6_mac_2_raw, 8110 .mac_2_raw_len = sizeof(test_vector_6_mac_2_raw), 8111 8112 .mac_2 = test_vector_6_mac_2, 8113 .mac_2_len = sizeof(test_vector_6_mac_2), 8114 8115 .m_2 = NULL, 8116 .m_2_len = 0, 8117 8118 .sig_or_mac_2_raw = test_vector_6_sig_or_mac_2_raw, 8119 .sig_or_mac_2_raw_len = sizeof(test_vector_6_sig_or_mac_2_raw), 8120 8121 .sig_or_mac_2 = test_vector_6_sig_or_mac_2, 8122 .sig_or_mac_2_len = sizeof(test_vector_6_sig_or_mac_2), 8123 8124 .plaintext_2 = test_vector_6_plaintext_2, 8125 .plaintext_2_len = sizeof(test_vector_6_plaintext_2), 8126 8127 .info_keystream_2 = test_vector_6_info_keystream_2, 8128 .info_keystream_2_len = sizeof(test_vector_6_info_keystream_2), 8129 8130 .keystream_2_raw = test_vector_6_keystream_2_raw, 8131 .keystream_2_raw_len = sizeof(test_vector_6_keystream_2_raw), 8132 8133 .ciphertext_2_raw = test_vector_6_ciphertext_2_raw, 8134 .ciphertext_2_raw_len = sizeof(test_vector_6_ciphertext_2_raw), 8135 8136 .ciphertext_2 = test_vector_6_ciphertext_2, 8137 .ciphertext_2_len = sizeof(test_vector_6_ciphertext_2), 8138 8139 .message_2 = test_vector_6_message_2, 8140 .message_2_len = sizeof(test_vector_6_message_2), 8141 8142 .sk_i_raw = NULL, 8143 .sk_i_raw_len = 0, 8144 8145 .pk_i_raw = NULL, 8146 .pk_i_raw_len = 0, 8147 8148 .prk_4x3m_raw = NULL, 8149 .prk_4x3m_raw_len = 0, 8150 8151 .input_TH_3 = test_vector_6_input_TH_3, 8152 .input_TH_3_len = sizeof(test_vector_6_input_TH_3), 8153 8154 .th_3_raw = test_vector_6_th_3_raw, 8155 .th_3_raw_len = sizeof(test_vector_6_th_3_raw), 8156 8157 .th_3 = test_vector_6_th_3, 8158 .th_3_len = sizeof(test_vector_6_th_3), 8159 8160 .id_cred_i = test_vector_6_id_cred_i, 8161 .id_cred_i_len = sizeof(test_vector_6_id_cred_i), 8162 8163 .cred_i = test_vector_6_cred_i, 8164 .cred_i_len = sizeof(test_vector_6_cred_i), 8165 8166 .ead_3 = test_vector_6_ead_3, 8167 .ead_3_len = sizeof(test_vector_6_ead_3), 8168 8169 .info_mac_3 = test_vector_6_info_mac_3, 8170 .info_mac_3_len = sizeof(test_vector_6_info_mac_3), 8171 8172 .mac_3_raw = test_vector_6_mac_3_raw, 8173 .mac_3_raw_len = sizeof(test_vector_6_mac_3_raw), 8174 8175 .mac_3 = test_vector_6_mac_3, 8176 .mac_3_len = sizeof(test_vector_6_mac_3), 8177 8178 .m_3 = NULL, 8179 .m_3_len = 0, 8180 8181 .sig_or_mac_3_raw = test_vector_6_sig_or_mac_3_raw, 8182 .sig_or_mac_3_raw_len = sizeof(test_vector_6_sig_or_mac_3_raw), 8183 8184 .sig_or_mac_3 = test_vector_6_sig_or_mac_3, 8185 .sig_or_mac_3_len = sizeof(test_vector_6_sig_or_mac_3), 8186 8187 .p_3 = test_vector_6_p_3, 8188 .p_3_len = sizeof(test_vector_6_p_3), 8189 8190 .a_3 = test_vector_6_a_3, 8191 .a_3_len = sizeof(test_vector_6_a_3), 8192 8193 .info_k_3 = test_vector_6_info_k_3, 8194 .info_k_3_len = sizeof(test_vector_6_info_k_3), 8195 8196 .k_3_raw = test_vector_6_k_3_raw, 8197 .k_3_raw_len = sizeof(test_vector_6_k_3_raw), 8198 8199 .info_iv_3 = test_vector_6_info_iv_3, 8200 .info_iv_3_len = sizeof(test_vector_6_info_iv_3), 8201 8202 .iv_3_raw = test_vector_6_iv_3_raw, 8203 .iv_3_raw_len = sizeof(test_vector_6_iv_3_raw), 8204 8205 .ciphertext_3_raw = test_vector_6_ciphertext_3_raw, 8206 .ciphertext_3_raw_len = sizeof(test_vector_6_ciphertext_3_raw), 8207 8208 .ciphertext_3 = test_vector_6_ciphertext_3, 8209 .ciphertext_3_len = sizeof(test_vector_6_ciphertext_3), 8210 8211 .message_3 = test_vector_6_message_3, 8212 .message_3_len = sizeof(test_vector_6_message_3), 8213 8214 .input_th_4 = test_vector_6_input_th_4, 8215 .input_th_4_len = sizeof(test_vector_6_input_th_4), 8216 8217 .th_4_raw = test_vector_6_th_4_raw, 8218 .th_4_raw_len = sizeof(test_vector_6_th_4_raw), 8219 8220 .th_4 = test_vector_6_th_4, 8221 .th_4_len = sizeof(test_vector_6_th_4), 8222 8223 .ead_4 = test_vector_6_ead_4, 8224 .ead_4_len = sizeof(test_vector_6_ead_4), 8225 8226 .p_4 = test_vector_6_p_4, 8227 .p_4_len = sizeof(test_vector_6_p_4), 8228 8229 .a_4 = test_vector_6_a_4, 8230 .a_4_len = sizeof(test_vector_6_a_4), 8231 8232 .info_k_4 = test_vector_6_info_k_4, 8233 .info_k_4_len = sizeof(test_vector_6_info_k_4), 8234 8235 .k_4_raw = test_vector_6_k_4_raw, 8236 .k_4_raw_len = sizeof(test_vector_6_k_4_raw), 8237 8238 .info_iv_4 = test_vector_6_info_iv_4, 8239 .info_iv_4_len = sizeof(test_vector_6_info_iv_4), 8240 8241 .iv_4_raw = test_vector_6_iv_4_raw, 8242 .iv_4_raw_len = sizeof(test_vector_6_iv_4_raw), 8243 8244 .ciphertext_4_raw = test_vector_6_ciphertext_4_raw, 8245 .ciphertext_4_raw_len = sizeof(test_vector_6_ciphertext_4_raw), 8246 8247 .ciphertext_4 = test_vector_6_ciphertext_4, 8248 .ciphertext_4_len = sizeof(test_vector_6_ciphertext_4), 8249 8250 .message_4 = test_vector_6_message_4, 8251 .message_4_len = sizeof(test_vector_6_message_4), 8252 8253 .oscore_aead_alg = &test_vector_6_oscore_aead_alg, 8254 8255 .oscore_hash_alg = &test_vector_6_oscore_hash_alg, 8256 8257 .client_sender_id_raw = test_vector_6_client_sender_id_raw, 8258 .client_sender_id_raw_len = sizeof(test_vector_6_client_sender_id_raw), 8259 8260 .server_sender_id_raw = test_vector_6_server_sender_id_raw, 8261 .server_sender_id_raw_len = sizeof(test_vector_6_server_sender_id_raw), 8262 8263 .info_oscore_secret = test_vector_6_info_oscore_secret, 8264 .info_oscore_secret_len = sizeof(test_vector_6_info_oscore_secret), 8265 8266 .oscore_secret_raw = test_vector_6_oscore_secret_raw, 8267 .oscore_secret_raw_len = sizeof(test_vector_6_oscore_secret_raw), 8268 8269 .info_oscore_salt = test_vector_6_info_oscore_salt, 8270 .info_oscore_salt_len = sizeof(test_vector_6_info_oscore_salt), 8271 8272 .oscore_salt_raw = test_vector_6_oscore_salt_raw, 8273 .oscore_salt_raw_len = sizeof(test_vector_6_oscore_salt_raw), 8274 8275 .key_update_nonce_raw = NULL, 8276 .key_update_nonce_raw_len = 0, 8277 8278 .prk_4x3m_key_update_raw = NULL, 8279 .prk_4x3m_key_update_raw_len = 0, 8280 8281 .oscore_secret_key_update_raw = test_vector_6_oscore_secret_key_update_raw, 8282 .oscore_secret_key_update_raw_len = sizeof(test_vector_6_oscore_secret_key_update_raw), 8283 8284 .oscore_salt_key_update_raw = test_vector_6_oscore_salt_key_update_raw, 8285 .oscore_salt_key_update_raw_len = sizeof(test_vector_6_oscore_salt_key_update_raw), 8286 8287 .ca_r = test_vector_6_ca_r, 8288 .ca_r_len = sizeof(test_vector_6_ca_r), 8289 8290 .ca_i = NULL, 8291 .ca_i_len = 0, 8292 8293 .ca_r_pk = test_vector_6_ca_r_pk, 8294 .ca_r_pk_len = sizeof(test_vector_6_ca_r_pk), 8295 8296 .ca_i_pk = NULL, 8297 .ca_i_pk_len = 0, 8298 8299 .i_raw = test_vector_6_i_raw, 8300 .i_raw_len = sizeof(test_vector_6_i_raw), 8301 8302 .g_i_raw = test_vector_6_g_i_raw, 8303 .g_i_raw_len = sizeof(test_vector_6_g_i_raw), 8304 8305 .r_raw = test_vector_6_r_raw, 8306 .r_raw_len = sizeof(test_vector_6_r_raw), 8307 8308 .g_r_raw = test_vector_6_g_r_raw, 8309 .g_r_raw_len = sizeof(test_vector_6_g_r_raw), 8310 8311 .c_i_raw = NULL, 8312 .c_i_raw_len = 0, 8313 .c_i_raw_int = &test_vector_6_c_i_raw, 8314 8315 .c_r_raw = NULL, 8316 .c_r_raw_len = 0, 8317 .c_r_raw_int = &test_vector_6_c_r_raw, 8318 }, 8319 }; 8320