1 /*This is an automatically generated file!*/ 2 3 #include "edhoc.h" 4 #include <stdint.h> 5 #include <stdio.h> 6 #include <stdlib.h> 7 8 9 struct test_vector { 10 const uint8_t *method; 11 uint32_t method_len; 12 13 const uint8_t *SUITES_I; 14 uint32_t SUITES_I_len; 15 16 const uint8_t *SUITES_R; 17 uint32_t SUITES_R_len; 18 19 const uint8_t *x_raw; 20 uint32_t x_raw_len; 21 22 const uint8_t *g_x_raw; 23 uint32_t g_x_raw_len; 24 25 const uint8_t *g_x; 26 uint32_t g_x_len; 27 28 const uint8_t *c_i; 29 uint32_t c_i_len; 30 31 const uint8_t *ead_1; 32 uint32_t ead_1_len; 33 34 const uint8_t *message_1; 35 uint32_t message_1_len; 36 37 const uint8_t *y_raw; 38 uint32_t y_raw_len; 39 40 const uint8_t *g_y_raw; 41 uint32_t g_y_raw_len; 42 43 const uint8_t *g_y; 44 uint32_t g_y_len; 45 46 const uint8_t *g_xy_raw; 47 uint32_t g_xy_raw_len; 48 49 const uint8_t *salt_raw; 50 uint32_t salt_raw_len; 51 52 const uint8_t *prk_2e_raw; 53 uint32_t prk_2e_raw_len; 54 55 const uint8_t *sk_r_raw; 56 uint32_t sk_r_raw_len; 57 58 const uint8_t *pk_r_raw; 59 uint32_t pk_r_raw_len; 60 61 const uint8_t *prk_3e2m_raw; 62 uint32_t prk_3e2m_raw_len; 63 64 const uint8_t *c_r; 65 uint32_t c_r_len; 66 67 const uint8_t *h_message_1_raw; 68 uint32_t h_message_1_raw_len; 69 70 const uint8_t *h_message_1; 71 uint32_t h_message_1_len; 72 73 const uint8_t *input_th_2; 74 uint32_t input_th_2_len; 75 76 const uint8_t *th_2_raw; 77 uint32_t th_2_raw_len; 78 79 const uint8_t *th_2; 80 uint32_t th_2_len; 81 82 const uint8_t *id_cred_r; 83 uint32_t id_cred_r_len; 84 85 const uint8_t *cred_r; 86 uint32_t cred_r_len; 87 88 const uint8_t *ead_2; 89 uint32_t ead_2_len; 90 91 const uint8_t *info_mac_2; 92 uint32_t info_mac_2_len; 93 94 const uint8_t *mac_2_raw; 95 uint32_t mac_2_raw_len; 96 97 const uint8_t *mac_2; 98 uint32_t mac_2_len; 99 100 const uint8_t *m_2; 101 uint32_t m_2_len; 102 103 const uint8_t *sig_or_mac_2_raw; 104 uint32_t sig_or_mac_2_raw_len; 105 106 const uint8_t *sig_or_mac_2; 107 uint32_t sig_or_mac_2_len; 108 109 const uint8_t *plaintext_2; 110 uint32_t plaintext_2_len; 111 112 const uint8_t *info_keystream_2; 113 uint32_t info_keystream_2_len; 114 115 const uint8_t *keystream_2_raw; 116 uint32_t keystream_2_raw_len; 117 118 const uint8_t *ciphertext_2_raw; 119 uint32_t ciphertext_2_raw_len; 120 121 const uint8_t *ciphertext_2; 122 uint32_t ciphertext_2_len; 123 124 const uint8_t *message_2; 125 uint32_t message_2_len; 126 127 const uint8_t *sk_i_raw; 128 uint32_t sk_i_raw_len; 129 130 const uint8_t *pk_i_raw; 131 uint32_t pk_i_raw_len; 132 133 const uint8_t *prk_4x3m_raw; 134 uint32_t prk_4x3m_raw_len; 135 136 const uint8_t *input_TH_3; 137 uint32_t input_TH_3_len; 138 139 const uint8_t *th_3_raw; 140 uint32_t th_3_raw_len; 141 142 const uint8_t *th_3; 143 uint32_t th_3_len; 144 145 const uint8_t *id_cred_i; 146 uint32_t id_cred_i_len; 147 148 const uint8_t *cred_i; 149 uint32_t cred_i_len; 150 151 const uint8_t *ead_3; 152 uint32_t ead_3_len; 153 154 const uint8_t *info_mac_3; 155 uint32_t info_mac_3_len; 156 157 const uint8_t *mac_3_raw; 158 uint32_t mac_3_raw_len; 159 160 const uint8_t *mac_3; 161 uint32_t mac_3_len; 162 163 const uint8_t *m_3; 164 uint32_t m_3_len; 165 166 const uint8_t *sig_or_mac_3_raw; 167 uint32_t sig_or_mac_3_raw_len; 168 169 const uint8_t *sig_or_mac_3; 170 uint32_t sig_or_mac_3_len; 171 172 const uint8_t *p_3; 173 uint32_t p_3_len; 174 175 const uint8_t *a_3; 176 uint32_t a_3_len; 177 178 const uint8_t *info_k_3; 179 uint32_t info_k_3_len; 180 181 const uint8_t *k_3_raw; 182 uint32_t k_3_raw_len; 183 184 const uint8_t *info_iv_3; 185 uint32_t info_iv_3_len; 186 187 const uint8_t *iv_3_raw; 188 uint32_t iv_3_raw_len; 189 190 const uint8_t *ciphertext_3_raw; 191 uint32_t ciphertext_3_raw_len; 192 193 const uint8_t *ciphertext_3; 194 uint32_t ciphertext_3_len; 195 196 const uint8_t *message_3; 197 uint32_t message_3_len; 198 199 const uint8_t *input_th_4; 200 uint32_t input_th_4_len; 201 202 const uint8_t *th_4_raw; 203 uint32_t th_4_raw_len; 204 205 const uint8_t *th_4; 206 uint32_t th_4_len; 207 208 const uint8_t *ead_4; 209 uint32_t ead_4_len; 210 211 const uint8_t *p_4; 212 uint32_t p_4_len; 213 214 const uint8_t *a_4; 215 uint32_t a_4_len; 216 217 const uint8_t *info_k_4; 218 uint32_t info_k_4_len; 219 220 const uint8_t *k_4_raw; 221 uint32_t k_4_raw_len; 222 223 const uint8_t *info_iv_4; 224 uint32_t info_iv_4_len; 225 226 const uint8_t *iv_4_raw; 227 uint32_t iv_4_raw_len; 228 229 const uint8_t *ciphertext_4_raw; 230 uint32_t ciphertext_4_raw_len; 231 232 const uint8_t *ciphertext_4; 233 uint32_t ciphertext_4_len; 234 235 const uint8_t *message_4; 236 uint32_t message_4_len; 237 238 int32_t *oscore_aead_alg; 239 240 int32_t *oscore_hash_alg; 241 242 const uint8_t *client_sender_id_raw; 243 uint32_t client_sender_id_raw_len; 244 245 const uint8_t *server_sender_id_raw; 246 uint32_t server_sender_id_raw_len; 247 248 const uint8_t *info_oscore_secret; 249 uint32_t info_oscore_secret_len; 250 251 const uint8_t *oscore_secret_raw; 252 uint32_t oscore_secret_raw_len; 253 254 const uint8_t *info_oscore_salt; 255 uint32_t info_oscore_salt_len; 256 257 const uint8_t *oscore_salt_raw; 258 uint32_t oscore_salt_raw_len; 259 260 const uint8_t *key_update_nonce_raw; 261 uint32_t key_update_nonce_raw_len; 262 263 const uint8_t *prk_4x3m_key_update_raw; 264 uint32_t prk_4x3m_key_update_raw_len; 265 266 const uint8_t *oscore_secret_key_update_raw; 267 uint32_t oscore_secret_key_update_raw_len; 268 269 const uint8_t *oscore_salt_key_update_raw; 270 uint32_t oscore_salt_key_update_raw_len; 271 272 const uint8_t *ca_r; 273 uint32_t ca_r_len; 274 275 const uint8_t *ca_i; 276 uint32_t ca_i_len; 277 278 const uint8_t *ca_r_pk; 279 uint32_t ca_r_pk_len; 280 281 const uint8_t *ca_i_pk; 282 uint32_t ca_i_pk_len; 283 284 const uint8_t *i_raw; 285 uint32_t i_raw_len; 286 287 const uint8_t *g_i_raw; 288 uint32_t g_i_raw_len; 289 290 const uint8_t *r_raw; 291 uint32_t r_raw_len; 292 293 const uint8_t *g_r_raw; 294 uint32_t g_r_raw_len; 295 296 const uint8_t *c_i_raw; 297 uint32_t c_i_raw_len; 298 int32_t *c_i_raw_int; 299 300 const uint8_t *c_r_raw; 301 uint32_t c_r_raw_len; 302 int32_t *c_r_raw_int; 303 }; 304 305 306 /***************** test_vector_1 ************/ 307 308 static const uint8_t test_vector_1_method[] = { 309 0x00}; 310 static const uint8_t test_vector_1_SUITES_I[] = { 311 0x02}; 312 static const uint8_t test_vector_1_SUITES_R[] = { 313 0x02}; 314 static const uint8_t test_vector_1_x_raw[] = { 315 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 316 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 317 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 318 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 319 static const uint8_t test_vector_1_g_x_raw[] = { 320 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 321 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 322 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 323 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 324 static const uint8_t test_vector_1_g_x_raw_y_coordinate[] = { 325 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 326 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 327 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 328 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 329 static const uint8_t test_vector_1_g_x[] = { 330 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 331 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 332 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 333 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 334 0xc3, 0xb6}; 335 int32_t test_vector_1_c_i_raw = -24; 336 static const uint8_t test_vector_1_c_i[] = { 337 0x37}; 338 static const uint8_t test_vector_1_ead_1[] = { 339 }; 340 static const uint8_t test_vector_1_message_1[] = { 341 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 342 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 343 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 344 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 345 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 346 static const uint8_t test_vector_1_y_raw[] = { 347 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 348 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 349 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 350 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 351 static const uint8_t test_vector_1_g_y_raw[] = { 352 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 353 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 354 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 355 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 356 static const uint8_t test_vector_1_g_y_raw_y_coordinate[] = { 357 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 358 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 359 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 360 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 361 static const uint8_t test_vector_1_g_y[] = { 362 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 363 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 364 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 365 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 366 0xf5, 0xd5}; 367 static const uint8_t test_vector_1_g_xy_raw[] = { 368 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 369 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 370 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 371 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 372 static const uint8_t test_vector_1_salt_raw[] = { 373 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 375 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 377 static const uint8_t test_vector_1_prk_2e_raw[] = { 378 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 379 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 380 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 381 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 382 static const uint8_t test_vector_1_salt_3e2m[] = { 383 0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72, 384 0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38, 385 0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70, 386 0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7}; 387 static const uint8_t test_vector_1_sk_r_raw[] = { 388 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 389 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 390 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 391 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 392 static const uint8_t test_vector_1_pk_r_raw[] = { 393 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 394 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 395 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 396 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 397 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 398 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 399 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 400 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 401 0x72}; 402 static const uint8_t test_vector_1_prk_3e2m_raw[] = { 403 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 404 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 405 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 406 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 407 int32_t test_vector_1_c_r_raw = -8; 408 static const uint8_t test_vector_1_c_r[] = { 409 0x27}; 410 static const uint8_t test_vector_1_h_message_1_raw[] = { 411 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 412 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 413 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 414 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 415 static const uint8_t test_vector_1_h_message_1[] = { 416 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 417 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 418 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 419 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 420 0x67, 0x26}; 421 static const uint8_t test_vector_1_input_th_2[] = { 422 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 423 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 424 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 425 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 426 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 427 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 428 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 429 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 430 0x18, 0x2a, 0x4e, 0x67, 0x26}; 431 static const uint8_t test_vector_1_th_2_raw[] = { 432 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 433 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 434 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 435 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 436 static const uint8_t test_vector_1_th_2[] = { 437 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 438 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 439 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 440 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 441 0xab, 0xa6}; 442 static const uint8_t test_vector_1_id_cred_r[] = { 443 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 444 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 445 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 446 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 447 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 448 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 449 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 450 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 451 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 452 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 453 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 454 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 455 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 456 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 457 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 458 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 459 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 460 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 461 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 462 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 463 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 464 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 465 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 466 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 467 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 468 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 469 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 470 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 471 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 472 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 473 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 474 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 475 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 476 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 477 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 478 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 479 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58}; 480 static const uint8_t test_vector_1_cred_r[] = { 481 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 482 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 483 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 484 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 485 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 486 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 487 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 488 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 489 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 490 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 491 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 492 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 493 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 494 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 495 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 496 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 497 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 498 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 499 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 500 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 501 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 502 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 503 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 504 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 505 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 506 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 507 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 508 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 509 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 510 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 511 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 512 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 513 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 514 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 515 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 516 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 517 0x3b, 0x13, 0x3d, 0x05, 0x58}; 518 static const uint8_t test_vector_1_ca_r[] = { 519 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 520 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 521 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 522 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 523 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 524 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 525 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 526 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 527 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 528 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 529 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 530 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 531 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 532 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 533 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 534 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 535 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 536 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 537 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 538 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 539 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 540 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 541 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 542 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 543 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 544 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 545 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 546 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 547 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 548 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 549 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 550 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 551 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 552 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 553 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 554 0x13, 0x6b, 0xf3, 0x06}; 555 static const uint8_t test_vector_1_ca_r_pk[] = { 556 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 557 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 558 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 559 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 560 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 561 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 562 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 563 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 564 0x95}; 565 static const uint8_t test_vector_1_ead_2[] = { 566 }; 567 static const uint8_t test_vector_1_info_mac_2[] = { 568 0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59, 569 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 570 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 571 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 572 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 573 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 574 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 575 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 576 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 577 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 578 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 579 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 580 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 581 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 582 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 583 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 584 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 585 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 586 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 587 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 588 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 589 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 590 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 591 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 592 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 593 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 594 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 595 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 596 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 597 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 598 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 599 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 600 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 601 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 602 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 603 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 604 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 605 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xe9, 0x2b, 606 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 607 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 608 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 609 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 610 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 611 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 612 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 613 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 614 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 615 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 616 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 617 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 618 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 619 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 620 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 621 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 622 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 623 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 624 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 625 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 626 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 627 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 628 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 629 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 630 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 631 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 632 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 633 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 634 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 635 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 636 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 637 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 638 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 639 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 640 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 641 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 642 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 643 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 644 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 645 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 646 0x3d, 0x05, 0x58, 0x18, 0x20}; 647 static const uint8_t test_vector_1_mac_2_raw[] = { 648 0x24, 0x51, 0xe4, 0x35, 0x87, 0x13, 0x86, 0x88, 649 0x59, 0xd2, 0x16, 0x26, 0xd0, 0x06, 0xbd, 0xcd, 650 0xcb, 0x4e, 0x65, 0x61, 0x0b, 0x83, 0xd8, 0x00, 651 0xb1, 0x5f, 0x18, 0x20, 0xe4, 0x98, 0xc7, 0xce}; 652 static const uint8_t test_vector_1_mac_2[] = { 653 0x58, 0x20, 0x24, 0x51, 0xe4, 0x35, 0x87, 0x13, 654 0x86, 0x88, 0x59, 0xd2, 0x16, 0x26, 0xd0, 0x06, 655 0xbd, 0xcd, 0xcb, 0x4e, 0x65, 0x61, 0x0b, 0x83, 656 0xd8, 0x00, 0xb1, 0x5f, 0x18, 0x20, 0xe4, 0x98, 657 0xc7, 0xce}; 658 static const uint8_t test_vector_1_m_2[] = { 659 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 660 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 661 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 662 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 663 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 664 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 665 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 666 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 667 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 668 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 669 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 670 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 671 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 672 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 673 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 674 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 675 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 676 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 677 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 678 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 679 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 680 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 681 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 682 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 683 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 684 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 685 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 686 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 687 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 688 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 689 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 690 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 691 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 692 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 693 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 694 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 695 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 696 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 697 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59, 698 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 699 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 700 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 701 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 702 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30, 703 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 704 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 705 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 706 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 707 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 708 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 709 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 710 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 711 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 712 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 713 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 714 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 715 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 716 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 717 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 718 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 719 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 720 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 721 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 722 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 723 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 724 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 725 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 726 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 727 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 728 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 729 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 730 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 731 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 732 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 733 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 734 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 735 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 736 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 737 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 738 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 739 0x58, 0x58, 0x20, 0x24, 0x51, 0xe4, 0x35, 0x87, 740 0x13, 0x86, 0x88, 0x59, 0xd2, 0x16, 0x26, 0xd0, 741 0x06, 0xbd, 0xcd, 0xcb, 0x4e, 0x65, 0x61, 0x0b, 742 0x83, 0xd8, 0x00, 0xb1, 0x5f, 0x18, 0x20, 0xe4, 743 0x98, 0xc7, 0xce}; 744 static const uint8_t test_vector_1_sig_or_mac_2_raw[] = { 745 0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb, 0x1c, 0x5e, 746 0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19, 0x4a, 0x2a, 747 0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d, 0xa4, 0xeb, 748 0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0, 0x2d, 0xba, 749 0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb, 0x16, 0x89, 750 0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2, 0x3b, 0x4f, 751 0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5, 0x12, 0x34, 752 0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83, 0x9b, 0x0e}; 753 static const uint8_t test_vector_1_sig_or_mac_2[] = { 754 0x58, 0x40, 0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb, 755 0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19, 756 0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d, 757 0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0, 758 0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb, 759 0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2, 760 0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5, 761 0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83, 762 0x9b, 0x0e}; 763 static const uint8_t test_vector_1_plaintext_2[] = { 764 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 765 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 766 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 767 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 768 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 769 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 770 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 771 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 772 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 773 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 774 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 775 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 776 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 777 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 778 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 779 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 780 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 781 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 782 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 783 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 784 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 785 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 786 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 787 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 788 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 789 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 790 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 791 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 792 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 793 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 794 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 795 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 796 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 797 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 798 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 799 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 800 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 801 0x58, 0x40, 0x4a, 0x2f, 0x67, 0xd1, 0xf1, 0xfb, 802 0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7, 0x78, 0x19, 803 0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4, 0x88, 0x9d, 804 0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10, 0xee, 0xb0, 805 0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12, 0xfe, 0xeb, 806 0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a, 0x90, 0xc2, 807 0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25, 0x46, 0xc5, 808 0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23, 0x12, 0x83, 809 0x9b, 0x0e}; 810 static const uint8_t test_vector_1_info_keystream_2[] = { 811 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 812 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 813 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 814 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 815 0xfb, 0xab, 0xa6, 0x19, 0x01, 0x6a}; 816 static const uint8_t test_vector_1_keystream_2_raw[] = { 817 0x90, 0x9c, 0x6e, 0x2f, 0x1f, 0x1a, 0x32, 0xd6, 818 0x4f, 0x38, 0x66, 0x85, 0xec, 0x87, 0xaa, 0x46, 819 0x77, 0x64, 0x39, 0x60, 0x30, 0xd3, 0xaa, 0x88, 820 0x21, 0x33, 0x2b, 0x35, 0x4b, 0xa0, 0x4f, 0x62, 821 0x1d, 0x8c, 0xc1, 0x0a, 0x93, 0x97, 0x99, 0x7e, 822 0x7c, 0x67, 0x91, 0xfd, 0xcf, 0xbc, 0xf7, 0xa7, 823 0xdc, 0x17, 0x28, 0xd2, 0x26, 0x48, 0x6f, 0x44, 824 0x2e, 0xb4, 0x2a, 0xa8, 0xe0, 0xb8, 0x85, 0x56, 825 0xbb, 0xdd, 0x60, 0xbd, 0xc9, 0x2f, 0x34, 0xcc, 826 0x9c, 0x41, 0xd3, 0xff, 0x9d, 0xb2, 0xd2, 0x12, 827 0x88, 0xb2, 0x07, 0xae, 0x2b, 0x26, 0x83, 0x61, 828 0xeb, 0x86, 0x5a, 0x8f, 0xe2, 0x65, 0xcb, 0x8d, 829 0x68, 0xec, 0x2f, 0x9a, 0x46, 0x7a, 0xd9, 0x83, 830 0xc9, 0x2e, 0x14, 0x18, 0x02, 0xea, 0x75, 0x51, 831 0xce, 0x32, 0xae, 0x35, 0x5b, 0xce, 0x7d, 0xb7, 832 0x35, 0x15, 0xb8, 0x56, 0x7a, 0xf3, 0x74, 0x27, 833 0xda, 0xec, 0x18, 0x86, 0x53, 0x03, 0xc3, 0xac, 834 0xfc, 0x5c, 0xd8, 0x56, 0xc7, 0xd0, 0x77, 0x22, 835 0x65, 0x26, 0xfa, 0x11, 0x89, 0xea, 0x17, 0x62, 836 0x97, 0xfa, 0x21, 0x0a, 0xde, 0x76, 0x65, 0x2c, 837 0xee, 0xc9, 0x7f, 0x75, 0x9c, 0xfc, 0xc5, 0x02, 838 0x45, 0x59, 0xf7, 0x41, 0xc6, 0xfb, 0x6a, 0x20, 839 0x5c, 0x7a, 0x40, 0x55, 0xb8, 0x75, 0x6c, 0x43, 840 0x54, 0x8e, 0xf2, 0xfa, 0x74, 0x0e, 0xf4, 0x1b, 841 0x19, 0xec, 0xaa, 0xc0, 0xfc, 0x25, 0xd1, 0x47, 842 0xeb, 0x65, 0xda, 0x41, 0xa4, 0x89, 0xbc, 0xf5, 843 0x07, 0x3c, 0xba, 0xf4, 0x87, 0xa0, 0xc9, 0xfd, 844 0x69, 0x8b, 0xcc, 0x99, 0xeb, 0x2a, 0xb1, 0x14, 845 0x8a, 0x8f, 0x7c, 0xb4, 0x06, 0xd2, 0x31, 0x0c, 846 0xa3, 0x39, 0x35, 0x19, 0xb9, 0x18, 0x5a, 0xec, 847 0xee, 0xa6, 0xb8, 0x0c, 0x5d, 0x40, 0x41, 0xd5, 848 0xbf, 0xfa, 0x14, 0x5b, 0x05, 0xa4, 0x4c, 0xa8, 849 0x03, 0x6a, 0x33, 0x3b, 0xde, 0x29, 0x7d, 0x28, 850 0x82, 0x7f, 0x00, 0xe8, 0xe4, 0x00, 0xac, 0xa9, 851 0x69, 0x53, 0xc6, 0x0d, 0xed, 0xe4, 0xdd, 0xf0, 852 0x57, 0x77, 0xa8, 0xdf, 0x88, 0x44, 0x38, 0xf7, 853 0xd5, 0x73, 0x33, 0x2f, 0x08, 0x1e, 0x11, 0xe8, 854 0x87, 0x42, 0x20, 0x84, 0xc2, 0x86, 0x7b, 0x70, 855 0x1f, 0xfb, 0x87, 0xab, 0xa0, 0x83, 0x04, 0x0c, 856 0x28, 0x96, 0x97, 0x1e, 0x93, 0xbb, 0x45, 0x40, 857 0xbf, 0x32, 0x21, 0x64, 0xf1, 0x39, 0xb6, 0x73, 858 0x65, 0x54, 0x60, 0x2c, 0x09, 0xd7, 0x8c, 0x03, 859 0xe8, 0xc1, 0xd2, 0xfb, 0xf3, 0x0a, 0xcc, 0x7e, 860 0xae, 0x55, 0x5d, 0x57, 0x8a, 0x2d, 0x76, 0x2a, 861 0x71, 0x64, 0x3b, 0x7c, 0xd6, 0xf8, 0x95, 0x34, 862 0x21, 0xe8}; 863 static const uint8_t test_vector_1_ciphertext_2_raw[] = { 864 0x31, 0x84, 0x4f, 0x76, 0x1e, 0x38, 0x02, 0x54, 865 0x4e, 0x26, 0x56, 0x04, 0x29, 0x27, 0xa9, 0x44, 866 0x76, 0x66, 0x3b, 0x64, 0x51, 0x3a, 0x32, 0x96, 867 0x11, 0x39, 0x2d, 0x3d, 0x61, 0x26, 0x07, 0xac, 868 0x20, 0x88, 0xc2, 0x08, 0xa3, 0x82, 0xa8, 0x6d, 869 0x4c, 0x76, 0x97, 0xfe, 0x9a, 0xb8, 0xf4, 0xab, 870 0xd6, 0x52, 0x6c, 0x9a, 0x69, 0x0b, 0x4f, 0x16, 871 0x41, 0xdb, 0x5e, 0x98, 0xfe, 0xaf, 0x88, 0x64, 872 0x89, 0xed, 0x51, 0x8f, 0xf9, 0x1e, 0x03, 0xfd, 873 0xaf, 0x71, 0xe1, 0xa5, 0x8a, 0xbf, 0xe0, 0x2b, 874 0xb9, 0x80, 0x34, 0x9f, 0x19, 0x15, 0xb3, 0x51, 875 0xdb, 0xb6, 0x00, 0xbf, 0xf8, 0x54, 0xd3, 0xbd, 876 0x7e, 0xea, 0x2c, 0xcf, 0x42, 0x79, 0xd5, 0x8c, 877 0x8c, 0x6a, 0x5c, 0x57, 0x41, 0xca, 0x27, 0x34, 878 0xbd, 0x42, 0xc1, 0x5b, 0x3f, 0xab, 0x0f, 0x87, 879 0x6c, 0x25, 0xab, 0x50, 0x7d, 0xd9, 0xf2, 0x6f, 880 0x14, 0xd1, 0x1a, 0x87, 0x55, 0x0b, 0xe9, 0x2a, 881 0xb4, 0x92, 0xe5, 0x55, 0xc6, 0xd7, 0x74, 0x60, 882 0x65, 0x22, 0x41, 0xd2, 0xc0, 0x8a, 0x45, 0x0c, 883 0x33, 0x29, 0x0f, 0x9e, 0xd2, 0xdb, 0x4f, 0x0f, 884 0xaf, 0x81, 0xa2, 0xb7, 0x8b, 0x6d, 0x64, 0x28, 885 0xbe, 0x92, 0x5b, 0xd2, 0xa4, 0xdb, 0x2c, 0xfd, 886 0x18, 0x8a, 0x05, 0x4c, 0x5a, 0x22, 0x4f, 0x28, 887 0x7e, 0x82, 0x10, 0xf8, 0x4b, 0x07, 0xc5, 0xea, 888 0xea, 0x6a, 0x60, 0xba, 0x01, 0x83, 0x9e, 0x8a, 889 0x0b, 0x75, 0x56, 0x63, 0xe8, 0xd8, 0x56, 0x4a, 890 0x67, 0x4e, 0x8a, 0xfe, 0x81, 0xa8, 0xe3, 0x7b, 891 0x21, 0x45, 0xf1, 0x9d, 0xe8, 0x28, 0xb2, 0x5c, 892 0x8a, 0xbf, 0x39, 0xb6, 0x26, 0xe2, 0x28, 0x42, 893 0x56, 0xc5, 0x50, 0xd1, 0x0e, 0x8d, 0x97, 0x21, 894 0xe5, 0x12, 0x89, 0xb3, 0xde, 0xae, 0x26, 0x94, 895 0x7e, 0xcd, 0x18, 0x79, 0xcd, 0x4f, 0xc2, 0x41, 896 0xee, 0xb8, 0x94, 0x3e, 0xc7, 0x2b, 0x5c, 0x28, 897 0x37, 0xfc, 0x0e, 0x74, 0x6d, 0xa6, 0x86, 0x6e, 898 0x55, 0xb2, 0x2d, 0xc3, 0xed, 0x85, 0xad, 0x8d, 899 0xef, 0xdf, 0x26, 0xfc, 0xf8, 0xdf, 0x72, 0x3b, 900 0x8d, 0xd2, 0x02, 0x14, 0x1b, 0x23, 0x14, 0xb0, 901 0xdf, 0x02, 0x6a, 0xab, 0xa5, 0x57, 0x8a, 0x8b, 902 0x03, 0xa5, 0xe0, 0x16, 0x90, 0x44, 0x7c, 0x15, 903 0x62, 0xbc, 0xe7, 0xa1, 0x14, 0x7f, 0xcd, 0xdd, 904 0x1b, 0xd9, 0x4f, 0x9a, 0x6c, 0x29, 0x58, 0xc3, 905 0x48, 0xee, 0x1b, 0xfb, 0xac, 0xc5, 0x72, 0xe8, 906 0xfe, 0x48, 0x96, 0xb3, 0xf8, 0x90, 0x5c, 0xbc, 907 0x95, 0x1a, 0x01, 0x72, 0xf8, 0x08, 0x30, 0xef, 908 0x63, 0x50, 0x14, 0xca, 0x71, 0xdb, 0x87, 0xb7, 909 0xba, 0xe6}; 910 static const uint8_t test_vector_1_ciphertext_2[] = { 911 0x59, 0x01, 0x6a, 0x31, 0x84, 0x4f, 0x76, 0x1e, 912 0x38, 0x02, 0x54, 0x4e, 0x26, 0x56, 0x04, 0x29, 913 0x27, 0xa9, 0x44, 0x76, 0x66, 0x3b, 0x64, 0x51, 914 0x3a, 0x32, 0x96, 0x11, 0x39, 0x2d, 0x3d, 0x61, 915 0x26, 0x07, 0xac, 0x20, 0x88, 0xc2, 0x08, 0xa3, 916 0x82, 0xa8, 0x6d, 0x4c, 0x76, 0x97, 0xfe, 0x9a, 917 0xb8, 0xf4, 0xab, 0xd6, 0x52, 0x6c, 0x9a, 0x69, 918 0x0b, 0x4f, 0x16, 0x41, 0xdb, 0x5e, 0x98, 0xfe, 919 0xaf, 0x88, 0x64, 0x89, 0xed, 0x51, 0x8f, 0xf9, 920 0x1e, 0x03, 0xfd, 0xaf, 0x71, 0xe1, 0xa5, 0x8a, 921 0xbf, 0xe0, 0x2b, 0xb9, 0x80, 0x34, 0x9f, 0x19, 922 0x15, 0xb3, 0x51, 0xdb, 0xb6, 0x00, 0xbf, 0xf8, 923 0x54, 0xd3, 0xbd, 0x7e, 0xea, 0x2c, 0xcf, 0x42, 924 0x79, 0xd5, 0x8c, 0x8c, 0x6a, 0x5c, 0x57, 0x41, 925 0xca, 0x27, 0x34, 0xbd, 0x42, 0xc1, 0x5b, 0x3f, 926 0xab, 0x0f, 0x87, 0x6c, 0x25, 0xab, 0x50, 0x7d, 927 0xd9, 0xf2, 0x6f, 0x14, 0xd1, 0x1a, 0x87, 0x55, 928 0x0b, 0xe9, 0x2a, 0xb4, 0x92, 0xe5, 0x55, 0xc6, 929 0xd7, 0x74, 0x60, 0x65, 0x22, 0x41, 0xd2, 0xc0, 930 0x8a, 0x45, 0x0c, 0x33, 0x29, 0x0f, 0x9e, 0xd2, 931 0xdb, 0x4f, 0x0f, 0xaf, 0x81, 0xa2, 0xb7, 0x8b, 932 0x6d, 0x64, 0x28, 0xbe, 0x92, 0x5b, 0xd2, 0xa4, 933 0xdb, 0x2c, 0xfd, 0x18, 0x8a, 0x05, 0x4c, 0x5a, 934 0x22, 0x4f, 0x28, 0x7e, 0x82, 0x10, 0xf8, 0x4b, 935 0x07, 0xc5, 0xea, 0xea, 0x6a, 0x60, 0xba, 0x01, 936 0x83, 0x9e, 0x8a, 0x0b, 0x75, 0x56, 0x63, 0xe8, 937 0xd8, 0x56, 0x4a, 0x67, 0x4e, 0x8a, 0xfe, 0x81, 938 0xa8, 0xe3, 0x7b, 0x21, 0x45, 0xf1, 0x9d, 0xe8, 939 0x28, 0xb2, 0x5c, 0x8a, 0xbf, 0x39, 0xb6, 0x26, 940 0xe2, 0x28, 0x42, 0x56, 0xc5, 0x50, 0xd1, 0x0e, 941 0x8d, 0x97, 0x21, 0xe5, 0x12, 0x89, 0xb3, 0xde, 942 0xae, 0x26, 0x94, 0x7e, 0xcd, 0x18, 0x79, 0xcd, 943 0x4f, 0xc2, 0x41, 0xee, 0xb8, 0x94, 0x3e, 0xc7, 944 0x2b, 0x5c, 0x28, 0x37, 0xfc, 0x0e, 0x74, 0x6d, 945 0xa6, 0x86, 0x6e, 0x55, 0xb2, 0x2d, 0xc3, 0xed, 946 0x85, 0xad, 0x8d, 0xef, 0xdf, 0x26, 0xfc, 0xf8, 947 0xdf, 0x72, 0x3b, 0x8d, 0xd2, 0x02, 0x14, 0x1b, 948 0x23, 0x14, 0xb0, 0xdf, 0x02, 0x6a, 0xab, 0xa5, 949 0x57, 0x8a, 0x8b, 0x03, 0xa5, 0xe0, 0x16, 0x90, 950 0x44, 0x7c, 0x15, 0x62, 0xbc, 0xe7, 0xa1, 0x14, 951 0x7f, 0xcd, 0xdd, 0x1b, 0xd9, 0x4f, 0x9a, 0x6c, 952 0x29, 0x58, 0xc3, 0x48, 0xee, 0x1b, 0xfb, 0xac, 953 0xc5, 0x72, 0xe8, 0xfe, 0x48, 0x96, 0xb3, 0xf8, 954 0x90, 0x5c, 0xbc, 0x95, 0x1a, 0x01, 0x72, 0xf8, 955 0x08, 0x30, 0xef, 0x63, 0x50, 0x14, 0xca, 0x71, 956 0xdb, 0x87, 0xb7, 0xba, 0xe6}; 957 static const uint8_t test_vector_1_message_2[] = { 958 0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 959 0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 960 0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 961 0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 962 0x4f, 0xf5, 0xd5, 0x31, 0x84, 0x4f, 0x76, 0x1e, 963 0x38, 0x02, 0x54, 0x4e, 0x26, 0x56, 0x04, 0x29, 964 0x27, 0xa9, 0x44, 0x76, 0x66, 0x3b, 0x64, 0x51, 965 0x3a, 0x32, 0x96, 0x11, 0x39, 0x2d, 0x3d, 0x61, 966 0x26, 0x07, 0xac, 0x20, 0x88, 0xc2, 0x08, 0xa3, 967 0x82, 0xa8, 0x6d, 0x4c, 0x76, 0x97, 0xfe, 0x9a, 968 0xb8, 0xf4, 0xab, 0xd6, 0x52, 0x6c, 0x9a, 0x69, 969 0x0b, 0x4f, 0x16, 0x41, 0xdb, 0x5e, 0x98, 0xfe, 970 0xaf, 0x88, 0x64, 0x89, 0xed, 0x51, 0x8f, 0xf9, 971 0x1e, 0x03, 0xfd, 0xaf, 0x71, 0xe1, 0xa5, 0x8a, 972 0xbf, 0xe0, 0x2b, 0xb9, 0x80, 0x34, 0x9f, 0x19, 973 0x15, 0xb3, 0x51, 0xdb, 0xb6, 0x00, 0xbf, 0xf8, 974 0x54, 0xd3, 0xbd, 0x7e, 0xea, 0x2c, 0xcf, 0x42, 975 0x79, 0xd5, 0x8c, 0x8c, 0x6a, 0x5c, 0x57, 0x41, 976 0xca, 0x27, 0x34, 0xbd, 0x42, 0xc1, 0x5b, 0x3f, 977 0xab, 0x0f, 0x87, 0x6c, 0x25, 0xab, 0x50, 0x7d, 978 0xd9, 0xf2, 0x6f, 0x14, 0xd1, 0x1a, 0x87, 0x55, 979 0x0b, 0xe9, 0x2a, 0xb4, 0x92, 0xe5, 0x55, 0xc6, 980 0xd7, 0x74, 0x60, 0x65, 0x22, 0x41, 0xd2, 0xc0, 981 0x8a, 0x45, 0x0c, 0x33, 0x29, 0x0f, 0x9e, 0xd2, 982 0xdb, 0x4f, 0x0f, 0xaf, 0x81, 0xa2, 0xb7, 0x8b, 983 0x6d, 0x64, 0x28, 0xbe, 0x92, 0x5b, 0xd2, 0xa4, 984 0xdb, 0x2c, 0xfd, 0x18, 0x8a, 0x05, 0x4c, 0x5a, 985 0x22, 0x4f, 0x28, 0x7e, 0x82, 0x10, 0xf8, 0x4b, 986 0x07, 0xc5, 0xea, 0xea, 0x6a, 0x60, 0xba, 0x01, 987 0x83, 0x9e, 0x8a, 0x0b, 0x75, 0x56, 0x63, 0xe8, 988 0xd8, 0x56, 0x4a, 0x67, 0x4e, 0x8a, 0xfe, 0x81, 989 0xa8, 0xe3, 0x7b, 0x21, 0x45, 0xf1, 0x9d, 0xe8, 990 0x28, 0xb2, 0x5c, 0x8a, 0xbf, 0x39, 0xb6, 0x26, 991 0xe2, 0x28, 0x42, 0x56, 0xc5, 0x50, 0xd1, 0x0e, 992 0x8d, 0x97, 0x21, 0xe5, 0x12, 0x89, 0xb3, 0xde, 993 0xae, 0x26, 0x94, 0x7e, 0xcd, 0x18, 0x79, 0xcd, 994 0x4f, 0xc2, 0x41, 0xee, 0xb8, 0x94, 0x3e, 0xc7, 995 0x2b, 0x5c, 0x28, 0x37, 0xfc, 0x0e, 0x74, 0x6d, 996 0xa6, 0x86, 0x6e, 0x55, 0xb2, 0x2d, 0xc3, 0xed, 997 0x85, 0xad, 0x8d, 0xef, 0xdf, 0x26, 0xfc, 0xf8, 998 0xdf, 0x72, 0x3b, 0x8d, 0xd2, 0x02, 0x14, 0x1b, 999 0x23, 0x14, 0xb0, 0xdf, 0x02, 0x6a, 0xab, 0xa5, 1000 0x57, 0x8a, 0x8b, 0x03, 0xa5, 0xe0, 0x16, 0x90, 1001 0x44, 0x7c, 0x15, 0x62, 0xbc, 0xe7, 0xa1, 0x14, 1002 0x7f, 0xcd, 0xdd, 0x1b, 0xd9, 0x4f, 0x9a, 0x6c, 1003 0x29, 0x58, 0xc3, 0x48, 0xee, 0x1b, 0xfb, 0xac, 1004 0xc5, 0x72, 0xe8, 0xfe, 0x48, 0x96, 0xb3, 0xf8, 1005 0x90, 0x5c, 0xbc, 0x95, 0x1a, 0x01, 0x72, 0xf8, 1006 0x08, 0x30, 0xef, 0x63, 0x50, 0x14, 0xca, 0x71, 1007 0xdb, 0x87, 0xb7, 0xba, 0xe6, 0x27}; 1008 static const uint8_t test_vector_1_sk_i_raw[] = { 1009 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 1010 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 1011 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 1012 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 1013 static const uint8_t test_vector_1_pk_i_raw[] = { 1014 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 1015 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 1016 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 1017 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 1018 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 1019 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 1020 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 1021 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 1022 0xc8}; 1023 static const uint8_t test_vector_1_salt_4e3m[] = { 1024 0x13, 0x2a, 0x7d, 0xd7, 0x0b, 0x7f, 0xf9, 0xb5, 1025 0x1d, 0xdc, 0xc3, 0xf9, 0x81, 0xe2, 0xfe, 0x57, 1026 0xbb, 0xe6, 0x13, 0x38, 0xab, 0x71, 0x57, 0x54, 1027 0x23, 0x18, 0xef, 0x0c, 0x56, 0x45, 0x1e, 0xe0}; 1028 static const uint8_t test_vector_1_prk_4e3m_raw[] = { 1029 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 1030 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 1031 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 1032 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 1033 static const uint8_t test_vector_1_input_TH_3[] = { 1034 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 1035 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 1036 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 1037 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 1038 0xab, 0xa6, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 1039 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 1040 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 1041 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1042 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1043 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1044 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1045 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1046 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 1047 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 1048 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1049 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 1050 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 1051 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1052 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 1053 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 1054 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 1055 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 1056 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 1057 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 1058 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 1059 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 1060 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 1061 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 1062 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 1063 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 1064 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 1065 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1066 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 1067 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 1068 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 1069 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 1070 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 1071 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 1072 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 1073 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 1074 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 1075 0x05, 0x58, 0x58, 0x40, 0x4a, 0x2f, 0x67, 0xd1, 1076 0xf1, 0xfb, 0x1c, 0x5e, 0x67, 0xbd, 0x30, 0xc7, 1077 0x78, 0x19, 0x4a, 0x2a, 0x70, 0xbf, 0x87, 0xc4, 1078 0x88, 0x9d, 0xa4, 0xeb, 0x6e, 0xfe, 0x9d, 0x10, 1079 0xee, 0xb0, 0x2d, 0xba, 0x7b, 0xd7, 0xa5, 0x12, 1080 0xfe, 0xeb, 0x16, 0x89, 0x44, 0x48, 0x0b, 0x9a, 1081 0x90, 0xc2, 0x3b, 0x4f, 0x5c, 0x25, 0x72, 0x25, 1082 0x46, 0xc5, 0x12, 0x34, 0x2f, 0xb6, 0xa7, 0x23, 1083 0x12, 0x83, 0x9b, 0x0e}; 1084 static const uint8_t test_vector_1_th_3_raw[] = { 1085 0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac, 0xae, 0xd5, 1086 0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f, 0x38, 0x2e, 1087 0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff, 0x6d, 0x9b, 1088 0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43, 0x22, 0xae}; 1089 static const uint8_t test_vector_1_th_3[] = { 1090 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac, 1091 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f, 1092 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff, 1093 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43, 1094 0x22, 0xae}; 1095 static const uint8_t test_vector_1_id_cred_i[] = { 1096 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 1097 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 1098 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 1099 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 1100 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 1101 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1102 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 1103 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 1104 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 1105 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 1106 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 1107 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 1108 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 1109 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 1110 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 1111 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 1112 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 1113 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 1114 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 1115 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 1116 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 1117 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 1118 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 1119 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 1120 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 1121 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 1122 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1123 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 1124 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 1125 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 1126 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 1127 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 1128 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 1129 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 1130 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 1131 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 1132 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 1133 static const uint8_t test_vector_1_cred_i[] = { 1134 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 1135 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 1136 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 1137 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1138 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 1139 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 1140 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 1141 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 1142 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 1143 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 1144 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 1145 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 1146 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 1147 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 1148 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 1149 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1150 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1151 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 1152 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 1153 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 1154 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 1155 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 1156 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 1157 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 1158 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 1159 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 1160 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1161 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 1162 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 1163 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 1164 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 1165 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 1166 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 1167 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 1168 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 1169 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 1170 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 1171 static const uint8_t test_vector_1_ca_i[] = { 1172 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 1173 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 1174 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1175 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1176 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1177 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1178 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1179 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 1180 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 1181 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1182 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 1183 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1184 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1185 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 1186 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1187 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1188 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 1189 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 1190 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 1191 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 1192 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 1193 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 1194 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 1195 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 1196 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 1197 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1198 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 1199 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 1200 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 1201 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 1202 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 1203 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 1204 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 1205 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 1206 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 1207 0x13, 0x6b, 0xf3, 0x06}; 1208 static const uint8_t test_vector_1_ca_i_pk[] = { 1209 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 1210 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 1211 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 1212 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 1213 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 1214 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 1215 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 1216 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 1217 0x95}; 1218 static const uint8_t test_vector_1_ead_3[] = { 1219 }; 1220 static const uint8_t test_vector_1_info_mac_3[] = { 1221 0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x21, 0x59, 1222 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 1223 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 1224 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 1225 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1226 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 1227 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 1228 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 1229 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 1230 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 1231 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 1232 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 1233 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 1234 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 1235 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 1236 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 1237 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 1238 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 1239 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 1240 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 1241 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 1242 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 1243 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 1244 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 1245 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 1246 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 1247 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 1248 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 1249 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 1250 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 1251 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 1252 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 1253 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 1254 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 1255 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 1256 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 1257 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 1258 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x69, 0x72, 1259 0xb5, 0x9a, 0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf, 1260 0xa4, 0x27, 0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80, 1261 0xbc, 0xec, 0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30, 1262 0xc1, 0xab, 0x7d, 0x43, 0x22, 0xae, 0x59, 0x01, 1263 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 1264 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 1265 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1266 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 1267 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 1268 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 1269 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 1270 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 1271 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 1272 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 1273 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 1274 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 1275 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 1276 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 1277 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 1278 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 1279 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 1280 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 1281 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 1282 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 1283 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 1284 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 1285 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 1286 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 1287 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 1288 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 1289 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1290 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 1291 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 1292 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 1293 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 1294 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 1295 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 1296 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 1297 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 1298 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 1299 0xa2, 0xbe, 0xde, 0x18, 0x20}; 1300 static const uint8_t test_vector_1_mac_3_raw[] = { 1301 0x6b, 0xe7, 0x80, 0xbc, 0xd6, 0x3b, 0xbf, 0x70, 1302 0xd9, 0x2b, 0xb1, 0xd6, 0xc8, 0xcd, 0x3a, 0xc3, 1303 0xde, 0xad, 0x54, 0xb7, 0x49, 0x2a, 0x0c, 0xbf, 1304 0x2c, 0x50, 0x09, 0x1e, 0x1d, 0xea, 0xc8, 0x93}; 1305 static const uint8_t test_vector_1_mac_3[] = { 1306 0x58, 0x20, 0x6b, 0xe7, 0x80, 0xbc, 0xd6, 0x3b, 1307 0xbf, 0x70, 0xd9, 0x2b, 0xb1, 0xd6, 0xc8, 0xcd, 1308 0x3a, 0xc3, 0xde, 0xad, 0x54, 0xb7, 0x49, 0x2a, 1309 0x0c, 0xbf, 0x2c, 0x50, 0x09, 0x1e, 0x1d, 0xea, 1310 0xc8, 0x93}; 1311 static const uint8_t test_vector_1_m_3[] = { 1312 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 1313 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 1314 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 1315 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 1316 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 1317 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1318 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 1319 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 1320 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 1321 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 1322 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 1323 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 1324 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 1325 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 1326 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 1327 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 1328 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 1329 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 1330 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 1331 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 1332 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 1333 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 1334 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 1335 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 1336 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 1337 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 1338 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 1339 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 1340 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1341 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 1342 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 1343 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 1344 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 1345 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 1346 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 1347 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 1348 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 1349 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 1350 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59, 1351 0x01, 0x47, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 1352 0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 1353 0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 1354 0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 1355 0x7d, 0x43, 0x22, 0xae, 0x59, 0x01, 0x22, 0x30, 1356 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 1357 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 1358 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 1359 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 1360 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1361 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1362 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 1363 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 1364 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 1365 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 1366 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 1367 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1368 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 1369 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 1370 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 1371 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 1372 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 1373 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 1374 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 1375 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 1376 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 1377 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 1378 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 1379 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 1380 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 1381 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 1382 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 1383 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 1384 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 1385 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 1386 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 1387 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 1388 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 1389 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 1390 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 1391 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 1392 0xde, 0x58, 0x20, 0x6b, 0xe7, 0x80, 0xbc, 0xd6, 1393 0x3b, 0xbf, 0x70, 0xd9, 0x2b, 0xb1, 0xd6, 0xc8, 1394 0xcd, 0x3a, 0xc3, 0xde, 0xad, 0x54, 0xb7, 0x49, 1395 0x2a, 0x0c, 0xbf, 0x2c, 0x50, 0x09, 0x1e, 0x1d, 1396 0xea, 0xc8, 0x93}; 1397 static const uint8_t test_vector_1_sig_or_mac_3_raw[] = { 1398 0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6, 0x37, 0xe1, 1399 0xb1, 0x60, 0xca, 0x81, 0x48, 0x15, 0x8c, 0x2a, 1400 0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f, 0xfd, 0x23, 1401 0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d, 0xfe, 0x71, 1402 0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46, 0x64, 0x58, 1403 0x45, 0xbd, 0x62, 0xff, 0xce, 0x18, 0xda, 0x14, 1404 0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2, 0xdd, 0x8b, 1405 0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f, 0xb7, 0x40}; 1406 static const uint8_t test_vector_1_sig_or_mac_3[] = { 1407 0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6, 1408 0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81, 0x48, 0x15, 1409 0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f, 1410 0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d, 1411 0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46, 1412 0x64, 0x58, 0x45, 0xbd, 0x62, 0xff, 0xce, 0x18, 1413 0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2, 1414 0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f, 1415 0xb7, 0x40}; 1416 static const uint8_t test_vector_1_p_3[] = { 1417 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 0x30, 0x82, 1418 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 1419 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 1420 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 1421 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 1422 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 1423 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 1424 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 1425 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 1426 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 1427 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 1428 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 1429 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 1430 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 1431 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 1432 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 1433 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 1434 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 1435 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 1436 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 1437 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 1438 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 1439 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 1440 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 1441 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 1442 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 1443 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1444 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 1445 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 1446 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 1447 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 1448 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 1449 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 1450 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 1451 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 1452 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 1453 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 1454 0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98, 0x79, 0xd6, 1455 0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81, 0x48, 0x15, 1456 0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58, 0x4c, 0x9f, 1457 0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30, 0xb7, 0x8d, 1458 0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78, 0xb3, 0x46, 1459 0x64, 0x58, 0x45, 0xbd, 0x62, 0xff, 0xce, 0x18, 1460 0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e, 0x1b, 0xc2, 1461 0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62, 0x1c, 0x9f, 1462 0xb7, 0x40}; 1463 static const uint8_t test_vector_1_a_3[] = { 1464 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1465 0x74, 0x30, 0x40, 0x58, 0x20, 0x69, 0x72, 0xb5, 1466 0x9a, 0x62, 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 1467 0x27, 0x57, 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 1468 0xec, 0x95, 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 1469 0xab, 0x7d, 0x43, 0x22, 0xae}; 1470 static const uint8_t test_vector_1_info_k_3[] = { 1471 0x03, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 1472 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 1473 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 1474 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 1475 0x43, 0x22, 0xae, 0x10}; 1476 static const uint8_t test_vector_1_k_3_raw[] = { 1477 0x37, 0x1d, 0x93, 0x8d, 0x1d, 0xf0, 0x66, 0xfc, 1478 0xac, 0x97, 0x6e, 0xf4, 0xfe, 0x01, 0x73, 0x0f}; 1479 static const uint8_t test_vector_1_info_iv_3[] = { 1480 0x04, 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 1481 0xac, 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 1482 0x9f, 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 1483 0xff, 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 1484 0x43, 0x22, 0xae, 0x0d}; 1485 static const uint8_t test_vector_1_iv_3_raw[] = { 1486 0xa0, 0xb5, 0x68, 0xa9, 0x9f, 0x46, 0x06, 0x34, 1487 0x2e, 0x77, 0x92, 0xa5, 0x92}; 1488 static const uint8_t test_vector_1_ciphertext_3_raw[] = { 1489 0xc6, 0x4e, 0x6c, 0xc0, 0x81, 0x1b, 0xcb, 0x8b, 1490 0xa5, 0x2e, 0x26, 0xad, 0x1f, 0x98, 0x06, 0xb1, 1491 0x8a, 0xbb, 0x4b, 0x09, 0x9c, 0xd5, 0xd5, 0xda, 1492 0x33, 0xb9, 0x3d, 0x41, 0xfd, 0xfd, 0xb9, 0x5b, 1493 0x70, 0x79, 0x4a, 0x0c, 0x29, 0xb0, 0xc9, 0x9c, 1494 0xbe, 0x41, 0xd5, 0xe0, 0xe6, 0x0e, 0x48, 0xad, 1495 0xe0, 0xf4, 0x7e, 0x75, 0xad, 0x40, 0x82, 0x5a, 1496 0xa6, 0xb1, 0x9e, 0x04, 0x4f, 0x5a, 0xbf, 0x05, 1497 0x41, 0x1a, 0x07, 0x0b, 0x9c, 0x43, 0x95, 0xff, 1498 0xca, 0xf9, 0xee, 0x72, 0x1c, 0xee, 0x88, 0xaf, 1499 0x75, 0x96, 0x6b, 0x37, 0x20, 0xd8, 0x94, 0x15, 1500 0x3e, 0xa0, 0x6d, 0x5c, 0x05, 0x40, 0x1d, 0x7b, 1501 0xf1, 0x60, 0x07, 0x1a, 0x5f, 0xb7, 0x27, 0x81, 1502 0xc2, 0x27, 0xc9, 0x66, 0x7f, 0xc9, 0xf9, 0x30, 1503 0xed, 0x75, 0xd6, 0x81, 0x56, 0xd8, 0x4d, 0x6a, 1504 0xde, 0x64, 0x02, 0x5c, 0x92, 0xa1, 0x5a, 0x67, 1505 0xd9, 0x3d, 0xf1, 0xd7, 0x49, 0x86, 0x3b, 0x1f, 1506 0x18, 0x27, 0x8b, 0x0e, 0xc0, 0xc3, 0x5d, 0x25, 1507 0xcc, 0x94, 0x17, 0x8b, 0xf2, 0x86, 0x9a, 0x7b, 1508 0xc7, 0x02, 0x67, 0x74, 0x4c, 0x1d, 0x7e, 0xef, 1509 0x4b, 0xec, 0xd9, 0x69, 0xf4, 0x30, 0xf0, 0x8c, 1510 0x73, 0x3d, 0xfd, 0x6d, 0x91, 0x72, 0xe1, 0x54, 1511 0x44, 0x6e, 0xeb, 0xb0, 0x5b, 0x8a, 0xaf, 0xe3, 1512 0x2c, 0x5a, 0xaf, 0xb6, 0x48, 0x12, 0x9c, 0x76, 1513 0xc7, 0xd6, 0x29, 0xfc, 0xad, 0x95, 0xd9, 0xba, 1514 0x11, 0xaa, 0xa8, 0x8c, 0x5d, 0xe3, 0xd7, 0x6a, 1515 0x83, 0xe6, 0xff, 0xf9, 0x0a, 0x0b, 0x47, 0xab, 1516 0x4a, 0x2b, 0xa2, 0x5e, 0x92, 0x7b, 0x4a, 0xca, 1517 0x72, 0x69, 0x59, 0xd5, 0x9f, 0x53, 0x7e, 0xd5, 1518 0xc2, 0xd7, 0x36, 0x24, 0x85, 0x27, 0x3c, 0xb1, 1519 0xc5, 0x78, 0xc8, 0xa2, 0xc4, 0x7c, 0x48, 0xf2, 1520 0xe9, 0x98, 0x4a, 0xc6, 0xe7, 0x48, 0xa3, 0x6b, 1521 0xab, 0x45, 0xf9, 0x35, 0x52, 0xc2, 0xc5, 0x85, 1522 0x11, 0x3e, 0x5e, 0x33, 0x69, 0xf0, 0xc1, 0x43, 1523 0xdd, 0xdc, 0x45, 0x15, 0xce, 0x65, 0xe5, 0x16, 1524 0x0e, 0xd7, 0xa6, 0x56, 0x93, 0x5c, 0x9f, 0x8d, 1525 0x7f, 0x26, 0xe2, 0x04, 0x27, 0xeb, 0xf4, 0x21, 1526 0x7f, 0x21, 0x09, 0x54, 0x9a, 0x2f, 0x8c, 0xf0, 1527 0xa9, 0x56, 0x4f, 0xb0, 0x27, 0xc6, 0xc5, 0xe3, 1528 0x9a, 0xd6, 0xd2, 0x5b, 0x33, 0xc5, 0xb3, 0xc3, 1529 0x53, 0xfe, 0x31, 0x02, 0xa8, 0xd4, 0x1b, 0x75, 1530 0x0d, 0xbf, 0x57, 0x48, 0xe5, 0xd9, 0x7d, 0xfb, 1531 0x5a, 0x80, 0x83, 0x44, 0x10, 0x72, 0x1e, 0xdc, 1532 0x3f, 0xba, 0x46, 0x18, 0xaf, 0x01, 0xde, 0x94, 1533 0xde, 0x33, 0xcf, 0xee, 0x21, 0xfd, 0x4f, 0x00, 1534 0xad, 0xf2, 0x36, 0x50, 0x55, 0x1e, 0x8b, 0xef, 1535 0x5a, 0x4c}; 1536 static const uint8_t test_vector_1_ciphertext_3[] = { 1537 0x59, 0x01, 0x72, 0xc6, 0x4e, 0x6c, 0xc0, 0x81, 1538 0x1b, 0xcb, 0x8b, 0xa5, 0x2e, 0x26, 0xad, 0x1f, 1539 0x98, 0x06, 0xb1, 0x8a, 0xbb, 0x4b, 0x09, 0x9c, 1540 0xd5, 0xd5, 0xda, 0x33, 0xb9, 0x3d, 0x41, 0xfd, 1541 0xfd, 0xb9, 0x5b, 0x70, 0x79, 0x4a, 0x0c, 0x29, 1542 0xb0, 0xc9, 0x9c, 0xbe, 0x41, 0xd5, 0xe0, 0xe6, 1543 0x0e, 0x48, 0xad, 0xe0, 0xf4, 0x7e, 0x75, 0xad, 1544 0x40, 0x82, 0x5a, 0xa6, 0xb1, 0x9e, 0x04, 0x4f, 1545 0x5a, 0xbf, 0x05, 0x41, 0x1a, 0x07, 0x0b, 0x9c, 1546 0x43, 0x95, 0xff, 0xca, 0xf9, 0xee, 0x72, 0x1c, 1547 0xee, 0x88, 0xaf, 0x75, 0x96, 0x6b, 0x37, 0x20, 1548 0xd8, 0x94, 0x15, 0x3e, 0xa0, 0x6d, 0x5c, 0x05, 1549 0x40, 0x1d, 0x7b, 0xf1, 0x60, 0x07, 0x1a, 0x5f, 1550 0xb7, 0x27, 0x81, 0xc2, 0x27, 0xc9, 0x66, 0x7f, 1551 0xc9, 0xf9, 0x30, 0xed, 0x75, 0xd6, 0x81, 0x56, 1552 0xd8, 0x4d, 0x6a, 0xde, 0x64, 0x02, 0x5c, 0x92, 1553 0xa1, 0x5a, 0x67, 0xd9, 0x3d, 0xf1, 0xd7, 0x49, 1554 0x86, 0x3b, 0x1f, 0x18, 0x27, 0x8b, 0x0e, 0xc0, 1555 0xc3, 0x5d, 0x25, 0xcc, 0x94, 0x17, 0x8b, 0xf2, 1556 0x86, 0x9a, 0x7b, 0xc7, 0x02, 0x67, 0x74, 0x4c, 1557 0x1d, 0x7e, 0xef, 0x4b, 0xec, 0xd9, 0x69, 0xf4, 1558 0x30, 0xf0, 0x8c, 0x73, 0x3d, 0xfd, 0x6d, 0x91, 1559 0x72, 0xe1, 0x54, 0x44, 0x6e, 0xeb, 0xb0, 0x5b, 1560 0x8a, 0xaf, 0xe3, 0x2c, 0x5a, 0xaf, 0xb6, 0x48, 1561 0x12, 0x9c, 0x76, 0xc7, 0xd6, 0x29, 0xfc, 0xad, 1562 0x95, 0xd9, 0xba, 0x11, 0xaa, 0xa8, 0x8c, 0x5d, 1563 0xe3, 0xd7, 0x6a, 0x83, 0xe6, 0xff, 0xf9, 0x0a, 1564 0x0b, 0x47, 0xab, 0x4a, 0x2b, 0xa2, 0x5e, 0x92, 1565 0x7b, 0x4a, 0xca, 0x72, 0x69, 0x59, 0xd5, 0x9f, 1566 0x53, 0x7e, 0xd5, 0xc2, 0xd7, 0x36, 0x24, 0x85, 1567 0x27, 0x3c, 0xb1, 0xc5, 0x78, 0xc8, 0xa2, 0xc4, 1568 0x7c, 0x48, 0xf2, 0xe9, 0x98, 0x4a, 0xc6, 0xe7, 1569 0x48, 0xa3, 0x6b, 0xab, 0x45, 0xf9, 0x35, 0x52, 1570 0xc2, 0xc5, 0x85, 0x11, 0x3e, 0x5e, 0x33, 0x69, 1571 0xf0, 0xc1, 0x43, 0xdd, 0xdc, 0x45, 0x15, 0xce, 1572 0x65, 0xe5, 0x16, 0x0e, 0xd7, 0xa6, 0x56, 0x93, 1573 0x5c, 0x9f, 0x8d, 0x7f, 0x26, 0xe2, 0x04, 0x27, 1574 0xeb, 0xf4, 0x21, 0x7f, 0x21, 0x09, 0x54, 0x9a, 1575 0x2f, 0x8c, 0xf0, 0xa9, 0x56, 0x4f, 0xb0, 0x27, 1576 0xc6, 0xc5, 0xe3, 0x9a, 0xd6, 0xd2, 0x5b, 0x33, 1577 0xc5, 0xb3, 0xc3, 0x53, 0xfe, 0x31, 0x02, 0xa8, 1578 0xd4, 0x1b, 0x75, 0x0d, 0xbf, 0x57, 0x48, 0xe5, 1579 0xd9, 0x7d, 0xfb, 0x5a, 0x80, 0x83, 0x44, 0x10, 1580 0x72, 0x1e, 0xdc, 0x3f, 0xba, 0x46, 0x18, 0xaf, 1581 0x01, 0xde, 0x94, 0xde, 0x33, 0xcf, 0xee, 0x21, 1582 0xfd, 0x4f, 0x00, 0xad, 0xf2, 0x36, 0x50, 0x55, 1583 0x1e, 0x8b, 0xef, 0x5a, 0x4c}; 1584 static const uint8_t test_vector_1_message_3[] = { 1585 0x59, 0x01, 0x72, 0xc6, 0x4e, 0x6c, 0xc0, 0x81, 1586 0x1b, 0xcb, 0x8b, 0xa5, 0x2e, 0x26, 0xad, 0x1f, 1587 0x98, 0x06, 0xb1, 0x8a, 0xbb, 0x4b, 0x09, 0x9c, 1588 0xd5, 0xd5, 0xda, 0x33, 0xb9, 0x3d, 0x41, 0xfd, 1589 0xfd, 0xb9, 0x5b, 0x70, 0x79, 0x4a, 0x0c, 0x29, 1590 0xb0, 0xc9, 0x9c, 0xbe, 0x41, 0xd5, 0xe0, 0xe6, 1591 0x0e, 0x48, 0xad, 0xe0, 0xf4, 0x7e, 0x75, 0xad, 1592 0x40, 0x82, 0x5a, 0xa6, 0xb1, 0x9e, 0x04, 0x4f, 1593 0x5a, 0xbf, 0x05, 0x41, 0x1a, 0x07, 0x0b, 0x9c, 1594 0x43, 0x95, 0xff, 0xca, 0xf9, 0xee, 0x72, 0x1c, 1595 0xee, 0x88, 0xaf, 0x75, 0x96, 0x6b, 0x37, 0x20, 1596 0xd8, 0x94, 0x15, 0x3e, 0xa0, 0x6d, 0x5c, 0x05, 1597 0x40, 0x1d, 0x7b, 0xf1, 0x60, 0x07, 0x1a, 0x5f, 1598 0xb7, 0x27, 0x81, 0xc2, 0x27, 0xc9, 0x66, 0x7f, 1599 0xc9, 0xf9, 0x30, 0xed, 0x75, 0xd6, 0x81, 0x56, 1600 0xd8, 0x4d, 0x6a, 0xde, 0x64, 0x02, 0x5c, 0x92, 1601 0xa1, 0x5a, 0x67, 0xd9, 0x3d, 0xf1, 0xd7, 0x49, 1602 0x86, 0x3b, 0x1f, 0x18, 0x27, 0x8b, 0x0e, 0xc0, 1603 0xc3, 0x5d, 0x25, 0xcc, 0x94, 0x17, 0x8b, 0xf2, 1604 0x86, 0x9a, 0x7b, 0xc7, 0x02, 0x67, 0x74, 0x4c, 1605 0x1d, 0x7e, 0xef, 0x4b, 0xec, 0xd9, 0x69, 0xf4, 1606 0x30, 0xf0, 0x8c, 0x73, 0x3d, 0xfd, 0x6d, 0x91, 1607 0x72, 0xe1, 0x54, 0x44, 0x6e, 0xeb, 0xb0, 0x5b, 1608 0x8a, 0xaf, 0xe3, 0x2c, 0x5a, 0xaf, 0xb6, 0x48, 1609 0x12, 0x9c, 0x76, 0xc7, 0xd6, 0x29, 0xfc, 0xad, 1610 0x95, 0xd9, 0xba, 0x11, 0xaa, 0xa8, 0x8c, 0x5d, 1611 0xe3, 0xd7, 0x6a, 0x83, 0xe6, 0xff, 0xf9, 0x0a, 1612 0x0b, 0x47, 0xab, 0x4a, 0x2b, 0xa2, 0x5e, 0x92, 1613 0x7b, 0x4a, 0xca, 0x72, 0x69, 0x59, 0xd5, 0x9f, 1614 0x53, 0x7e, 0xd5, 0xc2, 0xd7, 0x36, 0x24, 0x85, 1615 0x27, 0x3c, 0xb1, 0xc5, 0x78, 0xc8, 0xa2, 0xc4, 1616 0x7c, 0x48, 0xf2, 0xe9, 0x98, 0x4a, 0xc6, 0xe7, 1617 0x48, 0xa3, 0x6b, 0xab, 0x45, 0xf9, 0x35, 0x52, 1618 0xc2, 0xc5, 0x85, 0x11, 0x3e, 0x5e, 0x33, 0x69, 1619 0xf0, 0xc1, 0x43, 0xdd, 0xdc, 0x45, 0x15, 0xce, 1620 0x65, 0xe5, 0x16, 0x0e, 0xd7, 0xa6, 0x56, 0x93, 1621 0x5c, 0x9f, 0x8d, 0x7f, 0x26, 0xe2, 0x04, 0x27, 1622 0xeb, 0xf4, 0x21, 0x7f, 0x21, 0x09, 0x54, 0x9a, 1623 0x2f, 0x8c, 0xf0, 0xa9, 0x56, 0x4f, 0xb0, 0x27, 1624 0xc6, 0xc5, 0xe3, 0x9a, 0xd6, 0xd2, 0x5b, 0x33, 1625 0xc5, 0xb3, 0xc3, 0x53, 0xfe, 0x31, 0x02, 0xa8, 1626 0xd4, 0x1b, 0x75, 0x0d, 0xbf, 0x57, 0x48, 0xe5, 1627 0xd9, 0x7d, 0xfb, 0x5a, 0x80, 0x83, 0x44, 0x10, 1628 0x72, 0x1e, 0xdc, 0x3f, 0xba, 0x46, 0x18, 0xaf, 1629 0x01, 0xde, 0x94, 0xde, 0x33, 0xcf, 0xee, 0x21, 1630 0xfd, 0x4f, 0x00, 0xad, 0xf2, 0x36, 0x50, 0x55, 1631 0x1e, 0x8b, 0xef, 0x5a, 0x4c}; 1632 static const uint8_t test_vector_1_input_th_4[] = { 1633 0x58, 0x20, 0x69, 0x72, 0xb5, 0x9a, 0x62, 0xac, 1634 0xae, 0xd5, 0x94, 0xdf, 0xa4, 0x27, 0x57, 0x9f, 1635 0x38, 0x2e, 0x8d, 0x80, 0xbc, 0xec, 0x95, 0xff, 1636 0x6d, 0x9b, 0x03, 0x30, 0xc1, 0xab, 0x7d, 0x43, 1637 0x22, 0xae, 0xa1, 0x18, 0x21, 0x59, 0x01, 0x22, 1638 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 1639 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 1640 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1641 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1642 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1643 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1644 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1645 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 1646 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 1647 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1648 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 1649 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 1650 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1651 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 1652 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 1653 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 1654 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 1655 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 1656 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 1657 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 1658 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 1659 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 1660 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 1661 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 1662 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 1663 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 1664 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 1665 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 1666 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 1667 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 1668 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 1669 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 1670 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 1671 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 1672 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 1673 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 1674 0xbe, 0xde, 0x58, 0x40, 0x5a, 0x95, 0xcf, 0x98, 1675 0x79, 0xd6, 0x37, 0xe1, 0xb1, 0x60, 0xca, 0x81, 1676 0x48, 0x15, 0x8c, 0x2a, 0x45, 0x83, 0xaa, 0x58, 1677 0x4c, 0x9f, 0xfd, 0x23, 0x92, 0x8a, 0xc1, 0x30, 1678 0xb7, 0x8d, 0xfe, 0x71, 0xf9, 0x8f, 0xcf, 0x78, 1679 0xb3, 0x46, 0x64, 0x58, 0x45, 0xbd, 0x62, 0xff, 1680 0xce, 0x18, 0xda, 0x14, 0xe4, 0x06, 0x10, 0x2e, 1681 0x1b, 0xc2, 0xdd, 0x8b, 0x58, 0xde, 0xc1, 0x62, 1682 0x1c, 0x9f, 0xb7, 0x40}; 1683 static const uint8_t test_vector_1_th_4_raw[] = { 1684 0x99, 0x36, 0xf6, 0x4f, 0x94, 0xa8, 0x87, 0xe9, 1685 0x28, 0xa9, 0x48, 0x23, 0xa5, 0x6f, 0x9e, 0xc6, 1686 0x0d, 0xb7, 0xd8, 0x1d, 0x91, 0xb4, 0x77, 0x9a, 1687 0x4d, 0x56, 0x7e, 0x05, 0xe4, 0xf3, 0x18, 0xe5}; 1688 static const uint8_t test_vector_1_th_4[] = { 1689 0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94, 0xa8, 1690 0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5, 0x6f, 1691 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91, 0xb4, 1692 0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4, 0xf3, 1693 0x18, 0xe5}; 1694 static const uint8_t test_vector_1_ead_4[] = { 1695 }; 1696 static const uint8_t test_vector_1_p_4[] = { 1697 }; 1698 static const uint8_t test_vector_1_a_4[] = { 1699 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1700 0x74, 0x30, 0x40, 0x58, 0x20, 0x99, 0x36, 0xf6, 1701 0x4f, 0x94, 0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48, 1702 0x23, 0xa5, 0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 1703 0x1d, 0x91, 0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e, 1704 0x05, 0xe4, 0xf3, 0x18, 0xe5}; 1705 static const uint8_t test_vector_1_info_k_4[] = { 1706 0x08, 0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94, 1707 0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5, 1708 0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91, 1709 0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4, 1710 0xf3, 0x18, 0xe5, 0x10}; 1711 static const uint8_t test_vector_1_k_4_raw[] = { 1712 0xf1, 0xae, 0x1d, 0xa7, 0xc2, 0x39, 0x67, 0x08, 1713 0x79, 0x49, 0x29, 0x01, 0x3d, 0x9c, 0x84, 0xb8}; 1714 static const uint8_t test_vector_1_info_iv_4[] = { 1715 0x09, 0x58, 0x20, 0x99, 0x36, 0xf6, 0x4f, 0x94, 1716 0xa8, 0x87, 0xe9, 0x28, 0xa9, 0x48, 0x23, 0xa5, 1717 0x6f, 0x9e, 0xc6, 0x0d, 0xb7, 0xd8, 0x1d, 0x91, 1718 0xb4, 0x77, 0x9a, 0x4d, 0x56, 0x7e, 0x05, 0xe4, 1719 0xf3, 0x18, 0xe5, 0x0d}; 1720 static const uint8_t test_vector_1_iv_4_raw[] = { 1721 0x79, 0x1c, 0xa3, 0xec, 0xc8, 0xcf, 0xdb, 0x1e, 1722 0xfc, 0x4e, 0x51, 0x10, 0x12}; 1723 static const uint8_t test_vector_1_ciphertext_4_raw[] = { 1724 0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1, 0xa0}; 1725 static const uint8_t test_vector_1_ciphertext_4[] = { 1726 0x48, 0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1, 1727 0xa0}; 1728 static const uint8_t test_vector_1_message_4[] = { 1729 0x48, 0x95, 0xaf, 0x76, 0xe7, 0x3a, 0xad, 0xb1, 1730 0xa0}; 1731 static const uint8_t test_vector_1_prk_out[] = { 1732 0xe0, 0xc9, 0xcb, 0xb8, 0x4c, 0xc7, 0x4f, 0x91, 1733 0x5d, 0xf9, 0x17, 0xf3, 0x2f, 0x8d, 0x13, 0xdf, 1734 0x48, 0xdc, 0x7f, 0xeb, 0x23, 0xd0, 0x87, 0xac, 1735 0xe2, 0x79, 0x90, 0xe3, 0xdc, 0x21, 0x74, 0x46}; 1736 static const uint8_t test_vector_1_prk_exporter[] = { 1737 0x87, 0x0b, 0xb1, 0x26, 0x9b, 0xa4, 0xeb, 0x38, 1738 0x74, 0x51, 0xaa, 0x1b, 0x63, 0x16, 0x5b, 0x6c, 1739 0x31, 0x6c, 0x79, 0xb1, 0x4a, 0xd2, 0x61, 0x00, 1740 0x68, 0xd2, 0x4d, 0x7f, 0x12, 0xab, 0xed, 0xd8}; 1741 int32_t test_vector_1_oscore_aead_alg = 10; 1742 int32_t test_vector_1_oscore_hash_alg = -16; 1743 static const uint8_t test_vector_1_client_sender_id_raw[] = { 1744 0x27}; 1745 static const uint8_t test_vector_1_server_sender_id_raw[] = { 1746 0x37}; 1747 static const uint8_t test_vector_1_info_oscore_secret[] = { 1748 0x00, 0x40, 0x10}; 1749 static const uint8_t test_vector_1_oscore_secret_raw[] = { 1750 0x51, 0x37, 0x71, 0x07, 0x7d, 0xf6, 0xdc, 0xc1, 1751 0x72, 0x8f, 0xaa, 0x45, 0x87, 0x3b, 0x57, 0xa8}; 1752 static const uint8_t test_vector_1_info_oscore_salt[] = { 1753 0x01, 0x40, 0x08}; 1754 static const uint8_t test_vector_1_oscore_salt_raw[] = { 1755 0x2b, 0x2a, 0x54, 0x13, 0x44, 0xe4, 0x91, 0x4b}; 1756 static const uint8_t test_vector_1_prk_out_updated[] = { 1757 0xb6, 0xc2, 0x36, 0x83, 0x10, 0x82, 0xeb, 0x46, 1758 0x64, 0xcb, 0xe4, 0xe4, 0xef, 0x23, 0x2b, 0x6f, 1759 0x1a, 0xa9, 0x93, 0x1f, 0x91, 0x2e, 0x16, 0x01, 1760 0xb7, 0xbb, 0x6b, 0xc0, 0xfa, 0xfe, 0x1a, 0xbf}; 1761 static const uint8_t test_vector_1_prk_exporter_update[] = { 1762 0xad, 0xf2, 0x9f, 0xcb, 0x4d, 0x55, 0xee, 0xed, 1763 0x20, 0xaa, 0x52, 0x75, 0xc8, 0x6e, 0xff, 0x29, 1764 0xc8, 0x80, 0x28, 0x76, 0x9a, 0x26, 0xaf, 0x5d, 1765 0x65, 0x93, 0xaa, 0x78, 0xf5, 0xb0, 0xaa, 0x2c}; 1766 static const uint8_t test_vector_1_oscore_secret_key_update_raw[] = { 1767 0xef, 0x3c, 0x25, 0xb9, 0x6e, 0x74, 0xa7, 0x53, 1768 0x0c, 0x68, 0x73, 0x7e, 0x4e, 0x6c, 0xa7, 0x46}; 1769 static const uint8_t test_vector_1_oscore_salt_key_update_raw[] = { 1770 0x2b, 0x27, 0x86, 0xc1, 0x93, 0x38, 0x16, 0x06}; 1771 1772 /***************** test_vector_2 ************/ 1773 1774 static const uint8_t test_vector_2_method[] = { 1775 0x00}; 1776 static const uint8_t test_vector_2_SUITES_I[] = { 1777 0x02}; 1778 static const uint8_t test_vector_2_SUITES_R[] = { 1779 0x02}; 1780 static const uint8_t test_vector_2_x_raw[] = { 1781 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 1782 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 1783 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 1784 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 1785 static const uint8_t test_vector_2_g_x_raw[] = { 1786 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 1787 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 1788 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 1789 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 1790 static const uint8_t test_vector_2_g_x_raw_y_coordinate[] = { 1791 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 1792 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 1793 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 1794 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 1795 static const uint8_t test_vector_2_g_x[] = { 1796 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 1797 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 1798 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 1799 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 1800 0xc3, 0xb6}; 1801 int32_t test_vector_2_c_i_raw = -24; 1802 static const uint8_t test_vector_2_c_i[] = { 1803 0x37}; 1804 static const uint8_t test_vector_2_ead_1[] = { 1805 }; 1806 static const uint8_t test_vector_2_message_1[] = { 1807 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 1808 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 1809 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 1810 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 1811 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 1812 static const uint8_t test_vector_2_y_raw[] = { 1813 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 1814 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 1815 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 1816 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 1817 static const uint8_t test_vector_2_g_y_raw[] = { 1818 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 1819 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 1820 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 1821 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 1822 static const uint8_t test_vector_2_g_y_raw_y_coordinate[] = { 1823 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 1824 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 1825 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 1826 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 1827 static const uint8_t test_vector_2_g_y[] = { 1828 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 1829 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 1830 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 1831 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 1832 0xf5, 0xd5}; 1833 static const uint8_t test_vector_2_g_xy_raw[] = { 1834 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 1835 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 1836 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 1837 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 1838 static const uint8_t test_vector_2_salt_raw[] = { 1839 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1840 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1841 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1842 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 1843 static const uint8_t test_vector_2_prk_2e_raw[] = { 1844 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 1845 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 1846 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 1847 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 1848 static const uint8_t test_vector_2_salt_3e2m[] = { 1849 0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72, 1850 0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38, 1851 0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70, 1852 0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7}; 1853 static const uint8_t test_vector_2_sk_r_raw[] = { 1854 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 1855 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 1856 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 1857 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 1858 static const uint8_t test_vector_2_pk_r_raw[] = { 1859 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 1860 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 1861 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 1862 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 1863 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 1864 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 1865 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 1866 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 1867 0x72}; 1868 static const uint8_t test_vector_2_prk_3e2m_raw[] = { 1869 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 1870 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 1871 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 1872 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 1873 int32_t test_vector_2_c_r_raw = -8; 1874 static const uint8_t test_vector_2_c_r[] = { 1875 0x27}; 1876 static const uint8_t test_vector_2_h_message_1_raw[] = { 1877 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 1878 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 1879 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 1880 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 1881 static const uint8_t test_vector_2_h_message_1[] = { 1882 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 1883 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 1884 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 1885 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 1886 0x67, 0x26}; 1887 static const uint8_t test_vector_2_input_th_2[] = { 1888 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 1889 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 1890 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 1891 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 1892 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 1893 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 1894 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 1895 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 1896 0x18, 0x2a, 0x4e, 0x67, 0x26}; 1897 static const uint8_t test_vector_2_th_2_raw[] = { 1898 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 1899 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 1900 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 1901 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 1902 static const uint8_t test_vector_2_th_2[] = { 1903 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 1904 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 1905 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 1906 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 1907 0xab, 0xa6}; 1908 static const uint8_t test_vector_2_id_cred_r[] = { 1909 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80, 1910 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4}; 1911 static const uint8_t test_vector_2_cred_r[] = { 1912 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 1913 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 1914 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 1915 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 1916 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 1917 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 1918 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 1919 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 1920 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 1921 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 1922 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 1923 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 1924 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 1925 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 1926 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 1927 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1928 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1929 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 1930 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 1931 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 1932 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 1933 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 1934 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 1935 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 1936 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 1937 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 1938 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1939 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 1940 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 1941 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 1942 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 1943 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 1944 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 1945 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 1946 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 1947 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 1948 0x3b, 0x13, 0x3d, 0x05, 0x58}; 1949 static const uint8_t test_vector_2_ca_r[] = { 1950 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 1951 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 1952 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 1953 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 1954 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 1955 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1956 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 1957 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 1958 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 1959 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 1960 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 1961 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 1962 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 1963 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 1964 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 1965 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1966 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 1967 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 1968 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 1969 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 1970 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 1971 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 1972 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 1973 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 1974 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 1975 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 1976 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 1977 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 1978 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 1979 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 1980 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 1981 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 1982 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 1983 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 1984 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 1985 0x13, 0x6b, 0xf3, 0x06}; 1986 static const uint8_t test_vector_2_ca_r_pk[] = { 1987 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 1988 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 1989 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 1990 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 1991 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 1992 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 1993 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 1994 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 1995 0x95}; 1996 static const uint8_t test_vector_2_ead_2[] = { 1997 }; 1998 static const uint8_t test_vector_2_info_mac_2[] = { 1999 0x02, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82, 2000 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 2001 0xab, 0xf4, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 2002 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 2003 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 2004 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 2005 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 0x30, 2006 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 2007 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 2008 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2009 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 2010 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2011 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2012 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 2013 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 2014 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 2015 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 2016 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 2017 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2018 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 2019 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 2020 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 2021 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 2022 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 2023 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 2024 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 2025 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 2026 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 2027 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 2028 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 2029 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 2030 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 2031 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 2032 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 2033 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 2034 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 2035 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 2036 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 2037 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 2038 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 2039 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 2040 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 2041 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 2042 0x58, 0x18, 0x20}; 2043 static const uint8_t test_vector_2_mac_2_raw[] = { 2044 0xcc, 0x4b, 0xbe, 0x61, 0x89, 0x06, 0xb8, 0x6c, 2045 0x22, 0x62, 0x16, 0x44, 0xc3, 0x73, 0x66, 0xb0, 2046 0xa7, 0x65, 0x03, 0x24, 0xaa, 0x49, 0x71, 0x22, 2047 0x6a, 0x87, 0x95, 0x18, 0xd9, 0x38, 0xa9, 0x49}; 2048 static const uint8_t test_vector_2_mac_2[] = { 2049 0x58, 0x20, 0xcc, 0x4b, 0xbe, 0x61, 0x89, 0x06, 2050 0xb8, 0x6c, 0x22, 0x62, 0x16, 0x44, 0xc3, 0x73, 2051 0x66, 0xb0, 0xa7, 0x65, 0x03, 0x24, 0xaa, 0x49, 2052 0x71, 0x22, 0x6a, 0x87, 0x95, 0x18, 0xd9, 0x38, 2053 0xa9, 0x49}; 2054 static const uint8_t test_vector_2_m_2[] = { 2055 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2056 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 2057 0x82, 0x2e, 0x48, 0x34, 0x80, 0xf5, 0xfa, 0x01, 2058 0xa8, 0xab, 0xf4, 0x59, 0x01, 0x47, 0x58, 0x20, 2059 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 2060 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 2061 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 2062 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6, 2063 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2064 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2065 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 2066 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2067 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2068 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2069 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2070 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 2071 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 2072 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2073 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2074 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2075 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2076 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 2077 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 2078 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2079 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2080 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 2081 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 2082 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 2083 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 2084 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 2085 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 2086 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 2087 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 2088 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 2089 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2090 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2091 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 2092 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 2093 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 2094 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 2095 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 2096 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 2097 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 2098 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 2099 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xcc, 2100 0x4b, 0xbe, 0x61, 0x89, 0x06, 0xb8, 0x6c, 0x22, 2101 0x62, 0x16, 0x44, 0xc3, 0x73, 0x66, 0xb0, 0xa7, 2102 0x65, 0x03, 0x24, 0xaa, 0x49, 0x71, 0x22, 0x6a, 2103 0x87, 0x95, 0x18, 0xd9, 0x38, 0xa9, 0x49}; 2104 static const uint8_t test_vector_2_sig_or_mac_2_raw[] = { 2105 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 0xdc, 0x64, 2106 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 0x01, 0x0c, 2107 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 0xcc, 0xaa, 2108 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 0x56, 0x7b, 2109 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 0x91, 0xe3, 2110 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 0x18, 0x68, 2111 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 0x99, 0x9b, 2112 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 0x52, 0x1b}; 2113 static const uint8_t test_vector_2_sig_or_mac_2[] = { 2114 0x58, 0x40, 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 2115 0xdc, 0x64, 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 2116 0x01, 0x0c, 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 2117 0xcc, 0xaa, 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 2118 0x56, 0x7b, 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 2119 0x91, 0xe3, 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 2120 0x18, 0x68, 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 2121 0x99, 0x9b, 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 2122 0x52, 0x1b}; 2123 static const uint8_t test_vector_2_plaintext_2[] = { 2124 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x34, 0x80, 2125 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 0x58, 0x40, 2126 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 0xdc, 0x64, 2127 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 0x01, 0x0c, 2128 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 0xcc, 0xaa, 2129 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 0x56, 0x7b, 2130 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 0x91, 0xe3, 2131 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 0x18, 0x68, 2132 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 0x99, 0x9b, 2133 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 0x52, 0x1b}; 2134 static const uint8_t test_vector_2_info_keystream_2[] = { 2135 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 2136 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 2137 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 2138 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 2139 0xfb, 0xab, 0xa6, 0x18, 0x50}; 2140 static const uint8_t test_vector_2_keystream_2_raw[] = { 2141 0xa2, 0xce, 0x34, 0xee, 0x7d, 0x39, 0xbc, 0xd9, 2142 0x40, 0x02, 0xdb, 0xff, 0xa2, 0xad, 0x0b, 0xcb, 2143 0xe3, 0xb0, 0x5b, 0x61, 0x53, 0xcf, 0xe4, 0x89, 2144 0xa2, 0x29, 0x33, 0x9a, 0xc3, 0xd7, 0xcd, 0x44, 2145 0x31, 0x54, 0x09, 0xa8, 0x38, 0x59, 0x7c, 0x9c, 2146 0xbc, 0xb1, 0x9c, 0x35, 0x3c, 0x90, 0xe8, 0x47, 2147 0xd6, 0x55, 0x6b, 0x79, 0x68, 0x8d, 0xf6, 0xaa, 2148 0x9b, 0x83, 0xe3, 0xe7, 0x33, 0x49, 0x3a, 0x2b, 2149 0xea, 0x7a, 0x30, 0xea, 0x70, 0xc0, 0xcc, 0x7c, 2150 0x2d, 0x22, 0xfa, 0x2a, 0x78, 0x3e, 0x78, 0xff}; 2151 static const uint8_t test_vector_2_ciphertext_2_raw[] = { 2152 0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71, 0x88, 0x59, 2153 0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59, 0x53, 0x8b, 2154 0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd, 0x38, 0xed, 2155 0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48, 0xcc, 0x48, 2156 0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52, 0xb0, 0x36, 2157 0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8, 0xbe, 0x3c, 2158 0x70, 0x04, 0x36, 0x76, 0x74, 0xad, 0x67, 0x49, 2159 0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79, 0x22, 0x43, 2160 0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f, 0x55, 0xe7, 2161 0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4, 0x2a, 0xe4}; 2162 static const uint8_t test_vector_2_ciphertext_2[] = { 2163 0x58, 0x50, 0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71, 2164 0x88, 0x59, 0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59, 2165 0x53, 0x8b, 0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd, 2166 0x38, 0xed, 0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48, 2167 0xcc, 0x48, 0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52, 2168 0xb0, 0x36, 0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8, 2169 0xbe, 0x3c, 0x70, 0x04, 0x36, 0x76, 0x74, 0xad, 2170 0x67, 0x49, 0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79, 2171 0x22, 0x43, 0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f, 2172 0x55, 0xe7, 0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4, 2173 0x2a, 0xe4}; 2174 static const uint8_t test_vector_2_message_2[] = { 2175 0x58, 0x70, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2176 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2177 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2178 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2179 0xf5, 0xd5, 0x03, 0xd6, 0x16, 0x6c, 0x53, 0x71, 2180 0x88, 0x59, 0xb5, 0xf8, 0xda, 0x57, 0x09, 0x59, 2181 0x53, 0x8b, 0x29, 0x3e, 0xc9, 0x8d, 0x08, 0xcd, 2182 0x38, 0xed, 0xd0, 0x59, 0x0f, 0x32, 0x99, 0x48, 2183 0xcc, 0x48, 0x9d, 0x8c, 0x1e, 0xe2, 0xc3, 0x52, 2184 0xb0, 0x36, 0x40, 0x2c, 0x10, 0xb4, 0x2d, 0xb8, 2185 0xbe, 0x3c, 0x70, 0x04, 0x36, 0x76, 0x74, 0xad, 2186 0x67, 0x49, 0x33, 0xa0, 0xd2, 0x6e, 0xf9, 0x79, 2187 0x22, 0x43, 0xa8, 0x72, 0x9a, 0xdd, 0x0c, 0x6f, 2188 0x55, 0xe7, 0x51, 0xce, 0xb0, 0xfa, 0x65, 0xf4, 2189 0x2a, 0xe4, 0x27}; 2190 static const uint8_t test_vector_2_sk_i_raw[] = { 2191 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 2192 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 2193 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 2194 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 2195 static const uint8_t test_vector_2_pk_i_raw[] = { 2196 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 2197 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 2198 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 2199 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 2200 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 2201 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 2202 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 2203 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 2204 0xc8}; 2205 static const uint8_t test_vector_2_salt_4e3m[] = { 2206 0x75, 0xde, 0x92, 0x26, 0xa3, 0x71, 0xb8, 0x6d, 2207 0xf7, 0x07, 0xa6, 0xc7, 0xe3, 0x08, 0xdd, 0x42, 2208 0xb6, 0x87, 0xd8, 0x5a, 0x8c, 0x82, 0x93, 0x46, 2209 0x3b, 0xf1, 0xab, 0x3c, 0xa3, 0xcf, 0xb8, 0xcd}; 2210 static const uint8_t test_vector_2_prk_4e3m_raw[] = { 2211 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 2212 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 2213 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 2214 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 2215 static const uint8_t test_vector_2_input_TH_3[] = { 2216 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 2217 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 2218 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 2219 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 2220 0xab, 0xa6, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 2221 0x34, 0x80, 0xf5, 0xfa, 0x01, 0xa8, 0xab, 0xf4, 2222 0x58, 0x40, 0xca, 0x8e, 0x92, 0xec, 0x5b, 0x02, 2223 0xdc, 0x64, 0x72, 0x70, 0x3c, 0xa8, 0x5a, 0x9f, 2224 0x01, 0x0c, 0xac, 0xd8, 0x17, 0x4a, 0xfb, 0x0b, 2225 0xcc, 0xaa, 0xfc, 0x9d, 0x8c, 0x81, 0x11, 0x28, 2226 0x56, 0x7b, 0xa6, 0x51, 0x5d, 0x0f, 0x1c, 0x20, 2227 0x91, 0xe3, 0xa8, 0x23, 0x31, 0x89, 0xca, 0x30, 2228 0x18, 0x68, 0x42, 0x08, 0xaa, 0x37, 0x7c, 0xaf, 2229 0x99, 0x9b, 0x7c, 0xec, 0x4a, 0xd0, 0x1d, 0xca, 2230 0x52, 0x1b}; 2231 static const uint8_t test_vector_2_th_3_raw[] = { 2232 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 0x93, 0x6c, 2233 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 0x95, 0x2e, 2234 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 0x80, 0x73, 2235 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 0x32, 0x54}; 2236 static const uint8_t test_vector_2_th_3[] = { 2237 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 2238 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 2239 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 2240 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 2241 0x32, 0x54}; 2242 static const uint8_t test_vector_2_id_cred_i[] = { 2243 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7, 2244 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76}; 2245 static const uint8_t test_vector_2_cred_i[] = { 2246 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2247 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2248 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 2249 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2250 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2251 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2252 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2253 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 2254 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 2255 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2256 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2257 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2258 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2259 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 2260 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 2261 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2262 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2263 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 2264 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 2265 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 2266 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 2267 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 2268 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 2269 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 2270 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 2271 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 2272 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2273 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2274 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 2275 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 2276 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 2277 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 2278 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 2279 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 2280 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 2281 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 2282 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 2283 static const uint8_t test_vector_2_ca_i[] = { 2284 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 2285 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 2286 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2287 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 2288 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 2289 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2290 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 2291 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 2292 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 2293 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 2294 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 2295 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2296 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2297 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 2298 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2299 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2300 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 2301 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 2302 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 2303 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 2304 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 2305 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 2306 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 2307 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 2308 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 2309 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2310 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 2311 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 2312 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 2313 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 2314 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 2315 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 2316 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 2317 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 2318 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 2319 0x13, 0x6b, 0xf3, 0x06}; 2320 static const uint8_t test_vector_2_ca_i_pk[] = { 2321 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 2322 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 2323 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 2324 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 2325 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 2326 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 2327 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 2328 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 2329 0x95}; 2330 static const uint8_t test_vector_2_ead_3[] = { 2331 }; 2332 static const uint8_t test_vector_2_info_mac_3[] = { 2333 0x06, 0x59, 0x01, 0x55, 0xa1, 0x18, 0x22, 0x82, 2334 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 2335 0x26, 0x76, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 2336 0x0d, 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 2337 0x91, 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 2338 0x56, 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 2339 0xf8, 0x59, 0x32, 0x54, 0x59, 0x01, 0x22, 0x30, 2340 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 2341 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 2342 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 2343 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 2344 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2345 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2346 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 2347 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 2348 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 2349 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 2350 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 2351 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2352 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 2353 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 2354 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 2355 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 2356 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 2357 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 2358 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 2359 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 2360 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 2361 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 2362 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 2363 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 2364 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 2365 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 2366 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 2367 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 2368 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 2369 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 2370 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 2371 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 2372 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 2373 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 2374 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 2375 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 2376 0xde, 0x18, 0x20}; 2377 static const uint8_t test_vector_2_mac_3_raw[] = { 2378 0xc7, 0x70, 0xac, 0x34, 0xf4, 0x2a, 0x8e, 0x04, 2379 0xb4, 0x43, 0xfc, 0x2f, 0x94, 0xb4, 0x35, 0x88, 2380 0x87, 0xd6, 0xc8, 0xa8, 0x9d, 0x8b, 0xb4, 0x2c, 2381 0x0c, 0x51, 0x9d, 0x91, 0xac, 0xee, 0x6c, 0x44}; 2382 static const uint8_t test_vector_2_mac_3[] = { 2383 0x58, 0x20, 0xc7, 0x70, 0xac, 0x34, 0xf4, 0x2a, 2384 0x8e, 0x04, 0xb4, 0x43, 0xfc, 0x2f, 0x94, 0xb4, 2385 0x35, 0x88, 0x87, 0xd6, 0xc8, 0xa8, 0x9d, 0x8b, 2386 0xb4, 0x2c, 0x0c, 0x51, 0x9d, 0x91, 0xac, 0xee, 2387 0x6c, 0x44}; 2388 static const uint8_t test_vector_2_m_3[] = { 2389 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2390 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 2391 0x82, 0x2e, 0x48, 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 2392 0x16, 0x26, 0x76, 0x59, 0x01, 0x47, 0x58, 0x20, 2393 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 0x93, 0x6c, 2394 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 0x95, 0x2e, 2395 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 0x80, 0x73, 2396 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 0x32, 0x54, 2397 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2398 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2399 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 2400 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2401 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2402 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2403 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2404 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 2405 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 2406 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2407 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2408 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2409 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2410 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 2411 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 2412 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2413 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2414 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 2415 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 2416 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 2417 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 2418 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 2419 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 2420 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 2421 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 2422 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 2423 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2424 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2425 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 2426 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 2427 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 2428 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 2429 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 2430 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 2431 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 2432 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 2433 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0xc7, 2434 0x70, 0xac, 0x34, 0xf4, 0x2a, 0x8e, 0x04, 0xb4, 2435 0x43, 0xfc, 0x2f, 0x94, 0xb4, 0x35, 0x88, 0x87, 2436 0xd6, 0xc8, 0xa8, 0x9d, 0x8b, 0xb4, 0x2c, 0x0c, 2437 0x51, 0x9d, 0x91, 0xac, 0xee, 0x6c, 0x44}; 2438 static const uint8_t test_vector_2_sig_or_mac_3_raw[] = { 2439 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 0x3c, 0x15, 2440 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 0x30, 0x81, 2441 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 0x65, 0x36, 2442 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 0xac, 0xfc, 2443 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 0x41, 0x5f, 2444 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 0xce, 0xa4, 2445 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 0xab, 0xda, 2446 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 0xe9, 0xf8}; 2447 static const uint8_t test_vector_2_sig_or_mac_3[] = { 2448 0x58, 0x40, 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 2449 0x3c, 0x15, 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 2450 0x30, 0x81, 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 2451 0x65, 0x36, 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 2452 0xac, 0xfc, 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 2453 0x41, 0x5f, 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 2454 0xce, 0xa4, 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 2455 0xab, 0xda, 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 2456 0xe9, 0xf8}; 2457 static const uint8_t test_vector_2_p_3[] = { 2458 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xee, 0xc7, 2459 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 0x58, 0x40, 2460 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 0x3c, 0x15, 2461 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 0x30, 0x81, 2462 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 0x65, 0x36, 2463 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 0xac, 0xfc, 2464 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 0x41, 0x5f, 2465 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 0xce, 0xa4, 2466 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 0xab, 0xda, 2467 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 0xe9, 0xf8}; 2468 static const uint8_t test_vector_2_a_3[] = { 2469 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2470 0x74, 0x30, 0x40, 0x58, 0x20, 0xb5, 0x45, 0x41, 2471 0x2f, 0x0d, 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 2472 0xa0, 0x91, 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 2473 0x03, 0x56, 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 2474 0xe3, 0xf8, 0x59, 0x32, 0x54}; 2475 static const uint8_t test_vector_2_info_k_3[] = { 2476 0x03, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 2477 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 2478 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 2479 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 2480 0x59, 0x32, 0x54, 0x10}; 2481 static const uint8_t test_vector_2_k_3_raw[] = { 2482 0x0e, 0x31, 0x63, 0x6f, 0xdb, 0x8b, 0x9c, 0x5e, 2483 0xb0, 0x76, 0xcf, 0x83, 0x7a, 0x85, 0x96, 0xda}; 2484 static const uint8_t test_vector_2_info_iv_3[] = { 2485 0x04, 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 2486 0x88, 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 2487 0xf4, 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 2488 0x7c, 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 2489 0x59, 0x32, 0x54, 0x0d}; 2490 static const uint8_t test_vector_2_iv_3_raw[] = { 2491 0xd4, 0x31, 0xe4, 0x13, 0xdf, 0xf5, 0xe1, 0x8d, 2492 0x03, 0xdf, 0x13, 0x89, 0x20}; 2493 static const uint8_t test_vector_2_ciphertext_3_raw[] = { 2494 0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3, 0xce, 0xa9, 2495 0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e, 0x57, 0x71, 2496 0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad, 0xd2, 0xbf, 2497 0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49, 0xb9, 0xa3, 2498 0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6, 0x66, 0x6f, 2499 0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce, 0x69, 0xef, 2500 0x11, 0x18, 0x53, 0x93, 0xa8, 0xff, 0x47, 0x29, 2501 0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06, 0x73, 0xc5, 2502 0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97, 0x2f, 0x5c, 2503 0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05, 0xd4, 0x43, 2504 0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb, 0x93, 0x34}; 2505 static const uint8_t test_vector_2_ciphertext_3[] = { 2506 0x58, 0x58, 0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3, 2507 0xce, 0xa9, 0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e, 2508 0x57, 0x71, 0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad, 2509 0xd2, 0xbf, 0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49, 2510 0xb9, 0xa3, 0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6, 2511 0x66, 0x6f, 0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce, 2512 0x69, 0xef, 0x11, 0x18, 0x53, 0x93, 0xa8, 0xff, 2513 0x47, 0x29, 0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06, 2514 0x73, 0xc5, 0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97, 2515 0x2f, 0x5c, 0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05, 2516 0xd4, 0x43, 0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb, 2517 0x93, 0x34}; 2518 static const uint8_t test_vector_2_message_3[] = { 2519 0x58, 0x58, 0xb5, 0x00, 0x18, 0x94, 0x3c, 0xe3, 2520 0xce, 0xa9, 0x85, 0x83, 0x99, 0x09, 0xdf, 0x6e, 2521 0x57, 0x71, 0x91, 0xeb, 0xff, 0xcd, 0x87, 0xad, 2522 0xd2, 0xbf, 0x37, 0x4a, 0x26, 0x36, 0xc6, 0x49, 2523 0xb9, 0xa3, 0x1c, 0x81, 0x26, 0x00, 0x21, 0xb6, 2524 0x66, 0x6f, 0x00, 0x46, 0xa1, 0xa0, 0x9e, 0xce, 2525 0x69, 0xef, 0x11, 0x18, 0x53, 0x93, 0xa8, 0xff, 2526 0x47, 0x29, 0xa4, 0x6c, 0x56, 0x6d, 0xec, 0x06, 2527 0x73, 0xc5, 0x77, 0x2e, 0xce, 0xef, 0xdf, 0x97, 2528 0x2f, 0x5c, 0xff, 0x73, 0xa2, 0x19, 0xa4, 0x05, 2529 0xd4, 0x43, 0x0c, 0xdb, 0x7a, 0x37, 0xcc, 0xdb, 2530 0x93, 0x34}; 2531 static const uint8_t test_vector_2_input_th_4[] = { 2532 0x58, 0x20, 0xb5, 0x45, 0x41, 0x2f, 0x0d, 0x88, 2533 0x93, 0x6c, 0x20, 0xd6, 0xfa, 0xa0, 0x91, 0xf4, 2534 0x95, 0x2e, 0xda, 0xb1, 0xb5, 0x03, 0x56, 0x7c, 2535 0x80, 0x73, 0x74, 0x12, 0x0e, 0xe3, 0xf8, 0x59, 2536 0x32, 0x54, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 2537 0xee, 0xc7, 0x3f, 0xcb, 0xb0, 0x16, 0x26, 0x76, 2538 0x58, 0x40, 0x97, 0xbf, 0x97, 0xd8, 0xdb, 0xb4, 2539 0x3c, 0x15, 0xc5, 0xf7, 0xbf, 0x8d, 0x02, 0x53, 2540 0x30, 0x81, 0x64, 0x21, 0xba, 0xf1, 0x5d, 0x68, 2541 0x65, 0x36, 0x2c, 0x9e, 0xee, 0xf8, 0x46, 0xc0, 2542 0xac, 0xfc, 0x97, 0x70, 0x92, 0x67, 0x61, 0xe4, 2543 0x41, 0x5f, 0x52, 0x7d, 0xb2, 0x31, 0x90, 0x55, 2544 0xce, 0xa4, 0x67, 0x13, 0xb0, 0x9d, 0xae, 0x2c, 2545 0xab, 0xda, 0x1c, 0x09, 0xcb, 0x12, 0xd0, 0xd6, 2546 0xe9, 0xf8}; 2547 static const uint8_t test_vector_2_th_4_raw[] = { 2548 0x70, 0xdb, 0x83, 0x62, 0xcd, 0x8a, 0x86, 0x8f, 2549 0x09, 0x68, 0xa2, 0x43, 0xb6, 0x31, 0x6b, 0xce, 2550 0x1f, 0xb6, 0xbf, 0x7e, 0x19, 0x6f, 0x5d, 0x7c, 2551 0xe8, 0xda, 0x44, 0x1f, 0xbb, 0x76, 0xb1, 0xd0}; 2552 static const uint8_t test_vector_2_th_4[] = { 2553 0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd, 0x8a, 2554 0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6, 0x31, 2555 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19, 0x6f, 2556 0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb, 0x76, 2557 0xb1, 0xd0}; 2558 static const uint8_t test_vector_2_ead_4[] = { 2559 }; 2560 static const uint8_t test_vector_2_p_4[] = { 2561 }; 2562 static const uint8_t test_vector_2_a_4[] = { 2563 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2564 0x74, 0x30, 0x40, 0x58, 0x20, 0x70, 0xdb, 0x83, 2565 0x62, 0xcd, 0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2, 2566 0x43, 0xb6, 0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 2567 0x7e, 0x19, 0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44, 2568 0x1f, 0xbb, 0x76, 0xb1, 0xd0}; 2569 static const uint8_t test_vector_2_info_k_4[] = { 2570 0x08, 0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd, 2571 0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6, 2572 0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19, 2573 0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb, 2574 0x76, 0xb1, 0xd0, 0x10}; 2575 static const uint8_t test_vector_2_k_4_raw[] = { 2576 0x43, 0x09, 0xdb, 0x61, 0xe2, 0xad, 0x04, 0xf0, 2577 0x19, 0xc8, 0x73, 0x9b, 0x32, 0x54, 0x58, 0x9f}; 2578 static const uint8_t test_vector_2_info_iv_4[] = { 2579 0x09, 0x58, 0x20, 0x70, 0xdb, 0x83, 0x62, 0xcd, 2580 0x8a, 0x86, 0x8f, 0x09, 0x68, 0xa2, 0x43, 0xb6, 2581 0x31, 0x6b, 0xce, 0x1f, 0xb6, 0xbf, 0x7e, 0x19, 2582 0x6f, 0x5d, 0x7c, 0xe8, 0xda, 0x44, 0x1f, 0xbb, 2583 0x76, 0xb1, 0xd0, 0x0d}; 2584 static const uint8_t test_vector_2_iv_4_raw[] = { 2585 0x5f, 0x8f, 0x52, 0x97, 0x14, 0x8c, 0x4d, 0x87, 2586 0x3f, 0x75, 0x56, 0x0c, 0x25}; 2587 static const uint8_t test_vector_2_ciphertext_4_raw[] = { 2588 0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e, 0x37}; 2589 static const uint8_t test_vector_2_ciphertext_4[] = { 2590 0x48, 0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e, 2591 0x37}; 2592 static const uint8_t test_vector_2_message_4[] = { 2593 0x48, 0x5a, 0xd2, 0x13, 0x92, 0xed, 0x42, 0x3e, 2594 0x37}; 2595 static const uint8_t test_vector_2_prk_out[] = { 2596 0xe3, 0x23, 0x12, 0x28, 0x26, 0x48, 0x84, 0xdc, 2597 0xd9, 0x43, 0xb5, 0xa0, 0xf0, 0x99, 0x93, 0x6d, 2598 0x73, 0x9f, 0x9b, 0xec, 0x26, 0xb1, 0x06, 0xf7, 2599 0x49, 0x4a, 0x30, 0xd1, 0x0f, 0x80, 0x76, 0x55}; 2600 static const uint8_t test_vector_2_prk_exporter[] = { 2601 0xd9, 0x3b, 0x7d, 0x57, 0xc1, 0x0c, 0x51, 0x1d, 2602 0x60, 0xfc, 0x87, 0xcc, 0x26, 0x9b, 0x50, 0x06, 2603 0x61, 0x39, 0xa5, 0x2f, 0x0f, 0x82, 0x0a, 0x56, 2604 0x9d, 0x0d, 0x28, 0x12, 0xfe, 0x8c, 0x27, 0x1c}; 2605 int32_t test_vector_2_oscore_aead_alg = 10; 2606 int32_t test_vector_2_oscore_hash_alg = -16; 2607 static const uint8_t test_vector_2_client_sender_id_raw[] = { 2608 0x27}; 2609 static const uint8_t test_vector_2_server_sender_id_raw[] = { 2610 0x37}; 2611 static const uint8_t test_vector_2_info_oscore_secret[] = { 2612 0x00, 0x40, 0x10}; 2613 static const uint8_t test_vector_2_oscore_secret_raw[] = { 2614 0x1f, 0xf7, 0x22, 0xd7, 0xff, 0x19, 0xf1, 0x30, 2615 0x97, 0xe7, 0xb2, 0xc5, 0xf3, 0x3b, 0xbb, 0x79}; 2616 static const uint8_t test_vector_2_info_oscore_salt[] = { 2617 0x01, 0x40, 0x08}; 2618 static const uint8_t test_vector_2_oscore_salt_raw[] = { 2619 0xb2, 0xf5, 0xd1, 0x85, 0xf7, 0xf1, 0x3d, 0xd7}; 2620 static const uint8_t test_vector_2_prk_out_updated[] = { 2621 0xc6, 0xa0, 0x94, 0xa0, 0x13, 0x23, 0xdd, 0x5b, 2622 0x8b, 0xcd, 0xa0, 0x99, 0x95, 0x9e, 0xc5, 0xc5, 2623 0xee, 0x0f, 0x34, 0x37, 0x8d, 0x12, 0xd5, 0x99, 2624 0x93, 0x4e, 0x1e, 0x42, 0x20, 0x4c, 0xad, 0xf9}; 2625 static const uint8_t test_vector_2_prk_exporter_update[] = { 2626 0x1a, 0x6e, 0x9e, 0xa5, 0x08, 0x10, 0x4a, 0xe9, 2627 0xa3, 0x7a, 0xaf, 0x20, 0x77, 0xc6, 0x9e, 0xce, 2628 0xb0, 0x57, 0x4d, 0x17, 0xe6, 0xbc, 0x84, 0xfa, 2629 0x7d, 0x54, 0x63, 0x94, 0x62, 0xea, 0x19, 0x1c}; 2630 static const uint8_t test_vector_2_oscore_secret_key_update_raw[] = { 2631 0xb9, 0xa8, 0xa4, 0x1d, 0x12, 0x19, 0xd7, 0xf0, 2632 0xb7, 0x55, 0x8c, 0xbb, 0x5c, 0x66, 0x0c, 0x97}; 2633 static const uint8_t test_vector_2_oscore_salt_key_update_raw[] = { 2634 0xc2, 0x9d, 0xdb, 0x09, 0xc4, 0xa3, 0xb8, 0x58}; 2635 2636 /***************** test_vector_3 ************/ 2637 2638 static const uint8_t test_vector_3_method[] = { 2639 0x00}; 2640 static const uint8_t test_vector_3_SUITES_I[] = { 2641 0x02}; 2642 static const uint8_t test_vector_3_SUITES_R[] = { 2643 0x02}; 2644 static const uint8_t test_vector_3_x_raw[] = { 2645 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 2646 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 2647 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 2648 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 2649 static const uint8_t test_vector_3_g_x_raw[] = { 2650 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 2651 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 2652 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 2653 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 2654 static const uint8_t test_vector_3_g_x_raw_y_coordinate[] = { 2655 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 2656 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 2657 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 2658 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 2659 static const uint8_t test_vector_3_g_x[] = { 2660 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 2661 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 2662 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 2663 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 2664 0xc3, 0xb6}; 2665 int32_t test_vector_3_c_i_raw = -24; 2666 static const uint8_t test_vector_3_c_i[] = { 2667 0x37}; 2668 static const uint8_t test_vector_3_ead_1[] = { 2669 }; 2670 static const uint8_t test_vector_3_message_1[] = { 2671 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 2672 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 2673 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 2674 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 2675 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 2676 static const uint8_t test_vector_3_y_raw[] = { 2677 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 2678 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 2679 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 2680 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 2681 static const uint8_t test_vector_3_g_y_raw[] = { 2682 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 2683 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 2684 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 2685 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 2686 static const uint8_t test_vector_3_g_y_raw_y_coordinate[] = { 2687 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 2688 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 2689 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 2690 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 2691 static const uint8_t test_vector_3_g_y[] = { 2692 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2693 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2694 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2695 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2696 0xf5, 0xd5}; 2697 static const uint8_t test_vector_3_g_xy_raw[] = { 2698 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 2699 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 2700 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 2701 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 2702 static const uint8_t test_vector_3_salt_raw[] = { 2703 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2704 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2705 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2706 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 2707 static const uint8_t test_vector_3_prk_2e_raw[] = { 2708 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 2709 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 2710 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 2711 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 2712 static const uint8_t test_vector_3_salt_3e2m[] = { 2713 0xbf, 0xcd, 0xb8, 0xa2, 0x85, 0xe0, 0xbf, 0x24, 2714 0x07, 0xe4, 0x0f, 0x89, 0x9e, 0x67, 0x80, 0x90, 2715 0x8d, 0xa0, 0xb5, 0xbf, 0x7e, 0x41, 0x58, 0xe8, 2716 0xa1, 0x92, 0x93, 0xde, 0xf9, 0x76, 0x4d, 0xc3}; 2717 static const uint8_t test_vector_3_sk_r_raw[] = { 2718 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 2719 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 2720 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 2721 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 2722 static const uint8_t test_vector_3_pk_r_raw[] = { 2723 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 2724 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 2725 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 2726 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 2727 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 2728 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 2729 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 2730 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 2731 0x72}; 2732 static const uint8_t test_vector_3_prk_3e2m_raw[] = { 2733 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 2734 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 2735 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 2736 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 2737 int32_t test_vector_3_c_r_raw = -19; 2738 static const uint8_t test_vector_3_c_r[] = { 2739 0x32}; 2740 static const uint8_t test_vector_3_h_message_1_raw[] = { 2741 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 2742 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 2743 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 2744 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 2745 static const uint8_t test_vector_3_h_message_1[] = { 2746 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 2747 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 2748 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 2749 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 2750 0x67, 0x26}; 2751 static const uint8_t test_vector_3_input_th_2[] = { 2752 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 2753 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 2754 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 2755 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 2756 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xc7, 0x93, 0x1f, 2757 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 2758 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 2759 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 2760 0x18, 0x2a, 0x4e, 0x67, 0x26}; 2761 static const uint8_t test_vector_3_th_2_raw[] = { 2762 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 2763 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 2764 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 2765 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d}; 2766 static const uint8_t test_vector_3_th_2[] = { 2767 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 2768 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 2769 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 2770 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 2771 0x85, 0x0d}; 2772 static const uint8_t test_vector_3_id_cred_r[] = { 2773 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 2774 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 2775 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 2776 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 2777 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 2778 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 2779 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 2780 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 2781 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 2782 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 2783 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 2784 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 2785 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 2786 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 2787 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 2788 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 2789 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 2790 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 2791 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 2792 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 2793 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 2794 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 2795 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 2796 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 2797 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 2798 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 2799 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2800 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 2801 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 2802 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 2803 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 2804 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 2805 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 2806 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 2807 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 2808 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 2809 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2810 static const uint8_t test_vector_3_cred_r[] = { 2811 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 2812 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 2813 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 2814 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2815 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 2816 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 2817 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 2818 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 2819 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 2820 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 2821 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 2822 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 2823 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 2824 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 2825 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 2826 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2827 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2828 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 2829 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 2830 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 2831 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 2832 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 2833 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 2834 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 2835 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 2836 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 2837 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2838 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 2839 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 2840 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 2841 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 2842 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 2843 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 2844 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 2845 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 2846 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 2847 0x3b, 0x13, 0x3d, 0x05, 0x58}; 2848 static const uint8_t test_vector_3_ca_r[] = { 2849 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 2850 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 2851 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 2852 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 2853 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 2854 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2855 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 2856 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 2857 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 2858 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 2859 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 2860 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 2861 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 2862 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 2863 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 2864 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2865 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 2866 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 2867 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 2868 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 2869 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 2870 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 2871 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 2872 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 2873 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 2874 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2875 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 2876 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 2877 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 2878 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 2879 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 2880 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 2881 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 2882 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 2883 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 2884 0x13, 0x6b, 0xf3, 0x06}; 2885 static const uint8_t test_vector_3_ca_r_pk[] = { 2886 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 2887 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 2888 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 2889 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 2890 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 2891 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 2892 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 2893 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 2894 0x95}; 2895 static const uint8_t test_vector_3_ead_2[] = { 2896 }; 2897 static const uint8_t test_vector_3_info_mac_2[] = { 2898 0x02, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59, 2899 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 2900 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 2901 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 2902 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 2903 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 2904 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 2905 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 2906 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 2907 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 2908 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 2909 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 2910 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 2911 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 2912 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2913 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 2914 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 2915 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 2916 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 2917 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 2918 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 2919 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 2920 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 2921 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 2922 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 2923 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 2924 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 2925 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 2926 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 2927 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 2928 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 2929 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 2930 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 2931 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 2932 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 2933 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 2934 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 2935 0x13, 0x3d, 0x05, 0x58, 0x58, 0x20, 0xb8, 0x1b, 2936 0xe0, 0xc3, 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 2937 0xbb, 0xb0, 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 2938 0x7d, 0xbc, 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 2939 0xd4, 0xa2, 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 2940 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 2941 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 2942 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 2943 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 2944 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 2945 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 2946 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 2947 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 2948 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 2949 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 2950 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 2951 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 2952 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 2953 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 2954 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 2955 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 2956 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 2957 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 2958 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 2959 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 2960 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 2961 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 2962 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 2963 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 2964 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 2965 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 2966 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 2967 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 2968 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 2969 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 2970 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 2971 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 2972 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 2973 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 2974 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 2975 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 2976 0x3d, 0x05, 0x58, 0x18, 0x20}; 2977 static const uint8_t test_vector_3_mac_2_raw[] = { 2978 0x3b, 0x46, 0x99, 0xd6, 0xd9, 0x5b, 0xd7, 0x8e, 2979 0x42, 0xb8, 0x4b, 0x4a, 0x44, 0xa4, 0x59, 0x5d, 2980 0x98, 0x2d, 0x21, 0x24, 0x99, 0xbf, 0xb3, 0x32, 2981 0x02, 0x27, 0x11, 0xaf, 0xb8, 0x65, 0xcc, 0x30}; 2982 static const uint8_t test_vector_3_mac_2[] = { 2983 0x58, 0x20, 0x3b, 0x46, 0x99, 0xd6, 0xd9, 0x5b, 2984 0xd7, 0x8e, 0x42, 0xb8, 0x4b, 0x4a, 0x44, 0xa4, 2985 0x59, 0x5d, 0x98, 0x2d, 0x21, 0x24, 0x99, 0xbf, 2986 0xb3, 0x32, 0x02, 0x27, 0x11, 0xaf, 0xb8, 0x65, 2987 0xcc, 0x30}; 2988 static const uint8_t test_vector_3_m_2[] = { 2989 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2990 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 2991 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 2992 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 2993 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 2994 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 2995 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 2996 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 2997 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 2998 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 2999 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 3000 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 3001 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 3002 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 3003 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 3004 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 3005 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 3006 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 3007 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 3008 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 3009 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 3010 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 3011 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 3012 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 3013 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 3014 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 3015 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 3016 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 3017 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3018 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 3019 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 3020 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 3021 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 3022 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 3023 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 3024 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 3025 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 3026 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 3027 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x59, 3028 0x01, 0x47, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 3029 0xe4, 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 3030 0xaf, 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 3031 0x00, 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 3032 0x14, 0x2b, 0x85, 0x0d, 0x59, 0x01, 0x22, 0x30, 3033 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 3034 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 3035 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3036 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 3037 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3038 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3039 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 3040 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 3041 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 3042 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 3043 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 3044 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3045 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3046 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 3047 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 3048 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 3049 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 3050 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 3051 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 3052 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 3053 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 3054 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 3055 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 3056 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 3057 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 3058 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3059 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 3060 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 3061 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 3062 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 3063 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 3064 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 3065 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 3066 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 3067 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 3068 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 3069 0x58, 0x58, 0x20, 0x3b, 0x46, 0x99, 0xd6, 0xd9, 3070 0x5b, 0xd7, 0x8e, 0x42, 0xb8, 0x4b, 0x4a, 0x44, 3071 0xa4, 0x59, 0x5d, 0x98, 0x2d, 0x21, 0x24, 0x99, 3072 0xbf, 0xb3, 0x32, 0x02, 0x27, 0x11, 0xaf, 0xb8, 3073 0x65, 0xcc, 0x30}; 3074 static const uint8_t test_vector_3_sig_or_mac_2_raw[] = { 3075 0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf, 0x5e, 0x59, 3076 0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3, 0x0c, 0x7e, 3077 0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94, 0x20, 0xb1, 3078 0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6, 0x8b, 0xe7, 3079 0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44, 0x47, 0x40, 3080 0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57, 0x59, 0x45, 3081 0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab, 0xcf, 0x80, 3082 0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64, 0x26, 0x93}; 3083 static const uint8_t test_vector_3_sig_or_mac_2[] = { 3084 0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf, 3085 0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3, 3086 0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94, 3087 0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6, 3088 0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44, 3089 0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57, 3090 0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab, 3091 0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64, 3092 0x26, 0x93}; 3093 static const uint8_t test_vector_3_plaintext_2[] = { 3094 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3095 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3096 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 3097 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3098 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3099 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3100 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3101 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3102 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 3103 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3104 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3105 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3106 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3107 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 3108 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 3109 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3110 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3111 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3112 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 3113 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 3114 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 3115 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 3116 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 3117 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 3118 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 3119 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 3120 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3121 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3122 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 3123 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 3124 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 3125 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 3126 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 3127 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 3128 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 3129 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 3130 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 3131 0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2, 0x05, 0xcf, 3132 0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10, 0x4d, 0xe3, 3133 0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01, 0xc4, 0x94, 3134 0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde, 0x51, 0xf6, 3135 0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96, 0x4e, 0x44, 3136 0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0, 0x5c, 0x57, 3137 0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4, 0xc8, 0xab, 3138 0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59, 0xc7, 0x64, 3139 0x26, 0x93}; 3140 static const uint8_t test_vector_3_info_keystream_2[] = { 3141 0x00, 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 3142 0x42, 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 3143 0x8d, 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 3144 0x91, 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 3145 0x2b, 0x85, 0x0d, 0x19, 0x01, 0x6a}; 3146 static const uint8_t test_vector_3_keystream_2_raw[] = { 3147 0x18, 0x5d, 0x2b, 0xcd, 0xcf, 0x8c, 0x56, 0xbc, 3148 0x51, 0x37, 0x93, 0x13, 0x6d, 0xa2, 0x11, 0x85, 3149 0x6d, 0xfc, 0x20, 0x2b, 0x6a, 0xc2, 0xcc, 0x57, 3150 0x91, 0xab, 0xed, 0x9a, 0x9b, 0x24, 0x1b, 0xc9, 3151 0x33, 0x6a, 0xf3, 0xa6, 0x72, 0x1f, 0x23, 0x80, 3152 0x9a, 0x6d, 0x21, 0x47, 0x5b, 0xe3, 0xad, 0x6f, 3153 0x25, 0xe0, 0x74, 0x98, 0xbc, 0x8f, 0xc5, 0xab, 3154 0x0f, 0x25, 0x65, 0xb2, 0xf6, 0x5e, 0x5c, 0x0d, 3155 0x31, 0x6e, 0xd8, 0x80, 0x54, 0x18, 0x64, 0x77, 3156 0x2b, 0x6d, 0x2b, 0x8b, 0x29, 0x38, 0x7c, 0x45, 3157 0x04, 0x72, 0xa3, 0xec, 0xee, 0x19, 0xdd, 0xa6, 3158 0x47, 0x46, 0xcc, 0xf8, 0xda, 0x82, 0x21, 0xb8, 3159 0x15, 0xea, 0x40, 0xb6, 0xca, 0xc7, 0xd3, 0xe1, 3160 0x4b, 0xbf, 0x5b, 0xee, 0x70, 0x79, 0x8a, 0x41, 3161 0x23, 0x97, 0x3d, 0xed, 0x06, 0x81, 0xa5, 0x40, 3162 0x86, 0x71, 0xfc, 0x59, 0xb6, 0xa6, 0x4c, 0x40, 3163 0x5f, 0x91, 0x70, 0x5a, 0x5e, 0x32, 0xcc, 0x35, 3164 0x2b, 0x24, 0x2a, 0x72, 0x9e, 0x46, 0x28, 0x9f, 3165 0x56, 0x9d, 0x3b, 0xef, 0x1e, 0x9d, 0xa0, 0xb3, 3166 0xd9, 0x49, 0xf1, 0x7e, 0x75, 0x83, 0xab, 0xb1, 3167 0xa8, 0x80, 0x4f, 0xa0, 0x00, 0x2b, 0x6b, 0x24, 3168 0x21, 0xee, 0xd7, 0x4e, 0xe0, 0xc9, 0xb1, 0xc7, 3169 0x8b, 0x33, 0xb3, 0x55, 0x54, 0x61, 0x2e, 0x84, 3170 0x35, 0xb3, 0x91, 0xbc, 0x28, 0xc5, 0x04, 0xcb, 3171 0x9a, 0x1c, 0x53, 0x0b, 0x4b, 0x08, 0x5b, 0x8a, 3172 0xfe, 0x96, 0x3f, 0x2c, 0xa0, 0xf5, 0x76, 0xd1, 3173 0x55, 0x05, 0x2e, 0x6d, 0x9c, 0x9b, 0x7d, 0xbb, 3174 0x06, 0xd2, 0xaf, 0xd1, 0x48, 0xb0, 0x35, 0x54, 3175 0x57, 0xaa, 0x14, 0xa2, 0xcf, 0x71, 0xb5, 0xf5, 3176 0x36, 0x25, 0x30, 0xfe, 0x0c, 0x86, 0x77, 0x43, 3177 0xc7, 0x26, 0x49, 0x62, 0x82, 0xd6, 0xd0, 0x99, 3178 0x84, 0xfc, 0x94, 0x4d, 0x24, 0xdb, 0x9e, 0x33, 3179 0xf8, 0xd4, 0x7b, 0xf4, 0x0d, 0x18, 0x5c, 0x41, 3180 0x36, 0x01, 0x15, 0x65, 0x77, 0x0c, 0xf5, 0x63, 3181 0xf1, 0x0e, 0x77, 0xb5, 0x67, 0x05, 0x8d, 0x0e, 3182 0xfe, 0xdb, 0x93, 0x0b, 0x48, 0x2c, 0x03, 0xad, 3183 0xda, 0xec, 0xf4, 0xb5, 0xa5, 0xa5, 0xcc, 0xc0, 3184 0xa0, 0x4f, 0xf8, 0x94, 0x9f, 0x04, 0xaa, 0x9c, 3185 0xce, 0x2d, 0x34, 0x4b, 0xba, 0xdd, 0x8f, 0x7b, 3186 0xe5, 0xd5, 0x2e, 0x19, 0x7d, 0x1f, 0xd6, 0xad, 3187 0x2d, 0x99, 0x09, 0x70, 0x4c, 0x2d, 0xd2, 0x4c, 3188 0xd0, 0xd1, 0x35, 0x29, 0x84, 0x54, 0x11, 0xf5, 3189 0x50, 0x33, 0x5a, 0x2e, 0x78, 0x44, 0xd6, 0x5c, 3190 0xb8, 0x96, 0x71, 0xc2, 0xb7, 0xdb, 0xbc, 0x80, 3191 0xe3, 0xb5, 0x59, 0x3c, 0xb7, 0xae, 0x62, 0x0a, 3192 0x86, 0x9f}; 3193 static const uint8_t test_vector_3_ciphertext_2_raw[] = { 3194 0xb9, 0x45, 0x0b, 0x94, 0xce, 0xae, 0x66, 0x3e, 3195 0x50, 0x29, 0xa3, 0x92, 0xa8, 0x02, 0x12, 0x87, 3196 0x6c, 0xfe, 0x22, 0x2f, 0x0b, 0x2b, 0x54, 0x49, 3197 0xa1, 0xa1, 0xeb, 0x92, 0xb1, 0xa2, 0x53, 0x07, 3198 0x0e, 0x6e, 0xf0, 0xa4, 0x42, 0x0a, 0x12, 0x93, 3199 0xaa, 0x7c, 0x27, 0x44, 0x0e, 0xe7, 0xae, 0x63, 3200 0x2f, 0xa5, 0x30, 0xd0, 0xf3, 0xcc, 0xe5, 0xf9, 3201 0x60, 0x4a, 0x11, 0x82, 0xe8, 0x49, 0x51, 0x3f, 3202 0x03, 0x5e, 0xe9, 0xb2, 0x64, 0x29, 0x53, 0x46, 3203 0x18, 0x5d, 0x19, 0xd1, 0x3e, 0x35, 0x4e, 0x7c, 3204 0x35, 0x40, 0x90, 0xdd, 0xdc, 0x2a, 0xed, 0x96, 3205 0x77, 0x76, 0x96, 0xc8, 0xc0, 0xb3, 0x39, 0x88, 3206 0x03, 0xec, 0x43, 0xe3, 0xce, 0xc4, 0xdf, 0xee, 3207 0x0e, 0xfb, 0x13, 0xa1, 0x33, 0x59, 0xd8, 0x24, 3208 0x50, 0xe7, 0x52, 0x83, 0x62, 0xe4, 0xd7, 0x70, 3209 0xdf, 0x41, 0xef, 0x5f, 0xb1, 0x8c, 0xca, 0x08, 3210 0x91, 0xac, 0x72, 0x5b, 0x58, 0x3a, 0xe6, 0xb3, 3211 0x63, 0xea, 0x17, 0x71, 0x9f, 0x41, 0x2b, 0xdd, 3212 0x56, 0x99, 0x80, 0x2c, 0x57, 0xfd, 0xf2, 0xdd, 3213 0x7d, 0x9a, 0xdf, 0xea, 0x79, 0x2e, 0x81, 0x92, 3214 0xe9, 0xc8, 0x92, 0x62, 0x17, 0xba, 0xca, 0x0e, 3215 0xda, 0x25, 0x7b, 0xdd, 0x82, 0xe9, 0xf7, 0x1a, 3216 0xcf, 0xc3, 0xf6, 0x4c, 0xb6, 0x36, 0x0d, 0xef, 3217 0x1f, 0xbf, 0x73, 0xbe, 0x17, 0xcc, 0x35, 0x3a, 3218 0x69, 0x9a, 0x99, 0x71, 0xb6, 0xae, 0x14, 0x47, 3219 0x1e, 0x86, 0xb3, 0x0e, 0xec, 0xa4, 0x9c, 0x6e, 3220 0x35, 0x77, 0x1e, 0x67, 0x9a, 0x93, 0x57, 0x3d, 3221 0x4e, 0x1c, 0x92, 0xd5, 0x4b, 0xb2, 0x36, 0x1c, 3222 0x57, 0x9a, 0x51, 0xa0, 0xef, 0x41, 0xac, 0xbb, 3223 0xc3, 0xd9, 0x55, 0x36, 0xbb, 0x13, 0xba, 0x8e, 3224 0xcc, 0x92, 0x78, 0xdd, 0x01, 0x38, 0xb7, 0xd8, 3225 0x45, 0xcb, 0x98, 0x6f, 0xec, 0x30, 0x10, 0xda, 3226 0x15, 0x06, 0xdc, 0xf1, 0x14, 0x1a, 0x7d, 0x41, 3227 0x83, 0x82, 0x1b, 0xf9, 0xfe, 0xaa, 0xdf, 0xa4, 3228 0xcd, 0xef, 0x9c, 0x7b, 0x67, 0x64, 0xfd, 0x73, 3229 0x46, 0x73, 0x1d, 0x28, 0x38, 0xb7, 0x49, 0x61, 3230 0x82, 0x4d, 0xc5, 0x8e, 0xb6, 0x98, 0xc9, 0x98, 3231 0xf8, 0x0f, 0x94, 0xd3, 0x56, 0xa6, 0xaf, 0x53, 3232 0x90, 0x74, 0x44, 0x1e, 0xe4, 0xcd, 0xc2, 0x98, 3233 0xe9, 0xab, 0x0c, 0x24, 0x24, 0x1e, 0x12, 0x39, 3234 0x0d, 0x28, 0xb9, 0x52, 0xb4, 0xf3, 0x83, 0xba, 3235 0x5b, 0x36, 0x90, 0xb6, 0xad, 0xc2, 0x5f, 0xb1, 3236 0x17, 0x73, 0x26, 0x97, 0x92, 0xf4, 0x8a, 0x0b, 3237 0xe1, 0xd3, 0x0a, 0xc0, 0xb2, 0x7f, 0x74, 0x2b, 3238 0x2c, 0x35, 0x1f, 0x90, 0xea, 0xf7, 0xa5, 0x6e, 3239 0xa0, 0x0c}; 3240 static const uint8_t test_vector_3_ciphertext_2[] = { 3241 0x59, 0x01, 0x6a, 0xb9, 0x45, 0x0b, 0x94, 0xce, 3242 0xae, 0x66, 0x3e, 0x50, 0x29, 0xa3, 0x92, 0xa8, 3243 0x02, 0x12, 0x87, 0x6c, 0xfe, 0x22, 0x2f, 0x0b, 3244 0x2b, 0x54, 0x49, 0xa1, 0xa1, 0xeb, 0x92, 0xb1, 3245 0xa2, 0x53, 0x07, 0x0e, 0x6e, 0xf0, 0xa4, 0x42, 3246 0x0a, 0x12, 0x93, 0xaa, 0x7c, 0x27, 0x44, 0x0e, 3247 0xe7, 0xae, 0x63, 0x2f, 0xa5, 0x30, 0xd0, 0xf3, 3248 0xcc, 0xe5, 0xf9, 0x60, 0x4a, 0x11, 0x82, 0xe8, 3249 0x49, 0x51, 0x3f, 0x03, 0x5e, 0xe9, 0xb2, 0x64, 3250 0x29, 0x53, 0x46, 0x18, 0x5d, 0x19, 0xd1, 0x3e, 3251 0x35, 0x4e, 0x7c, 0x35, 0x40, 0x90, 0xdd, 0xdc, 3252 0x2a, 0xed, 0x96, 0x77, 0x76, 0x96, 0xc8, 0xc0, 3253 0xb3, 0x39, 0x88, 0x03, 0xec, 0x43, 0xe3, 0xce, 3254 0xc4, 0xdf, 0xee, 0x0e, 0xfb, 0x13, 0xa1, 0x33, 3255 0x59, 0xd8, 0x24, 0x50, 0xe7, 0x52, 0x83, 0x62, 3256 0xe4, 0xd7, 0x70, 0xdf, 0x41, 0xef, 0x5f, 0xb1, 3257 0x8c, 0xca, 0x08, 0x91, 0xac, 0x72, 0x5b, 0x58, 3258 0x3a, 0xe6, 0xb3, 0x63, 0xea, 0x17, 0x71, 0x9f, 3259 0x41, 0x2b, 0xdd, 0x56, 0x99, 0x80, 0x2c, 0x57, 3260 0xfd, 0xf2, 0xdd, 0x7d, 0x9a, 0xdf, 0xea, 0x79, 3261 0x2e, 0x81, 0x92, 0xe9, 0xc8, 0x92, 0x62, 0x17, 3262 0xba, 0xca, 0x0e, 0xda, 0x25, 0x7b, 0xdd, 0x82, 3263 0xe9, 0xf7, 0x1a, 0xcf, 0xc3, 0xf6, 0x4c, 0xb6, 3264 0x36, 0x0d, 0xef, 0x1f, 0xbf, 0x73, 0xbe, 0x17, 3265 0xcc, 0x35, 0x3a, 0x69, 0x9a, 0x99, 0x71, 0xb6, 3266 0xae, 0x14, 0x47, 0x1e, 0x86, 0xb3, 0x0e, 0xec, 3267 0xa4, 0x9c, 0x6e, 0x35, 0x77, 0x1e, 0x67, 0x9a, 3268 0x93, 0x57, 0x3d, 0x4e, 0x1c, 0x92, 0xd5, 0x4b, 3269 0xb2, 0x36, 0x1c, 0x57, 0x9a, 0x51, 0xa0, 0xef, 3270 0x41, 0xac, 0xbb, 0xc3, 0xd9, 0x55, 0x36, 0xbb, 3271 0x13, 0xba, 0x8e, 0xcc, 0x92, 0x78, 0xdd, 0x01, 3272 0x38, 0xb7, 0xd8, 0x45, 0xcb, 0x98, 0x6f, 0xec, 3273 0x30, 0x10, 0xda, 0x15, 0x06, 0xdc, 0xf1, 0x14, 3274 0x1a, 0x7d, 0x41, 0x83, 0x82, 0x1b, 0xf9, 0xfe, 3275 0xaa, 0xdf, 0xa4, 0xcd, 0xef, 0x9c, 0x7b, 0x67, 3276 0x64, 0xfd, 0x73, 0x46, 0x73, 0x1d, 0x28, 0x38, 3277 0xb7, 0x49, 0x61, 0x82, 0x4d, 0xc5, 0x8e, 0xb6, 3278 0x98, 0xc9, 0x98, 0xf8, 0x0f, 0x94, 0xd3, 0x56, 3279 0xa6, 0xaf, 0x53, 0x90, 0x74, 0x44, 0x1e, 0xe4, 3280 0xcd, 0xc2, 0x98, 0xe9, 0xab, 0x0c, 0x24, 0x24, 3281 0x1e, 0x12, 0x39, 0x0d, 0x28, 0xb9, 0x52, 0xb4, 3282 0xf3, 0x83, 0xba, 0x5b, 0x36, 0x90, 0xb6, 0xad, 3283 0xc2, 0x5f, 0xb1, 0x17, 0x73, 0x26, 0x97, 0x92, 3284 0xf4, 0x8a, 0x0b, 0xe1, 0xd3, 0x0a, 0xc0, 0xb2, 3285 0x7f, 0x74, 0x2b, 0x2c, 0x35, 0x1f, 0x90, 0xea, 3286 0xf7, 0xa5, 0x6e, 0xa0, 0x0c}; 3287 static const uint8_t test_vector_3_message_2[] = { 3288 0x59, 0x01, 0x8a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 3289 0x0a, 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 3290 0x75, 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 3291 0x42, 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 3292 0x4f, 0xf5, 0xd5, 0xb9, 0x45, 0x0b, 0x94, 0xce, 3293 0xae, 0x66, 0x3e, 0x50, 0x29, 0xa3, 0x92, 0xa8, 3294 0x02, 0x12, 0x87, 0x6c, 0xfe, 0x22, 0x2f, 0x0b, 3295 0x2b, 0x54, 0x49, 0xa1, 0xa1, 0xeb, 0x92, 0xb1, 3296 0xa2, 0x53, 0x07, 0x0e, 0x6e, 0xf0, 0xa4, 0x42, 3297 0x0a, 0x12, 0x93, 0xaa, 0x7c, 0x27, 0x44, 0x0e, 3298 0xe7, 0xae, 0x63, 0x2f, 0xa5, 0x30, 0xd0, 0xf3, 3299 0xcc, 0xe5, 0xf9, 0x60, 0x4a, 0x11, 0x82, 0xe8, 3300 0x49, 0x51, 0x3f, 0x03, 0x5e, 0xe9, 0xb2, 0x64, 3301 0x29, 0x53, 0x46, 0x18, 0x5d, 0x19, 0xd1, 0x3e, 3302 0x35, 0x4e, 0x7c, 0x35, 0x40, 0x90, 0xdd, 0xdc, 3303 0x2a, 0xed, 0x96, 0x77, 0x76, 0x96, 0xc8, 0xc0, 3304 0xb3, 0x39, 0x88, 0x03, 0xec, 0x43, 0xe3, 0xce, 3305 0xc4, 0xdf, 0xee, 0x0e, 0xfb, 0x13, 0xa1, 0x33, 3306 0x59, 0xd8, 0x24, 0x50, 0xe7, 0x52, 0x83, 0x62, 3307 0xe4, 0xd7, 0x70, 0xdf, 0x41, 0xef, 0x5f, 0xb1, 3308 0x8c, 0xca, 0x08, 0x91, 0xac, 0x72, 0x5b, 0x58, 3309 0x3a, 0xe6, 0xb3, 0x63, 0xea, 0x17, 0x71, 0x9f, 3310 0x41, 0x2b, 0xdd, 0x56, 0x99, 0x80, 0x2c, 0x57, 3311 0xfd, 0xf2, 0xdd, 0x7d, 0x9a, 0xdf, 0xea, 0x79, 3312 0x2e, 0x81, 0x92, 0xe9, 0xc8, 0x92, 0x62, 0x17, 3313 0xba, 0xca, 0x0e, 0xda, 0x25, 0x7b, 0xdd, 0x82, 3314 0xe9, 0xf7, 0x1a, 0xcf, 0xc3, 0xf6, 0x4c, 0xb6, 3315 0x36, 0x0d, 0xef, 0x1f, 0xbf, 0x73, 0xbe, 0x17, 3316 0xcc, 0x35, 0x3a, 0x69, 0x9a, 0x99, 0x71, 0xb6, 3317 0xae, 0x14, 0x47, 0x1e, 0x86, 0xb3, 0x0e, 0xec, 3318 0xa4, 0x9c, 0x6e, 0x35, 0x77, 0x1e, 0x67, 0x9a, 3319 0x93, 0x57, 0x3d, 0x4e, 0x1c, 0x92, 0xd5, 0x4b, 3320 0xb2, 0x36, 0x1c, 0x57, 0x9a, 0x51, 0xa0, 0xef, 3321 0x41, 0xac, 0xbb, 0xc3, 0xd9, 0x55, 0x36, 0xbb, 3322 0x13, 0xba, 0x8e, 0xcc, 0x92, 0x78, 0xdd, 0x01, 3323 0x38, 0xb7, 0xd8, 0x45, 0xcb, 0x98, 0x6f, 0xec, 3324 0x30, 0x10, 0xda, 0x15, 0x06, 0xdc, 0xf1, 0x14, 3325 0x1a, 0x7d, 0x41, 0x83, 0x82, 0x1b, 0xf9, 0xfe, 3326 0xaa, 0xdf, 0xa4, 0xcd, 0xef, 0x9c, 0x7b, 0x67, 3327 0x64, 0xfd, 0x73, 0x46, 0x73, 0x1d, 0x28, 0x38, 3328 0xb7, 0x49, 0x61, 0x82, 0x4d, 0xc5, 0x8e, 0xb6, 3329 0x98, 0xc9, 0x98, 0xf8, 0x0f, 0x94, 0xd3, 0x56, 3330 0xa6, 0xaf, 0x53, 0x90, 0x74, 0x44, 0x1e, 0xe4, 3331 0xcd, 0xc2, 0x98, 0xe9, 0xab, 0x0c, 0x24, 0x24, 3332 0x1e, 0x12, 0x39, 0x0d, 0x28, 0xb9, 0x52, 0xb4, 3333 0xf3, 0x83, 0xba, 0x5b, 0x36, 0x90, 0xb6, 0xad, 3334 0xc2, 0x5f, 0xb1, 0x17, 0x73, 0x26, 0x97, 0x92, 3335 0xf4, 0x8a, 0x0b, 0xe1, 0xd3, 0x0a, 0xc0, 0xb2, 3336 0x7f, 0x74, 0x2b, 0x2c, 0x35, 0x1f, 0x90, 0xea, 3337 0xf7, 0xa5, 0x6e, 0xa0, 0x0c, 0x32}; 3338 static const uint8_t test_vector_3_sk_i_raw[] = { 3339 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 3340 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 3341 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 3342 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 3343 static const uint8_t test_vector_3_pk_i_raw[] = { 3344 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 3345 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 3346 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 3347 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 3348 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 3349 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 3350 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 3351 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 3352 0xc8}; 3353 static const uint8_t test_vector_3_salt_4e3m[] = { 3354 0x96, 0xa1, 0xfb, 0xc7, 0x01, 0x29, 0x8c, 0x8c, 3355 0x5b, 0xbe, 0x4e, 0x94, 0x74, 0x33, 0x7c, 0x75, 3356 0x88, 0x81, 0x27, 0x85, 0x9d, 0xbc, 0x06, 0x73, 3357 0x70, 0x7c, 0x03, 0xb4, 0x2e, 0x88, 0x64, 0x59}; 3358 static const uint8_t test_vector_3_prk_4e3m_raw[] = { 3359 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 3360 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 3361 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 3362 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 3363 static const uint8_t test_vector_3_input_TH_3[] = { 3364 0x58, 0x20, 0xb8, 0x1b, 0xe0, 0xc3, 0xe4, 0x42, 3365 0xc4, 0xa1, 0x6d, 0x19, 0xbb, 0xb0, 0xaf, 0x8d, 3366 0x29, 0x85, 0xac, 0xa5, 0x7d, 0xbc, 0x00, 0x91, 3367 0xd5, 0x1d, 0x5d, 0x96, 0xd4, 0xa2, 0x14, 0x2b, 3368 0x85, 0x0d, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 3369 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 3370 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 3371 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3372 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 3373 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3374 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3375 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3376 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 3377 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 3378 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3379 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 3380 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 3381 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3382 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 3383 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 3384 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 3385 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 3386 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 3387 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 3388 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 3389 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 3390 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 3391 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 3392 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 3393 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 3394 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 3395 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3396 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 3397 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 3398 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 3399 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 3400 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 3401 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 3402 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 3403 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 3404 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 3405 0x05, 0x58, 0x58, 0x40, 0x6c, 0x47, 0xc9, 0xa2, 3406 0x05, 0xcf, 0x5e, 0x59, 0x70, 0x55, 0x5e, 0x10, 3407 0x4d, 0xe3, 0x0c, 0x7e, 0x22, 0x3d, 0x59, 0x01, 3408 0xc4, 0x94, 0x20, 0xb1, 0xb0, 0x22, 0xf8, 0xde, 3409 0x51, 0xf6, 0x8b, 0xe7, 0xa5, 0x9f, 0x29, 0x96, 3410 0x4e, 0x44, 0x47, 0x40, 0x7c, 0xb9, 0xea, 0xb0, 3411 0x5c, 0x57, 0x59, 0x45, 0x7b, 0x02, 0x05, 0xa4, 3412 0xc8, 0xab, 0xcf, 0x80, 0x46, 0xac, 0x5d, 0x59, 3413 0xc7, 0x64, 0x26, 0x93}; 3414 static const uint8_t test_vector_3_th_3_raw[] = { 3415 0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff, 0x1b, 0x41, 3416 0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86, 0xf1, 0x79, 3417 0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e, 0xe5, 0x6a, 3418 0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98, 0xc4, 0xc3}; 3419 static const uint8_t test_vector_3_th_3[] = { 3420 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff, 3421 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86, 3422 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e, 3423 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98, 3424 0xc4, 0xc3}; 3425 static const uint8_t test_vector_3_id_cred_i[] = { 3426 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3427 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3428 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 3429 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3430 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3431 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3432 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3433 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3434 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 3435 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3436 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3437 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3438 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3439 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 3440 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 3441 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3442 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3443 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3444 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 3445 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 3446 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 3447 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 3448 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 3449 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 3450 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 3451 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 3452 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3453 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3454 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 3455 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 3456 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 3457 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 3458 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 3459 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 3460 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 3461 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 3462 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 3463 static const uint8_t test_vector_3_cred_i[] = { 3464 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 3465 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 3466 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 3467 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 3468 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 3469 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 3470 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 3471 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 3472 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 3473 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 3474 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 3475 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 3476 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 3477 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 3478 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 3479 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 3480 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3481 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 3482 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 3483 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 3484 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 3485 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 3486 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 3487 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 3488 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 3489 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 3490 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3491 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 3492 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 3493 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 3494 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 3495 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 3496 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 3497 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 3498 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 3499 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 3500 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 3501 static const uint8_t test_vector_3_ca_i[] = { 3502 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 3503 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 3504 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3505 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 3506 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3507 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3508 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3509 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 3510 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 3511 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3512 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 3513 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3514 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3515 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 3516 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 3517 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3518 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 3519 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 3520 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 3521 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 3522 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 3523 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 3524 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 3525 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 3526 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 3527 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3528 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 3529 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 3530 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 3531 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 3532 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 3533 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 3534 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 3535 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 3536 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 3537 0x13, 0x6b, 0xf3, 0x06}; 3538 static const uint8_t test_vector_3_ca_i_pk[] = { 3539 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 3540 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 3541 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 3542 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 3543 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 3544 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 3545 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 3546 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 3547 0x95}; 3548 static const uint8_t test_vector_3_ead_3[] = { 3549 }; 3550 static const uint8_t test_vector_3_info_mac_3[] = { 3551 0x06, 0x59, 0x02, 0x6f, 0xa1, 0x18, 0x20, 0x59, 3552 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 3553 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 3554 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 3555 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3556 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 3557 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 3558 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 3559 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 3560 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 3561 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 3562 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 3563 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 3564 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 3565 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 3566 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 3567 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 3568 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 3569 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 3570 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 3571 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 3572 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 3573 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 3574 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 3575 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 3576 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 3577 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 3578 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 3579 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 3580 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 3581 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 3582 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 3583 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 3584 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 3585 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 3586 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 3587 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 3588 0x07, 0xa2, 0xbe, 0xde, 0x58, 0x20, 0x85, 0xa4, 3589 0xee, 0x31, 0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c, 3590 0x2f, 0x31, 0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70, 3591 0x54, 0xd5, 0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 3592 0x28, 0x16, 0xfb, 0x98, 0xc4, 0xc3, 0x59, 0x01, 3593 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 3594 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 3595 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3596 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 3597 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 3598 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 3599 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 3600 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 3601 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 3602 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 3603 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 3604 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 3605 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 3606 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 3607 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 3608 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 3609 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 3610 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 3611 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 3612 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 3613 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 3614 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 3615 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 3616 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 3617 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 3618 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 3619 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 3620 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 3621 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 3622 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 3623 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 3624 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 3625 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 3626 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 3627 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 3628 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 3629 0xa2, 0xbe, 0xde, 0x18, 0x20}; 3630 static const uint8_t test_vector_3_mac_3_raw[] = { 3631 0x7c, 0x27, 0x91, 0xf7, 0x01, 0xa4, 0x25, 0x9a, 3632 0x1a, 0x95, 0x8c, 0xe1, 0xcc, 0xaf, 0xc1, 0x5c, 3633 0x03, 0xd3, 0xc0, 0x7e, 0xcb, 0xa6, 0x25, 0xa9, 3634 0x68, 0xd5, 0xb7, 0x32, 0x69, 0xa3, 0x15, 0x06}; 3635 static const uint8_t test_vector_3_mac_3[] = { 3636 0x58, 0x20, 0x7c, 0x27, 0x91, 0xf7, 0x01, 0xa4, 3637 0x25, 0x9a, 0x1a, 0x95, 0x8c, 0xe1, 0xcc, 0xaf, 3638 0xc1, 0x5c, 0x03, 0xd3, 0xc0, 0x7e, 0xcb, 0xa6, 3639 0x25, 0xa9, 0x68, 0xd5, 0xb7, 0x32, 0x69, 0xa3, 3640 0x15, 0x06}; 3641 static const uint8_t test_vector_3_m_3[] = { 3642 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 3643 0x75, 0x72, 0x65, 0x31, 0x59, 0x01, 0x28, 0xa1, 3644 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 3645 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 3646 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 3647 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 3648 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 3649 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 3650 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 3651 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 3652 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 3653 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 3654 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 3655 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 3656 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 3657 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 3658 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 3659 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 3660 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 3661 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 3662 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 3663 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 3664 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 3665 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 3666 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 3667 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 3668 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 3669 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 3670 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3671 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 3672 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 3673 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 3674 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 3675 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 3676 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 3677 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 3678 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 3679 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 3680 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x59, 3681 0x01, 0x47, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 3682 0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 3683 0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 3684 0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 3685 0xfb, 0x98, 0xc4, 0xc3, 0x59, 0x01, 0x22, 0x30, 3686 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 3687 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 3688 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 3689 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 3690 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 3691 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3692 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 3693 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 3694 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 3695 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 3696 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 3697 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3698 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 3699 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 3700 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 3701 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 3702 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 3703 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 3704 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 3705 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 3706 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 3707 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 3708 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 3709 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 3710 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 3711 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 3712 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 3713 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 3714 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 3715 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 3716 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 3717 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 3718 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 3719 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 3720 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 3721 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 3722 0xde, 0x58, 0x20, 0x7c, 0x27, 0x91, 0xf7, 0x01, 3723 0xa4, 0x25, 0x9a, 0x1a, 0x95, 0x8c, 0xe1, 0xcc, 3724 0xaf, 0xc1, 0x5c, 0x03, 0xd3, 0xc0, 0x7e, 0xcb, 3725 0xa6, 0x25, 0xa9, 0x68, 0xd5, 0xb7, 0x32, 0x69, 3726 0xa3, 0x15, 0x06}; 3727 static const uint8_t test_vector_3_sig_or_mac_3_raw[] = { 3728 0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38, 0xe6, 0x93, 3729 0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b, 0x6c, 0x01, 3730 0x99, 0x26, 0xab, 0x12, 0xf2, 0xff, 0x47, 0xfa, 3731 0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa, 0xad, 0x55, 3732 0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62, 0xf6, 0x79, 3733 0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a, 0x11, 0xdc, 3734 0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31, 0xf1, 0x52, 3735 0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86, 0x1d, 0x2a}; 3736 static const uint8_t test_vector_3_sig_or_mac_3[] = { 3737 0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38, 3738 0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b, 3739 0x6c, 0x01, 0x99, 0x26, 0xab, 0x12, 0xf2, 0xff, 3740 0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa, 3741 0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62, 3742 0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a, 3743 0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31, 3744 0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86, 3745 0x1d, 0x2a}; 3746 static const uint8_t test_vector_3_p_3[] = { 3747 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 0x30, 0x82, 3748 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 3749 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 3750 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 3751 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 3752 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 3753 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 3754 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 3755 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 3756 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 3757 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 3758 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 3759 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 3760 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 3761 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 3762 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 3763 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 3764 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 3765 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 3766 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 3767 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 3768 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 3769 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 3770 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 3771 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 3772 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 3773 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3774 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 3775 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 3776 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 3777 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 3778 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 3779 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 3780 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 3781 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 3782 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 3783 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 3784 0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98, 0x1e, 0x38, 3785 0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9, 0xec, 0x8b, 3786 0x6c, 0x01, 0x99, 0x26, 0xab, 0x12, 0xf2, 0xff, 3787 0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16, 0xb6, 0xfa, 3788 0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c, 0x27, 0x62, 3789 0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08, 0xf9, 0x4a, 3790 0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2, 0xe5, 0x31, 3791 0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1, 0x7e, 0x86, 3792 0x1d, 0x2a}; 3793 static const uint8_t test_vector_3_a_3[] = { 3794 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 3795 0x74, 0x30, 0x40, 0x58, 0x20, 0x85, 0xa4, 0xee, 3796 0x31, 0xb2, 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 3797 0x31, 0xf6, 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 3798 0xd5, 0x95, 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 3799 0x16, 0xfb, 0x98, 0xc4, 0xc3}; 3800 static const uint8_t test_vector_3_info_k_3[] = { 3801 0x03, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 3802 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 3803 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 3804 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 3805 0x98, 0xc4, 0xc3, 0x10}; 3806 static const uint8_t test_vector_3_k_3_raw[] = { 3807 0x48, 0xcc, 0xb7, 0xb9, 0xef, 0x1e, 0x2f, 0xd2, 3808 0x4b, 0x41, 0x58, 0x03, 0x89, 0xf0, 0x38, 0xc5}; 3809 static const uint8_t test_vector_3_info_iv_3[] = { 3810 0x04, 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 3811 0xff, 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 3812 0x86, 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 3813 0x4e, 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 3814 0x98, 0xc4, 0xc3, 0x0d}; 3815 static const uint8_t test_vector_3_iv_3_raw[] = { 3816 0x68, 0xd2, 0x00, 0x57, 0x8a, 0x17, 0x8e, 0xc8, 3817 0xb9, 0x20, 0x60, 0xff, 0x15}; 3818 static const uint8_t test_vector_3_ciphertext_3_raw[] = { 3819 0xf2, 0xbd, 0xf0, 0x1c, 0xb0, 0x13, 0x6e, 0x4b, 3820 0x0d, 0x71, 0x0e, 0xa3, 0x6b, 0xc6, 0x51, 0xeb, 3821 0x71, 0x9a, 0xda, 0xc8, 0xec, 0x47, 0x2e, 0x2b, 3822 0x1b, 0xaa, 0xff, 0x51, 0x6e, 0x3c, 0x3e, 0x24, 3823 0x2b, 0xcc, 0x90, 0x8c, 0xcd, 0xa4, 0x4a, 0xe9, 3824 0xef, 0xa2, 0x1c, 0xd3, 0xa7, 0x88, 0xd5, 0x70, 3825 0x42, 0x7b, 0x9d, 0xd3, 0x9e, 0x88, 0xc6, 0x76, 3826 0x3f, 0xe0, 0x85, 0xd2, 0xe3, 0xeb, 0x6a, 0xb1, 3827 0x2f, 0x56, 0xe0, 0xe0, 0xdd, 0xb7, 0xe8, 0x32, 3828 0x1c, 0x1e, 0x32, 0xd1, 0xfd, 0x32, 0xbf, 0x06, 3829 0xf1, 0x91, 0x12, 0x19, 0x5d, 0xbb, 0x2d, 0x93, 3830 0x30, 0x82, 0xce, 0x30, 0xad, 0x43, 0x06, 0x89, 3831 0x64, 0xbe, 0x66, 0xd5, 0xee, 0xea, 0x8d, 0x26, 3832 0xfe, 0xc0, 0xae, 0x40, 0x41, 0x15, 0xdb, 0x4c, 3833 0xb9, 0x52, 0xf6, 0x2d, 0xb6, 0xa1, 0xb0, 0x17, 3834 0x1e, 0xb9, 0xd8, 0x64, 0xf4, 0xdb, 0x21, 0xa7, 3835 0x18, 0xc6, 0xba, 0xdf, 0x05, 0xb6, 0x0f, 0x13, 3836 0x08, 0x2f, 0xb2, 0x25, 0x45, 0xd1, 0xbe, 0xa3, 3837 0xa4, 0x35, 0xed, 0xc5, 0x26, 0xdd, 0xbe, 0xdc, 3838 0xee, 0x3c, 0x65, 0xfd, 0x5f, 0x6a, 0x55, 0xa9, 3839 0xae, 0x85, 0xb2, 0xa9, 0xb5, 0xbb, 0x68, 0x6e, 3840 0xaa, 0x7d, 0x41, 0xfd, 0xb5, 0x39, 0xf0, 0xf7, 3841 0xee, 0x43, 0x70, 0x30, 0x06, 0xa9, 0x6d, 0x1e, 3842 0x37, 0x71, 0x70, 0x12, 0x6a, 0x6b, 0x9b, 0xc4, 3843 0x5a, 0xbd, 0xa1, 0xa2, 0x8a, 0x5e, 0x3f, 0xa6, 3844 0x3f, 0x6a, 0x08, 0xee, 0xb9, 0xd7, 0x30, 0x75, 3845 0x57, 0x8e, 0xff, 0xed, 0xe2, 0xe4, 0xb5, 0x4f, 3846 0x87, 0xad, 0xae, 0xa2, 0x06, 0x56, 0x60, 0x04, 3847 0x30, 0xc2, 0x60, 0x5d, 0xce, 0x24, 0x4d, 0x2f, 3848 0xfb, 0xc1, 0xd1, 0xdd, 0x39, 0x91, 0xdb, 0x3a, 3849 0xd7, 0x21, 0x26, 0xd6, 0xb2, 0x6b, 0xa5, 0xd7, 3850 0x50, 0xa2, 0xdd, 0xf6, 0x4d, 0x3c, 0x6a, 0x12, 3851 0x08, 0xf0, 0x8f, 0x4d, 0x35, 0x4a, 0xa6, 0x50, 3852 0x89, 0xc2, 0x1f, 0xe6, 0x21, 0xa7, 0x5b, 0x64, 3853 0xdb, 0x1c, 0xbf, 0x21, 0x64, 0x77, 0x22, 0xf7, 3854 0x0b, 0xf6, 0x4a, 0xd5, 0xbb, 0xc0, 0xfc, 0x8c, 3855 0x75, 0x42, 0xe3, 0xfc, 0xfe, 0x36, 0x96, 0xb8, 3856 0x46, 0x42, 0x40, 0x19, 0xd3, 0x57, 0xea, 0x41, 3857 0x44, 0xcf, 0x90, 0xf6, 0xb3, 0x0b, 0xcc, 0x17, 3858 0x03, 0xac, 0xeb, 0xf0, 0xdb, 0x59, 0x4f, 0x51, 3859 0x3c, 0x81, 0x3d, 0x9d, 0x2e, 0xcb, 0xf6, 0x4d, 3860 0x0f, 0x5c, 0x5d, 0xfe, 0xba, 0xc4, 0x0d, 0x41, 3861 0xb0, 0x04, 0x09, 0x0b, 0x3a, 0xf3, 0xe7, 0xdd, 3862 0xb1, 0xeb, 0x1e, 0xe8, 0x72, 0x37, 0x5c, 0x4c, 3863 0x41, 0x17, 0x07, 0xf6, 0x93, 0x70, 0xc3, 0x7f, 3864 0xde, 0xb9, 0x3c, 0x17, 0xd4, 0xc7, 0xf6, 0x49, 3865 0xae, 0xcd}; 3866 static const uint8_t test_vector_3_ciphertext_3[] = { 3867 0x59, 0x01, 0x72, 0xf2, 0xbd, 0xf0, 0x1c, 0xb0, 3868 0x13, 0x6e, 0x4b, 0x0d, 0x71, 0x0e, 0xa3, 0x6b, 3869 0xc6, 0x51, 0xeb, 0x71, 0x9a, 0xda, 0xc8, 0xec, 3870 0x47, 0x2e, 0x2b, 0x1b, 0xaa, 0xff, 0x51, 0x6e, 3871 0x3c, 0x3e, 0x24, 0x2b, 0xcc, 0x90, 0x8c, 0xcd, 3872 0xa4, 0x4a, 0xe9, 0xef, 0xa2, 0x1c, 0xd3, 0xa7, 3873 0x88, 0xd5, 0x70, 0x42, 0x7b, 0x9d, 0xd3, 0x9e, 3874 0x88, 0xc6, 0x76, 0x3f, 0xe0, 0x85, 0xd2, 0xe3, 3875 0xeb, 0x6a, 0xb1, 0x2f, 0x56, 0xe0, 0xe0, 0xdd, 3876 0xb7, 0xe8, 0x32, 0x1c, 0x1e, 0x32, 0xd1, 0xfd, 3877 0x32, 0xbf, 0x06, 0xf1, 0x91, 0x12, 0x19, 0x5d, 3878 0xbb, 0x2d, 0x93, 0x30, 0x82, 0xce, 0x30, 0xad, 3879 0x43, 0x06, 0x89, 0x64, 0xbe, 0x66, 0xd5, 0xee, 3880 0xea, 0x8d, 0x26, 0xfe, 0xc0, 0xae, 0x40, 0x41, 3881 0x15, 0xdb, 0x4c, 0xb9, 0x52, 0xf6, 0x2d, 0xb6, 3882 0xa1, 0xb0, 0x17, 0x1e, 0xb9, 0xd8, 0x64, 0xf4, 3883 0xdb, 0x21, 0xa7, 0x18, 0xc6, 0xba, 0xdf, 0x05, 3884 0xb6, 0x0f, 0x13, 0x08, 0x2f, 0xb2, 0x25, 0x45, 3885 0xd1, 0xbe, 0xa3, 0xa4, 0x35, 0xed, 0xc5, 0x26, 3886 0xdd, 0xbe, 0xdc, 0xee, 0x3c, 0x65, 0xfd, 0x5f, 3887 0x6a, 0x55, 0xa9, 0xae, 0x85, 0xb2, 0xa9, 0xb5, 3888 0xbb, 0x68, 0x6e, 0xaa, 0x7d, 0x41, 0xfd, 0xb5, 3889 0x39, 0xf0, 0xf7, 0xee, 0x43, 0x70, 0x30, 0x06, 3890 0xa9, 0x6d, 0x1e, 0x37, 0x71, 0x70, 0x12, 0x6a, 3891 0x6b, 0x9b, 0xc4, 0x5a, 0xbd, 0xa1, 0xa2, 0x8a, 3892 0x5e, 0x3f, 0xa6, 0x3f, 0x6a, 0x08, 0xee, 0xb9, 3893 0xd7, 0x30, 0x75, 0x57, 0x8e, 0xff, 0xed, 0xe2, 3894 0xe4, 0xb5, 0x4f, 0x87, 0xad, 0xae, 0xa2, 0x06, 3895 0x56, 0x60, 0x04, 0x30, 0xc2, 0x60, 0x5d, 0xce, 3896 0x24, 0x4d, 0x2f, 0xfb, 0xc1, 0xd1, 0xdd, 0x39, 3897 0x91, 0xdb, 0x3a, 0xd7, 0x21, 0x26, 0xd6, 0xb2, 3898 0x6b, 0xa5, 0xd7, 0x50, 0xa2, 0xdd, 0xf6, 0x4d, 3899 0x3c, 0x6a, 0x12, 0x08, 0xf0, 0x8f, 0x4d, 0x35, 3900 0x4a, 0xa6, 0x50, 0x89, 0xc2, 0x1f, 0xe6, 0x21, 3901 0xa7, 0x5b, 0x64, 0xdb, 0x1c, 0xbf, 0x21, 0x64, 3902 0x77, 0x22, 0xf7, 0x0b, 0xf6, 0x4a, 0xd5, 0xbb, 3903 0xc0, 0xfc, 0x8c, 0x75, 0x42, 0xe3, 0xfc, 0xfe, 3904 0x36, 0x96, 0xb8, 0x46, 0x42, 0x40, 0x19, 0xd3, 3905 0x57, 0xea, 0x41, 0x44, 0xcf, 0x90, 0xf6, 0xb3, 3906 0x0b, 0xcc, 0x17, 0x03, 0xac, 0xeb, 0xf0, 0xdb, 3907 0x59, 0x4f, 0x51, 0x3c, 0x81, 0x3d, 0x9d, 0x2e, 3908 0xcb, 0xf6, 0x4d, 0x0f, 0x5c, 0x5d, 0xfe, 0xba, 3909 0xc4, 0x0d, 0x41, 0xb0, 0x04, 0x09, 0x0b, 0x3a, 3910 0xf3, 0xe7, 0xdd, 0xb1, 0xeb, 0x1e, 0xe8, 0x72, 3911 0x37, 0x5c, 0x4c, 0x41, 0x17, 0x07, 0xf6, 0x93, 3912 0x70, 0xc3, 0x7f, 0xde, 0xb9, 0x3c, 0x17, 0xd4, 3913 0xc7, 0xf6, 0x49, 0xae, 0xcd}; 3914 static const uint8_t test_vector_3_message_3[] = { 3915 0x59, 0x01, 0x72, 0xf2, 0xbd, 0xf0, 0x1c, 0xb0, 3916 0x13, 0x6e, 0x4b, 0x0d, 0x71, 0x0e, 0xa3, 0x6b, 3917 0xc6, 0x51, 0xeb, 0x71, 0x9a, 0xda, 0xc8, 0xec, 3918 0x47, 0x2e, 0x2b, 0x1b, 0xaa, 0xff, 0x51, 0x6e, 3919 0x3c, 0x3e, 0x24, 0x2b, 0xcc, 0x90, 0x8c, 0xcd, 3920 0xa4, 0x4a, 0xe9, 0xef, 0xa2, 0x1c, 0xd3, 0xa7, 3921 0x88, 0xd5, 0x70, 0x42, 0x7b, 0x9d, 0xd3, 0x9e, 3922 0x88, 0xc6, 0x76, 0x3f, 0xe0, 0x85, 0xd2, 0xe3, 3923 0xeb, 0x6a, 0xb1, 0x2f, 0x56, 0xe0, 0xe0, 0xdd, 3924 0xb7, 0xe8, 0x32, 0x1c, 0x1e, 0x32, 0xd1, 0xfd, 3925 0x32, 0xbf, 0x06, 0xf1, 0x91, 0x12, 0x19, 0x5d, 3926 0xbb, 0x2d, 0x93, 0x30, 0x82, 0xce, 0x30, 0xad, 3927 0x43, 0x06, 0x89, 0x64, 0xbe, 0x66, 0xd5, 0xee, 3928 0xea, 0x8d, 0x26, 0xfe, 0xc0, 0xae, 0x40, 0x41, 3929 0x15, 0xdb, 0x4c, 0xb9, 0x52, 0xf6, 0x2d, 0xb6, 3930 0xa1, 0xb0, 0x17, 0x1e, 0xb9, 0xd8, 0x64, 0xf4, 3931 0xdb, 0x21, 0xa7, 0x18, 0xc6, 0xba, 0xdf, 0x05, 3932 0xb6, 0x0f, 0x13, 0x08, 0x2f, 0xb2, 0x25, 0x45, 3933 0xd1, 0xbe, 0xa3, 0xa4, 0x35, 0xed, 0xc5, 0x26, 3934 0xdd, 0xbe, 0xdc, 0xee, 0x3c, 0x65, 0xfd, 0x5f, 3935 0x6a, 0x55, 0xa9, 0xae, 0x85, 0xb2, 0xa9, 0xb5, 3936 0xbb, 0x68, 0x6e, 0xaa, 0x7d, 0x41, 0xfd, 0xb5, 3937 0x39, 0xf0, 0xf7, 0xee, 0x43, 0x70, 0x30, 0x06, 3938 0xa9, 0x6d, 0x1e, 0x37, 0x71, 0x70, 0x12, 0x6a, 3939 0x6b, 0x9b, 0xc4, 0x5a, 0xbd, 0xa1, 0xa2, 0x8a, 3940 0x5e, 0x3f, 0xa6, 0x3f, 0x6a, 0x08, 0xee, 0xb9, 3941 0xd7, 0x30, 0x75, 0x57, 0x8e, 0xff, 0xed, 0xe2, 3942 0xe4, 0xb5, 0x4f, 0x87, 0xad, 0xae, 0xa2, 0x06, 3943 0x56, 0x60, 0x04, 0x30, 0xc2, 0x60, 0x5d, 0xce, 3944 0x24, 0x4d, 0x2f, 0xfb, 0xc1, 0xd1, 0xdd, 0x39, 3945 0x91, 0xdb, 0x3a, 0xd7, 0x21, 0x26, 0xd6, 0xb2, 3946 0x6b, 0xa5, 0xd7, 0x50, 0xa2, 0xdd, 0xf6, 0x4d, 3947 0x3c, 0x6a, 0x12, 0x08, 0xf0, 0x8f, 0x4d, 0x35, 3948 0x4a, 0xa6, 0x50, 0x89, 0xc2, 0x1f, 0xe6, 0x21, 3949 0xa7, 0x5b, 0x64, 0xdb, 0x1c, 0xbf, 0x21, 0x64, 3950 0x77, 0x22, 0xf7, 0x0b, 0xf6, 0x4a, 0xd5, 0xbb, 3951 0xc0, 0xfc, 0x8c, 0x75, 0x42, 0xe3, 0xfc, 0xfe, 3952 0x36, 0x96, 0xb8, 0x46, 0x42, 0x40, 0x19, 0xd3, 3953 0x57, 0xea, 0x41, 0x44, 0xcf, 0x90, 0xf6, 0xb3, 3954 0x0b, 0xcc, 0x17, 0x03, 0xac, 0xeb, 0xf0, 0xdb, 3955 0x59, 0x4f, 0x51, 0x3c, 0x81, 0x3d, 0x9d, 0x2e, 3956 0xcb, 0xf6, 0x4d, 0x0f, 0x5c, 0x5d, 0xfe, 0xba, 3957 0xc4, 0x0d, 0x41, 0xb0, 0x04, 0x09, 0x0b, 0x3a, 3958 0xf3, 0xe7, 0xdd, 0xb1, 0xeb, 0x1e, 0xe8, 0x72, 3959 0x37, 0x5c, 0x4c, 0x41, 0x17, 0x07, 0xf6, 0x93, 3960 0x70, 0xc3, 0x7f, 0xde, 0xb9, 0x3c, 0x17, 0xd4, 3961 0xc7, 0xf6, 0x49, 0xae, 0xcd}; 3962 static const uint8_t test_vector_3_input_th_4[] = { 3963 0x58, 0x20, 0x85, 0xa4, 0xee, 0x31, 0xb2, 0xff, 3964 0x1b, 0x41, 0x91, 0x7c, 0x2f, 0x31, 0xf6, 0x86, 3965 0xf1, 0x79, 0x54, 0x70, 0x54, 0xd5, 0x95, 0x4e, 3966 0xe5, 0x6a, 0xbe, 0xd7, 0x28, 0x16, 0xfb, 0x98, 3967 0xc4, 0xc3, 0xa1, 0x18, 0x20, 0x59, 0x01, 0x22, 3968 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 3969 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 3970 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 3971 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 3972 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 3973 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3974 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 3975 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 3976 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 3977 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 3978 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 3979 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 3980 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 3981 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 3982 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 3983 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 3984 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 3985 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 3986 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 3987 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 3988 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 3989 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 3990 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 3991 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 3992 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 3993 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 3994 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 3995 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 3996 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 3997 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 3998 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 3999 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 4000 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 4001 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 4002 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 4003 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 4004 0xbe, 0xde, 0x58, 0x40, 0xd3, 0xe5, 0x8f, 0x98, 4005 0x1e, 0x38, 0xe6, 0x93, 0x9f, 0x87, 0xbd, 0xb9, 4006 0xec, 0x8b, 0x6c, 0x01, 0x99, 0x26, 0xab, 0x12, 4007 0xf2, 0xff, 0x47, 0xfa, 0x71, 0x51, 0x5d, 0x16, 4008 0xb6, 0xfa, 0xad, 0x55, 0xb9, 0x8e, 0x7a, 0x8c, 4009 0x27, 0x62, 0xf6, 0x79, 0xab, 0xa7, 0xbb, 0x08, 4010 0xf9, 0x4a, 0x11, 0xdc, 0x7d, 0x21, 0xe2, 0xa2, 4011 0xe5, 0x31, 0xf1, 0x52, 0xd5, 0x3e, 0x79, 0xa1, 4012 0x7e, 0x86, 0x1d, 0x2a}; 4013 static const uint8_t test_vector_3_th_4_raw[] = { 4014 0xf8, 0x43, 0x40, 0x04, 0x95, 0xa8, 0xe8, 0x82, 4015 0xd3, 0xc4, 0x77, 0xb1, 0x88, 0x14, 0xe5, 0x14, 4016 0x03, 0xc1, 0xa5, 0x25, 0xb2, 0xbd, 0xd1, 0x29, 4017 0x62, 0xcc, 0x6f, 0xb3, 0xbe, 0x0b, 0xbe, 0x6b}; 4018 static const uint8_t test_vector_3_th_4[] = { 4019 0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95, 0xa8, 4020 0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88, 0x14, 4021 0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2, 0xbd, 4022 0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe, 0x0b, 4023 0xbe, 0x6b}; 4024 static const uint8_t test_vector_3_ead_4[] = { 4025 }; 4026 static const uint8_t test_vector_3_p_4[] = { 4027 }; 4028 static const uint8_t test_vector_3_a_4[] = { 4029 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4030 0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x43, 0x40, 4031 0x04, 0x95, 0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77, 4032 0xb1, 0x88, 0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5, 4033 0x25, 0xb2, 0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f, 4034 0xb3, 0xbe, 0x0b, 0xbe, 0x6b}; 4035 static const uint8_t test_vector_3_info_k_4[] = { 4036 0x08, 0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95, 4037 0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88, 4038 0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2, 4039 0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe, 4040 0x0b, 0xbe, 0x6b, 0x10}; 4041 static const uint8_t test_vector_3_k_4_raw[] = { 4042 0x2b, 0xb5, 0x72, 0x9e, 0x82, 0x6e, 0xb3, 0x2d, 4043 0x5b, 0x8d, 0x66, 0xa8, 0x51, 0xf5, 0x1b, 0xa0}; 4044 static const uint8_t test_vector_3_info_iv_4[] = { 4045 0x09, 0x58, 0x20, 0xf8, 0x43, 0x40, 0x04, 0x95, 4046 0xa8, 0xe8, 0x82, 0xd3, 0xc4, 0x77, 0xb1, 0x88, 4047 0x14, 0xe5, 0x14, 0x03, 0xc1, 0xa5, 0x25, 0xb2, 4048 0xbd, 0xd1, 0x29, 0x62, 0xcc, 0x6f, 0xb3, 0xbe, 4049 0x0b, 0xbe, 0x6b, 0x0d}; 4050 static const uint8_t test_vector_3_iv_4_raw[] = { 4051 0x5b, 0x1a, 0x3f, 0x47, 0x23, 0x0d, 0xf9, 0xde, 4052 0xd4, 0x00, 0x4c, 0x05, 0xe4}; 4053 static const uint8_t test_vector_3_ciphertext_4_raw[] = { 4054 0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b, 0x0c}; 4055 static const uint8_t test_vector_3_ciphertext_4[] = { 4056 0x48, 0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b, 4057 0x0c}; 4058 static const uint8_t test_vector_3_message_4[] = { 4059 0x48, 0xa0, 0x2c, 0x8b, 0x66, 0x7a, 0x11, 0x0b, 4060 0x0c}; 4061 static const uint8_t test_vector_3_prk_out[] = { 4062 0x62, 0x82, 0x59, 0xed, 0xb4, 0x03, 0x23, 0x1d, 4063 0x1c, 0x98, 0x0e, 0x69, 0xd4, 0xb4, 0xff, 0x2e, 4064 0x58, 0x9b, 0x23, 0xff, 0x7d, 0xd3, 0x2c, 0x04, 4065 0x32, 0x0c, 0xae, 0x8e, 0x6b, 0x37, 0x4d, 0x19}; 4066 static const uint8_t test_vector_3_prk_exporter[] = { 4067 0x38, 0xe6, 0x12, 0x9c, 0x4e, 0xb0, 0x62, 0x68, 4068 0x5d, 0xd3, 0x48, 0x42, 0xf4, 0x88, 0xd4, 0x19, 4069 0xf4, 0x23, 0x2e, 0x81, 0xf9, 0x4a, 0x98, 0xe2, 4070 0x01, 0x73, 0xc9, 0x0f, 0x0f, 0x50, 0xf3, 0x1c}; 4071 int32_t test_vector_3_oscore_aead_alg = 10; 4072 int32_t test_vector_3_oscore_hash_alg = -16; 4073 static const uint8_t test_vector_3_client_sender_id_raw[] = { 4074 0x32}; 4075 static const uint8_t test_vector_3_server_sender_id_raw[] = { 4076 0x37}; 4077 static const uint8_t test_vector_3_info_oscore_secret[] = { 4078 0x00, 0x40, 0x10}; 4079 static const uint8_t test_vector_3_oscore_secret_raw[] = { 4080 0x2a, 0x53, 0x4d, 0x11, 0xba, 0x1b, 0x03, 0x76, 4081 0x0c, 0xee, 0xd8, 0x52, 0x0f, 0xd4, 0x93, 0x0f}; 4082 static const uint8_t test_vector_3_info_oscore_salt[] = { 4083 0x01, 0x40, 0x08}; 4084 static const uint8_t test_vector_3_oscore_salt_raw[] = { 4085 0x01, 0xc8, 0xdf, 0x57, 0xa2, 0x23, 0xfa, 0x6b}; 4086 static const uint8_t test_vector_3_prk_out_updated[] = { 4087 0x37, 0x47, 0x1f, 0x90, 0x7a, 0xcf, 0x89, 0x1f, 4088 0xb0, 0x2a, 0x2d, 0x18, 0xc0, 0x9e, 0x72, 0x9b, 4089 0x50, 0xc0, 0x51, 0x63, 0xb5, 0xca, 0xb0, 0xd7, 4090 0xb0, 0x63, 0xa1, 0x54, 0xb0, 0xc2, 0x5e, 0x85}; 4091 static const uint8_t test_vector_3_prk_exporter_update[] = { 4092 0xcb, 0x3a, 0x09, 0x7e, 0x23, 0x15, 0x4f, 0x58, 4093 0xd2, 0xdb, 0x78, 0x14, 0x88, 0x7b, 0xee, 0xe0, 4094 0x4d, 0xc2, 0x4d, 0x49, 0x3a, 0x00, 0x8c, 0x04, 4095 0x18, 0xf9, 0x3b, 0xa6, 0x8e, 0x6e, 0x71, 0x78}; 4096 static const uint8_t test_vector_3_oscore_secret_key_update_raw[] = { 4097 0xb6, 0x90, 0xab, 0x14, 0xf5, 0x6d, 0x5e, 0xd9, 4098 0xdc, 0x2c, 0x43, 0xd0, 0xe0, 0xfc, 0xe7, 0xbe}; 4099 static const uint8_t test_vector_3_oscore_salt_key_update_raw[] = { 4100 0x2c, 0xea, 0x84, 0xd3, 0xad, 0xe0, 0xf9, 0x6b}; 4101 4102 /***************** test_vector_4 ************/ 4103 4104 static const uint8_t test_vector_4_method[] = { 4105 0x00}; 4106 static const uint8_t test_vector_4_SUITES_I[] = { 4107 0x02}; 4108 static const uint8_t test_vector_4_SUITES_R[] = { 4109 0x02}; 4110 static const uint8_t test_vector_4_x_raw[] = { 4111 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 4112 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 4113 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 4114 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 4115 static const uint8_t test_vector_4_g_x_raw[] = { 4116 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 4117 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 4118 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 4119 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 4120 static const uint8_t test_vector_4_g_x_raw_y_coordinate[] = { 4121 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 4122 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 4123 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 4124 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 4125 static const uint8_t test_vector_4_g_x[] = { 4126 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 4127 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 4128 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 4129 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 4130 0xc3, 0xb6}; 4131 int32_t test_vector_4_c_i_raw = -24; 4132 static const uint8_t test_vector_4_c_i[] = { 4133 0x37}; 4134 static const uint8_t test_vector_4_ead_1[] = { 4135 }; 4136 static const uint8_t test_vector_4_message_1[] = { 4137 0x00, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 4138 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 4139 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 4140 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 4141 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 4142 static const uint8_t test_vector_4_y_raw[] = { 4143 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 4144 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 4145 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 4146 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 4147 static const uint8_t test_vector_4_g_y_raw[] = { 4148 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 4149 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 4150 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 4151 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 4152 static const uint8_t test_vector_4_g_y_raw_y_coordinate[] = { 4153 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 4154 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 4155 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 4156 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 4157 static const uint8_t test_vector_4_g_y[] = { 4158 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4159 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4160 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4161 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4162 0xf5, 0xd5}; 4163 static const uint8_t test_vector_4_g_xy_raw[] = { 4164 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 4165 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 4166 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 4167 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 4168 static const uint8_t test_vector_4_salt_raw[] = { 4169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 4173 static const uint8_t test_vector_4_prk_2e_raw[] = { 4174 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 4175 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 4176 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 4177 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 4178 static const uint8_t test_vector_4_salt_3e2m[] = { 4179 0x13, 0x90, 0xdb, 0x57, 0xc9, 0x13, 0x14, 0x72, 4180 0xf3, 0x9b, 0x3e, 0x35, 0x46, 0xab, 0x1f, 0x38, 4181 0x4a, 0x9a, 0x4f, 0xdc, 0xf6, 0x61, 0x09, 0x70, 4182 0x07, 0x71, 0xf1, 0xc8, 0xb8, 0xa9, 0x84, 0xd7}; 4183 static const uint8_t test_vector_4_sk_r_raw[] = { 4184 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 4185 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 4186 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 4187 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 4188 static const uint8_t test_vector_4_pk_r_raw[] = { 4189 0x04, 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 4190 0xd3, 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 4191 0x48, 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 4192 0xcb, 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 4193 0xf0, 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 4194 0x0c, 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 4195 0x86, 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 4196 0x10, 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 4197 0x72}; 4198 static const uint8_t test_vector_4_prk_3e2m_raw[] = { 4199 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 4200 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 4201 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 4202 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 4203 int32_t test_vector_4_c_r_raw = -8; 4204 static const uint8_t test_vector_4_c_r[] = { 4205 0x27}; 4206 static const uint8_t test_vector_4_h_message_1_raw[] = { 4207 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 0xca, 0xbc, 4208 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 0xae, 0x46, 4209 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 4210 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 0x67, 0x26}; 4211 static const uint8_t test_vector_4_h_message_1[] = { 4212 0x58, 0x20, 0xc7, 0x93, 0x1f, 0xca, 0x62, 0x16, 4213 0xca, 0xbc, 0xb5, 0xa9, 0xab, 0x7b, 0x17, 0x61, 4214 0xae, 0x46, 0x78, 0x94, 0x6b, 0xa4, 0xf6, 0x0b, 4215 0x6d, 0xe1, 0x63, 0x14, 0x69, 0x18, 0x2a, 0x4e, 4216 0x67, 0x26}; 4217 static const uint8_t test_vector_4_input_th_2[] = { 4218 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4219 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4220 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4221 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4222 0xf5, 0xd5, 0x27, 0x58, 0x20, 0xc7, 0x93, 0x1f, 4223 0xca, 0x62, 0x16, 0xca, 0xbc, 0xb5, 0xa9, 0xab, 4224 0x7b, 0x17, 0x61, 0xae, 0x46, 0x78, 0x94, 0x6b, 4225 0xa4, 0xf6, 0x0b, 0x6d, 0xe1, 0x63, 0x14, 0x69, 4226 0x18, 0x2a, 0x4e, 0x67, 0x26}; 4227 static const uint8_t test_vector_4_th_2_raw[] = { 4228 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 0x85, 4229 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 0x46, 4230 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 0xc1, 4231 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 0xa6}; 4232 static const uint8_t test_vector_4_th_2[] = { 4233 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 4234 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 4235 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 4236 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 4237 0xab, 0xa6}; 4238 static const uint8_t test_vector_4_id_cred_r[] = { 4239 0xa1, 0x04, 0x32}; 4240 static const uint8_t test_vector_4_cred_r[] = { 4241 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 4242 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 4243 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 4244 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 4245 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 4246 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 4247 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 4248 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 4249 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 4250 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 4251 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 4252 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 4253 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 4254 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 4255 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 4256 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4257 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4258 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 4259 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 4260 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 4261 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 4262 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 4263 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 4264 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 4265 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 4266 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 4267 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4268 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 4269 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 4270 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 4271 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 4272 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 4273 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 4274 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 4275 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 4276 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 4277 0x3b, 0x13, 0x3d, 0x05, 0x58}; 4278 static const uint8_t test_vector_4_ca_r[] = { 4279 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 4280 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4281 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4282 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4283 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4284 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4285 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4286 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4287 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 4288 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4289 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 4290 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 4291 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4292 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 4293 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4294 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4295 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 4296 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 4297 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 4298 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 4299 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 4300 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 4301 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 4302 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 4303 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 4304 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4305 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 4306 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 4307 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 4308 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 4309 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 4310 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 4311 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 4312 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 4313 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 4314 0x13, 0x6b, 0xf3, 0x06}; 4315 static const uint8_t test_vector_4_ca_r_pk[] = { 4316 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 4317 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 4318 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 4319 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 4320 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 4321 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 4322 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 4323 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 4324 0x95}; 4325 static const uint8_t test_vector_4_ead_2[] = { 4326 }; 4327 static const uint8_t test_vector_4_info_mac_2[] = { 4328 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x32, 0x58, 4329 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 0xff, 4330 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 0x6e, 4331 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 0x87, 4332 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 0xab, 4333 0xa6, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 4334 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 4335 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 4336 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 4337 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 4338 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 4339 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 4340 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 4341 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 4342 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 4343 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 4344 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 4345 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 4346 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 4347 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 4348 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4349 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4350 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 4351 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 4352 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 4353 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 4354 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 4355 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 4356 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 4357 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 4358 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 4359 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4360 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 4361 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 4362 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 4363 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 4364 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 4365 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 4366 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 4367 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 4368 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 4369 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x18, 0x20}; 4370 static const uint8_t test_vector_4_mac_2_raw[] = { 4371 0x7b, 0xe4, 0x66, 0xec, 0x96, 0xfa, 0x3b, 0x51, 4372 0x4f, 0xf9, 0xfb, 0x22, 0xdb, 0x7c, 0x72, 0xd5, 4373 0x01, 0x95, 0x82, 0x19, 0x25, 0xf3, 0x7e, 0x54, 4374 0x53, 0x2b, 0x49, 0x74, 0xc3, 0xf6, 0xbf, 0x13}; 4375 static const uint8_t test_vector_4_mac_2[] = { 4376 0x58, 0x20, 0x7b, 0xe4, 0x66, 0xec, 0x96, 0xfa, 4377 0x3b, 0x51, 0x4f, 0xf9, 0xfb, 0x22, 0xdb, 0x7c, 4378 0x72, 0xd5, 0x01, 0x95, 0x82, 0x19, 0x25, 0xf3, 4379 0x7e, 0x54, 0x53, 0x2b, 0x49, 0x74, 0xc3, 0xf6, 4380 0xbf, 0x13}; 4381 static const uint8_t test_vector_4_m_2[] = { 4382 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 4383 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x32, 4384 0x59, 0x01, 0x47, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 4385 0x36, 0x43, 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 4386 0x8f, 0x1b, 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 4387 0x60, 0xa9, 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 4388 0x2f, 0x92, 0xfb, 0xab, 0xa6, 0x59, 0x01, 0x22, 4389 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4390 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4391 0x98, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4392 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4393 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4394 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4395 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4396 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4397 0x37, 0x31, 0x33, 0x30, 0x32, 0x5a, 0x17, 0x0d, 4398 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4399 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4400 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4401 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4402 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 4403 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4404 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4405 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4406 0x03, 0x42, 0x00, 0x04, 0xbb, 0xc3, 0x49, 0x60, 4407 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 0x94, 0x0c, 0xad, 4408 0x2a, 0x23, 0x41, 0x48, 0xdd, 0xc2, 0x17, 0x91, 4409 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 0x93, 0x62, 0x20, 4410 0x46, 0xdd, 0x44, 0xf0, 0x45, 0x19, 0xe2, 0x57, 4411 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 0x02, 0x3f, 0x09, 4412 0x31, 0xf1, 0xf3, 0x86, 0xca, 0x7a, 0xfd, 0xa6, 4413 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 0x22, 0x4c, 0x51, 4414 0xea, 0xbf, 0x60, 0x72, 0x30, 0x0a, 0x06, 0x08, 4415 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4416 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x30, 4417 0x19, 0x4e, 0xf5, 0xfc, 0x65, 0xc8, 0xb7, 0x95, 4418 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 0xbf, 0x83, 0xee, 4419 0x67, 0x41, 0xc1, 0x37, 0x0c, 0x22, 0xc8, 0xeb, 4420 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 0x05, 0x19, 0x02, 4421 0x21, 0x00, 0xb5, 0x83, 0x0e, 0x9c, 0x89, 0xa6, 4422 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 0xce, 0x00, 0x61, 4423 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 0x23, 0x70, 0x9b, 4424 0x4a, 0xcc, 0x58, 0xa1, 0x31, 0x3b, 0x13, 0x3d, 4425 0x05, 0x58, 0x58, 0x20, 0x7b, 0xe4, 0x66, 0xec, 4426 0x96, 0xfa, 0x3b, 0x51, 0x4f, 0xf9, 0xfb, 0x22, 4427 0xdb, 0x7c, 0x72, 0xd5, 0x01, 0x95, 0x82, 0x19, 4428 0x25, 0xf3, 0x7e, 0x54, 0x53, 0x2b, 0x49, 0x74, 4429 0xc3, 0xf6, 0xbf, 0x13}; 4430 static const uint8_t test_vector_4_sig_or_mac_2_raw[] = { 4431 0x52, 0x99, 0x41, 0xa7, 0xd5, 0xfa, 0x13, 0x74, 4432 0x0a, 0x3a, 0xf5, 0x29, 0x89, 0x31, 0x8e, 0x59, 4433 0xa9, 0x7c, 0xe9, 0x49, 0x0b, 0x0d, 0x31, 0x82, 4434 0x7d, 0x09, 0xc7, 0x5a, 0xb6, 0xe7, 0x88, 0xf6, 4435 0xfe, 0xf1, 0x3b, 0x99, 0xc2, 0xa0, 0xd6, 0xcf, 4436 0x06, 0x88, 0xc9, 0x81, 0x1f, 0x4f, 0x6c, 0x46, 4437 0x96, 0x87, 0x94, 0x94, 0x3d, 0xbf, 0x44, 0xd0, 4438 0xe4, 0xdc, 0x45, 0x03, 0xee, 0x07, 0xb8, 0x9f}; 4439 static const uint8_t test_vector_4_sig_or_mac_2[] = { 4440 0x58, 0x40, 0x52, 0x99, 0x41, 0xa7, 0xd5, 0xfa, 4441 0x13, 0x74, 0x0a, 0x3a, 0xf5, 0x29, 0x89, 0x31, 4442 0x8e, 0x59, 0xa9, 0x7c, 0xe9, 0x49, 0x0b, 0x0d, 4443 0x31, 0x82, 0x7d, 0x09, 0xc7, 0x5a, 0xb6, 0xe7, 4444 0x88, 0xf6, 0xfe, 0xf1, 0x3b, 0x99, 0xc2, 0xa0, 4445 0xd6, 0xcf, 0x06, 0x88, 0xc9, 0x81, 0x1f, 0x4f, 4446 0x6c, 0x46, 0x96, 0x87, 0x94, 0x94, 0x3d, 0xbf, 4447 0x44, 0xd0, 0xe4, 0xdc, 0x45, 0x03, 0xee, 0x07, 4448 0xb8, 0x9f}; 4449 static const uint8_t test_vector_4_plaintext_2[] = { 4450 0x32, 0x58, 0x40, 0x52, 0x99, 0x41, 0xa7, 0xd5, 4451 0xfa, 0x13, 0x74, 0x0a, 0x3a, 0xf5, 0x29, 0x89, 4452 0x31, 0x8e, 0x59, 0xa9, 0x7c, 0xe9, 0x49, 0x0b, 4453 0x0d, 0x31, 0x82, 0x7d, 0x09, 0xc7, 0x5a, 0xb6, 4454 0xe7, 0x88, 0xf6, 0xfe, 0xf1, 0x3b, 0x99, 0xc2, 4455 0xa0, 0xd6, 0xcf, 0x06, 0x88, 0xc9, 0x81, 0x1f, 4456 0x4f, 0x6c, 0x46, 0x96, 0x87, 0x94, 0x94, 0x3d, 4457 0xbf, 0x44, 0xd0, 0xe4, 0xdc, 0x45, 0x03, 0xee, 4458 0x07, 0xb8, 0x9f}; 4459 static const uint8_t test_vector_4_info_keystream_2[] = { 4460 0x00, 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 4461 0x1e, 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 4462 0x72, 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 4463 0xd6, 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 4464 0xfb, 0xab, 0xa6, 0x18, 0x43}; 4465 static const uint8_t test_vector_4_keystream_2_raw[] = { 4466 0xf6, 0xcd, 0x8c, 0x53, 0x34, 0x45, 0x19, 0x30, 4467 0xe5, 0x56, 0xb3, 0xc4, 0x08, 0x73, 0x02, 0x60, 4468 0x4d, 0x17, 0x98, 0xf6, 0xe0, 0x96, 0x78, 0x4b, 4469 0xeb, 0x31, 0xc3, 0x7e, 0xfc, 0x53, 0xcb, 0xe8, 4470 0x6a, 0x8e, 0x00, 0xbf, 0xaf, 0x2f, 0xb3, 0xdb, 4471 0x34, 0xd0, 0xee, 0x47, 0xaa, 0xc6, 0x00, 0xe0, 4472 0x6e, 0x6f, 0x00, 0xd2, 0x1c, 0xd5, 0x1e, 0xbd, 4473 0x53, 0x6f, 0xa8, 0xd9, 0xf6, 0x44, 0xac, 0x0b, 4474 0x79, 0x16, 0xcd}; 4475 static const uint8_t test_vector_4_ciphertext_2_raw[] = { 4476 0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04, 0xbe, 0xe5, 4477 0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86, 0x2b, 0xe9, 4478 0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f, 0x31, 0x40, 4479 0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94, 0x91, 0x5e, 4480 0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14, 0x2a, 0x19, 4481 0x94, 0x06, 0x21, 0x41, 0x22, 0x0f, 0x81, 0xff, 4482 0x21, 0x03, 0x46, 0x44, 0x9b, 0x41, 0x8a, 0x80, 4483 0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01, 0xaf, 0xe5, 4484 0x7e, 0xae, 0x52}; 4485 static const uint8_t test_vector_4_ciphertext_2[] = { 4486 0x58, 0x43, 0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04, 4487 0xbe, 0xe5, 0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86, 4488 0x2b, 0xe9, 0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f, 4489 0x31, 0x40, 0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94, 4490 0x91, 0x5e, 0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14, 4491 0x2a, 0x19, 0x94, 0x06, 0x21, 0x41, 0x22, 0x0f, 4492 0x81, 0xff, 0x21, 0x03, 0x46, 0x44, 0x9b, 0x41, 4493 0x8a, 0x80, 0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01, 4494 0xaf, 0xe5, 0x7e, 0xae, 0x52}; 4495 static const uint8_t test_vector_4_message_2[] = { 4496 0x58, 0x63, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4497 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4498 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 4499 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 4500 0xf5, 0xd5, 0xc4, 0x95, 0xcc, 0x01, 0xad, 0x04, 4501 0xbe, 0xe5, 0x1f, 0x45, 0xc7, 0xce, 0x32, 0x86, 4502 0x2b, 0xe9, 0x7c, 0x99, 0xc1, 0x5f, 0x9c, 0x7f, 4503 0x31, 0x40, 0xe6, 0x00, 0x41, 0x03, 0xf5, 0x94, 4504 0x91, 0x5e, 0x8d, 0x06, 0xf6, 0x41, 0x5e, 0x14, 4505 0x2a, 0x19, 0x94, 0x06, 0x21, 0x41, 0x22, 0x0f, 4506 0x81, 0xff, 0x21, 0x03, 0x46, 0x44, 0x9b, 0x41, 4507 0x8a, 0x80, 0xec, 0x2b, 0x78, 0x3d, 0x2a, 0x01, 4508 0xaf, 0xe5, 0x7e, 0xae, 0x52, 0x27}; 4509 static const uint8_t test_vector_4_sk_i_raw[] = { 4510 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 4511 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 4512 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 4513 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 4514 static const uint8_t test_vector_4_pk_i_raw[] = { 4515 0x04, 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 4516 0xfc, 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 4517 0x40, 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 4518 0x0a, 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 4519 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 4520 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 4521 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 4522 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 4523 0xc8}; 4524 static const uint8_t test_vector_4_salt_4e3m[] = { 4525 0xd9, 0x3a, 0x6c, 0x45, 0xf3, 0x4a, 0x88, 0x3d, 4526 0xc9, 0xb0, 0x14, 0xf6, 0x69, 0x08, 0xdb, 0xc2, 4527 0x34, 0xce, 0x1d, 0x82, 0x50, 0x41, 0x1b, 0xe2, 4528 0x52, 0xc4, 0x93, 0xd2, 0x6d, 0x10, 0xb7, 0x23}; 4529 static const uint8_t test_vector_4_prk_4e3m_raw[] = { 4530 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 4531 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 4532 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 4533 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 4534 static const uint8_t test_vector_4_input_TH_3[] = { 4535 0x58, 0x20, 0xe9, 0x2b, 0x4b, 0x36, 0x43, 0x1e, 4536 0xff, 0x85, 0xba, 0xed, 0x58, 0x8f, 0x1b, 0x72, 4537 0x6e, 0x46, 0xbc, 0xb4, 0x4d, 0x60, 0xa9, 0xd6, 4538 0x87, 0xc1, 0x3a, 0xb2, 0xd9, 0x2f, 0x92, 0xfb, 4539 0xab, 0xa6, 0x32, 0x58, 0x40, 0x52, 0x99, 0x41, 4540 0xa7, 0xd5, 0xfa, 0x13, 0x74, 0x0a, 0x3a, 0xf5, 4541 0x29, 0x89, 0x31, 0x8e, 0x59, 0xa9, 0x7c, 0xe9, 4542 0x49, 0x0b, 0x0d, 0x31, 0x82, 0x7d, 0x09, 0xc7, 4543 0x5a, 0xb6, 0xe7, 0x88, 0xf6, 0xfe, 0xf1, 0x3b, 4544 0x99, 0xc2, 0xa0, 0xd6, 0xcf, 0x06, 0x88, 0xc9, 4545 0x81, 0x1f, 0x4f, 0x6c, 0x46, 0x96, 0x87, 0x94, 4546 0x94, 0x3d, 0xbf, 0x44, 0xd0, 0xe4, 0xdc, 0x45, 4547 0x03, 0xee, 0x07, 0xb8, 0x9f}; 4548 static const uint8_t test_vector_4_th_3_raw[] = { 4549 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 0xe9, 0x64, 4550 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 0xa6, 0xa7, 4551 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 0x37, 0x51, 4552 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 0xb8, 0x92}; 4553 static const uint8_t test_vector_4_th_3[] = { 4554 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 4555 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 4556 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 4557 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 4558 0xb8, 0x92}; 4559 static const uint8_t test_vector_4_id_cred_i[] = { 4560 0xa1, 0x04, 0x2b}; 4561 static const uint8_t test_vector_4_cred_i[] = { 4562 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 4563 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 4564 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 4565 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 4566 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 4567 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 4568 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 4569 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 4570 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 4571 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 4572 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 4573 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 4574 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 4575 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 4576 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 4577 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4578 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4579 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 4580 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 4581 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 4582 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 4583 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 4584 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 4585 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 4586 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 4587 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 4588 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4589 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 4590 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 4591 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 4592 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 4593 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 4594 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 4595 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 4596 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 4597 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 4598 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 4599 static const uint8_t test_vector_4_ca_i[] = { 4600 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 4601 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 4602 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4603 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4604 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4605 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4606 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4607 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 4608 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 4609 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4610 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 4611 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 4612 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4613 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 4614 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 4615 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4616 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 4617 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 4618 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 4619 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 4620 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 4621 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 4622 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 4623 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 4624 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 4625 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4626 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 4627 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 4628 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 4629 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 4630 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 4631 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 4632 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 4633 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 4634 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 4635 0x13, 0x6b, 0xf3, 0x06}; 4636 static const uint8_t test_vector_4_ca_i_pk[] = { 4637 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 4638 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 4639 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 4640 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 4641 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 4642 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 4643 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 4644 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 4645 0x95}; 4646 static const uint8_t test_vector_4_ead_3[] = { 4647 }; 4648 static const uint8_t test_vector_4_info_mac_3[] = { 4649 0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x2b, 0x58, 4650 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 0xe9, 4651 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 0xa6, 4652 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 0x37, 4653 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 0xb8, 4654 0x92, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 4655 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 4656 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 4657 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 4658 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 4659 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 4660 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 4661 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 4662 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 4663 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 4664 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 4665 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 4666 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 4667 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 4668 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 4669 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 4670 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4671 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 4672 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 4673 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 4674 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 4675 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 4676 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 4677 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 4678 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 4679 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 4680 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 4681 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 4682 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 4683 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 4684 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 4685 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 4686 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 4687 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 4688 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 4689 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 4690 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x18, 0x20}; 4691 static const uint8_t test_vector_4_mac_3_raw[] = { 4692 0x62, 0x42, 0x38, 0x1b, 0xbd, 0x67, 0xd3, 0x74, 4693 0xff, 0xa4, 0x7b, 0xbf, 0x54, 0xae, 0x8e, 0xd1, 4694 0x78, 0x33, 0x6b, 0x03, 0x03, 0xcb, 0xe0, 0xd9, 4695 0xd2, 0x70, 0x7a, 0x83, 0x0d, 0xd5, 0xbf, 0xbd}; 4696 static const uint8_t test_vector_4_mac_3[] = { 4697 0x58, 0x20, 0x62, 0x42, 0x38, 0x1b, 0xbd, 0x67, 4698 0xd3, 0x74, 0xff, 0xa4, 0x7b, 0xbf, 0x54, 0xae, 4699 0x8e, 0xd1, 0x78, 0x33, 0x6b, 0x03, 0x03, 0xcb, 4700 0xe0, 0xd9, 0xd2, 0x70, 0x7a, 0x83, 0x0d, 0xd5, 4701 0xbf, 0xbd}; 4702 static const uint8_t test_vector_4_m_3[] = { 4703 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 4704 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x2b, 4705 0x59, 0x01, 0x47, 0x58, 0x20, 0xbb, 0xc5, 0xee, 4706 0xa1, 0x0f, 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 4707 0xaf, 0x03, 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 4708 0x61, 0x99, 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 4709 0x6d, 0x41, 0x1b, 0xb8, 0x92, 0x59, 0x01, 0x22, 4710 0x30, 0x82, 0x01, 0x1e, 0x30, 0x81, 0xc5, 0xa0, 4711 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x62, 0x32, 4712 0xef, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 4713 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 4714 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 4715 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4716 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 4717 0x0d, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x30, 4718 0x38, 0x32, 0x31, 0x30, 0x33, 0x5a, 0x17, 0x0d, 4719 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 4720 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1a, 0x31, 4721 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 4722 0x0c, 0x0f, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 4723 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 4724 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 4725 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 4726 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 4727 0x03, 0x42, 0x00, 0x04, 0xac, 0x75, 0xe9, 0xec, 4728 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 0xd6, 0x03, 0x99, 4729 0x88, 0x95, 0x22, 0x40, 0x5c, 0x47, 0xbf, 0x16, 4730 0xdf, 0x96, 0x66, 0x0a, 0x41, 0x29, 0x8c, 0xb4, 4731 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 0x5d, 0xe6, 0x11, 4732 0x38, 0x8a, 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 4733 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 4734 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 4735 0xff, 0x3a, 0xff, 0xc8, 0x30, 0x0a, 0x06, 0x08, 4736 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 4737 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 4738 0x8c, 0x32, 0x3a, 0x1f, 0x33, 0x21, 0x38, 0xaa, 4739 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 0x5f, 0x8d, 0x5a, 4740 0x44, 0x07, 0x3c, 0x58, 0x0f, 0x59, 0x5b, 0xc5, 4741 0x21, 0xef, 0x91, 0x3f, 0x6e, 0xf4, 0x8d, 0x11, 4742 0x02, 0x20, 0x6c, 0x0a, 0xf1, 0xa1, 0x85, 0xa4, 4743 0xe4, 0xde, 0x06, 0x35, 0x36, 0x99, 0x23, 0x1c, 4744 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 0xdf, 0x65, 0x13, 4745 0x96, 0x6c, 0x91, 0x30, 0x15, 0x2a, 0x07, 0xa2, 4746 0xbe, 0xde, 0x58, 0x20, 0x62, 0x42, 0x38, 0x1b, 4747 0xbd, 0x67, 0xd3, 0x74, 0xff, 0xa4, 0x7b, 0xbf, 4748 0x54, 0xae, 0x8e, 0xd1, 0x78, 0x33, 0x6b, 0x03, 4749 0x03, 0xcb, 0xe0, 0xd9, 0xd2, 0x70, 0x7a, 0x83, 4750 0x0d, 0xd5, 0xbf, 0xbd}; 4751 static const uint8_t test_vector_4_sig_or_mac_3_raw[] = { 4752 0x3c, 0x14, 0xd0, 0x8c, 0xd8, 0x48, 0xcd, 0x11, 4753 0x43, 0x40, 0xa7, 0xcb, 0xd4, 0x8e, 0x33, 0x50, 4754 0x84, 0x4b, 0xde, 0xe3, 0x22, 0x7c, 0x09, 0x91, 4755 0x35, 0x2a, 0x03, 0x92, 0x8f, 0x32, 0xd5, 0x2a, 4756 0x49, 0x12, 0x3b, 0x76, 0x26, 0x37, 0x7f, 0x07, 4757 0x9a, 0xee, 0xfa, 0x21, 0x3b, 0xcd, 0x90, 0xf0, 4758 0xe5, 0xbc, 0xc6, 0xcb, 0xc3, 0xad, 0x4e, 0x77, 4759 0xc8, 0x11, 0x67, 0xb3, 0x9f, 0xa5, 0x6b, 0x99}; 4760 static const uint8_t test_vector_4_sig_or_mac_3[] = { 4761 0x58, 0x40, 0x3c, 0x14, 0xd0, 0x8c, 0xd8, 0x48, 4762 0xcd, 0x11, 0x43, 0x40, 0xa7, 0xcb, 0xd4, 0x8e, 4763 0x33, 0x50, 0x84, 0x4b, 0xde, 0xe3, 0x22, 0x7c, 4764 0x09, 0x91, 0x35, 0x2a, 0x03, 0x92, 0x8f, 0x32, 4765 0xd5, 0x2a, 0x49, 0x12, 0x3b, 0x76, 0x26, 0x37, 4766 0x7f, 0x07, 0x9a, 0xee, 0xfa, 0x21, 0x3b, 0xcd, 4767 0x90, 0xf0, 0xe5, 0xbc, 0xc6, 0xcb, 0xc3, 0xad, 4768 0x4e, 0x77, 0xc8, 0x11, 0x67, 0xb3, 0x9f, 0xa5, 4769 0x6b, 0x99}; 4770 static const uint8_t test_vector_4_p_3[] = { 4771 0x2b, 0x58, 0x40, 0x3c, 0x14, 0xd0, 0x8c, 0xd8, 4772 0x48, 0xcd, 0x11, 0x43, 0x40, 0xa7, 0xcb, 0xd4, 4773 0x8e, 0x33, 0x50, 0x84, 0x4b, 0xde, 0xe3, 0x22, 4774 0x7c, 0x09, 0x91, 0x35, 0x2a, 0x03, 0x92, 0x8f, 4775 0x32, 0xd5, 0x2a, 0x49, 0x12, 0x3b, 0x76, 0x26, 4776 0x37, 0x7f, 0x07, 0x9a, 0xee, 0xfa, 0x21, 0x3b, 4777 0xcd, 0x90, 0xf0, 0xe5, 0xbc, 0xc6, 0xcb, 0xc3, 4778 0xad, 0x4e, 0x77, 0xc8, 0x11, 0x67, 0xb3, 0x9f, 4779 0xa5, 0x6b, 0x99}; 4780 static const uint8_t test_vector_4_a_3[] = { 4781 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4782 0x74, 0x30, 0x40, 0x58, 0x20, 0xbb, 0xc5, 0xee, 4783 0xa1, 0x0f, 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 4784 0xaf, 0x03, 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 4785 0x61, 0x99, 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 4786 0x6d, 0x41, 0x1b, 0xb8, 0x92}; 4787 static const uint8_t test_vector_4_info_k_3[] = { 4788 0x03, 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 4789 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 4790 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 4791 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 4792 0x1b, 0xb8, 0x92, 0x10}; 4793 static const uint8_t test_vector_4_k_3_raw[] = { 4794 0xee, 0x10, 0xd0, 0x8b, 0x79, 0xae, 0x9f, 0x6c, 4795 0x85, 0xa9, 0xbf, 0xd6, 0xf5, 0xbd, 0x99, 0xac}; 4796 static const uint8_t test_vector_4_info_iv_3[] = { 4797 0x04, 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 4798 0x96, 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 4799 0x6f, 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 4800 0x85, 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 4801 0x1b, 0xb8, 0x92, 0x0d}; 4802 static const uint8_t test_vector_4_iv_3_raw[] = { 4803 0x3b, 0x10, 0xaf, 0x1d, 0xab, 0xb5, 0x71, 0x21, 4804 0x15, 0x5c, 0xee, 0xaf, 0xe0}; 4805 static const uint8_t test_vector_4_ciphertext_3_raw[] = { 4806 0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39, 0x8f, 0x76, 4807 0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a, 0xca, 0xb9, 4808 0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9, 0x7a, 0xac, 4809 0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e, 0x17, 0xfc, 4810 0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54, 0x9b, 0x9b, 4811 0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17, 0x15, 0xb2, 4812 0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83, 0xe9, 0x73, 4813 0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1, 0x10, 0x6e, 4814 0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08, 0x69, 0x5f, 4815 0x48, 0x64, 0x9b}; 4816 static const uint8_t test_vector_4_ciphertext_3[] = { 4817 0x58, 0x4b, 0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39, 4818 0x8f, 0x76, 0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a, 4819 0xca, 0xb9, 0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9, 4820 0x7a, 0xac, 0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e, 4821 0x17, 0xfc, 0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54, 4822 0x9b, 0x9b, 0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17, 4823 0x15, 0xb2, 0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83, 4824 0xe9, 0x73, 0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1, 4825 0x10, 0x6e, 0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08, 4826 0x69, 0x5f, 0x48, 0x64, 0x9b}; 4827 static const uint8_t test_vector_4_message_3[] = { 4828 0x58, 0x4b, 0x75, 0x7e, 0x13, 0x42, 0x5a, 0x39, 4829 0x8f, 0x76, 0x09, 0x38, 0x72, 0x31, 0xb5, 0x6a, 4830 0xca, 0xb9, 0xa5, 0xdd, 0x4f, 0x40, 0x9a, 0xb9, 4831 0x7a, 0xac, 0x92, 0x0e, 0x13, 0x06, 0x28, 0x8e, 4832 0x17, 0xfc, 0x57, 0xda, 0x26, 0x8b, 0xf6, 0x54, 4833 0x9b, 0x9b, 0xa9, 0xad, 0xca, 0xd3, 0xe6, 0x17, 4834 0x15, 0xb2, 0x86, 0x39, 0x23, 0xd0, 0x8e, 0x83, 4835 0xe9, 0x73, 0xab, 0x50, 0x08, 0xa8, 0xfa, 0xe1, 4836 0x10, 0x6e, 0xc7, 0x2e, 0x89, 0x39, 0x94, 0x08, 4837 0x69, 0x5f, 0x48, 0x64, 0x9b}; 4838 static const uint8_t test_vector_4_input_th_4[] = { 4839 0x58, 0x20, 0xbb, 0xc5, 0xee, 0xa1, 0x0f, 0x96, 4840 0xe9, 0x64, 0xba, 0x87, 0xc7, 0xaf, 0x03, 0x6f, 4841 0xa6, 0xa7, 0xc3, 0x92, 0xd6, 0x61, 0x99, 0x85, 4842 0x37, 0x51, 0x65, 0xb9, 0xc1, 0x6d, 0x41, 0x1b, 4843 0xb8, 0x92, 0x2b, 0x58, 0x40, 0x3c, 0x14, 0xd0, 4844 0x8c, 0xd8, 0x48, 0xcd, 0x11, 0x43, 0x40, 0xa7, 4845 0xcb, 0xd4, 0x8e, 0x33, 0x50, 0x84, 0x4b, 0xde, 4846 0xe3, 0x22, 0x7c, 0x09, 0x91, 0x35, 0x2a, 0x03, 4847 0x92, 0x8f, 0x32, 0xd5, 0x2a, 0x49, 0x12, 0x3b, 4848 0x76, 0x26, 0x37, 0x7f, 0x07, 0x9a, 0xee, 0xfa, 4849 0x21, 0x3b, 0xcd, 0x90, 0xf0, 0xe5, 0xbc, 0xc6, 4850 0xcb, 0xc3, 0xad, 0x4e, 0x77, 0xc8, 0x11, 0x67, 4851 0xb3, 0x9f, 0xa5, 0x6b, 0x99}; 4852 static const uint8_t test_vector_4_th_4_raw[] = { 4853 0xe8, 0x75, 0x3a, 0xb2, 0x57, 0xac, 0xbe, 0xba, 4854 0x6b, 0x05, 0x09, 0xff, 0xc5, 0xc9, 0x43, 0xdd, 4855 0x71, 0xfb, 0xb6, 0xd2, 0x57, 0x1a, 0x29, 0xb0, 4856 0x4a, 0x49, 0x7b, 0x73, 0x7e, 0xa8, 0x92, 0xcd}; 4857 static const uint8_t test_vector_4_th_4[] = { 4858 0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57, 0xac, 4859 0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5, 0xc9, 4860 0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57, 0x1a, 4861 0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e, 0xa8, 4862 0x92, 0xcd}; 4863 static const uint8_t test_vector_4_ead_4[] = { 4864 }; 4865 static const uint8_t test_vector_4_p_4[] = { 4866 }; 4867 static const uint8_t test_vector_4_a_4[] = { 4868 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4869 0x74, 0x30, 0x40, 0x58, 0x20, 0xe8, 0x75, 0x3a, 4870 0xb2, 0x57, 0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09, 4871 0xff, 0xc5, 0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6, 4872 0xd2, 0x57, 0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b, 4873 0x73, 0x7e, 0xa8, 0x92, 0xcd}; 4874 static const uint8_t test_vector_4_info_k_4[] = { 4875 0x08, 0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57, 4876 0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5, 4877 0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57, 4878 0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e, 4879 0xa8, 0x92, 0xcd, 0x10}; 4880 static const uint8_t test_vector_4_k_4_raw[] = { 4881 0x22, 0xac, 0xe6, 0x88, 0xec, 0x4d, 0xb4, 0x6e, 4882 0x51, 0xce, 0x51, 0xc3, 0xb0, 0xa4, 0x85, 0x53}; 4883 static const uint8_t test_vector_4_info_iv_4[] = { 4884 0x09, 0x58, 0x20, 0xe8, 0x75, 0x3a, 0xb2, 0x57, 4885 0xac, 0xbe, 0xba, 0x6b, 0x05, 0x09, 0xff, 0xc5, 4886 0xc9, 0x43, 0xdd, 0x71, 0xfb, 0xb6, 0xd2, 0x57, 4887 0x1a, 0x29, 0xb0, 0x4a, 0x49, 0x7b, 0x73, 0x7e, 4888 0xa8, 0x92, 0xcd, 0x0d}; 4889 static const uint8_t test_vector_4_iv_4_raw[] = { 4890 0xdb, 0x1a, 0x42, 0xe0, 0xfb, 0x74, 0xdf, 0x4b, 4891 0x51, 0x01, 0xd5, 0xa9, 0xbf}; 4892 static const uint8_t test_vector_4_ciphertext_4_raw[] = { 4893 0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1, 0xb1}; 4894 static const uint8_t test_vector_4_ciphertext_4[] = { 4895 0x48, 0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1, 4896 0xb1}; 4897 static const uint8_t test_vector_4_message_4[] = { 4898 0x48, 0x64, 0xb1, 0xe3, 0x4a, 0xe2, 0x39, 0xd1, 4899 0xb1}; 4900 static const uint8_t test_vector_4_prk_out[] = { 4901 0xf3, 0x0c, 0xfe, 0x1e, 0x1b, 0x1a, 0xd1, 0x94, 4902 0x70, 0xdc, 0x68, 0xba, 0xe5, 0xe9, 0x23, 0xd5, 4903 0x13, 0x9e, 0x93, 0xda, 0x67, 0x20, 0x56, 0xd6, 4904 0xbe, 0x97, 0xb1, 0xcb, 0xa6, 0xc0, 0x5c, 0x58}; 4905 static const uint8_t test_vector_4_prk_exporter[] = { 4906 0x31, 0x21, 0x6c, 0xb8, 0x04, 0xe5, 0x94, 0xef, 4907 0xd9, 0x0a, 0x3f, 0x77, 0xf2, 0xbf, 0x58, 0xba, 4908 0x0e, 0x0d, 0xfe, 0xbf, 0x48, 0x77, 0x2f, 0x26, 4909 0x66, 0xae, 0xe3, 0xcd, 0x20, 0x7f, 0xea, 0x41}; 4910 int32_t test_vector_4_oscore_aead_alg = 10; 4911 int32_t test_vector_4_oscore_hash_alg = -16; 4912 static const uint8_t test_vector_4_client_sender_id_raw[] = { 4913 0x27}; 4914 static const uint8_t test_vector_4_server_sender_id_raw[] = { 4915 0x37}; 4916 static const uint8_t test_vector_4_info_oscore_secret[] = { 4917 0x00, 0x40, 0x10}; 4918 static const uint8_t test_vector_4_oscore_secret_raw[] = { 4919 0xb0, 0xdf, 0xd8, 0x32, 0x86, 0x4d, 0x31, 0x3d, 4920 0x48, 0x0d, 0xef, 0xaf, 0x7f, 0x07, 0xeb, 0x07}; 4921 static const uint8_t test_vector_4_info_oscore_salt[] = { 4922 0x01, 0x40, 0x08}; 4923 static const uint8_t test_vector_4_oscore_salt_raw[] = { 4924 0xf5, 0x1e, 0xb1, 0x92, 0x24, 0xc5, 0xd0, 0x79}; 4925 static const uint8_t test_vector_4_prk_out_updated[] = { 4926 0x6f, 0x1c, 0x3b, 0x11, 0xde, 0xab, 0x99, 0x4b, 4927 0xa9, 0x3f, 0x50, 0xe6, 0x76, 0x02, 0xa4, 0x3a, 4928 0xf3, 0x19, 0xca, 0x6f, 0x31, 0x10, 0xb4, 0xfd, 4929 0x27, 0x49, 0xb9, 0x75, 0x0e, 0x1b, 0x99, 0x5b}; 4930 static const uint8_t test_vector_4_prk_exporter_update[] = { 4931 0x70, 0x80, 0xd1, 0xa3, 0xa6, 0x2b, 0xb4, 0x35, 4932 0xf9, 0xb2, 0xba, 0x71, 0x91, 0xd0, 0xd8, 0xc5, 4933 0x27, 0x80, 0xa4, 0x7d, 0x07, 0x16, 0x47, 0xca, 4934 0x89, 0x1c, 0x9a, 0x59, 0x86, 0x2d, 0x94, 0xef}; 4935 static const uint8_t test_vector_4_oscore_secret_key_update_raw[] = { 4936 0x60, 0x2f, 0x57, 0xca, 0x46, 0x63, 0xb9, 0x23, 4937 0x73, 0x89, 0x3d, 0x6f, 0x35, 0x05, 0xfd, 0x71}; 4938 static const uint8_t test_vector_4_oscore_salt_key_update_raw[] = { 4939 0xe7, 0x4e, 0xcd, 0x2d, 0xc1, 0x19, 0x5b, 0x70}; 4940 4941 /***************** test_vector_5 ************/ 4942 4943 static const uint8_t test_vector_5_method[] = { 4944 0x03}; 4945 static const uint8_t test_vector_5_SUITES_I[] = { 4946 0x02}; 4947 static const uint8_t test_vector_5_SUITES_R[] = { 4948 0x02}; 4949 static const uint8_t test_vector_5_x_raw[] = { 4950 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 4951 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 4952 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 4953 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 4954 static const uint8_t test_vector_5_g_x_raw[] = { 4955 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 4956 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 4957 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 4958 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 4959 static const uint8_t test_vector_5_g_x_raw_y_coordinate[] = { 4960 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 4961 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 4962 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 4963 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 4964 static const uint8_t test_vector_5_g_x[] = { 4965 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 4966 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 4967 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 4968 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 4969 0xc3, 0xb6}; 4970 int32_t test_vector_5_c_i_raw = -24; 4971 static const uint8_t test_vector_5_c_i[] = { 4972 0x37}; 4973 static const uint8_t test_vector_5_ead_1[] = { 4974 }; 4975 static const uint8_t test_vector_5_message_1[] = { 4976 0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 4977 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 4978 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 4979 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 4980 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 4981 static const uint8_t test_vector_5_y_raw[] = { 4982 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 4983 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 4984 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 4985 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 4986 static const uint8_t test_vector_5_g_y_raw[] = { 4987 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 4988 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 4989 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 4990 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 4991 static const uint8_t test_vector_5_g_y_raw_y_coordinate[] = { 4992 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 4993 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 4994 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 4995 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 4996 static const uint8_t test_vector_5_g_y[] = { 4997 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 4998 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 4999 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5000 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5001 0xf5, 0xd5}; 5002 static const uint8_t test_vector_5_g_xy_raw[] = { 5003 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 5004 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 5005 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 5006 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 5007 static const uint8_t test_vector_5_salt_raw[] = { 5008 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5009 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5010 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5011 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 5012 static const uint8_t test_vector_5_prk_2e_raw[] = { 5013 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 5014 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 5015 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 5016 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 5017 static const uint8_t test_vector_5_salt_3e2m[] = { 5018 0x7b, 0xf2, 0x35, 0x72, 0x8c, 0xe1, 0x51, 0xd3, 5019 0xfe, 0x9d, 0x66, 0x65, 0xd7, 0xdd, 0xd7, 0x09, 5020 0xf3, 0xd8, 0x3a, 0x0c, 0x84, 0x9b, 0xc4, 0x96, 5021 0x12, 0xfb, 0x57, 0x22, 0x4b, 0xb0, 0x5a, 0xc1}; 5022 static const uint8_t test_vector_5_r_raw[] = { 5023 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 5024 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 5025 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 5026 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 5027 static const uint8_t test_vector_5_g_r_raw[] = { 5028 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5029 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5030 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5031 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0}; 5032 static const uint8_t test_vector_5_g_r_raw_y_coordinate[] = { 5033 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5034 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5035 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5036 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72}; 5037 static const uint8_t test_vector_5_g_rx_raw[] = { 5038 0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e, 5039 0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0, 5040 0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08, 5041 0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23}; 5042 static const uint8_t test_vector_5_prk_3e2m_raw[] = { 5043 0x7f, 0xfa, 0xf0, 0x59, 0xc9, 0x63, 0x8c, 0x8d, 5044 0xb7, 0x6d, 0xe8, 0xcb, 0x09, 0xb9, 0x23, 0x65, 5045 0x54, 0x00, 0x88, 0x81, 0x08, 0xd1, 0x3c, 0xb6, 5046 0x8b, 0xf4, 0x9a, 0x96, 0xad, 0x93, 0x03, 0x86}; 5047 int32_t test_vector_5_c_r_raw = -19; 5048 static const uint8_t test_vector_5_c_r[] = { 5049 0x32}; 5050 static const uint8_t test_vector_5_h_message_1_raw[] = { 5051 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45, 5052 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf, 5053 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca, 5054 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5055 static const uint8_t test_vector_5_h_message_1[] = { 5056 0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 5057 0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 5058 0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 5059 0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 5060 0x3e, 0x83}; 5061 static const uint8_t test_vector_5_input_th_2[] = { 5062 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5063 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5064 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5065 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5066 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb, 5067 0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35, 5068 0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09, 5069 0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe, 5070 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5071 static const uint8_t test_vector_5_th_2_raw[] = { 5072 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf, 5073 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72, 5074 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60, 5075 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4}; 5076 static const uint8_t test_vector_5_th_2[] = { 5077 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5078 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5079 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5080 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5081 0x5c, 0xb4}; 5082 static const uint8_t test_vector_5_id_cred_r[] = { 5083 0xa1, 0x04, 0x22}; 5084 static const uint8_t test_vector_5_cred_r[] = { 5085 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 5086 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 5087 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 5088 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 5089 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 5090 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 5091 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 5092 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 5093 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 5094 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 5095 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 5096 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 5097 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 5098 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 5099 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 5100 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5101 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5102 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 5103 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 5104 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 5105 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 5106 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 5107 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 5108 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 5109 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 5110 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 5111 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5112 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 5113 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 5114 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 5115 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 5116 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 5117 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 5118 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 5119 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 5120 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 5121 0x3b, 0x13, 0x3d, 0x05, 0x58}; 5122 static const uint8_t test_vector_5_ca_r[] = { 5123 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 5124 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 5125 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5126 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5127 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5128 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5129 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5130 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 5131 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 5132 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5133 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 5134 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5135 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5136 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 5137 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5138 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5139 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 5140 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 5141 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 5142 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 5143 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 5144 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 5145 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 5146 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 5147 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 5148 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5149 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 5150 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 5151 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 5152 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 5153 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 5154 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 5155 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 5156 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 5157 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 5158 0x13, 0x6b, 0xf3, 0x06}; 5159 static const uint8_t test_vector_5_ca_r_pk[] = { 5160 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 5161 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 5162 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 5163 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 5164 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 5165 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 5166 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 5167 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 5168 0x95}; 5169 static const uint8_t test_vector_5_ead_2[] = { 5170 }; 5171 static const uint8_t test_vector_5_info_mac_2[] = { 5172 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58, 5173 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 5174 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 5175 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 5176 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 5177 0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 5178 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 5179 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 5180 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 5181 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 5182 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 5183 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 5184 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 5185 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 5186 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 5187 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 5188 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 5189 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 5190 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 5191 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 5192 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5193 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5194 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 5195 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5196 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5197 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5198 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 5199 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5200 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5201 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5202 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 5203 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5204 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 5205 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 5206 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 5207 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 5208 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 5209 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 5210 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 5211 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 5212 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 5213 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08}; 5214 static const uint8_t test_vector_5_mac_2_raw[] = { 5215 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a}; 5216 static const uint8_t test_vector_5_mac_2[] = { 5217 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 5218 0x8a}; 5219 static const uint8_t test_vector_5_sig_or_mac_2_raw[] = { 5220 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a}; 5221 static const uint8_t test_vector_5_sig_or_mac_2[] = { 5222 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 5223 0x8a}; 5224 static const uint8_t test_vector_5_plaintext_2[] = { 5225 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 5226 0x37, 0x8a}; 5227 static const uint8_t test_vector_5_info_keystream_2[] = { 5228 0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 5229 0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 5230 0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 5231 0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 5232 0xf6, 0x5c, 0xb4, 0x0a}; 5233 static const uint8_t test_vector_5_keystream_2_raw[] = { 5234 0xd3, 0xf9, 0x55, 0x81, 0x58, 0xc7, 0x8e, 0xcb, 5235 0x9e, 0xd2}; 5236 static const uint8_t test_vector_5_ciphertext_2_raw[] = { 5237 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 0xb9, 5238 0xa9, 0x58}; 5239 static const uint8_t test_vector_5_ciphertext_2[] = { 5240 0x4a, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 5241 0xb9, 0xa9, 0x58}; 5242 static const uint8_t test_vector_5_message_2[] = { 5243 0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5244 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5245 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5246 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5247 0xf5, 0xd5, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 5248 0xc8, 0xb9, 0xa9, 0x58, 0x32}; 5249 static const uint8_t test_vector_5_i_raw[] = { 5250 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 5251 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 5252 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 5253 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 5254 static const uint8_t test_vector_5_g_i_raw[] = { 5255 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 5256 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 5257 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 5258 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6}; 5259 static const uint8_t test_vector_5_g_i_raw_y_coordinate[] = { 5260 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 5261 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 5262 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 5263 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8}; 5264 static const uint8_t test_vector_5_g_iy_raw[] = { 5265 0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49, 5266 0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23, 5267 0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20, 5268 0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3}; 5269 static const uint8_t test_vector_5_salt_4e3m[] = { 5270 0xaa, 0x77, 0xaa, 0xa3, 0xc5, 0x31, 0x59, 0xa3, 5271 0xaa, 0x26, 0x33, 0xb5, 0xee, 0x32, 0xd8, 0xd9, 5272 0x0b, 0xc4, 0x96, 0xe7, 0x31, 0x5b, 0x92, 0x69, 5273 0x99, 0xa2, 0x44, 0x69, 0x08, 0xc3, 0x97, 0x53}; 5274 static const uint8_t test_vector_5_prk_4e3m_raw[] = { 5275 0xe5, 0xa7, 0xf0, 0x31, 0xf7, 0x01, 0xa9, 0xbb, 5276 0x8e, 0x8a, 0x8e, 0xc4, 0x44, 0x43, 0x20, 0x13, 5277 0x51, 0x27, 0xff, 0xdd, 0x3d, 0x79, 0xf8, 0x9d, 5278 0x9c, 0x40, 0xa2, 0x94, 0x95, 0x3b, 0x42, 0x4c}; 5279 static const uint8_t test_vector_5_input_TH_3[] = { 5280 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5281 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5282 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5283 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5284 0x5c, 0xb4, 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 5285 0x46, 0x72, 0x37, 0x8a}; 5286 static const uint8_t test_vector_5_th_3_raw[] = { 5287 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24, 5288 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26, 5289 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24, 5290 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17}; 5291 static const uint8_t test_vector_5_th_3[] = { 5292 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 5293 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 5294 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 5295 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 5296 0x91, 0x17}; 5297 static const uint8_t test_vector_5_id_cred_i[] = { 5298 0xa1, 0x04, 0x05}; 5299 static const uint8_t test_vector_5_cred_i[] = { 5300 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 5301 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 5302 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 0x06, 5303 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 5304 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 5305 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 5306 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 5307 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x33, 5308 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 0x33, 5309 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 5310 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 5311 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 5312 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 5313 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 5314 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 0x13, 5315 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5316 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5317 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xac, 5318 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 5319 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 5320 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 5321 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x6e, 5322 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 0x82, 5323 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 0x52, 5324 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 0x2a, 5325 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 0x30, 5326 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5327 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 5328 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 0x33, 5329 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 0xb8, 5330 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 0x0f, 5331 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 0x6e, 5332 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 0xf1, 5333 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 0x36, 5334 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 0xd2, 5335 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 0x15, 5336 0x2a, 0x07, 0xa2, 0xbe, 0xde}; 5337 static const uint8_t test_vector_5_ca_i[] = { 5338 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 5339 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 5340 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5341 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5342 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5343 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5344 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5345 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 5346 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 5347 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5348 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 5349 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5350 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5351 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 5352 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5353 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5354 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 5355 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 5356 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 5357 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 5358 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 5359 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 5360 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 5361 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 5362 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 5363 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5364 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 5365 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 5366 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 5367 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 5368 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 5369 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 5370 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 5371 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 5372 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 5373 0x13, 0x6b, 0xf3, 0x06}; 5374 static const uint8_t test_vector_5_ca_i_pk[] = { 5375 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 5376 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 5377 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 5378 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 5379 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 5380 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 5381 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 5382 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 5383 0x95}; 5384 static const uint8_t test_vector_5_ead_3[] = { 5385 }; 5386 static const uint8_t test_vector_5_info_mac_3[] = { 5387 0x06, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x05, 0x58, 5388 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 5389 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 5390 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 5391 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 5392 0x17, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 5393 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 5394 0x02, 0x04, 0x62, 0x32, 0xef, 0x6f, 0x30, 0x0a, 5395 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 5396 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 5397 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 5398 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 5399 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 5400 0x33, 0x31, 0x37, 0x30, 0x38, 0x32, 0x31, 0x30, 5401 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 5402 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 5403 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 5404 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 5405 0x48, 0x4f, 0x43, 0x20, 0x49, 0x6e, 0x69, 0x74, 5406 0x69, 0x61, 0x74, 0x6f, 0x72, 0x30, 0x59, 0x30, 5407 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5408 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5409 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 5410 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 5411 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 5412 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 5413 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 5414 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 5415 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 5416 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 5417 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8, 5418 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5419 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 5420 0x45, 0x02, 0x21, 0x00, 0x8c, 0x32, 0x3a, 0x1f, 5421 0x33, 0x21, 0x38, 0xaa, 0xb9, 0xd0, 0xbe, 0xaf, 5422 0xb8, 0x5f, 0x8d, 0x5a, 0x44, 0x07, 0x3c, 0x58, 5423 0x0f, 0x59, 0x5b, 0xc5, 0x21, 0xef, 0x91, 0x3f, 5424 0x6e, 0xf4, 0x8d, 0x11, 0x02, 0x20, 0x6c, 0x0a, 5425 0xf1, 0xa1, 0x85, 0xa4, 0xe4, 0xde, 0x06, 0x35, 5426 0x36, 0x99, 0x23, 0x1c, 0x73, 0x3a, 0x6e, 0x8d, 5427 0xd2, 0xdf, 0x65, 0x13, 0x96, 0x6c, 0x91, 0x30, 5428 0x15, 0x2a, 0x07, 0xa2, 0xbe, 0xde, 0x08}; 5429 static const uint8_t test_vector_5_mac_3_raw[] = { 5430 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 0x11}; 5431 static const uint8_t test_vector_5_mac_3[] = { 5432 0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 5433 0x11}; 5434 static const uint8_t test_vector_5_sig_or_mac_3_raw[] = { 5435 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 0x11}; 5436 static const uint8_t test_vector_5_sig_or_mac_3[] = { 5437 0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 0x42, 5438 0x11}; 5439 static const uint8_t test_vector_5_p_3[] = { 5440 0x05, 0x48, 0x6f, 0xf8, 0x59, 0x52, 0x13, 0xbc, 5441 0x42, 0x11}; 5442 static const uint8_t test_vector_5_a_3[] = { 5443 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5444 0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x29, 0x64, 5445 0x08, 0x0a, 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 5446 0xd8, 0x1e, 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 5447 0x87, 0x08, 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 5448 0x8b, 0xc3, 0x87, 0x91, 0x17}; 5449 static const uint8_t test_vector_5_info_k_3[] = { 5450 0x03, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 5451 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 5452 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 5453 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 5454 0x87, 0x91, 0x17, 0x10}; 5455 static const uint8_t test_vector_5_k_3_raw[] = { 5456 0x91, 0x37, 0x42, 0x59, 0x75, 0x50, 0x0f, 0x5e, 5457 0xa1, 0x09, 0x60, 0x3f, 0x8a, 0xd1, 0xee, 0x33}; 5458 static const uint8_t test_vector_5_info_iv_3[] = { 5459 0x04, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 5460 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 5461 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 5462 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 5463 0x87, 0x91, 0x17, 0x0d}; 5464 static const uint8_t test_vector_5_iv_3_raw[] = { 5465 0x6d, 0x58, 0x86, 0x99, 0xf6, 0x24, 0x1e, 0x41, 5466 0x36, 0x7b, 0x1e, 0x51, 0x29}; 5467 static const uint8_t test_vector_5_ciphertext_3_raw[] = { 5468 0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76, 0x75, 5469 0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e, 0x08, 5470 0x53, 0xee}; 5471 static const uint8_t test_vector_5_ciphertext_3[] = { 5472 0x52, 0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76, 5473 0x75, 0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e, 5474 0x08, 0x53, 0xee}; 5475 static const uint8_t test_vector_5_message_3[] = { 5476 0x52, 0x5d, 0x22, 0xc2, 0x3f, 0x30, 0x99, 0x76, 5477 0x75, 0x73, 0x69, 0x71, 0xa8, 0xac, 0x59, 0x5e, 5478 0x08, 0x53, 0xee}; 5479 static const uint8_t test_vector_5_input_th_4[] = { 5480 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 5481 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 5482 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 5483 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 5484 0x91, 0x17, 0x05, 0x48, 0x6f, 0xf8, 0x59, 0x52, 5485 0x13, 0xbc, 0x42, 0x11}; 5486 static const uint8_t test_vector_5_th_4_raw[] = { 5487 0x7a, 0xd6, 0xdc, 0x14, 0x0c, 0x51, 0xfa, 0x00, 5488 0x80, 0xcc, 0x55, 0xfb, 0xa0, 0xe4, 0x7a, 0x7c, 5489 0xa3, 0xbc, 0x55, 0x0c, 0x16, 0x3a, 0x21, 0x06, 5490 0xc8, 0x04, 0xf0, 0xfa, 0xde, 0xd7, 0x68, 0x36}; 5491 static const uint8_t test_vector_5_th_4[] = { 5492 0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c, 0x51, 5493 0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0, 0xe4, 5494 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16, 0x3a, 5495 0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde, 0xd7, 5496 0x68, 0x36}; 5497 static const uint8_t test_vector_5_ead_4[] = { 5498 }; 5499 static const uint8_t test_vector_5_p_4[] = { 5500 }; 5501 static const uint8_t test_vector_5_a_4[] = { 5502 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5503 0x74, 0x30, 0x40, 0x58, 0x20, 0x7a, 0xd6, 0xdc, 5504 0x14, 0x0c, 0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55, 5505 0xfb, 0xa0, 0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 5506 0x0c, 0x16, 0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0, 5507 0xfa, 0xde, 0xd7, 0x68, 0x36}; 5508 static const uint8_t test_vector_5_info_k_4[] = { 5509 0x08, 0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c, 5510 0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0, 5511 0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16, 5512 0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde, 5513 0xd7, 0x68, 0x36, 0x10}; 5514 static const uint8_t test_vector_5_k_4_raw[] = { 5515 0xc5, 0x84, 0x3d, 0xb3, 0xab, 0x8e, 0xe6, 0xbc, 5516 0xf9, 0x37, 0x35, 0xeb, 0x92, 0xed, 0x09, 0x0c}; 5517 static const uint8_t test_vector_5_info_iv_4[] = { 5518 0x09, 0x58, 0x20, 0x7a, 0xd6, 0xdc, 0x14, 0x0c, 5519 0x51, 0xfa, 0x00, 0x80, 0xcc, 0x55, 0xfb, 0xa0, 5520 0xe4, 0x7a, 0x7c, 0xa3, 0xbc, 0x55, 0x0c, 0x16, 5521 0x3a, 0x21, 0x06, 0xc8, 0x04, 0xf0, 0xfa, 0xde, 5522 0xd7, 0x68, 0x36, 0x0d}; 5523 static const uint8_t test_vector_5_iv_4_raw[] = { 5524 0xda, 0xe0, 0xe9, 0x5c, 0xa9, 0x65, 0xf0, 0x68, 5525 0x92, 0x47, 0x3b, 0x5e, 0xc3}; 5526 static const uint8_t test_vector_5_ciphertext_4_raw[] = { 5527 0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd, 0x69}; 5528 static const uint8_t test_vector_5_ciphertext_4[] = { 5529 0x48, 0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd, 5530 0x69}; 5531 static const uint8_t test_vector_5_message_4[] = { 5532 0x48, 0x74, 0xf0, 0xb6, 0x61, 0x5c, 0xd2, 0xfd, 5533 0x69}; 5534 static const uint8_t test_vector_5_prk_out[] = { 5535 0x7c, 0x77, 0x1b, 0x69, 0xb1, 0x63, 0x1a, 0xf8, 5536 0xed, 0xf5, 0x3b, 0x27, 0x73, 0x21, 0x84, 0x7b, 5537 0x68, 0xd7, 0x53, 0xa0, 0x91, 0xc5, 0x08, 0xd8, 5538 0x0d, 0xb0, 0x93, 0xfa, 0xcc, 0x07, 0x9f, 0x7a}; 5539 static const uint8_t test_vector_5_prk_exporter[] = { 5540 0xdb, 0xd2, 0x49, 0xd0, 0x80, 0xff, 0xba, 0x2b, 5541 0xe4, 0x59, 0x2f, 0xec, 0xc7, 0x59, 0x50, 0xf4, 5542 0x5d, 0x84, 0x37, 0xf0, 0xc3, 0x64, 0x4f, 0xc2, 5543 0xb1, 0x44, 0x8b, 0x17, 0xbf, 0x42, 0x83, 0x28}; 5544 int32_t test_vector_5_oscore_aead_alg = 10; 5545 int32_t test_vector_5_oscore_hash_alg = -16; 5546 static const uint8_t test_vector_5_client_sender_id_raw[] = { 5547 0x32}; 5548 static const uint8_t test_vector_5_server_sender_id_raw[] = { 5549 0x37}; 5550 static const uint8_t test_vector_5_info_oscore_secret[] = { 5551 0x00, 0x40, 0x10}; 5552 static const uint8_t test_vector_5_oscore_secret_raw[] = { 5553 0x85, 0xe8, 0x86, 0xfd, 0x90, 0x9d, 0x82, 0xbe, 5554 0x36, 0x6b, 0x65, 0xb9, 0x33, 0x11, 0x5e, 0xe2}; 5555 static const uint8_t test_vector_5_info_oscore_salt[] = { 5556 0x01, 0x40, 0x08}; 5557 static const uint8_t test_vector_5_oscore_salt_raw[] = { 5558 0x09, 0xa4, 0x3f, 0xe5, 0x5e, 0x3b, 0x57, 0x0f}; 5559 static const uint8_t test_vector_5_prk_out_updated[] = { 5560 0xa6, 0xd0, 0x63, 0x61, 0x89, 0xfc, 0x95, 0xe1, 5561 0xb5, 0x51, 0x90, 0x31, 0x2e, 0xf2, 0xc5, 0x44, 5562 0x67, 0xdc, 0xb2, 0x85, 0x9c, 0x0e, 0x6a, 0x72, 5563 0x7f, 0x4e, 0x99, 0x6c, 0xc9, 0x0e, 0x28, 0x55}; 5564 static const uint8_t test_vector_5_prk_exporter_update[] = { 5565 0x9d, 0x93, 0xac, 0x08, 0x08, 0x8d, 0xb1, 0xc2, 5566 0x67, 0xef, 0x3b, 0xe2, 0x50, 0xa7, 0x9b, 0x6c, 5567 0x61, 0x0c, 0xce, 0x30, 0x01, 0xeb, 0x4a, 0x69, 5568 0x3b, 0x11, 0x64, 0x4a, 0x9c, 0xfd, 0x59, 0x90}; 5569 static const uint8_t test_vector_5_oscore_secret_key_update_raw[] = { 5570 0x08, 0x62, 0x54, 0x5a, 0xfb, 0x03, 0x71, 0xc8, 5571 0x43, 0xa5, 0x52, 0x74, 0x9b, 0x57, 0xaf, 0xa2}; 5572 static const uint8_t test_vector_5_oscore_salt_key_update_raw[] = { 5573 0xa0, 0xa5, 0xd0, 0x9f, 0xd8, 0x35, 0xdd, 0xdc}; 5574 5575 /***************** test_vector_6 ************/ 5576 5577 static const uint8_t test_vector_6_method[] = { 5578 0x03}; 5579 static const uint8_t test_vector_6_SUITES_I[] = { 5580 0x02}; 5581 static const uint8_t test_vector_6_SUITES_R[] = { 5582 0x02}; 5583 static const uint8_t test_vector_6_x_raw[] = { 5584 0x36, 0x8e, 0xc1, 0xf6, 0x9a, 0xeb, 0x65, 0x9b, 5585 0xa3, 0x7d, 0x5a, 0x8d, 0x45, 0xb2, 0x1b, 0xdc, 5586 0x02, 0x99, 0xdc, 0xea, 0xa8, 0xef, 0x23, 0x5f, 5587 0x3c, 0xa4, 0x2c, 0xe3, 0x53, 0x0f, 0x95, 0x25}; 5588 static const uint8_t test_vector_6_g_x_raw[] = { 5589 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 0x8d, 0x34, 5590 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 0xf5, 0x11, 5591 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 0x0b, 0x96, 5592 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 0xc3, 0xb6}; 5593 static const uint8_t test_vector_6_g_x_raw_y_coordinate[] = { 5594 0x51, 0xe8, 0xaf, 0x6c, 0x6e, 0xdb, 0x78, 0x16, 5595 0x01, 0xad, 0x1d, 0x9c, 0x5f, 0xa8, 0xbf, 0x7a, 5596 0xa1, 0x57, 0x16, 0xc7, 0xc0, 0x6a, 0x5d, 0x03, 5597 0x85, 0x03, 0xc6, 0x14, 0xff, 0x80, 0xc9, 0xb3}; 5598 static const uint8_t test_vector_6_g_x[] = { 5599 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 0xeb, 0xe1, 5600 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 0xa1, 0x1b, 5601 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 0x34, 0x73, 5602 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 0xca, 0x2f, 5603 0xc3, 0xb6}; 5604 int32_t test_vector_6_c_i_raw = -24; 5605 static const uint8_t test_vector_6_c_i[] = { 5606 0x37}; 5607 static const uint8_t test_vector_6_ead_1[] = { 5608 }; 5609 static const uint8_t test_vector_6_message_1[] = { 5610 0x03, 0x02, 0x58, 0x20, 0x8a, 0xf6, 0xf4, 0x30, 5611 0xeb, 0xe1, 0x8d, 0x34, 0x18, 0x40, 0x17, 0xa9, 5612 0xa1, 0x1b, 0xf5, 0x11, 0xc8, 0xdf, 0xf8, 0xf8, 5613 0x34, 0x73, 0x0b, 0x96, 0xc1, 0xb7, 0xc8, 0xdb, 5614 0xca, 0x2f, 0xc3, 0xb6, 0x37}; 5615 static const uint8_t test_vector_6_y_raw[] = { 5616 0xe2, 0xf4, 0x12, 0x67, 0x77, 0x20, 0x5e, 0x85, 5617 0x3b, 0x43, 0x7d, 0x6e, 0xac, 0xa1, 0xe1, 0xf7, 5618 0x53, 0xcd, 0xcc, 0x3e, 0x2c, 0x69, 0xfa, 0x88, 5619 0x4b, 0x0a, 0x1a, 0x64, 0x09, 0x77, 0xe4, 0x18}; 5620 static const uint8_t test_vector_6_g_y_raw[] = { 5621 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 0x26, 0xc2, 5622 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 0x25, 0x49, 5623 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 0x2c, 0x8e, 5624 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 0xf5, 0xd5}; 5625 static const uint8_t test_vector_6_g_y_raw_y_coordinate[] = { 5626 0x5e, 0x4f, 0x0d, 0xd8, 0xa3, 0xda, 0x0b, 0xaa, 5627 0x16, 0xb9, 0xd3, 0xad, 0x56, 0xa0, 0xc1, 0x86, 5628 0x0a, 0x94, 0x0a, 0xf8, 0x59, 0x14, 0x91, 0x5e, 5629 0x25, 0x01, 0x9b, 0x40, 0x24, 0x17, 0xe9, 0x9d}; 5630 static const uint8_t test_vector_6_g_y[] = { 5631 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5632 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5633 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5634 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5635 0xf5, 0xd5}; 5636 static const uint8_t test_vector_6_g_xy_raw[] = { 5637 0x2f, 0x0c, 0xb7, 0xe8, 0x60, 0xba, 0x53, 0x8f, 5638 0xbf, 0x5c, 0x8b, 0xde, 0xd0, 0x09, 0xf6, 0x25, 5639 0x9b, 0x4b, 0x62, 0x8f, 0xe1, 0xeb, 0x7d, 0xbe, 5640 0x93, 0x78, 0xe5, 0xec, 0xf7, 0xa8, 0x24, 0xba}; 5641 static const uint8_t test_vector_6_salt_raw[] = { 5642 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5643 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 5646 static const uint8_t test_vector_6_prk_2e_raw[] = { 5647 0xfd, 0x9e, 0xef, 0x62, 0x74, 0x87, 0xe4, 0x03, 5648 0x90, 0xca, 0xe9, 0x22, 0x51, 0x2d, 0xb5, 0xa6, 5649 0x47, 0xc0, 0x8d, 0xc9, 0x0d, 0xeb, 0x22, 0xb7, 5650 0x2e, 0xce, 0x6f, 0x15, 0x6f, 0xf1, 0xc3, 0x96}; 5651 static const uint8_t test_vector_6_salt_3e2m[] = { 5652 0x7b, 0xf2, 0x35, 0x72, 0x8c, 0xe1, 0x51, 0xd3, 5653 0xfe, 0x9d, 0x66, 0x65, 0xd7, 0xdd, 0xd7, 0x09, 5654 0xf3, 0xd8, 0x3a, 0x0c, 0x84, 0x9b, 0xc4, 0x96, 5655 0x12, 0xfb, 0x57, 0x22, 0x4b, 0xb0, 0x5a, 0xc1}; 5656 static const uint8_t test_vector_6_r_raw[] = { 5657 0x72, 0xcc, 0x47, 0x61, 0xdb, 0xd4, 0xc7, 0x8f, 5658 0x75, 0x89, 0x31, 0xaa, 0x58, 0x9d, 0x34, 0x8d, 5659 0x1e, 0xf8, 0x74, 0xa7, 0xe3, 0x03, 0xed, 0xe2, 5660 0xf1, 0x40, 0xdc, 0xf3, 0xe6, 0xaa, 0x4a, 0xac}; 5661 static const uint8_t test_vector_6_g_r_raw[] = { 5662 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5663 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5664 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5665 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0}; 5666 static const uint8_t test_vector_6_g_r_raw_y_coordinate[] = { 5667 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5668 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5669 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5670 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72}; 5671 static const uint8_t test_vector_6_g_rx_raw[] = { 5672 0xf2, 0xb6, 0xee, 0xa0, 0x22, 0x20, 0xb9, 0x5e, 5673 0xee, 0x5a, 0x0b, 0xc7, 0x01, 0xf0, 0x74, 0xe0, 5674 0x0a, 0x84, 0x3e, 0xa0, 0x24, 0x22, 0xf6, 0x08, 5675 0x25, 0xfb, 0x26, 0x9b, 0x3e, 0x16, 0x14, 0x23}; 5676 static const uint8_t test_vector_6_prk_3e2m_raw[] = { 5677 0x7f, 0xfa, 0xf0, 0x59, 0xc9, 0x63, 0x8c, 0x8d, 5678 0xb7, 0x6d, 0xe8, 0xcb, 0x09, 0xb9, 0x23, 0x65, 5679 0x54, 0x00, 0x88, 0x81, 0x08, 0xd1, 0x3c, 0xb6, 5680 0x8b, 0xf4, 0x9a, 0x96, 0xad, 0x93, 0x03, 0x86}; 5681 int32_t test_vector_6_c_r_raw = -19; 5682 static const uint8_t test_vector_6_c_r[] = { 5683 0x32}; 5684 static const uint8_t test_vector_6_h_message_1_raw[] = { 5685 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 0x9c, 0x45, 5686 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 0x85, 0xbf, 5687 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 0x99, 0xca, 5688 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5689 static const uint8_t test_vector_6_h_message_1[] = { 5690 0x58, 0x20, 0xbf, 0x86, 0xdb, 0x33, 0xa6, 0x8f, 5691 0x9c, 0x45, 0xe6, 0xe2, 0x35, 0x35, 0x8a, 0xa1, 5692 0x85, 0xbf, 0x8b, 0x04, 0x09, 0xd3, 0xf2, 0xe6, 5693 0x99, 0xca, 0x04, 0x88, 0xbe, 0x9f, 0x8c, 0xb6, 5694 0x3e, 0x83}; 5695 static const uint8_t test_vector_6_input_th_2[] = { 5696 0x58, 0x20, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5697 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5698 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5699 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5700 0xf5, 0xd5, 0x32, 0x58, 0x20, 0xbf, 0x86, 0xdb, 5701 0x33, 0xa6, 0x8f, 0x9c, 0x45, 0xe6, 0xe2, 0x35, 5702 0x35, 0x8a, 0xa1, 0x85, 0xbf, 0x8b, 0x04, 0x09, 5703 0xd3, 0xf2, 0xe6, 0x99, 0xca, 0x04, 0x88, 0xbe, 5704 0x9f, 0x8c, 0xb6, 0x3e, 0x83}; 5705 static const uint8_t test_vector_6_th_2_raw[] = { 5706 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 0xbf, 5707 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 0x72, 5708 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 0x60, 5709 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 0xb4}; 5710 static const uint8_t test_vector_6_th_2[] = { 5711 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5712 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5713 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5714 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5715 0x5c, 0xb4}; 5716 static const uint8_t test_vector_6_id_cred_r[] = { 5717 0xa1, 0x04, 0x22}; 5718 static const uint8_t test_vector_6_cred_r[] = { 5719 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 0x30, 5720 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 5721 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 0x06, 5722 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 5723 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 5724 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 0x44, 5725 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 0x74, 5726 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x31, 5727 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 0x32, 5728 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 0x33, 5729 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x5a, 5730 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 5731 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 0x48, 5732 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 5733 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 5734 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5735 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5736 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 5737 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 0x2e, 5738 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 0xdd, 5739 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 0xac, 5740 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 0x45, 5741 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 0xe2, 5742 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 0xca, 5743 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 0x8c, 5744 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 0x30, 5745 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5746 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 5747 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 0x65, 5748 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 0x31, 5749 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 0x0c, 5750 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 0xa7, 5751 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 0x0e, 5752 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 0xeb, 5753 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 0x8e, 5754 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 0x31, 5755 0x3b, 0x13, 0x3d, 0x05, 0x58}; 5756 static const uint8_t test_vector_6_ca_r[] = { 5757 0x30, 0x82, 0x01, 0x18, 0x30, 0x81, 0xc0, 0xa0, 5758 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x61, 0xe9, 5759 0x97, 0xc5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 5760 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x15, 5761 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 5762 0x03, 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5763 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 5764 0x0d, 0x32, 0x32, 0x30, 0x31, 0x32, 0x30, 0x31, 5765 0x37, 0x31, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 5766 0x32, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 5767 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 5768 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 5769 0x0c, 0x0a, 0x45, 0x44, 0x48, 0x4f, 0x43, 0x20, 5770 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x59, 0x30, 0x13, 5771 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 5772 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5773 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x27, 5774 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 0x61, 0x14, 5775 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 0x57, 0xbf, 5776 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 0x5b, 0x3f, 5777 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 0xa9, 0x7b, 5778 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 0xca, 0x67, 5779 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 0x12, 0x4b, 5780 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 0xf0, 0xfb, 5781 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 0x95, 0x30, 5782 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5783 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 5784 0x02, 0x20, 0x13, 0x73, 0x43, 0x26, 0xf2, 0xca, 5785 0x35, 0xd1, 0xae, 0xdb, 0x6d, 0x5e, 0x1c, 0x8e, 5786 0xb7, 0xb9, 0x65, 0xda, 0x67, 0xea, 0xd3, 0x31, 5787 0x4e, 0x50, 0x29, 0x09, 0xb9, 0xd7, 0x57, 0xcb, 5788 0xa1, 0x68, 0x02, 0x20, 0x49, 0xba, 0x0b, 0xa4, 5789 0xf0, 0x6e, 0xfe, 0x8c, 0x0d, 0x9c, 0x3d, 0x31, 5790 0x15, 0xeb, 0x9c, 0x96, 0xca, 0x46, 0xd1, 0x28, 5791 0x49, 0x9b, 0x68, 0x95, 0x7d, 0x0a, 0x85, 0xaf, 5792 0x13, 0x6b, 0xf3, 0x06}; 5793 static const uint8_t test_vector_6_ca_r_pk[] = { 5794 0x04, 0x27, 0xec, 0xf4, 0xb4, 0x66, 0xd3, 0xcd, 5795 0x61, 0x14, 0x4c, 0x94, 0x40, 0x21, 0x83, 0x8d, 5796 0x57, 0xbf, 0x67, 0x01, 0x97, 0x33, 0x78, 0xa1, 5797 0x5b, 0x3f, 0x5d, 0x27, 0x57, 0x5d, 0x34, 0xc4, 5798 0xa9, 0x7b, 0x79, 0xe0, 0xf2, 0x4b, 0x44, 0x6b, 5799 0xca, 0x67, 0xe1, 0x3d, 0x75, 0xd0, 0x95, 0x73, 5800 0x12, 0x4b, 0x49, 0xb8, 0x38, 0xb1, 0x09, 0x73, 5801 0xf0, 0xfb, 0x67, 0xe1, 0x26, 0x05, 0x1c, 0x95, 5802 0x95}; 5803 static const uint8_t test_vector_6_ead_2[] = { 5804 }; 5805 static const uint8_t test_vector_6_info_mac_2[] = { 5806 0x02, 0x59, 0x01, 0x4a, 0xa1, 0x04, 0x22, 0x58, 5807 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 0x75, 5808 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 0xeb, 5809 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 0x18, 5810 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 0x5c, 5811 0xb4, 0x59, 0x01, 0x22, 0x30, 0x82, 0x01, 0x1e, 5812 0x30, 0x81, 0xc5, 0xa0, 0x03, 0x02, 0x01, 0x02, 5813 0x02, 0x04, 0x61, 0xe9, 0x98, 0x1e, 0x30, 0x0a, 5814 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 5815 0x03, 0x02, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 5816 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x45, 5817 0x44, 0x48, 0x4f, 0x43, 0x20, 0x52, 0x6f, 0x6f, 5818 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 5819 0x31, 0x32, 0x30, 0x31, 0x37, 0x31, 0x33, 0x30, 5820 0x32, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x32, 5821 0x33, 0x31, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 5822 0x5a, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 5823 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x45, 0x44, 5824 0x48, 0x4f, 0x43, 0x20, 0x52, 0x65, 0x73, 0x70, 5825 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30, 0x59, 0x30, 5826 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 5827 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5828 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 5829 0xbb, 0xc3, 0x49, 0x60, 0x52, 0x6e, 0xa4, 0xd3, 5830 0x2e, 0x94, 0x0c, 0xad, 0x2a, 0x23, 0x41, 0x48, 5831 0xdd, 0xc2, 0x17, 0x91, 0xa1, 0x2a, 0xfb, 0xcb, 5832 0xac, 0x93, 0x62, 0x20, 0x46, 0xdd, 0x44, 0xf0, 5833 0x45, 0x19, 0xe2, 0x57, 0x23, 0x6b, 0x2a, 0x0c, 5834 0xe2, 0x02, 0x3f, 0x09, 0x31, 0xf1, 0xf3, 0x86, 5835 0xca, 0x7a, 0xfd, 0xa6, 0x4f, 0xcd, 0xe0, 0x10, 5836 0x8c, 0x22, 0x4c, 0x51, 0xea, 0xbf, 0x60, 0x72, 5837 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 5838 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 5839 0x45, 0x02, 0x20, 0x30, 0x19, 0x4e, 0xf5, 0xfc, 5840 0x65, 0xc8, 0xb7, 0x95, 0xcd, 0xcd, 0x0b, 0xb4, 5841 0x31, 0xbf, 0x83, 0xee, 0x67, 0x41, 0xc1, 0x37, 5842 0x0c, 0x22, 0xc8, 0xeb, 0x8e, 0xe9, 0xed, 0xd2, 5843 0xa7, 0x05, 0x19, 0x02, 0x21, 0x00, 0xb5, 0x83, 5844 0x0e, 0x9c, 0x89, 0xa6, 0x2a, 0xc7, 0x3c, 0xe1, 5845 0xeb, 0xce, 0x00, 0x61, 0x70, 0x7d, 0xb8, 0xa8, 5846 0x8e, 0x23, 0x70, 0x9b, 0x4a, 0xcc, 0x58, 0xa1, 5847 0x31, 0x3b, 0x13, 0x3d, 0x05, 0x58, 0x08}; 5848 static const uint8_t test_vector_6_mac_2_raw[] = { 5849 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a}; 5850 static const uint8_t test_vector_6_mac_2[] = { 5851 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 5852 0x8a}; 5853 static const uint8_t test_vector_6_sig_or_mac_2_raw[] = { 5854 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 0x8a}; 5855 static const uint8_t test_vector_6_sig_or_mac_2[] = { 5856 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 0x37, 5857 0x8a}; 5858 static const uint8_t test_vector_6_plaintext_2[] = { 5859 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 0x46, 0x72, 5860 0x37, 0x8a}; 5861 static const uint8_t test_vector_6_info_keystream_2[] = { 5862 0x00, 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 5863 0x38, 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 5864 0x42, 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 5865 0xeb, 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 5866 0xf6, 0x5c, 0xb4, 0x0a}; 5867 static const uint8_t test_vector_6_keystream_2_raw[] = { 5868 0xd3, 0xf9, 0x55, 0x81, 0x58, 0xc7, 0x8e, 0xcb, 5869 0x9e, 0xd2}; 5870 static const uint8_t test_vector_6_ciphertext_2_raw[] = { 5871 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 0xb9, 5872 0xa9, 0x58}; 5873 static const uint8_t test_vector_6_ciphertext_2[] = { 5874 0x4a, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 0xc8, 5875 0xb9, 0xa9, 0x58}; 5876 static const uint8_t test_vector_6_message_2[] = { 5877 0x58, 0x2a, 0x41, 0x97, 0x01, 0xd7, 0xf0, 0x0a, 5878 0x26, 0xc2, 0xdc, 0x58, 0x7a, 0x36, 0xdd, 0x75, 5879 0x25, 0x49, 0xf3, 0x37, 0x63, 0xc8, 0x93, 0x42, 5880 0x2c, 0x8e, 0xa0, 0xf9, 0x55, 0xa1, 0x3a, 0x4f, 5881 0xf5, 0xd5, 0xf1, 0xb1, 0x52, 0xce, 0x1d, 0x3d, 5882 0xc8, 0xb9, 0xa9, 0x58, 0x32}; 5883 static const uint8_t test_vector_6_i_raw[] = { 5884 0xfb, 0x13, 0xad, 0xeb, 0x65, 0x18, 0xce, 0xe5, 5885 0xf8, 0x84, 0x17, 0x66, 0x08, 0x41, 0x14, 0x2e, 5886 0x83, 0x0a, 0x81, 0xfe, 0x33, 0x43, 0x80, 0xa9, 5887 0x53, 0x40, 0x6a, 0x13, 0x05, 0xe8, 0x70, 0x6b}; 5888 static const uint8_t test_vector_6_g_i_raw[] = { 5889 0xac, 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 5890 0x8e, 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 5891 0x5c, 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 5892 0x41, 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6}; 5893 static const uint8_t test_vector_6_g_i_raw_y_coordinate[] = { 5894 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 0x4b, 0x8a, 5895 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 0x7e, 0xcb, 5896 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 0xdb, 0x3c, 5897 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 0xff, 0xc8}; 5898 static const uint8_t test_vector_6_g_iy_raw[] = { 5899 0x08, 0x0f, 0x42, 0x50, 0x85, 0xbc, 0x62, 0x49, 5900 0x08, 0x9e, 0xac, 0x8f, 0x10, 0x8e, 0xa6, 0x23, 5901 0x26, 0x85, 0x7e, 0x12, 0xab, 0x07, 0xd7, 0x20, 5902 0x28, 0xca, 0x1b, 0x5f, 0x36, 0xe0, 0x04, 0xb3}; 5903 static const uint8_t test_vector_6_salt_4e3m[] = { 5904 0xaa, 0x77, 0xaa, 0xa3, 0xc5, 0x31, 0x59, 0xa3, 5905 0xaa, 0x26, 0x33, 0xb5, 0xee, 0x32, 0xd8, 0xd9, 5906 0x0b, 0xc4, 0x96, 0xe7, 0x31, 0x5b, 0x92, 0x69, 5907 0x99, 0xa2, 0x44, 0x69, 0x08, 0xc3, 0x97, 0x53}; 5908 static const uint8_t test_vector_6_prk_4e3m_raw[] = { 5909 0xe5, 0xa7, 0xf0, 0x31, 0xf7, 0x01, 0xa9, 0xbb, 5910 0x8e, 0x8a, 0x8e, 0xc4, 0x44, 0x43, 0x20, 0x13, 5911 0x51, 0x27, 0xff, 0xdd, 0x3d, 0x79, 0xf8, 0x9d, 5912 0x9c, 0x40, 0xa2, 0x94, 0x95, 0x3b, 0x42, 0x4c}; 5913 static const uint8_t test_vector_6_input_TH_3[] = { 5914 0x58, 0x20, 0x9d, 0xbc, 0xc5, 0x0d, 0x1b, 0x38, 5915 0x75, 0xbf, 0x78, 0xf6, 0x4b, 0x8e, 0xe6, 0x42, 5916 0xeb, 0x72, 0x31, 0xa6, 0xee, 0x0c, 0x34, 0xeb, 5917 0x18, 0x60, 0x84, 0x4d, 0xbb, 0xba, 0x92, 0xf6, 5918 0x5c, 0xb4, 0x22, 0x48, 0x07, 0x4f, 0x45, 0xfa, 5919 0x46, 0x72, 0x37, 0x8a}; 5920 static const uint8_t test_vector_6_th_3_raw[] = { 5921 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24, 5922 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26, 5923 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24, 5924 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17}; 5925 static const uint8_t test_vector_6_th_3[] = { 5926 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 5927 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 5928 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 5929 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 5930 0x91, 0x17}; 5931 static const uint8_t test_vector_6_id_cred_i[] = { 5932 0xa1, 0x04, 0x05}; 5933 static const uint8_t test_vector_6_cred_i[] = { 5934 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 5935 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 5936 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 5937 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02, 5938 0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac, 5939 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 5940 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 5941 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 5942 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22, 5943 0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 5944 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 5945 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 5946 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 5947 0xff, 0xc8}; 5948 static const uint8_t test_vector_6_ead_3[] = { 5949 }; 5950 static const uint8_t test_vector_6_info_mac_3[] = { 5951 0x06, 0x58, 0x8f, 0xa1, 0x04, 0x05, 0x58, 0x20, 5952 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 0xcb, 0x24, 5953 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 0x6c, 0x26, 5954 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 0x9d, 0x24, 5955 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 0x91, 0x17, 5956 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 5957 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 5958 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 5959 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa5, 0x01, 0x02, 5960 0x02, 0x05, 0x20, 0x01, 0x21, 0x58, 0x20, 0xac, 5961 0x75, 0xe9, 0xec, 0xe3, 0xe5, 0x0b, 0xfc, 0x8e, 5962 0xd6, 0x03, 0x99, 0x88, 0x95, 0x22, 0x40, 0x5c, 5963 0x47, 0xbf, 0x16, 0xdf, 0x96, 0x66, 0x0a, 0x41, 5964 0x29, 0x8c, 0xb4, 0x30, 0x7f, 0x7e, 0xb6, 0x22, 5965 0x58, 0x20, 0x6e, 0x5d, 0xe6, 0x11, 0x38, 0x8a, 5966 0x4b, 0x8a, 0x82, 0x11, 0x33, 0x4a, 0xc7, 0xd3, 5967 0x7e, 0xcb, 0x52, 0xa3, 0x87, 0xd2, 0x57, 0xe6, 5968 0xdb, 0x3c, 0x2a, 0x93, 0xdf, 0x21, 0xff, 0x3a, 5969 0xff, 0xc8, 0x08}; 5970 static const uint8_t test_vector_6_mac_3_raw[] = { 5971 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 0x1d}; 5972 static const uint8_t test_vector_6_mac_3[] = { 5973 0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 5974 0x1d}; 5975 static const uint8_t test_vector_6_sig_or_mac_3_raw[] = { 5976 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 0x1d}; 5977 static const uint8_t test_vector_6_sig_or_mac_3[] = { 5978 0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 0x57, 5979 0x1d}; 5980 static const uint8_t test_vector_6_p_3[] = { 5981 0x05, 0x48, 0xab, 0x42, 0x5f, 0x73, 0x72, 0xc9, 5982 0x57, 0x1d}; 5983 static const uint8_t test_vector_6_a_3[] = { 5984 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5985 0x74, 0x30, 0x40, 0x58, 0x20, 0xf8, 0x29, 0x64, 5986 0x08, 0x0a, 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 5987 0xd8, 0x1e, 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 5988 0x87, 0x08, 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 5989 0x8b, 0xc3, 0x87, 0x91, 0x17}; 5990 static const uint8_t test_vector_6_info_k_3[] = { 5991 0x03, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 5992 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 5993 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 5994 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 5995 0x87, 0x91, 0x17, 0x10}; 5996 static const uint8_t test_vector_6_k_3_raw[] = { 5997 0x91, 0x37, 0x42, 0x59, 0x75, 0x50, 0x0f, 0x5e, 5998 0xa1, 0x09, 0x60, 0x3f, 0x8a, 0xd1, 0xee, 0x33}; 5999 static const uint8_t test_vector_6_info_iv_3[] = { 6000 0x04, 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 6001 0xce, 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 6002 0x7f, 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 6003 0x78, 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 6004 0x87, 0x91, 0x17, 0x0d}; 6005 static const uint8_t test_vector_6_iv_3_raw[] = { 6006 0x6d, 0x58, 0x86, 0x99, 0xf6, 0x24, 0x1e, 0x41, 6007 0x36, 0x7b, 0x1e, 0x51, 0x29}; 6008 static const uint8_t test_vector_6_ciphertext_3_raw[] = { 6009 0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17, 0x00, 6010 0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e, 0x3d, 6011 0x84, 0x7a}; 6012 static const uint8_t test_vector_6_ciphertext_3[] = { 6013 0x52, 0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17, 6014 0x00, 0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e, 6015 0x3d, 0x84, 0x7a}; 6016 static const uint8_t test_vector_6_message_3[] = { 6017 0x52, 0x5d, 0x22, 0x06, 0x85, 0x36, 0xb8, 0x17, 6018 0x00, 0x66, 0x65, 0x98, 0x29, 0x02, 0xe6, 0x0e, 6019 0x3d, 0x84, 0x7a}; 6020 static const uint8_t test_vector_6_input_th_4[] = { 6021 0x58, 0x20, 0xf8, 0x29, 0x64, 0x08, 0x0a, 0xce, 6022 0xcb, 0x24, 0x49, 0xe9, 0x17, 0xd8, 0x1e, 0x7f, 6023 0x6c, 0x26, 0x37, 0x63, 0x35, 0x87, 0x08, 0x78, 6024 0x9d, 0x24, 0x13, 0xc0, 0xf6, 0x8b, 0xc3, 0x87, 6025 0x91, 0x17, 0x05, 0x48, 0xab, 0x42, 0x5f, 0x73, 6026 0x72, 0xc9, 0x57, 0x1d}; 6027 static const uint8_t test_vector_6_th_4_raw[] = { 6028 0x56, 0xd3, 0x15, 0x7f, 0xfb, 0x05, 0xe8, 0x8b, 6029 0xa7, 0xb1, 0x44, 0xbd, 0xf0, 0x5d, 0xc8, 0x20, 6030 0x97, 0x67, 0x52, 0x20, 0x49, 0x02, 0x96, 0x1f, 6031 0x1e, 0x60, 0x07, 0xe2, 0xd7, 0x92, 0xed, 0xd8}; 6032 static const uint8_t test_vector_6_th_4[] = { 6033 0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb, 0x05, 6034 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0, 0x5d, 6035 0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49, 0x02, 6036 0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7, 0x92, 6037 0xed, 0xd8}; 6038 static const uint8_t test_vector_6_ead_4[] = { 6039 }; 6040 static const uint8_t test_vector_6_p_4[] = { 6041 }; 6042 static const uint8_t test_vector_6_a_4[] = { 6043 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6044 0x74, 0x30, 0x40, 0x58, 0x20, 0x56, 0xd3, 0x15, 6045 0x7f, 0xfb, 0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 6046 0xbd, 0xf0, 0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52, 6047 0x20, 0x49, 0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07, 6048 0xe2, 0xd7, 0x92, 0xed, 0xd8}; 6049 static const uint8_t test_vector_6_info_k_4[] = { 6050 0x08, 0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb, 6051 0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0, 6052 0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49, 6053 0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7, 6054 0x92, 0xed, 0xd8, 0x10}; 6055 static const uint8_t test_vector_6_k_4_raw[] = { 6056 0x40, 0x0e, 0xf7, 0x4e, 0x3b, 0x01, 0x73, 0x09, 6057 0x50, 0xb2, 0x92, 0xeb, 0x66, 0x33, 0xb0, 0x31}; 6058 static const uint8_t test_vector_6_info_iv_4[] = { 6059 0x09, 0x58, 0x20, 0x56, 0xd3, 0x15, 0x7f, 0xfb, 6060 0x05, 0xe8, 0x8b, 0xa7, 0xb1, 0x44, 0xbd, 0xf0, 6061 0x5d, 0xc8, 0x20, 0x97, 0x67, 0x52, 0x20, 0x49, 6062 0x02, 0x96, 0x1f, 0x1e, 0x60, 0x07, 0xe2, 0xd7, 6063 0x92, 0xed, 0xd8, 0x0d}; 6064 static const uint8_t test_vector_6_iv_4_raw[] = { 6065 0x4f, 0xe6, 0xc7, 0x14, 0x26, 0xe8, 0x4d, 0x9d, 6066 0x2c, 0x67, 0x08, 0xce, 0x98}; 6067 static const uint8_t test_vector_6_ciphertext_4_raw[] = { 6068 0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba, 0x74}; 6069 static const uint8_t test_vector_6_ciphertext_4[] = { 6070 0x48, 0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba, 6071 0x74}; 6072 static const uint8_t test_vector_6_message_4[] = { 6073 0x48, 0xb7, 0x46, 0xe0, 0x45, 0xe6, 0xec, 0xba, 6074 0x74}; 6075 static const uint8_t test_vector_6_prk_out[] = { 6076 0xa7, 0x6e, 0x5a, 0xc7, 0x24, 0x1a, 0xd1, 0x83, 6077 0xb3, 0x05, 0xf5, 0x85, 0xa8, 0x0e, 0x24, 0xc7, 6078 0x6f, 0x1f, 0x39, 0xb9, 0x3c, 0x19, 0x32, 0xe9, 6079 0x13, 0x42, 0x70, 0x90, 0xf3, 0x32, 0x2d, 0x95}; 6080 static const uint8_t test_vector_6_prk_exporter[] = { 6081 0xeb, 0x2f, 0x4c, 0xaa, 0x87, 0x9a, 0xe0, 0xa2, 6082 0xa1, 0x9c, 0x81, 0x46, 0x92, 0x19, 0x9f, 0x3e, 6083 0xc6, 0x54, 0x5e, 0x39, 0x91, 0x3d, 0x0f, 0xbf, 6084 0x5a, 0xbe, 0x0d, 0x0d, 0xfe, 0x1c, 0x3e, 0x5b}; 6085 int32_t test_vector_6_oscore_aead_alg = 10; 6086 int32_t test_vector_6_oscore_hash_alg = -16; 6087 static const uint8_t test_vector_6_client_sender_id_raw[] = { 6088 0x32}; 6089 static const uint8_t test_vector_6_server_sender_id_raw[] = { 6090 0x37}; 6091 static const uint8_t test_vector_6_info_oscore_secret[] = { 6092 0x00, 0x40, 0x10}; 6093 static const uint8_t test_vector_6_oscore_secret_raw[] = { 6094 0xdc, 0x0a, 0xa8, 0xf7, 0xbc, 0xf3, 0xc0, 0x44, 6095 0x9b, 0x39, 0xec, 0x8a, 0x72, 0x8e, 0xa5, 0x72}; 6096 static const uint8_t test_vector_6_info_oscore_salt[] = { 6097 0x01, 0x40, 0x08}; 6098 static const uint8_t test_vector_6_oscore_salt_raw[] = { 6099 0xf3, 0x20, 0x31, 0xd3, 0x11, 0x62, 0xe4, 0xe7}; 6100 static const uint8_t test_vector_6_prk_out_updated[] = { 6101 0x74, 0x9d, 0x74, 0x04, 0xfe, 0xcf, 0x00, 0x76, 6102 0x6c, 0xf1, 0xe2, 0x61, 0x56, 0xdc, 0x5c, 0x23, 6103 0x51, 0x21, 0x4d, 0xf1, 0xb4, 0xac, 0x56, 0x9c, 6104 0x92, 0x2a, 0x97, 0x80, 0x58, 0x79, 0x75, 0x95}; 6105 static const uint8_t test_vector_6_prk_exporter_update[] = { 6106 0x15, 0x85, 0x36, 0x73, 0x02, 0x42, 0xc5, 0x70, 6107 0xef, 0x8f, 0x16, 0xb0, 0x3d, 0xba, 0x53, 0x3f, 6108 0xbd, 0x88, 0x50, 0x15, 0x2a, 0x9a, 0x28, 0x7f, 6109 0xc2, 0xc8, 0x8b, 0x92, 0x2f, 0xc1, 0x17, 0x9a}; 6110 static const uint8_t test_vector_6_oscore_secret_key_update_raw[] = { 6111 0xc5, 0xc1, 0xeb, 0x99, 0x98, 0x26, 0x37, 0x20, 6112 0x92, 0xdd, 0x34, 0x91, 0xd9, 0xb6, 0xb9, 0xaf}; 6113 static const uint8_t test_vector_6_oscore_salt_key_update_raw[] = { 6114 0xa9, 0x09, 0x64, 0xa2, 0x1b, 0x80, 0xee, 0xe8}; 6115 6116 6117 const struct test_vector test_vectors[] = { 6118 6119 /*--------------- test_vector_1 ------------*/ 6120 6121 { 6122 .method = test_vector_1_method, 6123 .method_len = sizeof(test_vector_1_method), 6124 6125 .SUITES_I = test_vector_1_SUITES_I, 6126 .SUITES_I_len = sizeof(test_vector_1_SUITES_I), 6127 6128 .SUITES_R = test_vector_1_SUITES_R, 6129 .SUITES_R_len = sizeof(test_vector_1_SUITES_R), 6130 6131 .x_raw = test_vector_1_x_raw, 6132 .x_raw_len = sizeof(test_vector_1_x_raw), 6133 6134 .g_x_raw = test_vector_1_g_x_raw, 6135 .g_x_raw_len = sizeof(test_vector_1_g_x_raw), 6136 6137 .g_x = test_vector_1_g_x, 6138 .g_x_len = sizeof(test_vector_1_g_x), 6139 6140 .c_i = test_vector_1_c_i, 6141 .c_i_len = sizeof(test_vector_1_c_i), 6142 6143 .ead_1 = test_vector_1_ead_1, 6144 .ead_1_len = sizeof(test_vector_1_ead_1), 6145 6146 .message_1 = test_vector_1_message_1, 6147 .message_1_len = sizeof(test_vector_1_message_1), 6148 6149 .y_raw = test_vector_1_y_raw, 6150 .y_raw_len = sizeof(test_vector_1_y_raw), 6151 6152 .g_y_raw = test_vector_1_g_y_raw, 6153 .g_y_raw_len = sizeof(test_vector_1_g_y_raw), 6154 6155 .g_y = test_vector_1_g_y, 6156 .g_y_len = sizeof(test_vector_1_g_y), 6157 6158 .g_xy_raw = test_vector_1_g_xy_raw, 6159 .g_xy_raw_len = sizeof(test_vector_1_g_xy_raw), 6160 6161 .salt_raw = test_vector_1_salt_raw, 6162 .salt_raw_len = sizeof(test_vector_1_salt_raw), 6163 6164 .prk_2e_raw = test_vector_1_prk_2e_raw, 6165 .prk_2e_raw_len = sizeof(test_vector_1_prk_2e_raw), 6166 6167 .sk_r_raw = test_vector_1_sk_r_raw, 6168 .sk_r_raw_len = sizeof(test_vector_1_sk_r_raw), 6169 6170 .pk_r_raw = test_vector_1_pk_r_raw, 6171 .pk_r_raw_len = sizeof(test_vector_1_pk_r_raw), 6172 6173 .prk_3e2m_raw = test_vector_1_prk_3e2m_raw, 6174 .prk_3e2m_raw_len = sizeof(test_vector_1_prk_3e2m_raw), 6175 6176 .c_r = test_vector_1_c_r, 6177 .c_r_len = sizeof(test_vector_1_c_r), 6178 6179 .h_message_1_raw = test_vector_1_h_message_1_raw, 6180 .h_message_1_raw_len = sizeof(test_vector_1_h_message_1_raw), 6181 6182 .h_message_1 = test_vector_1_h_message_1, 6183 .h_message_1_len = sizeof(test_vector_1_h_message_1), 6184 6185 .input_th_2 = test_vector_1_input_th_2, 6186 .input_th_2_len = sizeof(test_vector_1_input_th_2), 6187 6188 .th_2_raw = test_vector_1_th_2_raw, 6189 .th_2_raw_len = sizeof(test_vector_1_th_2_raw), 6190 6191 .th_2 = test_vector_1_th_2, 6192 .th_2_len = sizeof(test_vector_1_th_2), 6193 6194 .id_cred_r = test_vector_1_id_cred_r, 6195 .id_cred_r_len = sizeof(test_vector_1_id_cred_r), 6196 6197 .cred_r = test_vector_1_cred_r, 6198 .cred_r_len = sizeof(test_vector_1_cred_r), 6199 6200 .ead_2 = test_vector_1_ead_2, 6201 .ead_2_len = sizeof(test_vector_1_ead_2), 6202 6203 .info_mac_2 = test_vector_1_info_mac_2, 6204 .info_mac_2_len = sizeof(test_vector_1_info_mac_2), 6205 6206 .mac_2_raw = test_vector_1_mac_2_raw, 6207 .mac_2_raw_len = sizeof(test_vector_1_mac_2_raw), 6208 6209 .mac_2 = test_vector_1_mac_2, 6210 .mac_2_len = sizeof(test_vector_1_mac_2), 6211 6212 .m_2 = test_vector_1_m_2, 6213 .m_2_len = sizeof(test_vector_1_m_2), 6214 6215 .sig_or_mac_2_raw = test_vector_1_sig_or_mac_2_raw, 6216 .sig_or_mac_2_raw_len = sizeof(test_vector_1_sig_or_mac_2_raw), 6217 6218 .sig_or_mac_2 = test_vector_1_sig_or_mac_2, 6219 .sig_or_mac_2_len = sizeof(test_vector_1_sig_or_mac_2), 6220 6221 .plaintext_2 = test_vector_1_plaintext_2, 6222 .plaintext_2_len = sizeof(test_vector_1_plaintext_2), 6223 6224 .info_keystream_2 = test_vector_1_info_keystream_2, 6225 .info_keystream_2_len = sizeof(test_vector_1_info_keystream_2), 6226 6227 .keystream_2_raw = test_vector_1_keystream_2_raw, 6228 .keystream_2_raw_len = sizeof(test_vector_1_keystream_2_raw), 6229 6230 .ciphertext_2_raw = test_vector_1_ciphertext_2_raw, 6231 .ciphertext_2_raw_len = sizeof(test_vector_1_ciphertext_2_raw), 6232 6233 .ciphertext_2 = test_vector_1_ciphertext_2, 6234 .ciphertext_2_len = sizeof(test_vector_1_ciphertext_2), 6235 6236 .message_2 = test_vector_1_message_2, 6237 .message_2_len = sizeof(test_vector_1_message_2), 6238 6239 .sk_i_raw = test_vector_1_sk_i_raw, 6240 .sk_i_raw_len = sizeof(test_vector_1_sk_i_raw), 6241 6242 .pk_i_raw = test_vector_1_pk_i_raw, 6243 .pk_i_raw_len = sizeof(test_vector_1_pk_i_raw), 6244 6245 .prk_4x3m_raw = NULL, 6246 .prk_4x3m_raw_len = 0, 6247 6248 .input_TH_3 = test_vector_1_input_TH_3, 6249 .input_TH_3_len = sizeof(test_vector_1_input_TH_3), 6250 6251 .th_3_raw = test_vector_1_th_3_raw, 6252 .th_3_raw_len = sizeof(test_vector_1_th_3_raw), 6253 6254 .th_3 = test_vector_1_th_3, 6255 .th_3_len = sizeof(test_vector_1_th_3), 6256 6257 .id_cred_i = test_vector_1_id_cred_i, 6258 .id_cred_i_len = sizeof(test_vector_1_id_cred_i), 6259 6260 .cred_i = test_vector_1_cred_i, 6261 .cred_i_len = sizeof(test_vector_1_cred_i), 6262 6263 .ead_3 = test_vector_1_ead_3, 6264 .ead_3_len = sizeof(test_vector_1_ead_3), 6265 6266 .info_mac_3 = test_vector_1_info_mac_3, 6267 .info_mac_3_len = sizeof(test_vector_1_info_mac_3), 6268 6269 .mac_3_raw = test_vector_1_mac_3_raw, 6270 .mac_3_raw_len = sizeof(test_vector_1_mac_3_raw), 6271 6272 .mac_3 = test_vector_1_mac_3, 6273 .mac_3_len = sizeof(test_vector_1_mac_3), 6274 6275 .m_3 = test_vector_1_m_3, 6276 .m_3_len = sizeof(test_vector_1_m_3), 6277 6278 .sig_or_mac_3_raw = test_vector_1_sig_or_mac_3_raw, 6279 .sig_or_mac_3_raw_len = sizeof(test_vector_1_sig_or_mac_3_raw), 6280 6281 .sig_or_mac_3 = test_vector_1_sig_or_mac_3, 6282 .sig_or_mac_3_len = sizeof(test_vector_1_sig_or_mac_3), 6283 6284 .p_3 = test_vector_1_p_3, 6285 .p_3_len = sizeof(test_vector_1_p_3), 6286 6287 .a_3 = test_vector_1_a_3, 6288 .a_3_len = sizeof(test_vector_1_a_3), 6289 6290 .info_k_3 = test_vector_1_info_k_3, 6291 .info_k_3_len = sizeof(test_vector_1_info_k_3), 6292 6293 .k_3_raw = test_vector_1_k_3_raw, 6294 .k_3_raw_len = sizeof(test_vector_1_k_3_raw), 6295 6296 .info_iv_3 = test_vector_1_info_iv_3, 6297 .info_iv_3_len = sizeof(test_vector_1_info_iv_3), 6298 6299 .iv_3_raw = test_vector_1_iv_3_raw, 6300 .iv_3_raw_len = sizeof(test_vector_1_iv_3_raw), 6301 6302 .ciphertext_3_raw = test_vector_1_ciphertext_3_raw, 6303 .ciphertext_3_raw_len = sizeof(test_vector_1_ciphertext_3_raw), 6304 6305 .ciphertext_3 = test_vector_1_ciphertext_3, 6306 .ciphertext_3_len = sizeof(test_vector_1_ciphertext_3), 6307 6308 .message_3 = test_vector_1_message_3, 6309 .message_3_len = sizeof(test_vector_1_message_3), 6310 6311 .input_th_4 = test_vector_1_input_th_4, 6312 .input_th_4_len = sizeof(test_vector_1_input_th_4), 6313 6314 .th_4_raw = test_vector_1_th_4_raw, 6315 .th_4_raw_len = sizeof(test_vector_1_th_4_raw), 6316 6317 .th_4 = test_vector_1_th_4, 6318 .th_4_len = sizeof(test_vector_1_th_4), 6319 6320 .ead_4 = test_vector_1_ead_4, 6321 .ead_4_len = sizeof(test_vector_1_ead_4), 6322 6323 .p_4 = test_vector_1_p_4, 6324 .p_4_len = sizeof(test_vector_1_p_4), 6325 6326 .a_4 = test_vector_1_a_4, 6327 .a_4_len = sizeof(test_vector_1_a_4), 6328 6329 .info_k_4 = test_vector_1_info_k_4, 6330 .info_k_4_len = sizeof(test_vector_1_info_k_4), 6331 6332 .k_4_raw = test_vector_1_k_4_raw, 6333 .k_4_raw_len = sizeof(test_vector_1_k_4_raw), 6334 6335 .info_iv_4 = test_vector_1_info_iv_4, 6336 .info_iv_4_len = sizeof(test_vector_1_info_iv_4), 6337 6338 .iv_4_raw = test_vector_1_iv_4_raw, 6339 .iv_4_raw_len = sizeof(test_vector_1_iv_4_raw), 6340 6341 .ciphertext_4_raw = test_vector_1_ciphertext_4_raw, 6342 .ciphertext_4_raw_len = sizeof(test_vector_1_ciphertext_4_raw), 6343 6344 .ciphertext_4 = test_vector_1_ciphertext_4, 6345 .ciphertext_4_len = sizeof(test_vector_1_ciphertext_4), 6346 6347 .message_4 = test_vector_1_message_4, 6348 .message_4_len = sizeof(test_vector_1_message_4), 6349 6350 .oscore_aead_alg = &test_vector_1_oscore_aead_alg, 6351 6352 .oscore_hash_alg = &test_vector_1_oscore_hash_alg, 6353 6354 .client_sender_id_raw = test_vector_1_client_sender_id_raw, 6355 .client_sender_id_raw_len = sizeof(test_vector_1_client_sender_id_raw), 6356 6357 .server_sender_id_raw = test_vector_1_server_sender_id_raw, 6358 .server_sender_id_raw_len = sizeof(test_vector_1_server_sender_id_raw), 6359 6360 .info_oscore_secret = test_vector_1_info_oscore_secret, 6361 .info_oscore_secret_len = sizeof(test_vector_1_info_oscore_secret), 6362 6363 .oscore_secret_raw = test_vector_1_oscore_secret_raw, 6364 .oscore_secret_raw_len = sizeof(test_vector_1_oscore_secret_raw), 6365 6366 .info_oscore_salt = test_vector_1_info_oscore_salt, 6367 .info_oscore_salt_len = sizeof(test_vector_1_info_oscore_salt), 6368 6369 .oscore_salt_raw = test_vector_1_oscore_salt_raw, 6370 .oscore_salt_raw_len = sizeof(test_vector_1_oscore_salt_raw), 6371 6372 .key_update_nonce_raw = NULL, 6373 .key_update_nonce_raw_len = 0, 6374 6375 .prk_4x3m_key_update_raw = NULL, 6376 .prk_4x3m_key_update_raw_len = 0, 6377 6378 .oscore_secret_key_update_raw = test_vector_1_oscore_secret_key_update_raw, 6379 .oscore_secret_key_update_raw_len = sizeof(test_vector_1_oscore_secret_key_update_raw), 6380 6381 .oscore_salt_key_update_raw = test_vector_1_oscore_salt_key_update_raw, 6382 .oscore_salt_key_update_raw_len = sizeof(test_vector_1_oscore_salt_key_update_raw), 6383 6384 .ca_r = test_vector_1_ca_r, 6385 .ca_r_len = sizeof(test_vector_1_ca_r), 6386 6387 .ca_i = test_vector_1_ca_i, 6388 .ca_i_len = sizeof(test_vector_1_ca_i), 6389 6390 .ca_r_pk = test_vector_1_ca_r_pk, 6391 .ca_r_pk_len = sizeof(test_vector_1_ca_r_pk), 6392 6393 .ca_i_pk = test_vector_1_ca_i_pk, 6394 .ca_i_pk_len = sizeof(test_vector_1_ca_i_pk), 6395 6396 .i_raw = NULL, 6397 .i_raw_len = 0, 6398 6399 .g_i_raw = NULL, 6400 .g_i_raw_len = 0, 6401 6402 .r_raw = NULL, 6403 .r_raw_len = 0, 6404 6405 .g_r_raw = NULL, 6406 .g_r_raw_len = 0, 6407 6408 .c_i_raw = NULL, 6409 .c_i_raw_len = 0, 6410 .c_i_raw_int = &test_vector_1_c_i_raw, 6411 6412 .c_r_raw = NULL, 6413 .c_r_raw_len = 0, 6414 .c_r_raw_int = &test_vector_1_c_r_raw, 6415 }, 6416 /*--------------- test_vector_2 ------------*/ 6417 6418 { 6419 .method = test_vector_2_method, 6420 .method_len = sizeof(test_vector_2_method), 6421 6422 .SUITES_I = test_vector_2_SUITES_I, 6423 .SUITES_I_len = sizeof(test_vector_2_SUITES_I), 6424 6425 .SUITES_R = test_vector_2_SUITES_R, 6426 .SUITES_R_len = sizeof(test_vector_2_SUITES_R), 6427 6428 .x_raw = test_vector_2_x_raw, 6429 .x_raw_len = sizeof(test_vector_2_x_raw), 6430 6431 .g_x_raw = test_vector_2_g_x_raw, 6432 .g_x_raw_len = sizeof(test_vector_2_g_x_raw), 6433 6434 .g_x = test_vector_2_g_x, 6435 .g_x_len = sizeof(test_vector_2_g_x), 6436 6437 .c_i = test_vector_2_c_i, 6438 .c_i_len = sizeof(test_vector_2_c_i), 6439 6440 .ead_1 = test_vector_2_ead_1, 6441 .ead_1_len = sizeof(test_vector_2_ead_1), 6442 6443 .message_1 = test_vector_2_message_1, 6444 .message_1_len = sizeof(test_vector_2_message_1), 6445 6446 .y_raw = test_vector_2_y_raw, 6447 .y_raw_len = sizeof(test_vector_2_y_raw), 6448 6449 .g_y_raw = test_vector_2_g_y_raw, 6450 .g_y_raw_len = sizeof(test_vector_2_g_y_raw), 6451 6452 .g_y = test_vector_2_g_y, 6453 .g_y_len = sizeof(test_vector_2_g_y), 6454 6455 .g_xy_raw = test_vector_2_g_xy_raw, 6456 .g_xy_raw_len = sizeof(test_vector_2_g_xy_raw), 6457 6458 .salt_raw = test_vector_2_salt_raw, 6459 .salt_raw_len = sizeof(test_vector_2_salt_raw), 6460 6461 .prk_2e_raw = test_vector_2_prk_2e_raw, 6462 .prk_2e_raw_len = sizeof(test_vector_2_prk_2e_raw), 6463 6464 .sk_r_raw = test_vector_2_sk_r_raw, 6465 .sk_r_raw_len = sizeof(test_vector_2_sk_r_raw), 6466 6467 .pk_r_raw = test_vector_2_pk_r_raw, 6468 .pk_r_raw_len = sizeof(test_vector_2_pk_r_raw), 6469 6470 .prk_3e2m_raw = test_vector_2_prk_3e2m_raw, 6471 .prk_3e2m_raw_len = sizeof(test_vector_2_prk_3e2m_raw), 6472 6473 .c_r = test_vector_2_c_r, 6474 .c_r_len = sizeof(test_vector_2_c_r), 6475 6476 .h_message_1_raw = test_vector_2_h_message_1_raw, 6477 .h_message_1_raw_len = sizeof(test_vector_2_h_message_1_raw), 6478 6479 .h_message_1 = test_vector_2_h_message_1, 6480 .h_message_1_len = sizeof(test_vector_2_h_message_1), 6481 6482 .input_th_2 = test_vector_2_input_th_2, 6483 .input_th_2_len = sizeof(test_vector_2_input_th_2), 6484 6485 .th_2_raw = test_vector_2_th_2_raw, 6486 .th_2_raw_len = sizeof(test_vector_2_th_2_raw), 6487 6488 .th_2 = test_vector_2_th_2, 6489 .th_2_len = sizeof(test_vector_2_th_2), 6490 6491 .id_cred_r = test_vector_2_id_cred_r, 6492 .id_cred_r_len = sizeof(test_vector_2_id_cred_r), 6493 6494 .cred_r = test_vector_2_cred_r, 6495 .cred_r_len = sizeof(test_vector_2_cred_r), 6496 6497 .ead_2 = test_vector_2_ead_2, 6498 .ead_2_len = sizeof(test_vector_2_ead_2), 6499 6500 .info_mac_2 = test_vector_2_info_mac_2, 6501 .info_mac_2_len = sizeof(test_vector_2_info_mac_2), 6502 6503 .mac_2_raw = test_vector_2_mac_2_raw, 6504 .mac_2_raw_len = sizeof(test_vector_2_mac_2_raw), 6505 6506 .mac_2 = test_vector_2_mac_2, 6507 .mac_2_len = sizeof(test_vector_2_mac_2), 6508 6509 .m_2 = test_vector_2_m_2, 6510 .m_2_len = sizeof(test_vector_2_m_2), 6511 6512 .sig_or_mac_2_raw = test_vector_2_sig_or_mac_2_raw, 6513 .sig_or_mac_2_raw_len = sizeof(test_vector_2_sig_or_mac_2_raw), 6514 6515 .sig_or_mac_2 = test_vector_2_sig_or_mac_2, 6516 .sig_or_mac_2_len = sizeof(test_vector_2_sig_or_mac_2), 6517 6518 .plaintext_2 = test_vector_2_plaintext_2, 6519 .plaintext_2_len = sizeof(test_vector_2_plaintext_2), 6520 6521 .info_keystream_2 = test_vector_2_info_keystream_2, 6522 .info_keystream_2_len = sizeof(test_vector_2_info_keystream_2), 6523 6524 .keystream_2_raw = test_vector_2_keystream_2_raw, 6525 .keystream_2_raw_len = sizeof(test_vector_2_keystream_2_raw), 6526 6527 .ciphertext_2_raw = test_vector_2_ciphertext_2_raw, 6528 .ciphertext_2_raw_len = sizeof(test_vector_2_ciphertext_2_raw), 6529 6530 .ciphertext_2 = test_vector_2_ciphertext_2, 6531 .ciphertext_2_len = sizeof(test_vector_2_ciphertext_2), 6532 6533 .message_2 = test_vector_2_message_2, 6534 .message_2_len = sizeof(test_vector_2_message_2), 6535 6536 .sk_i_raw = test_vector_2_sk_i_raw, 6537 .sk_i_raw_len = sizeof(test_vector_2_sk_i_raw), 6538 6539 .pk_i_raw = test_vector_2_pk_i_raw, 6540 .pk_i_raw_len = sizeof(test_vector_2_pk_i_raw), 6541 6542 .prk_4x3m_raw = NULL, 6543 .prk_4x3m_raw_len = 0, 6544 6545 .input_TH_3 = test_vector_2_input_TH_3, 6546 .input_TH_3_len = sizeof(test_vector_2_input_TH_3), 6547 6548 .th_3_raw = test_vector_2_th_3_raw, 6549 .th_3_raw_len = sizeof(test_vector_2_th_3_raw), 6550 6551 .th_3 = test_vector_2_th_3, 6552 .th_3_len = sizeof(test_vector_2_th_3), 6553 6554 .id_cred_i = test_vector_2_id_cred_i, 6555 .id_cred_i_len = sizeof(test_vector_2_id_cred_i), 6556 6557 .cred_i = test_vector_2_cred_i, 6558 .cred_i_len = sizeof(test_vector_2_cred_i), 6559 6560 .ead_3 = test_vector_2_ead_3, 6561 .ead_3_len = sizeof(test_vector_2_ead_3), 6562 6563 .info_mac_3 = test_vector_2_info_mac_3, 6564 .info_mac_3_len = sizeof(test_vector_2_info_mac_3), 6565 6566 .mac_3_raw = test_vector_2_mac_3_raw, 6567 .mac_3_raw_len = sizeof(test_vector_2_mac_3_raw), 6568 6569 .mac_3 = test_vector_2_mac_3, 6570 .mac_3_len = sizeof(test_vector_2_mac_3), 6571 6572 .m_3 = test_vector_2_m_3, 6573 .m_3_len = sizeof(test_vector_2_m_3), 6574 6575 .sig_or_mac_3_raw = test_vector_2_sig_or_mac_3_raw, 6576 .sig_or_mac_3_raw_len = sizeof(test_vector_2_sig_or_mac_3_raw), 6577 6578 .sig_or_mac_3 = test_vector_2_sig_or_mac_3, 6579 .sig_or_mac_3_len = sizeof(test_vector_2_sig_or_mac_3), 6580 6581 .p_3 = test_vector_2_p_3, 6582 .p_3_len = sizeof(test_vector_2_p_3), 6583 6584 .a_3 = test_vector_2_a_3, 6585 .a_3_len = sizeof(test_vector_2_a_3), 6586 6587 .info_k_3 = test_vector_2_info_k_3, 6588 .info_k_3_len = sizeof(test_vector_2_info_k_3), 6589 6590 .k_3_raw = test_vector_2_k_3_raw, 6591 .k_3_raw_len = sizeof(test_vector_2_k_3_raw), 6592 6593 .info_iv_3 = test_vector_2_info_iv_3, 6594 .info_iv_3_len = sizeof(test_vector_2_info_iv_3), 6595 6596 .iv_3_raw = test_vector_2_iv_3_raw, 6597 .iv_3_raw_len = sizeof(test_vector_2_iv_3_raw), 6598 6599 .ciphertext_3_raw = test_vector_2_ciphertext_3_raw, 6600 .ciphertext_3_raw_len = sizeof(test_vector_2_ciphertext_3_raw), 6601 6602 .ciphertext_3 = test_vector_2_ciphertext_3, 6603 .ciphertext_3_len = sizeof(test_vector_2_ciphertext_3), 6604 6605 .message_3 = test_vector_2_message_3, 6606 .message_3_len = sizeof(test_vector_2_message_3), 6607 6608 .input_th_4 = test_vector_2_input_th_4, 6609 .input_th_4_len = sizeof(test_vector_2_input_th_4), 6610 6611 .th_4_raw = test_vector_2_th_4_raw, 6612 .th_4_raw_len = sizeof(test_vector_2_th_4_raw), 6613 6614 .th_4 = test_vector_2_th_4, 6615 .th_4_len = sizeof(test_vector_2_th_4), 6616 6617 .ead_4 = test_vector_2_ead_4, 6618 .ead_4_len = sizeof(test_vector_2_ead_4), 6619 6620 .p_4 = test_vector_2_p_4, 6621 .p_4_len = sizeof(test_vector_2_p_4), 6622 6623 .a_4 = test_vector_2_a_4, 6624 .a_4_len = sizeof(test_vector_2_a_4), 6625 6626 .info_k_4 = test_vector_2_info_k_4, 6627 .info_k_4_len = sizeof(test_vector_2_info_k_4), 6628 6629 .k_4_raw = test_vector_2_k_4_raw, 6630 .k_4_raw_len = sizeof(test_vector_2_k_4_raw), 6631 6632 .info_iv_4 = test_vector_2_info_iv_4, 6633 .info_iv_4_len = sizeof(test_vector_2_info_iv_4), 6634 6635 .iv_4_raw = test_vector_2_iv_4_raw, 6636 .iv_4_raw_len = sizeof(test_vector_2_iv_4_raw), 6637 6638 .ciphertext_4_raw = test_vector_2_ciphertext_4_raw, 6639 .ciphertext_4_raw_len = sizeof(test_vector_2_ciphertext_4_raw), 6640 6641 .ciphertext_4 = test_vector_2_ciphertext_4, 6642 .ciphertext_4_len = sizeof(test_vector_2_ciphertext_4), 6643 6644 .message_4 = test_vector_2_message_4, 6645 .message_4_len = sizeof(test_vector_2_message_4), 6646 6647 .oscore_aead_alg = &test_vector_2_oscore_aead_alg, 6648 6649 .oscore_hash_alg = &test_vector_2_oscore_hash_alg, 6650 6651 .client_sender_id_raw = test_vector_2_client_sender_id_raw, 6652 .client_sender_id_raw_len = sizeof(test_vector_2_client_sender_id_raw), 6653 6654 .server_sender_id_raw = test_vector_2_server_sender_id_raw, 6655 .server_sender_id_raw_len = sizeof(test_vector_2_server_sender_id_raw), 6656 6657 .info_oscore_secret = test_vector_2_info_oscore_secret, 6658 .info_oscore_secret_len = sizeof(test_vector_2_info_oscore_secret), 6659 6660 .oscore_secret_raw = test_vector_2_oscore_secret_raw, 6661 .oscore_secret_raw_len = sizeof(test_vector_2_oscore_secret_raw), 6662 6663 .info_oscore_salt = test_vector_2_info_oscore_salt, 6664 .info_oscore_salt_len = sizeof(test_vector_2_info_oscore_salt), 6665 6666 .oscore_salt_raw = test_vector_2_oscore_salt_raw, 6667 .oscore_salt_raw_len = sizeof(test_vector_2_oscore_salt_raw), 6668 6669 .key_update_nonce_raw = NULL, 6670 .key_update_nonce_raw_len = 0, 6671 6672 .prk_4x3m_key_update_raw = NULL, 6673 .prk_4x3m_key_update_raw_len = 0, 6674 6675 .oscore_secret_key_update_raw = test_vector_2_oscore_secret_key_update_raw, 6676 .oscore_secret_key_update_raw_len = sizeof(test_vector_2_oscore_secret_key_update_raw), 6677 6678 .oscore_salt_key_update_raw = test_vector_2_oscore_salt_key_update_raw, 6679 .oscore_salt_key_update_raw_len = sizeof(test_vector_2_oscore_salt_key_update_raw), 6680 6681 .ca_r = test_vector_2_ca_r, 6682 .ca_r_len = sizeof(test_vector_2_ca_r), 6683 6684 .ca_i = test_vector_2_ca_i, 6685 .ca_i_len = sizeof(test_vector_2_ca_i), 6686 6687 .ca_r_pk = test_vector_2_ca_r_pk, 6688 .ca_r_pk_len = sizeof(test_vector_2_ca_r_pk), 6689 6690 .ca_i_pk = test_vector_2_ca_i_pk, 6691 .ca_i_pk_len = sizeof(test_vector_2_ca_i_pk), 6692 6693 .i_raw = NULL, 6694 .i_raw_len = 0, 6695 6696 .g_i_raw = NULL, 6697 .g_i_raw_len = 0, 6698 6699 .r_raw = NULL, 6700 .r_raw_len = 0, 6701 6702 .g_r_raw = NULL, 6703 .g_r_raw_len = 0, 6704 6705 .c_i_raw = NULL, 6706 .c_i_raw_len = 0, 6707 .c_i_raw_int = &test_vector_2_c_i_raw, 6708 6709 .c_r_raw = NULL, 6710 .c_r_raw_len = 0, 6711 .c_r_raw_int = &test_vector_2_c_r_raw, 6712 }, 6713 /*--------------- test_vector_3 ------------*/ 6714 6715 { 6716 .method = test_vector_3_method, 6717 .method_len = sizeof(test_vector_3_method), 6718 6719 .SUITES_I = test_vector_3_SUITES_I, 6720 .SUITES_I_len = sizeof(test_vector_3_SUITES_I), 6721 6722 .SUITES_R = test_vector_3_SUITES_R, 6723 .SUITES_R_len = sizeof(test_vector_3_SUITES_R), 6724 6725 .x_raw = test_vector_3_x_raw, 6726 .x_raw_len = sizeof(test_vector_3_x_raw), 6727 6728 .g_x_raw = test_vector_3_g_x_raw, 6729 .g_x_raw_len = sizeof(test_vector_3_g_x_raw), 6730 6731 .g_x = test_vector_3_g_x, 6732 .g_x_len = sizeof(test_vector_3_g_x), 6733 6734 .c_i = test_vector_3_c_i, 6735 .c_i_len = sizeof(test_vector_3_c_i), 6736 6737 .ead_1 = test_vector_3_ead_1, 6738 .ead_1_len = sizeof(test_vector_3_ead_1), 6739 6740 .message_1 = test_vector_3_message_1, 6741 .message_1_len = sizeof(test_vector_3_message_1), 6742 6743 .y_raw = test_vector_3_y_raw, 6744 .y_raw_len = sizeof(test_vector_3_y_raw), 6745 6746 .g_y_raw = test_vector_3_g_y_raw, 6747 .g_y_raw_len = sizeof(test_vector_3_g_y_raw), 6748 6749 .g_y = test_vector_3_g_y, 6750 .g_y_len = sizeof(test_vector_3_g_y), 6751 6752 .g_xy_raw = test_vector_3_g_xy_raw, 6753 .g_xy_raw_len = sizeof(test_vector_3_g_xy_raw), 6754 6755 .salt_raw = test_vector_3_salt_raw, 6756 .salt_raw_len = sizeof(test_vector_3_salt_raw), 6757 6758 .prk_2e_raw = test_vector_3_prk_2e_raw, 6759 .prk_2e_raw_len = sizeof(test_vector_3_prk_2e_raw), 6760 6761 .sk_r_raw = test_vector_3_sk_r_raw, 6762 .sk_r_raw_len = sizeof(test_vector_3_sk_r_raw), 6763 6764 .pk_r_raw = test_vector_3_pk_r_raw, 6765 .pk_r_raw_len = sizeof(test_vector_3_pk_r_raw), 6766 6767 .prk_3e2m_raw = test_vector_3_prk_3e2m_raw, 6768 .prk_3e2m_raw_len = sizeof(test_vector_3_prk_3e2m_raw), 6769 6770 .c_r = test_vector_3_c_r, 6771 .c_r_len = sizeof(test_vector_3_c_r), 6772 6773 .h_message_1_raw = test_vector_3_h_message_1_raw, 6774 .h_message_1_raw_len = sizeof(test_vector_3_h_message_1_raw), 6775 6776 .h_message_1 = test_vector_3_h_message_1, 6777 .h_message_1_len = sizeof(test_vector_3_h_message_1), 6778 6779 .input_th_2 = test_vector_3_input_th_2, 6780 .input_th_2_len = sizeof(test_vector_3_input_th_2), 6781 6782 .th_2_raw = test_vector_3_th_2_raw, 6783 .th_2_raw_len = sizeof(test_vector_3_th_2_raw), 6784 6785 .th_2 = test_vector_3_th_2, 6786 .th_2_len = sizeof(test_vector_3_th_2), 6787 6788 .id_cred_r = test_vector_3_id_cred_r, 6789 .id_cred_r_len = sizeof(test_vector_3_id_cred_r), 6790 6791 .cred_r = test_vector_3_cred_r, 6792 .cred_r_len = sizeof(test_vector_3_cred_r), 6793 6794 .ead_2 = test_vector_3_ead_2, 6795 .ead_2_len = sizeof(test_vector_3_ead_2), 6796 6797 .info_mac_2 = test_vector_3_info_mac_2, 6798 .info_mac_2_len = sizeof(test_vector_3_info_mac_2), 6799 6800 .mac_2_raw = test_vector_3_mac_2_raw, 6801 .mac_2_raw_len = sizeof(test_vector_3_mac_2_raw), 6802 6803 .mac_2 = test_vector_3_mac_2, 6804 .mac_2_len = sizeof(test_vector_3_mac_2), 6805 6806 .m_2 = test_vector_3_m_2, 6807 .m_2_len = sizeof(test_vector_3_m_2), 6808 6809 .sig_or_mac_2_raw = test_vector_3_sig_or_mac_2_raw, 6810 .sig_or_mac_2_raw_len = sizeof(test_vector_3_sig_or_mac_2_raw), 6811 6812 .sig_or_mac_2 = test_vector_3_sig_or_mac_2, 6813 .sig_or_mac_2_len = sizeof(test_vector_3_sig_or_mac_2), 6814 6815 .plaintext_2 = test_vector_3_plaintext_2, 6816 .plaintext_2_len = sizeof(test_vector_3_plaintext_2), 6817 6818 .info_keystream_2 = test_vector_3_info_keystream_2, 6819 .info_keystream_2_len = sizeof(test_vector_3_info_keystream_2), 6820 6821 .keystream_2_raw = test_vector_3_keystream_2_raw, 6822 .keystream_2_raw_len = sizeof(test_vector_3_keystream_2_raw), 6823 6824 .ciphertext_2_raw = test_vector_3_ciphertext_2_raw, 6825 .ciphertext_2_raw_len = sizeof(test_vector_3_ciphertext_2_raw), 6826 6827 .ciphertext_2 = test_vector_3_ciphertext_2, 6828 .ciphertext_2_len = sizeof(test_vector_3_ciphertext_2), 6829 6830 .message_2 = test_vector_3_message_2, 6831 .message_2_len = sizeof(test_vector_3_message_2), 6832 6833 .sk_i_raw = test_vector_3_sk_i_raw, 6834 .sk_i_raw_len = sizeof(test_vector_3_sk_i_raw), 6835 6836 .pk_i_raw = test_vector_3_pk_i_raw, 6837 .pk_i_raw_len = sizeof(test_vector_3_pk_i_raw), 6838 6839 .prk_4x3m_raw = NULL, 6840 .prk_4x3m_raw_len = 0, 6841 6842 .input_TH_3 = test_vector_3_input_TH_3, 6843 .input_TH_3_len = sizeof(test_vector_3_input_TH_3), 6844 6845 .th_3_raw = test_vector_3_th_3_raw, 6846 .th_3_raw_len = sizeof(test_vector_3_th_3_raw), 6847 6848 .th_3 = test_vector_3_th_3, 6849 .th_3_len = sizeof(test_vector_3_th_3), 6850 6851 .id_cred_i = test_vector_3_id_cred_i, 6852 .id_cred_i_len = sizeof(test_vector_3_id_cred_i), 6853 6854 .cred_i = test_vector_3_cred_i, 6855 .cred_i_len = sizeof(test_vector_3_cred_i), 6856 6857 .ead_3 = test_vector_3_ead_3, 6858 .ead_3_len = sizeof(test_vector_3_ead_3), 6859 6860 .info_mac_3 = test_vector_3_info_mac_3, 6861 .info_mac_3_len = sizeof(test_vector_3_info_mac_3), 6862 6863 .mac_3_raw = test_vector_3_mac_3_raw, 6864 .mac_3_raw_len = sizeof(test_vector_3_mac_3_raw), 6865 6866 .mac_3 = test_vector_3_mac_3, 6867 .mac_3_len = sizeof(test_vector_3_mac_3), 6868 6869 .m_3 = test_vector_3_m_3, 6870 .m_3_len = sizeof(test_vector_3_m_3), 6871 6872 .sig_or_mac_3_raw = test_vector_3_sig_or_mac_3_raw, 6873 .sig_or_mac_3_raw_len = sizeof(test_vector_3_sig_or_mac_3_raw), 6874 6875 .sig_or_mac_3 = test_vector_3_sig_or_mac_3, 6876 .sig_or_mac_3_len = sizeof(test_vector_3_sig_or_mac_3), 6877 6878 .p_3 = test_vector_3_p_3, 6879 .p_3_len = sizeof(test_vector_3_p_3), 6880 6881 .a_3 = test_vector_3_a_3, 6882 .a_3_len = sizeof(test_vector_3_a_3), 6883 6884 .info_k_3 = test_vector_3_info_k_3, 6885 .info_k_3_len = sizeof(test_vector_3_info_k_3), 6886 6887 .k_3_raw = test_vector_3_k_3_raw, 6888 .k_3_raw_len = sizeof(test_vector_3_k_3_raw), 6889 6890 .info_iv_3 = test_vector_3_info_iv_3, 6891 .info_iv_3_len = sizeof(test_vector_3_info_iv_3), 6892 6893 .iv_3_raw = test_vector_3_iv_3_raw, 6894 .iv_3_raw_len = sizeof(test_vector_3_iv_3_raw), 6895 6896 .ciphertext_3_raw = test_vector_3_ciphertext_3_raw, 6897 .ciphertext_3_raw_len = sizeof(test_vector_3_ciphertext_3_raw), 6898 6899 .ciphertext_3 = test_vector_3_ciphertext_3, 6900 .ciphertext_3_len = sizeof(test_vector_3_ciphertext_3), 6901 6902 .message_3 = test_vector_3_message_3, 6903 .message_3_len = sizeof(test_vector_3_message_3), 6904 6905 .input_th_4 = test_vector_3_input_th_4, 6906 .input_th_4_len = sizeof(test_vector_3_input_th_4), 6907 6908 .th_4_raw = test_vector_3_th_4_raw, 6909 .th_4_raw_len = sizeof(test_vector_3_th_4_raw), 6910 6911 .th_4 = test_vector_3_th_4, 6912 .th_4_len = sizeof(test_vector_3_th_4), 6913 6914 .ead_4 = test_vector_3_ead_4, 6915 .ead_4_len = sizeof(test_vector_3_ead_4), 6916 6917 .p_4 = test_vector_3_p_4, 6918 .p_4_len = sizeof(test_vector_3_p_4), 6919 6920 .a_4 = test_vector_3_a_4, 6921 .a_4_len = sizeof(test_vector_3_a_4), 6922 6923 .info_k_4 = test_vector_3_info_k_4, 6924 .info_k_4_len = sizeof(test_vector_3_info_k_4), 6925 6926 .k_4_raw = test_vector_3_k_4_raw, 6927 .k_4_raw_len = sizeof(test_vector_3_k_4_raw), 6928 6929 .info_iv_4 = test_vector_3_info_iv_4, 6930 .info_iv_4_len = sizeof(test_vector_3_info_iv_4), 6931 6932 .iv_4_raw = test_vector_3_iv_4_raw, 6933 .iv_4_raw_len = sizeof(test_vector_3_iv_4_raw), 6934 6935 .ciphertext_4_raw = test_vector_3_ciphertext_4_raw, 6936 .ciphertext_4_raw_len = sizeof(test_vector_3_ciphertext_4_raw), 6937 6938 .ciphertext_4 = test_vector_3_ciphertext_4, 6939 .ciphertext_4_len = sizeof(test_vector_3_ciphertext_4), 6940 6941 .message_4 = test_vector_3_message_4, 6942 .message_4_len = sizeof(test_vector_3_message_4), 6943 6944 .oscore_aead_alg = &test_vector_3_oscore_aead_alg, 6945 6946 .oscore_hash_alg = &test_vector_3_oscore_hash_alg, 6947 6948 .client_sender_id_raw = test_vector_3_client_sender_id_raw, 6949 .client_sender_id_raw_len = sizeof(test_vector_3_client_sender_id_raw), 6950 6951 .server_sender_id_raw = test_vector_3_server_sender_id_raw, 6952 .server_sender_id_raw_len = sizeof(test_vector_3_server_sender_id_raw), 6953 6954 .info_oscore_secret = test_vector_3_info_oscore_secret, 6955 .info_oscore_secret_len = sizeof(test_vector_3_info_oscore_secret), 6956 6957 .oscore_secret_raw = test_vector_3_oscore_secret_raw, 6958 .oscore_secret_raw_len = sizeof(test_vector_3_oscore_secret_raw), 6959 6960 .info_oscore_salt = test_vector_3_info_oscore_salt, 6961 .info_oscore_salt_len = sizeof(test_vector_3_info_oscore_salt), 6962 6963 .oscore_salt_raw = test_vector_3_oscore_salt_raw, 6964 .oscore_salt_raw_len = sizeof(test_vector_3_oscore_salt_raw), 6965 6966 .key_update_nonce_raw = NULL, 6967 .key_update_nonce_raw_len = 0, 6968 6969 .prk_4x3m_key_update_raw = NULL, 6970 .prk_4x3m_key_update_raw_len = 0, 6971 6972 .oscore_secret_key_update_raw = test_vector_3_oscore_secret_key_update_raw, 6973 .oscore_secret_key_update_raw_len = sizeof(test_vector_3_oscore_secret_key_update_raw), 6974 6975 .oscore_salt_key_update_raw = test_vector_3_oscore_salt_key_update_raw, 6976 .oscore_salt_key_update_raw_len = sizeof(test_vector_3_oscore_salt_key_update_raw), 6977 6978 .ca_r = test_vector_3_ca_r, 6979 .ca_r_len = sizeof(test_vector_3_ca_r), 6980 6981 .ca_i = test_vector_3_ca_i, 6982 .ca_i_len = sizeof(test_vector_3_ca_i), 6983 6984 .ca_r_pk = test_vector_3_ca_r_pk, 6985 .ca_r_pk_len = sizeof(test_vector_3_ca_r_pk), 6986 6987 .ca_i_pk = test_vector_3_ca_i_pk, 6988 .ca_i_pk_len = sizeof(test_vector_3_ca_i_pk), 6989 6990 .i_raw = NULL, 6991 .i_raw_len = 0, 6992 6993 .g_i_raw = NULL, 6994 .g_i_raw_len = 0, 6995 6996 .r_raw = NULL, 6997 .r_raw_len = 0, 6998 6999 .g_r_raw = NULL, 7000 .g_r_raw_len = 0, 7001 7002 .c_i_raw = NULL, 7003 .c_i_raw_len = 0, 7004 .c_i_raw_int = &test_vector_3_c_i_raw, 7005 7006 .c_r_raw = NULL, 7007 .c_r_raw_len = 0, 7008 .c_r_raw_int = &test_vector_3_c_r_raw, 7009 }, 7010 /*--------------- test_vector_4 ------------*/ 7011 7012 { 7013 .method = test_vector_4_method, 7014 .method_len = sizeof(test_vector_4_method), 7015 7016 .SUITES_I = test_vector_4_SUITES_I, 7017 .SUITES_I_len = sizeof(test_vector_4_SUITES_I), 7018 7019 .SUITES_R = test_vector_4_SUITES_R, 7020 .SUITES_R_len = sizeof(test_vector_4_SUITES_R), 7021 7022 .x_raw = test_vector_4_x_raw, 7023 .x_raw_len = sizeof(test_vector_4_x_raw), 7024 7025 .g_x_raw = test_vector_4_g_x_raw, 7026 .g_x_raw_len = sizeof(test_vector_4_g_x_raw), 7027 7028 .g_x = test_vector_4_g_x, 7029 .g_x_len = sizeof(test_vector_4_g_x), 7030 7031 .c_i = test_vector_4_c_i, 7032 .c_i_len = sizeof(test_vector_4_c_i), 7033 7034 .ead_1 = test_vector_4_ead_1, 7035 .ead_1_len = sizeof(test_vector_4_ead_1), 7036 7037 .message_1 = test_vector_4_message_1, 7038 .message_1_len = sizeof(test_vector_4_message_1), 7039 7040 .y_raw = test_vector_4_y_raw, 7041 .y_raw_len = sizeof(test_vector_4_y_raw), 7042 7043 .g_y_raw = test_vector_4_g_y_raw, 7044 .g_y_raw_len = sizeof(test_vector_4_g_y_raw), 7045 7046 .g_y = test_vector_4_g_y, 7047 .g_y_len = sizeof(test_vector_4_g_y), 7048 7049 .g_xy_raw = test_vector_4_g_xy_raw, 7050 .g_xy_raw_len = sizeof(test_vector_4_g_xy_raw), 7051 7052 .salt_raw = test_vector_4_salt_raw, 7053 .salt_raw_len = sizeof(test_vector_4_salt_raw), 7054 7055 .prk_2e_raw = test_vector_4_prk_2e_raw, 7056 .prk_2e_raw_len = sizeof(test_vector_4_prk_2e_raw), 7057 7058 .sk_r_raw = test_vector_4_sk_r_raw, 7059 .sk_r_raw_len = sizeof(test_vector_4_sk_r_raw), 7060 7061 .pk_r_raw = test_vector_4_pk_r_raw, 7062 .pk_r_raw_len = sizeof(test_vector_4_pk_r_raw), 7063 7064 .prk_3e2m_raw = test_vector_4_prk_3e2m_raw, 7065 .prk_3e2m_raw_len = sizeof(test_vector_4_prk_3e2m_raw), 7066 7067 .c_r = test_vector_4_c_r, 7068 .c_r_len = sizeof(test_vector_4_c_r), 7069 7070 .h_message_1_raw = test_vector_4_h_message_1_raw, 7071 .h_message_1_raw_len = sizeof(test_vector_4_h_message_1_raw), 7072 7073 .h_message_1 = test_vector_4_h_message_1, 7074 .h_message_1_len = sizeof(test_vector_4_h_message_1), 7075 7076 .input_th_2 = test_vector_4_input_th_2, 7077 .input_th_2_len = sizeof(test_vector_4_input_th_2), 7078 7079 .th_2_raw = test_vector_4_th_2_raw, 7080 .th_2_raw_len = sizeof(test_vector_4_th_2_raw), 7081 7082 .th_2 = test_vector_4_th_2, 7083 .th_2_len = sizeof(test_vector_4_th_2), 7084 7085 .id_cred_r = test_vector_4_id_cred_r, 7086 .id_cred_r_len = sizeof(test_vector_4_id_cred_r), 7087 7088 .cred_r = test_vector_4_cred_r, 7089 .cred_r_len = sizeof(test_vector_4_cred_r), 7090 7091 .ead_2 = test_vector_4_ead_2, 7092 .ead_2_len = sizeof(test_vector_4_ead_2), 7093 7094 .info_mac_2 = test_vector_4_info_mac_2, 7095 .info_mac_2_len = sizeof(test_vector_4_info_mac_2), 7096 7097 .mac_2_raw = test_vector_4_mac_2_raw, 7098 .mac_2_raw_len = sizeof(test_vector_4_mac_2_raw), 7099 7100 .mac_2 = test_vector_4_mac_2, 7101 .mac_2_len = sizeof(test_vector_4_mac_2), 7102 7103 .m_2 = test_vector_4_m_2, 7104 .m_2_len = sizeof(test_vector_4_m_2), 7105 7106 .sig_or_mac_2_raw = test_vector_4_sig_or_mac_2_raw, 7107 .sig_or_mac_2_raw_len = sizeof(test_vector_4_sig_or_mac_2_raw), 7108 7109 .sig_or_mac_2 = test_vector_4_sig_or_mac_2, 7110 .sig_or_mac_2_len = sizeof(test_vector_4_sig_or_mac_2), 7111 7112 .plaintext_2 = test_vector_4_plaintext_2, 7113 .plaintext_2_len = sizeof(test_vector_4_plaintext_2), 7114 7115 .info_keystream_2 = test_vector_4_info_keystream_2, 7116 .info_keystream_2_len = sizeof(test_vector_4_info_keystream_2), 7117 7118 .keystream_2_raw = test_vector_4_keystream_2_raw, 7119 .keystream_2_raw_len = sizeof(test_vector_4_keystream_2_raw), 7120 7121 .ciphertext_2_raw = test_vector_4_ciphertext_2_raw, 7122 .ciphertext_2_raw_len = sizeof(test_vector_4_ciphertext_2_raw), 7123 7124 .ciphertext_2 = test_vector_4_ciphertext_2, 7125 .ciphertext_2_len = sizeof(test_vector_4_ciphertext_2), 7126 7127 .message_2 = test_vector_4_message_2, 7128 .message_2_len = sizeof(test_vector_4_message_2), 7129 7130 .sk_i_raw = test_vector_4_sk_i_raw, 7131 .sk_i_raw_len = sizeof(test_vector_4_sk_i_raw), 7132 7133 .pk_i_raw = test_vector_4_pk_i_raw, 7134 .pk_i_raw_len = sizeof(test_vector_4_pk_i_raw), 7135 7136 .prk_4x3m_raw = NULL, 7137 .prk_4x3m_raw_len = 0, 7138 7139 .input_TH_3 = test_vector_4_input_TH_3, 7140 .input_TH_3_len = sizeof(test_vector_4_input_TH_3), 7141 7142 .th_3_raw = test_vector_4_th_3_raw, 7143 .th_3_raw_len = sizeof(test_vector_4_th_3_raw), 7144 7145 .th_3 = test_vector_4_th_3, 7146 .th_3_len = sizeof(test_vector_4_th_3), 7147 7148 .id_cred_i = test_vector_4_id_cred_i, 7149 .id_cred_i_len = sizeof(test_vector_4_id_cred_i), 7150 7151 .cred_i = test_vector_4_cred_i, 7152 .cred_i_len = sizeof(test_vector_4_cred_i), 7153 7154 .ead_3 = test_vector_4_ead_3, 7155 .ead_3_len = sizeof(test_vector_4_ead_3), 7156 7157 .info_mac_3 = test_vector_4_info_mac_3, 7158 .info_mac_3_len = sizeof(test_vector_4_info_mac_3), 7159 7160 .mac_3_raw = test_vector_4_mac_3_raw, 7161 .mac_3_raw_len = sizeof(test_vector_4_mac_3_raw), 7162 7163 .mac_3 = test_vector_4_mac_3, 7164 .mac_3_len = sizeof(test_vector_4_mac_3), 7165 7166 .m_3 = test_vector_4_m_3, 7167 .m_3_len = sizeof(test_vector_4_m_3), 7168 7169 .sig_or_mac_3_raw = test_vector_4_sig_or_mac_3_raw, 7170 .sig_or_mac_3_raw_len = sizeof(test_vector_4_sig_or_mac_3_raw), 7171 7172 .sig_or_mac_3 = test_vector_4_sig_or_mac_3, 7173 .sig_or_mac_3_len = sizeof(test_vector_4_sig_or_mac_3), 7174 7175 .p_3 = test_vector_4_p_3, 7176 .p_3_len = sizeof(test_vector_4_p_3), 7177 7178 .a_3 = test_vector_4_a_3, 7179 .a_3_len = sizeof(test_vector_4_a_3), 7180 7181 .info_k_3 = test_vector_4_info_k_3, 7182 .info_k_3_len = sizeof(test_vector_4_info_k_3), 7183 7184 .k_3_raw = test_vector_4_k_3_raw, 7185 .k_3_raw_len = sizeof(test_vector_4_k_3_raw), 7186 7187 .info_iv_3 = test_vector_4_info_iv_3, 7188 .info_iv_3_len = sizeof(test_vector_4_info_iv_3), 7189 7190 .iv_3_raw = test_vector_4_iv_3_raw, 7191 .iv_3_raw_len = sizeof(test_vector_4_iv_3_raw), 7192 7193 .ciphertext_3_raw = test_vector_4_ciphertext_3_raw, 7194 .ciphertext_3_raw_len = sizeof(test_vector_4_ciphertext_3_raw), 7195 7196 .ciphertext_3 = test_vector_4_ciphertext_3, 7197 .ciphertext_3_len = sizeof(test_vector_4_ciphertext_3), 7198 7199 .message_3 = test_vector_4_message_3, 7200 .message_3_len = sizeof(test_vector_4_message_3), 7201 7202 .input_th_4 = test_vector_4_input_th_4, 7203 .input_th_4_len = sizeof(test_vector_4_input_th_4), 7204 7205 .th_4_raw = test_vector_4_th_4_raw, 7206 .th_4_raw_len = sizeof(test_vector_4_th_4_raw), 7207 7208 .th_4 = test_vector_4_th_4, 7209 .th_4_len = sizeof(test_vector_4_th_4), 7210 7211 .ead_4 = test_vector_4_ead_4, 7212 .ead_4_len = sizeof(test_vector_4_ead_4), 7213 7214 .p_4 = test_vector_4_p_4, 7215 .p_4_len = sizeof(test_vector_4_p_4), 7216 7217 .a_4 = test_vector_4_a_4, 7218 .a_4_len = sizeof(test_vector_4_a_4), 7219 7220 .info_k_4 = test_vector_4_info_k_4, 7221 .info_k_4_len = sizeof(test_vector_4_info_k_4), 7222 7223 .k_4_raw = test_vector_4_k_4_raw, 7224 .k_4_raw_len = sizeof(test_vector_4_k_4_raw), 7225 7226 .info_iv_4 = test_vector_4_info_iv_4, 7227 .info_iv_4_len = sizeof(test_vector_4_info_iv_4), 7228 7229 .iv_4_raw = test_vector_4_iv_4_raw, 7230 .iv_4_raw_len = sizeof(test_vector_4_iv_4_raw), 7231 7232 .ciphertext_4_raw = test_vector_4_ciphertext_4_raw, 7233 .ciphertext_4_raw_len = sizeof(test_vector_4_ciphertext_4_raw), 7234 7235 .ciphertext_4 = test_vector_4_ciphertext_4, 7236 .ciphertext_4_len = sizeof(test_vector_4_ciphertext_4), 7237 7238 .message_4 = test_vector_4_message_4, 7239 .message_4_len = sizeof(test_vector_4_message_4), 7240 7241 .oscore_aead_alg = &test_vector_4_oscore_aead_alg, 7242 7243 .oscore_hash_alg = &test_vector_4_oscore_hash_alg, 7244 7245 .client_sender_id_raw = test_vector_4_client_sender_id_raw, 7246 .client_sender_id_raw_len = sizeof(test_vector_4_client_sender_id_raw), 7247 7248 .server_sender_id_raw = test_vector_4_server_sender_id_raw, 7249 .server_sender_id_raw_len = sizeof(test_vector_4_server_sender_id_raw), 7250 7251 .info_oscore_secret = test_vector_4_info_oscore_secret, 7252 .info_oscore_secret_len = sizeof(test_vector_4_info_oscore_secret), 7253 7254 .oscore_secret_raw = test_vector_4_oscore_secret_raw, 7255 .oscore_secret_raw_len = sizeof(test_vector_4_oscore_secret_raw), 7256 7257 .info_oscore_salt = test_vector_4_info_oscore_salt, 7258 .info_oscore_salt_len = sizeof(test_vector_4_info_oscore_salt), 7259 7260 .oscore_salt_raw = test_vector_4_oscore_salt_raw, 7261 .oscore_salt_raw_len = sizeof(test_vector_4_oscore_salt_raw), 7262 7263 .key_update_nonce_raw = NULL, 7264 .key_update_nonce_raw_len = 0, 7265 7266 .prk_4x3m_key_update_raw = NULL, 7267 .prk_4x3m_key_update_raw_len = 0, 7268 7269 .oscore_secret_key_update_raw = test_vector_4_oscore_secret_key_update_raw, 7270 .oscore_secret_key_update_raw_len = sizeof(test_vector_4_oscore_secret_key_update_raw), 7271 7272 .oscore_salt_key_update_raw = test_vector_4_oscore_salt_key_update_raw, 7273 .oscore_salt_key_update_raw_len = sizeof(test_vector_4_oscore_salt_key_update_raw), 7274 7275 .ca_r = test_vector_4_ca_r, 7276 .ca_r_len = sizeof(test_vector_4_ca_r), 7277 7278 .ca_i = test_vector_4_ca_i, 7279 .ca_i_len = sizeof(test_vector_4_ca_i), 7280 7281 .ca_r_pk = test_vector_4_ca_r_pk, 7282 .ca_r_pk_len = sizeof(test_vector_4_ca_r_pk), 7283 7284 .ca_i_pk = test_vector_4_ca_i_pk, 7285 .ca_i_pk_len = sizeof(test_vector_4_ca_i_pk), 7286 7287 .i_raw = NULL, 7288 .i_raw_len = 0, 7289 7290 .g_i_raw = NULL, 7291 .g_i_raw_len = 0, 7292 7293 .r_raw = NULL, 7294 .r_raw_len = 0, 7295 7296 .g_r_raw = NULL, 7297 .g_r_raw_len = 0, 7298 7299 .c_i_raw = NULL, 7300 .c_i_raw_len = 0, 7301 .c_i_raw_int = &test_vector_4_c_i_raw, 7302 7303 .c_r_raw = NULL, 7304 .c_r_raw_len = 0, 7305 .c_r_raw_int = &test_vector_4_c_r_raw, 7306 }, 7307 /*--------------- test_vector_5 ------------*/ 7308 7309 { 7310 .method = test_vector_5_method, 7311 .method_len = sizeof(test_vector_5_method), 7312 7313 .SUITES_I = test_vector_5_SUITES_I, 7314 .SUITES_I_len = sizeof(test_vector_5_SUITES_I), 7315 7316 .SUITES_R = test_vector_5_SUITES_R, 7317 .SUITES_R_len = sizeof(test_vector_5_SUITES_R), 7318 7319 .x_raw = test_vector_5_x_raw, 7320 .x_raw_len = sizeof(test_vector_5_x_raw), 7321 7322 .g_x_raw = test_vector_5_g_x_raw, 7323 .g_x_raw_len = sizeof(test_vector_5_g_x_raw), 7324 7325 .g_x = test_vector_5_g_x, 7326 .g_x_len = sizeof(test_vector_5_g_x), 7327 7328 .c_i = test_vector_5_c_i, 7329 .c_i_len = sizeof(test_vector_5_c_i), 7330 7331 .ead_1 = test_vector_5_ead_1, 7332 .ead_1_len = sizeof(test_vector_5_ead_1), 7333 7334 .message_1 = test_vector_5_message_1, 7335 .message_1_len = sizeof(test_vector_5_message_1), 7336 7337 .y_raw = test_vector_5_y_raw, 7338 .y_raw_len = sizeof(test_vector_5_y_raw), 7339 7340 .g_y_raw = test_vector_5_g_y_raw, 7341 .g_y_raw_len = sizeof(test_vector_5_g_y_raw), 7342 7343 .g_y = test_vector_5_g_y, 7344 .g_y_len = sizeof(test_vector_5_g_y), 7345 7346 .g_xy_raw = test_vector_5_g_xy_raw, 7347 .g_xy_raw_len = sizeof(test_vector_5_g_xy_raw), 7348 7349 .salt_raw = test_vector_5_salt_raw, 7350 .salt_raw_len = sizeof(test_vector_5_salt_raw), 7351 7352 .prk_2e_raw = test_vector_5_prk_2e_raw, 7353 .prk_2e_raw_len = sizeof(test_vector_5_prk_2e_raw), 7354 7355 .sk_r_raw = NULL, 7356 .sk_r_raw_len = 0, 7357 7358 .pk_r_raw = NULL, 7359 .pk_r_raw_len = 0, 7360 7361 .prk_3e2m_raw = test_vector_5_prk_3e2m_raw, 7362 .prk_3e2m_raw_len = sizeof(test_vector_5_prk_3e2m_raw), 7363 7364 .c_r = test_vector_5_c_r, 7365 .c_r_len = sizeof(test_vector_5_c_r), 7366 7367 .h_message_1_raw = test_vector_5_h_message_1_raw, 7368 .h_message_1_raw_len = sizeof(test_vector_5_h_message_1_raw), 7369 7370 .h_message_1 = test_vector_5_h_message_1, 7371 .h_message_1_len = sizeof(test_vector_5_h_message_1), 7372 7373 .input_th_2 = test_vector_5_input_th_2, 7374 .input_th_2_len = sizeof(test_vector_5_input_th_2), 7375 7376 .th_2_raw = test_vector_5_th_2_raw, 7377 .th_2_raw_len = sizeof(test_vector_5_th_2_raw), 7378 7379 .th_2 = test_vector_5_th_2, 7380 .th_2_len = sizeof(test_vector_5_th_2), 7381 7382 .id_cred_r = test_vector_5_id_cred_r, 7383 .id_cred_r_len = sizeof(test_vector_5_id_cred_r), 7384 7385 .cred_r = test_vector_5_cred_r, 7386 .cred_r_len = sizeof(test_vector_5_cred_r), 7387 7388 .ead_2 = test_vector_5_ead_2, 7389 .ead_2_len = sizeof(test_vector_5_ead_2), 7390 7391 .info_mac_2 = test_vector_5_info_mac_2, 7392 .info_mac_2_len = sizeof(test_vector_5_info_mac_2), 7393 7394 .mac_2_raw = test_vector_5_mac_2_raw, 7395 .mac_2_raw_len = sizeof(test_vector_5_mac_2_raw), 7396 7397 .mac_2 = test_vector_5_mac_2, 7398 .mac_2_len = sizeof(test_vector_5_mac_2), 7399 7400 .m_2 = NULL, 7401 .m_2_len = 0, 7402 7403 .sig_or_mac_2_raw = test_vector_5_sig_or_mac_2_raw, 7404 .sig_or_mac_2_raw_len = sizeof(test_vector_5_sig_or_mac_2_raw), 7405 7406 .sig_or_mac_2 = test_vector_5_sig_or_mac_2, 7407 .sig_or_mac_2_len = sizeof(test_vector_5_sig_or_mac_2), 7408 7409 .plaintext_2 = test_vector_5_plaintext_2, 7410 .plaintext_2_len = sizeof(test_vector_5_plaintext_2), 7411 7412 .info_keystream_2 = test_vector_5_info_keystream_2, 7413 .info_keystream_2_len = sizeof(test_vector_5_info_keystream_2), 7414 7415 .keystream_2_raw = test_vector_5_keystream_2_raw, 7416 .keystream_2_raw_len = sizeof(test_vector_5_keystream_2_raw), 7417 7418 .ciphertext_2_raw = test_vector_5_ciphertext_2_raw, 7419 .ciphertext_2_raw_len = sizeof(test_vector_5_ciphertext_2_raw), 7420 7421 .ciphertext_2 = test_vector_5_ciphertext_2, 7422 .ciphertext_2_len = sizeof(test_vector_5_ciphertext_2), 7423 7424 .message_2 = test_vector_5_message_2, 7425 .message_2_len = sizeof(test_vector_5_message_2), 7426 7427 .sk_i_raw = NULL, 7428 .sk_i_raw_len = 0, 7429 7430 .pk_i_raw = NULL, 7431 .pk_i_raw_len = 0, 7432 7433 .prk_4x3m_raw = NULL, 7434 .prk_4x3m_raw_len = 0, 7435 7436 .input_TH_3 = test_vector_5_input_TH_3, 7437 .input_TH_3_len = sizeof(test_vector_5_input_TH_3), 7438 7439 .th_3_raw = test_vector_5_th_3_raw, 7440 .th_3_raw_len = sizeof(test_vector_5_th_3_raw), 7441 7442 .th_3 = test_vector_5_th_3, 7443 .th_3_len = sizeof(test_vector_5_th_3), 7444 7445 .id_cred_i = test_vector_5_id_cred_i, 7446 .id_cred_i_len = sizeof(test_vector_5_id_cred_i), 7447 7448 .cred_i = test_vector_5_cred_i, 7449 .cred_i_len = sizeof(test_vector_5_cred_i), 7450 7451 .ead_3 = test_vector_5_ead_3, 7452 .ead_3_len = sizeof(test_vector_5_ead_3), 7453 7454 .info_mac_3 = test_vector_5_info_mac_3, 7455 .info_mac_3_len = sizeof(test_vector_5_info_mac_3), 7456 7457 .mac_3_raw = test_vector_5_mac_3_raw, 7458 .mac_3_raw_len = sizeof(test_vector_5_mac_3_raw), 7459 7460 .mac_3 = test_vector_5_mac_3, 7461 .mac_3_len = sizeof(test_vector_5_mac_3), 7462 7463 .m_3 = NULL, 7464 .m_3_len = 0, 7465 7466 .sig_or_mac_3_raw = test_vector_5_sig_or_mac_3_raw, 7467 .sig_or_mac_3_raw_len = sizeof(test_vector_5_sig_or_mac_3_raw), 7468 7469 .sig_or_mac_3 = test_vector_5_sig_or_mac_3, 7470 .sig_or_mac_3_len = sizeof(test_vector_5_sig_or_mac_3), 7471 7472 .p_3 = test_vector_5_p_3, 7473 .p_3_len = sizeof(test_vector_5_p_3), 7474 7475 .a_3 = test_vector_5_a_3, 7476 .a_3_len = sizeof(test_vector_5_a_3), 7477 7478 .info_k_3 = test_vector_5_info_k_3, 7479 .info_k_3_len = sizeof(test_vector_5_info_k_3), 7480 7481 .k_3_raw = test_vector_5_k_3_raw, 7482 .k_3_raw_len = sizeof(test_vector_5_k_3_raw), 7483 7484 .info_iv_3 = test_vector_5_info_iv_3, 7485 .info_iv_3_len = sizeof(test_vector_5_info_iv_3), 7486 7487 .iv_3_raw = test_vector_5_iv_3_raw, 7488 .iv_3_raw_len = sizeof(test_vector_5_iv_3_raw), 7489 7490 .ciphertext_3_raw = test_vector_5_ciphertext_3_raw, 7491 .ciphertext_3_raw_len = sizeof(test_vector_5_ciphertext_3_raw), 7492 7493 .ciphertext_3 = test_vector_5_ciphertext_3, 7494 .ciphertext_3_len = sizeof(test_vector_5_ciphertext_3), 7495 7496 .message_3 = test_vector_5_message_3, 7497 .message_3_len = sizeof(test_vector_5_message_3), 7498 7499 .input_th_4 = test_vector_5_input_th_4, 7500 .input_th_4_len = sizeof(test_vector_5_input_th_4), 7501 7502 .th_4_raw = test_vector_5_th_4_raw, 7503 .th_4_raw_len = sizeof(test_vector_5_th_4_raw), 7504 7505 .th_4 = test_vector_5_th_4, 7506 .th_4_len = sizeof(test_vector_5_th_4), 7507 7508 .ead_4 = test_vector_5_ead_4, 7509 .ead_4_len = sizeof(test_vector_5_ead_4), 7510 7511 .p_4 = test_vector_5_p_4, 7512 .p_4_len = sizeof(test_vector_5_p_4), 7513 7514 .a_4 = test_vector_5_a_4, 7515 .a_4_len = sizeof(test_vector_5_a_4), 7516 7517 .info_k_4 = test_vector_5_info_k_4, 7518 .info_k_4_len = sizeof(test_vector_5_info_k_4), 7519 7520 .k_4_raw = test_vector_5_k_4_raw, 7521 .k_4_raw_len = sizeof(test_vector_5_k_4_raw), 7522 7523 .info_iv_4 = test_vector_5_info_iv_4, 7524 .info_iv_4_len = sizeof(test_vector_5_info_iv_4), 7525 7526 .iv_4_raw = test_vector_5_iv_4_raw, 7527 .iv_4_raw_len = sizeof(test_vector_5_iv_4_raw), 7528 7529 .ciphertext_4_raw = test_vector_5_ciphertext_4_raw, 7530 .ciphertext_4_raw_len = sizeof(test_vector_5_ciphertext_4_raw), 7531 7532 .ciphertext_4 = test_vector_5_ciphertext_4, 7533 .ciphertext_4_len = sizeof(test_vector_5_ciphertext_4), 7534 7535 .message_4 = test_vector_5_message_4, 7536 .message_4_len = sizeof(test_vector_5_message_4), 7537 7538 .oscore_aead_alg = &test_vector_5_oscore_aead_alg, 7539 7540 .oscore_hash_alg = &test_vector_5_oscore_hash_alg, 7541 7542 .client_sender_id_raw = test_vector_5_client_sender_id_raw, 7543 .client_sender_id_raw_len = sizeof(test_vector_5_client_sender_id_raw), 7544 7545 .server_sender_id_raw = test_vector_5_server_sender_id_raw, 7546 .server_sender_id_raw_len = sizeof(test_vector_5_server_sender_id_raw), 7547 7548 .info_oscore_secret = test_vector_5_info_oscore_secret, 7549 .info_oscore_secret_len = sizeof(test_vector_5_info_oscore_secret), 7550 7551 .oscore_secret_raw = test_vector_5_oscore_secret_raw, 7552 .oscore_secret_raw_len = sizeof(test_vector_5_oscore_secret_raw), 7553 7554 .info_oscore_salt = test_vector_5_info_oscore_salt, 7555 .info_oscore_salt_len = sizeof(test_vector_5_info_oscore_salt), 7556 7557 .oscore_salt_raw = test_vector_5_oscore_salt_raw, 7558 .oscore_salt_raw_len = sizeof(test_vector_5_oscore_salt_raw), 7559 7560 .key_update_nonce_raw = NULL, 7561 .key_update_nonce_raw_len = 0, 7562 7563 .prk_4x3m_key_update_raw = NULL, 7564 .prk_4x3m_key_update_raw_len = 0, 7565 7566 .oscore_secret_key_update_raw = test_vector_5_oscore_secret_key_update_raw, 7567 .oscore_secret_key_update_raw_len = sizeof(test_vector_5_oscore_secret_key_update_raw), 7568 7569 .oscore_salt_key_update_raw = test_vector_5_oscore_salt_key_update_raw, 7570 .oscore_salt_key_update_raw_len = sizeof(test_vector_5_oscore_salt_key_update_raw), 7571 7572 .ca_r = test_vector_5_ca_r, 7573 .ca_r_len = sizeof(test_vector_5_ca_r), 7574 7575 .ca_i = test_vector_5_ca_i, 7576 .ca_i_len = sizeof(test_vector_5_ca_i), 7577 7578 .ca_r_pk = test_vector_5_ca_r_pk, 7579 .ca_r_pk_len = sizeof(test_vector_5_ca_r_pk), 7580 7581 .ca_i_pk = test_vector_5_ca_i_pk, 7582 .ca_i_pk_len = sizeof(test_vector_5_ca_i_pk), 7583 7584 .i_raw = test_vector_5_i_raw, 7585 .i_raw_len = sizeof(test_vector_5_i_raw), 7586 7587 .g_i_raw = test_vector_5_g_i_raw, 7588 .g_i_raw_len = sizeof(test_vector_5_g_i_raw), 7589 7590 .r_raw = test_vector_5_r_raw, 7591 .r_raw_len = sizeof(test_vector_5_r_raw), 7592 7593 .g_r_raw = test_vector_5_g_r_raw, 7594 .g_r_raw_len = sizeof(test_vector_5_g_r_raw), 7595 7596 .c_i_raw = NULL, 7597 .c_i_raw_len = 0, 7598 .c_i_raw_int = &test_vector_5_c_i_raw, 7599 7600 .c_r_raw = NULL, 7601 .c_r_raw_len = 0, 7602 .c_r_raw_int = &test_vector_5_c_r_raw, 7603 }, 7604 /*--------------- test_vector_6 ------------*/ 7605 7606 { 7607 .method = test_vector_6_method, 7608 .method_len = sizeof(test_vector_6_method), 7609 7610 .SUITES_I = test_vector_6_SUITES_I, 7611 .SUITES_I_len = sizeof(test_vector_6_SUITES_I), 7612 7613 .SUITES_R = test_vector_6_SUITES_R, 7614 .SUITES_R_len = sizeof(test_vector_6_SUITES_R), 7615 7616 .x_raw = test_vector_6_x_raw, 7617 .x_raw_len = sizeof(test_vector_6_x_raw), 7618 7619 .g_x_raw = test_vector_6_g_x_raw, 7620 .g_x_raw_len = sizeof(test_vector_6_g_x_raw), 7621 7622 .g_x = test_vector_6_g_x, 7623 .g_x_len = sizeof(test_vector_6_g_x), 7624 7625 .c_i = test_vector_6_c_i, 7626 .c_i_len = sizeof(test_vector_6_c_i), 7627 7628 .ead_1 = test_vector_6_ead_1, 7629 .ead_1_len = sizeof(test_vector_6_ead_1), 7630 7631 .message_1 = test_vector_6_message_1, 7632 .message_1_len = sizeof(test_vector_6_message_1), 7633 7634 .y_raw = test_vector_6_y_raw, 7635 .y_raw_len = sizeof(test_vector_6_y_raw), 7636 7637 .g_y_raw = test_vector_6_g_y_raw, 7638 .g_y_raw_len = sizeof(test_vector_6_g_y_raw), 7639 7640 .g_y = test_vector_6_g_y, 7641 .g_y_len = sizeof(test_vector_6_g_y), 7642 7643 .g_xy_raw = test_vector_6_g_xy_raw, 7644 .g_xy_raw_len = sizeof(test_vector_6_g_xy_raw), 7645 7646 .salt_raw = test_vector_6_salt_raw, 7647 .salt_raw_len = sizeof(test_vector_6_salt_raw), 7648 7649 .prk_2e_raw = test_vector_6_prk_2e_raw, 7650 .prk_2e_raw_len = sizeof(test_vector_6_prk_2e_raw), 7651 7652 .sk_r_raw = NULL, 7653 .sk_r_raw_len = 0, 7654 7655 .pk_r_raw = NULL, 7656 .pk_r_raw_len = 0, 7657 7658 .prk_3e2m_raw = test_vector_6_prk_3e2m_raw, 7659 .prk_3e2m_raw_len = sizeof(test_vector_6_prk_3e2m_raw), 7660 7661 .c_r = test_vector_6_c_r, 7662 .c_r_len = sizeof(test_vector_6_c_r), 7663 7664 .h_message_1_raw = test_vector_6_h_message_1_raw, 7665 .h_message_1_raw_len = sizeof(test_vector_6_h_message_1_raw), 7666 7667 .h_message_1 = test_vector_6_h_message_1, 7668 .h_message_1_len = sizeof(test_vector_6_h_message_1), 7669 7670 .input_th_2 = test_vector_6_input_th_2, 7671 .input_th_2_len = sizeof(test_vector_6_input_th_2), 7672 7673 .th_2_raw = test_vector_6_th_2_raw, 7674 .th_2_raw_len = sizeof(test_vector_6_th_2_raw), 7675 7676 .th_2 = test_vector_6_th_2, 7677 .th_2_len = sizeof(test_vector_6_th_2), 7678 7679 .id_cred_r = test_vector_6_id_cred_r, 7680 .id_cred_r_len = sizeof(test_vector_6_id_cred_r), 7681 7682 .cred_r = test_vector_6_cred_r, 7683 .cred_r_len = sizeof(test_vector_6_cred_r), 7684 7685 .ead_2 = test_vector_6_ead_2, 7686 .ead_2_len = sizeof(test_vector_6_ead_2), 7687 7688 .info_mac_2 = test_vector_6_info_mac_2, 7689 .info_mac_2_len = sizeof(test_vector_6_info_mac_2), 7690 7691 .mac_2_raw = test_vector_6_mac_2_raw, 7692 .mac_2_raw_len = sizeof(test_vector_6_mac_2_raw), 7693 7694 .mac_2 = test_vector_6_mac_2, 7695 .mac_2_len = sizeof(test_vector_6_mac_2), 7696 7697 .m_2 = NULL, 7698 .m_2_len = 0, 7699 7700 .sig_or_mac_2_raw = test_vector_6_sig_or_mac_2_raw, 7701 .sig_or_mac_2_raw_len = sizeof(test_vector_6_sig_or_mac_2_raw), 7702 7703 .sig_or_mac_2 = test_vector_6_sig_or_mac_2, 7704 .sig_or_mac_2_len = sizeof(test_vector_6_sig_or_mac_2), 7705 7706 .plaintext_2 = test_vector_6_plaintext_2, 7707 .plaintext_2_len = sizeof(test_vector_6_plaintext_2), 7708 7709 .info_keystream_2 = test_vector_6_info_keystream_2, 7710 .info_keystream_2_len = sizeof(test_vector_6_info_keystream_2), 7711 7712 .keystream_2_raw = test_vector_6_keystream_2_raw, 7713 .keystream_2_raw_len = sizeof(test_vector_6_keystream_2_raw), 7714 7715 .ciphertext_2_raw = test_vector_6_ciphertext_2_raw, 7716 .ciphertext_2_raw_len = sizeof(test_vector_6_ciphertext_2_raw), 7717 7718 .ciphertext_2 = test_vector_6_ciphertext_2, 7719 .ciphertext_2_len = sizeof(test_vector_6_ciphertext_2), 7720 7721 .message_2 = test_vector_6_message_2, 7722 .message_2_len = sizeof(test_vector_6_message_2), 7723 7724 .sk_i_raw = NULL, 7725 .sk_i_raw_len = 0, 7726 7727 .pk_i_raw = NULL, 7728 .pk_i_raw_len = 0, 7729 7730 .prk_4x3m_raw = NULL, 7731 .prk_4x3m_raw_len = 0, 7732 7733 .input_TH_3 = test_vector_6_input_TH_3, 7734 .input_TH_3_len = sizeof(test_vector_6_input_TH_3), 7735 7736 .th_3_raw = test_vector_6_th_3_raw, 7737 .th_3_raw_len = sizeof(test_vector_6_th_3_raw), 7738 7739 .th_3 = test_vector_6_th_3, 7740 .th_3_len = sizeof(test_vector_6_th_3), 7741 7742 .id_cred_i = test_vector_6_id_cred_i, 7743 .id_cred_i_len = sizeof(test_vector_6_id_cred_i), 7744 7745 .cred_i = test_vector_6_cred_i, 7746 .cred_i_len = sizeof(test_vector_6_cred_i), 7747 7748 .ead_3 = test_vector_6_ead_3, 7749 .ead_3_len = sizeof(test_vector_6_ead_3), 7750 7751 .info_mac_3 = test_vector_6_info_mac_3, 7752 .info_mac_3_len = sizeof(test_vector_6_info_mac_3), 7753 7754 .mac_3_raw = test_vector_6_mac_3_raw, 7755 .mac_3_raw_len = sizeof(test_vector_6_mac_3_raw), 7756 7757 .mac_3 = test_vector_6_mac_3, 7758 .mac_3_len = sizeof(test_vector_6_mac_3), 7759 7760 .m_3 = NULL, 7761 .m_3_len = 0, 7762 7763 .sig_or_mac_3_raw = test_vector_6_sig_or_mac_3_raw, 7764 .sig_or_mac_3_raw_len = sizeof(test_vector_6_sig_or_mac_3_raw), 7765 7766 .sig_or_mac_3 = test_vector_6_sig_or_mac_3, 7767 .sig_or_mac_3_len = sizeof(test_vector_6_sig_or_mac_3), 7768 7769 .p_3 = test_vector_6_p_3, 7770 .p_3_len = sizeof(test_vector_6_p_3), 7771 7772 .a_3 = test_vector_6_a_3, 7773 .a_3_len = sizeof(test_vector_6_a_3), 7774 7775 .info_k_3 = test_vector_6_info_k_3, 7776 .info_k_3_len = sizeof(test_vector_6_info_k_3), 7777 7778 .k_3_raw = test_vector_6_k_3_raw, 7779 .k_3_raw_len = sizeof(test_vector_6_k_3_raw), 7780 7781 .info_iv_3 = test_vector_6_info_iv_3, 7782 .info_iv_3_len = sizeof(test_vector_6_info_iv_3), 7783 7784 .iv_3_raw = test_vector_6_iv_3_raw, 7785 .iv_3_raw_len = sizeof(test_vector_6_iv_3_raw), 7786 7787 .ciphertext_3_raw = test_vector_6_ciphertext_3_raw, 7788 .ciphertext_3_raw_len = sizeof(test_vector_6_ciphertext_3_raw), 7789 7790 .ciphertext_3 = test_vector_6_ciphertext_3, 7791 .ciphertext_3_len = sizeof(test_vector_6_ciphertext_3), 7792 7793 .message_3 = test_vector_6_message_3, 7794 .message_3_len = sizeof(test_vector_6_message_3), 7795 7796 .input_th_4 = test_vector_6_input_th_4, 7797 .input_th_4_len = sizeof(test_vector_6_input_th_4), 7798 7799 .th_4_raw = test_vector_6_th_4_raw, 7800 .th_4_raw_len = sizeof(test_vector_6_th_4_raw), 7801 7802 .th_4 = test_vector_6_th_4, 7803 .th_4_len = sizeof(test_vector_6_th_4), 7804 7805 .ead_4 = test_vector_6_ead_4, 7806 .ead_4_len = sizeof(test_vector_6_ead_4), 7807 7808 .p_4 = test_vector_6_p_4, 7809 .p_4_len = sizeof(test_vector_6_p_4), 7810 7811 .a_4 = test_vector_6_a_4, 7812 .a_4_len = sizeof(test_vector_6_a_4), 7813 7814 .info_k_4 = test_vector_6_info_k_4, 7815 .info_k_4_len = sizeof(test_vector_6_info_k_4), 7816 7817 .k_4_raw = test_vector_6_k_4_raw, 7818 .k_4_raw_len = sizeof(test_vector_6_k_4_raw), 7819 7820 .info_iv_4 = test_vector_6_info_iv_4, 7821 .info_iv_4_len = sizeof(test_vector_6_info_iv_4), 7822 7823 .iv_4_raw = test_vector_6_iv_4_raw, 7824 .iv_4_raw_len = sizeof(test_vector_6_iv_4_raw), 7825 7826 .ciphertext_4_raw = test_vector_6_ciphertext_4_raw, 7827 .ciphertext_4_raw_len = sizeof(test_vector_6_ciphertext_4_raw), 7828 7829 .ciphertext_4 = test_vector_6_ciphertext_4, 7830 .ciphertext_4_len = sizeof(test_vector_6_ciphertext_4), 7831 7832 .message_4 = test_vector_6_message_4, 7833 .message_4_len = sizeof(test_vector_6_message_4), 7834 7835 .oscore_aead_alg = &test_vector_6_oscore_aead_alg, 7836 7837 .oscore_hash_alg = &test_vector_6_oscore_hash_alg, 7838 7839 .client_sender_id_raw = test_vector_6_client_sender_id_raw, 7840 .client_sender_id_raw_len = sizeof(test_vector_6_client_sender_id_raw), 7841 7842 .server_sender_id_raw = test_vector_6_server_sender_id_raw, 7843 .server_sender_id_raw_len = sizeof(test_vector_6_server_sender_id_raw), 7844 7845 .info_oscore_secret = test_vector_6_info_oscore_secret, 7846 .info_oscore_secret_len = sizeof(test_vector_6_info_oscore_secret), 7847 7848 .oscore_secret_raw = test_vector_6_oscore_secret_raw, 7849 .oscore_secret_raw_len = sizeof(test_vector_6_oscore_secret_raw), 7850 7851 .info_oscore_salt = test_vector_6_info_oscore_salt, 7852 .info_oscore_salt_len = sizeof(test_vector_6_info_oscore_salt), 7853 7854 .oscore_salt_raw = test_vector_6_oscore_salt_raw, 7855 .oscore_salt_raw_len = sizeof(test_vector_6_oscore_salt_raw), 7856 7857 .key_update_nonce_raw = NULL, 7858 .key_update_nonce_raw_len = 0, 7859 7860 .prk_4x3m_key_update_raw = NULL, 7861 .prk_4x3m_key_update_raw_len = 0, 7862 7863 .oscore_secret_key_update_raw = test_vector_6_oscore_secret_key_update_raw, 7864 .oscore_secret_key_update_raw_len = sizeof(test_vector_6_oscore_secret_key_update_raw), 7865 7866 .oscore_salt_key_update_raw = test_vector_6_oscore_salt_key_update_raw, 7867 .oscore_salt_key_update_raw_len = sizeof(test_vector_6_oscore_salt_key_update_raw), 7868 7869 .ca_r = test_vector_6_ca_r, 7870 .ca_r_len = sizeof(test_vector_6_ca_r), 7871 7872 .ca_i = NULL, 7873 .ca_i_len = 0, 7874 7875 .ca_r_pk = test_vector_6_ca_r_pk, 7876 .ca_r_pk_len = sizeof(test_vector_6_ca_r_pk), 7877 7878 .ca_i_pk = NULL, 7879 .ca_i_pk_len = 0, 7880 7881 .i_raw = test_vector_6_i_raw, 7882 .i_raw_len = sizeof(test_vector_6_i_raw), 7883 7884 .g_i_raw = test_vector_6_g_i_raw, 7885 .g_i_raw_len = sizeof(test_vector_6_g_i_raw), 7886 7887 .r_raw = test_vector_6_r_raw, 7888 .r_raw_len = sizeof(test_vector_6_r_raw), 7889 7890 .g_r_raw = test_vector_6_g_r_raw, 7891 .g_r_raw_len = sizeof(test_vector_6_g_r_raw), 7892 7893 .c_i_raw = NULL, 7894 .c_i_raw_len = 0, 7895 .c_i_raw_int = &test_vector_6_c_i_raw, 7896 7897 .c_r_raw = NULL, 7898 .c_r_raw_len = 0, 7899 .c_r_raw_int = &test_vector_6_c_r_raw, 7900 }, 7901 };