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; 273 uint32_t ca_len; 274 275 const uint8_t *ca_pk; 276 uint32_t ca_pk_len; 277 278 const uint8_t *i_raw; 279 uint32_t i_raw_len; 280 281 const uint8_t *g_i_raw; 282 uint32_t g_i_raw_len; 283 284 const uint8_t *r_raw; 285 uint32_t r_raw_len; 286 287 const uint8_t *g_r_raw; 288 uint32_t g_r_raw_len; 289 290 const uint8_t *c_i_raw; 291 uint32_t c_i_raw_len; 292 int32_t *c_i_raw_int; 293 294 const uint8_t *c_r_raw; 295 uint32_t c_r_raw_len; 296 int32_t *c_r_raw_int; 297 }; 298 299 300 /***************** test_vector_1 ************/ 301 302 static const uint8_t test_vector_1_method[] = { 303 0x03}; 304 static const uint8_t test_vector_1_suites_i[] = { 305 0x00}; 306 static const uint8_t test_vector_1_suites_r[] = { 307 0x00}; 308 static const uint8_t test_vector_1_x_raw[] = { 309 0xb3, 0x11, 0x19, 0x98, 0xcb, 0x3f, 0x66, 0x86, 310 0x63, 0xed, 0x42, 0x51, 0xc7, 0x8b, 0xe6, 0xe9, 311 0x5a, 0x4d, 0xa1, 0x27, 0xe4, 0xf6, 0xfe, 0xe2, 312 0x75, 0xe8, 0x55, 0xd8, 0xd9, 0xdf, 0xd8, 0xed}; 313 static const uint8_t test_vector_1_g_x_raw[] = { 314 0x3a, 0xa9, 0xeb, 0x32, 0x01, 0xb3, 0x36, 0x7b, 315 0x8c, 0x8b, 0xe3, 0x8d, 0x91, 0xe5, 0x7a, 0x2b, 316 0x43, 0x3e, 0x67, 0x88, 0x8c, 0x86, 0xd2, 0xac, 317 0x00, 0x6a, 0x52, 0x08, 0x42, 0xed, 0x50, 0x37}; 318 static const uint8_t test_vector_1_g_x[] = { 319 0x58, 0x20, 0x3a, 0xa9, 0xeb, 0x32, 0x01, 0xb3, 320 0x36, 0x7b, 0x8c, 0x8b, 0xe3, 0x8d, 0x91, 0xe5, 321 0x7a, 0x2b, 0x43, 0x3e, 0x67, 0x88, 0x8c, 0x86, 322 0xd2, 0xac, 0x00, 0x6a, 0x52, 0x08, 0x42, 0xed, 323 0x50, 0x37}; 324 int32_t test_vector_1_c_i_raw = 12; 325 static const uint8_t test_vector_1_c_i[] = { 326 0x0c}; 327 static const uint8_t test_vector_1_ead_1[] = { 328 }; 329 static const uint8_t test_vector_1_message_1[] = { 330 0x03, 0x00, 0x58, 0x20, 0x3a, 0xa9, 0xeb, 0x32, 331 0x01, 0xb3, 0x36, 0x7b, 0x8c, 0x8b, 0xe3, 0x8d, 332 0x91, 0xe5, 0x7a, 0x2b, 0x43, 0x3e, 0x67, 0x88, 333 0x8c, 0x86, 0xd2, 0xac, 0x00, 0x6a, 0x52, 0x08, 334 0x42, 0xed, 0x50, 0x37, 0x0c}; 335 static const uint8_t test_vector_1_y_raw[] = { 336 0xbd, 0x86, 0xea, 0xf4, 0x06, 0x5a, 0x83, 0x6c, 337 0xd2, 0x9d, 0x0f, 0x06, 0x91, 0xca, 0x2a, 0x8e, 338 0xc1, 0x3f, 0x51, 0xd1, 0xc4, 0x5e, 0x1b, 0x43, 339 0x72, 0xc0, 0xcb, 0xe4, 0x93, 0xce, 0xf6, 0xbd}; 340 static const uint8_t test_vector_1_g_y_raw[] = { 341 0x25, 0x54, 0x91, 0xb0, 0x5a, 0x39, 0x89, 0xff, 342 0x2d, 0x3f, 0xfe, 0xa6, 0x20, 0x98, 0xaa, 0xb5, 343 0x7c, 0x16, 0x0f, 0x29, 0x4e, 0xd9, 0x48, 0x01, 344 0x8b, 0x41, 0x90, 0xf7, 0xd1, 0x61, 0x82, 0x4e}; 345 static const uint8_t test_vector_1_g_y[] = { 346 0x58, 0x20, 0x25, 0x54, 0x91, 0xb0, 0x5a, 0x39, 347 0x89, 0xff, 0x2d, 0x3f, 0xfe, 0xa6, 0x20, 0x98, 348 0xaa, 0xb5, 0x7c, 0x16, 0x0f, 0x29, 0x4e, 0xd9, 349 0x48, 0x01, 0x8b, 0x41, 0x90, 0xf7, 0xd1, 0x61, 350 0x82, 0x4e}; 351 static const uint8_t test_vector_1_g_xy_raw[] = { 352 0x6d, 0x26, 0x60, 0xec, 0x2b, 0x30, 0x15, 0xd9, 353 0x3f, 0xe6, 0x5d, 0xae, 0xa5, 0x12, 0x74, 0xbd, 354 0x5b, 0x1e, 0xbb, 0xad, 0x9b, 0x62, 0x4e, 0x67, 355 0x0e, 0x79, 0xa6, 0x55, 0xe3, 0x0e, 0xc3, 0x4d}; 356 static const uint8_t test_vector_1_salt_raw[] = { 357 }; 358 static const uint8_t test_vector_1_prk_2e_raw[] = { 359 0xd1, 0xd0, 0x11, 0xa5, 0x9a, 0x6d, 0x10, 0x57, 360 0x5e, 0xb2, 0x20, 0xc7, 0x65, 0x2e, 0x6f, 0x98, 361 0xc4, 0x17, 0xa5, 0x65, 0xe4, 0xe4, 0x5c, 0xf5, 362 0xb5, 0x01, 0x06, 0x95, 0x04, 0x3b, 0x0e, 0xb7}; 363 static const uint8_t test_vector_1_r_raw[] = { 364 0x52, 0x8b, 0x49, 0xc6, 0x70, 0xf8, 0xfc, 0x16, 365 0xa2, 0xad, 0x95, 0xc1, 0x88, 0x5b, 0x2e, 0x24, 366 0xfb, 0x15, 0x76, 0x22, 0x72, 0x79, 0x2a, 0xa1, 367 0xcf, 0x05, 0x1d, 0xf5, 0xd9, 0x3d, 0x36, 0x94}; 368 static const uint8_t test_vector_1_g_r_raw[] = { 369 0xe6, 0x6f, 0x35, 0x59, 0x90, 0x22, 0x3c, 0x3f, 370 0x6c, 0xaf, 0xf8, 0x62, 0xe4, 0x07, 0xed, 0xd1, 371 0x17, 0x4d, 0x07, 0x01, 0xa0, 0x9e, 0xcd, 0x6a, 372 0x15, 0xce, 0xe2, 0xc6, 0xce, 0x21, 0xaa, 0x50}; 373 static const uint8_t test_vector_1_g_rx_raw[] = { 374 0xb5, 0x8b, 0x40, 0x34, 0x26, 0xc0, 0x3d, 0xb0, 375 0x7b, 0xaa, 0x93, 0x44, 0xd5, 0x51, 0xe6, 0x7b, 376 0x21, 0x78, 0xbf, 0x05, 0xec, 0x6f, 0x52, 0xc3, 377 0x6a, 0x2f, 0xa5, 0xbe, 0x23, 0x2d, 0xd4, 0x78}; 378 static const uint8_t test_vector_1_prk_3e2m_raw[] = { 379 0x76, 0x8e, 0x13, 0x75, 0x27, 0x2e, 0x1e, 0x68, 380 0xb4, 0x2c, 0xa3, 0x24, 0x84, 0x80, 0xd5, 0xbb, 381 0xa8, 0x8b, 0xcb, 0x55, 0xf6, 0x60, 0xce, 0x7f, 382 0x94, 0x1e, 0x67, 0x09, 0x10, 0x31, 0x17, 0xa1}; 383 static const uint8_t test_vector_1_c_r_raw[] = { 384 }; 385 static const uint8_t test_vector_1_c_r[] = { 386 0x40}; 387 static const uint8_t test_vector_1_h_message_1_raw[] = { 388 0x9b, 0xdd, 0xb0, 0xcd, 0x55, 0x48, 0x7f, 0x82, 389 0xa8, 0x6f, 0xb7, 0x2a, 0x8b, 0xb3, 0x58, 0x52, 390 0x68, 0x91, 0xa0, 0xa6, 0xc9, 0x08, 0x61, 0x24, 391 0x12, 0xf5, 0xaf, 0x29, 0x9d, 0xaf, 0x01, 0x96}; 392 static const uint8_t test_vector_1_h_message_1[] = { 393 0x58, 0x20, 0x9b, 0xdd, 0xb0, 0xcd, 0x55, 0x48, 394 0x7f, 0x82, 0xa8, 0x6f, 0xb7, 0x2a, 0x8b, 0xb3, 395 0x58, 0x52, 0x68, 0x91, 0xa0, 0xa6, 0xc9, 0x08, 396 0x61, 0x24, 0x12, 0xf5, 0xaf, 0x29, 0x9d, 0xaf, 397 0x01, 0x96}; 398 static const uint8_t test_vector_1_input_th_2[] = { 399 0x58, 0x20, 0x9b, 0xdd, 0xb0, 0xcd, 0x55, 0x48, 400 0x7f, 0x82, 0xa8, 0x6f, 0xb7, 0x2a, 0x8b, 0xb3, 401 0x58, 0x52, 0x68, 0x91, 0xa0, 0xa6, 0xc9, 0x08, 402 0x61, 0x24, 0x12, 0xf5, 0xaf, 0x29, 0x9d, 0xaf, 403 0x01, 0x96, 0x58, 0x20, 0x25, 0x54, 0x91, 0xb0, 404 0x5a, 0x39, 0x89, 0xff, 0x2d, 0x3f, 0xfe, 0xa6, 405 0x20, 0x98, 0xaa, 0xb5, 0x7c, 0x16, 0x0f, 0x29, 406 0x4e, 0xd9, 0x48, 0x01, 0x8b, 0x41, 0x90, 0xf7, 407 0xd1, 0x61, 0x82, 0x4e, 0x40}; 408 static const uint8_t test_vector_1_th_2_raw[] = { 409 0x71, 0xa6, 0xc7, 0xc5, 0xba, 0x9a, 0xd4, 0x7f, 410 0xe7, 0x2d, 0xa4, 0xdc, 0x35, 0x9b, 0xf6, 0xb2, 411 0x76, 0xd3, 0x51, 0x59, 0x68, 0x71, 0x1b, 0x9a, 412 0x91, 0x1c, 0x71, 0xfc, 0x09, 0x6a, 0xee, 0x0e}; 413 static const uint8_t test_vector_1_th_2[] = { 414 0x58, 0x20, 0x71, 0xa6, 0xc7, 0xc5, 0xba, 0x9a, 415 0xd4, 0x7f, 0xe7, 0x2d, 0xa4, 0xdc, 0x35, 0x9b, 416 0xf6, 0xb2, 0x76, 0xd3, 0x51, 0x59, 0x68, 0x71, 417 0x1b, 0x9a, 0x91, 0x1c, 0x71, 0xfc, 0x09, 0x6a, 418 0xee, 0x0e}; 419 static const uint8_t test_vector_1_id_cred_r[] = { 420 0xa1, 0x04, 0x05}; 421 static const uint8_t test_vector_1_cred_r[] = { 422 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 423 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 424 0x01, 0xa4, 0x01, 0x01, 0x02, 0x05, 0x20, 0x04, 425 0x21, 0x58, 0x20, 0xe6, 0x6f, 0x35, 0x59, 0x90, 426 0x22, 0x3c, 0x3f, 0x6c, 0xaf, 0xf8, 0x62, 0xe4, 427 0x07, 0xed, 0xd1, 0x17, 0x4d, 0x07, 0x01, 0xa0, 428 0x9e, 0xcd, 0x6a, 0x15, 0xce, 0xe2, 0xc6, 0xce, 429 0x21, 0xaa, 0x50}; 430 static const uint8_t test_vector_1_ead_2[] = { 431 }; 432 static const uint8_t test_vector_1_info_mac_2[] = { 433 0x58, 0x20, 0x71, 0xa6, 0xc7, 0xc5, 0xba, 0x9a, 434 0xd4, 0x7f, 0xe7, 0x2d, 0xa4, 0xdc, 0x35, 0x9b, 435 0xf6, 0xb2, 0x76, 0xd3, 0x51, 0x59, 0x68, 0x71, 436 0x1b, 0x9a, 0x91, 0x1c, 0x71, 0xfc, 0x09, 0x6a, 437 0xee, 0x0e, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 438 0x58, 0x3e, 0xa1, 0x04, 0x05, 0xa2, 0x02, 0x6b, 439 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 440 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 441 0x01, 0x02, 0x05, 0x20, 0x04, 0x21, 0x58, 0x20, 442 0xe6, 0x6f, 0x35, 0x59, 0x90, 0x22, 0x3c, 0x3f, 443 0x6c, 0xaf, 0xf8, 0x62, 0xe4, 0x07, 0xed, 0xd1, 444 0x17, 0x4d, 0x07, 0x01, 0xa0, 0x9e, 0xcd, 0x6a, 445 0x15, 0xce, 0xe2, 0xc6, 0xce, 0x21, 0xaa, 0x50, 446 0x08}; 447 static const uint8_t test_vector_1_mac_2_raw[] = { 448 0x8e, 0x27, 0xcb, 0xd4, 0x94, 0xf7, 0x52, 0x83}; 449 static const uint8_t test_vector_1_mac_2[] = { 450 0x48, 0x8e, 0x27, 0xcb, 0xd4, 0x94, 0xf7, 0x52, 451 0x83}; 452 static const uint8_t test_vector_1_sig_or_mac_2_raw[] = { 453 0x8e, 0x27, 0xcb, 0xd4, 0x94, 0xf7, 0x52, 0x83}; 454 static const uint8_t test_vector_1_sig_or_mac_2[] = { 455 0x48, 0x8e, 0x27, 0xcb, 0xd4, 0x94, 0xf7, 0x52, 456 0x83}; 457 static const uint8_t test_vector_1_plaintext_2[] = { 458 0x05, 0x48, 0x8e, 0x27, 0xcb, 0xd4, 0x94, 0xf7, 459 0x52, 0x83}; 460 static const uint8_t test_vector_1_info_keystream_2[] = { 461 0x58, 0x20, 0x71, 0xa6, 0xc7, 0xc5, 0xba, 0x9a, 462 0xd4, 0x7f, 0xe7, 0x2d, 0xa4, 0xdc, 0x35, 0x9b, 463 0xf6, 0xb2, 0x76, 0xd3, 0x51, 0x59, 0x68, 0x71, 464 0x1b, 0x9a, 0x91, 0x1c, 0x71, 0xfc, 0x09, 0x6a, 465 0xee, 0x0e, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 466 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x0a}; 467 static const uint8_t test_vector_1_keystream_2_raw[] = { 468 0x0a, 0xb8, 0xc2, 0x0e, 0x84, 0x9e, 0x52, 0xf5, 469 0x9d, 0xfb}; 470 static const uint8_t test_vector_1_ciphertext_2_raw[] = { 471 0x0f, 0xf0, 0x4c, 0x29, 0x4f, 0x4a, 0xc6, 0x02, 472 0xcf, 0x78}; 473 static const uint8_t test_vector_1_ciphertext_2[] = { 474 0x4a, 0x0f, 0xf0, 0x4c, 0x29, 0x4f, 0x4a, 0xc6, 475 0x02, 0xcf, 0x78}; 476 static const uint8_t test_vector_1_message_2[] = { 477 0x58, 0x2a, 0x25, 0x54, 0x91, 0xb0, 0x5a, 0x39, 478 0x89, 0xff, 0x2d, 0x3f, 0xfe, 0xa6, 0x20, 0x98, 479 0xaa, 0xb5, 0x7c, 0x16, 0x0f, 0x29, 0x4e, 0xd9, 480 0x48, 0x01, 0x8b, 0x41, 0x90, 0xf7, 0xd1, 0x61, 481 0x82, 0x4e, 0x0f, 0xf0, 0x4c, 0x29, 0x4f, 0x4a, 482 0xc6, 0x02, 0xcf, 0x78, 0x40}; 483 static const uint8_t test_vector_1_i_raw[] = { 484 0xcf, 0xc4, 0xb6, 0xed, 0x22, 0xe7, 0x00, 0xa3, 485 0x0d, 0x5c, 0x5b, 0xcd, 0x61, 0xf1, 0xf0, 0x20, 486 0x49, 0xde, 0x23, 0x54, 0x62, 0x33, 0x48, 0x93, 487 0xd6, 0xff, 0x9f, 0x0c, 0xfe, 0xa3, 0xfe, 0x04}; 488 static const uint8_t test_vector_1_g_i_raw[] = { 489 0x4a, 0x49, 0xd8, 0x8c, 0xd5, 0xd8, 0x41, 0xfa, 490 0xb7, 0xef, 0x98, 0x3e, 0x91, 0x1d, 0x25, 0x78, 491 0x86, 0x1f, 0x95, 0x88, 0x4f, 0x9f, 0x5d, 0xc4, 492 0x2a, 0x2e, 0xed, 0x33, 0xde, 0x79, 0xed, 0x77}; 493 static const uint8_t test_vector_1_g_iy_raw[] = { 494 0x0a, 0xf4, 0x2a, 0xd5, 0x12, 0xdc, 0x3e, 0x97, 495 0x2b, 0x3a, 0xc4, 0xd4, 0x7b, 0xa3, 0x3f, 0xfc, 496 0x21, 0xf1, 0xae, 0x6f, 0x07, 0xf2, 0xf8, 0x94, 497 0x85, 0x4a, 0x5a, 0x47, 0x44, 0x33, 0x85, 0x48}; 498 static const uint8_t test_vector_1_prk_4x3m_raw[] = { 499 0xb8, 0xcc, 0xdf, 0x14, 0x20, 0xb5, 0xb0, 0xc8, 500 0x2a, 0x58, 0x7e, 0x7d, 0x26, 0xdd, 0x7b, 0x70, 501 0x48, 0x57, 0x4c, 0x3a, 0x48, 0xdf, 0x9f, 0x6a, 502 0x45, 0xf7, 0x21, 0xc0, 0xcf, 0xa4, 0xb2, 0x7c}; 503 static const uint8_t test_vector_1_input_TH_3[] = { 504 0x58, 0x20, 0x71, 0xa6, 0xc7, 0xc5, 0xba, 0x9a, 505 0xd4, 0x7f, 0xe7, 0x2d, 0xa4, 0xdc, 0x35, 0x9b, 506 0xf6, 0xb2, 0x76, 0xd3, 0x51, 0x59, 0x68, 0x71, 507 0x1b, 0x9a, 0x91, 0x1c, 0x71, 0xfc, 0x09, 0x6a, 508 0xee, 0x0e, 0x4a, 0x0f, 0xf0, 0x4c, 0x29, 0x4f, 509 0x4a, 0xc6, 0x02, 0xcf, 0x78}; 510 static const uint8_t test_vector_1_th_3_raw[] = { 511 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 0x2e, 0x46, 512 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 0x20, 0x70, 513 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 0xc2, 0x62, 514 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 0xa3, 0x70}; 515 static const uint8_t test_vector_1_th_3[] = { 516 0x58, 0x20, 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 517 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 518 0x20, 0x70, 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 519 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 520 0xa3, 0x70}; 521 static const uint8_t test_vector_1_id_cred_i[] = { 522 0xa1, 0x04, 0x29}; 523 static const uint8_t test_vector_1_cred_i[] = { 524 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 525 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 526 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 527 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 528 0x02, 0x29, 0x20, 0x04, 0x21, 0x58, 0x20, 0x4a, 529 0x49, 0xd8, 0x8c, 0xd5, 0xd8, 0x41, 0xfa, 0xb7, 530 0xef, 0x98, 0x3e, 0x91, 0x1d, 0x25, 0x78, 0x86, 531 0x1f, 0x95, 0x88, 0x4f, 0x9f, 0x5d, 0xc4, 0x2a, 532 0x2e, 0xed, 0x33, 0xde, 0x79, 0xed, 0x77}; 533 static const uint8_t test_vector_1_ead_3[] = { 534 }; 535 static const uint8_t test_vector_1_info_mac_3[] = { 536 0x58, 0x20, 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 537 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 538 0x20, 0x70, 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 539 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 540 0xa3, 0x70, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 541 0x58, 0x4a, 0xa1, 0x04, 0x29, 0xa2, 0x02, 0x77, 542 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 543 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 544 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 545 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x29, 0x20, 546 0x04, 0x21, 0x58, 0x20, 0x4a, 0x49, 0xd8, 0x8c, 547 0xd5, 0xd8, 0x41, 0xfa, 0xb7, 0xef, 0x98, 0x3e, 548 0x91, 0x1d, 0x25, 0x78, 0x86, 0x1f, 0x95, 0x88, 549 0x4f, 0x9f, 0x5d, 0xc4, 0x2a, 0x2e, 0xed, 0x33, 550 0xde, 0x79, 0xed, 0x77, 0x08}; 551 static const uint8_t test_vector_1_mac_3_raw[] = { 552 0xdb, 0x0b, 0x8f, 0x75, 0x27, 0x09, 0x53, 0xda}; 553 static const uint8_t test_vector_1_mac_3[] = { 554 0x48, 0xdb, 0x0b, 0x8f, 0x75, 0x27, 0x09, 0x53, 555 0xda}; 556 static const uint8_t test_vector_1_sig_or_mac_3_raw[] = { 557 0xdb, 0x0b, 0x8f, 0x75, 0x27, 0x09, 0x53, 0xda}; 558 static const uint8_t test_vector_1_sig_or_mac_3[] = { 559 0x48, 0xdb, 0x0b, 0x8f, 0x75, 0x27, 0x09, 0x53, 560 0xda}; 561 static const uint8_t test_vector_1_p_3[] = { 562 0x29, 0x48, 0xdb, 0x0b, 0x8f, 0x75, 0x27, 0x09, 563 0x53, 0xda}; 564 static const uint8_t test_vector_1_a_3[] = { 565 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 566 0x74, 0x30, 0x40, 0x58, 0x20, 0xa4, 0x90, 0x07, 567 0xce, 0x54, 0x76, 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 568 0x44, 0x69, 0x2f, 0x20, 0x70, 0xd3, 0xe9, 0xeb, 569 0x00, 0xf9, 0x5a, 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 570 0xf7, 0xfb, 0x24, 0xa3, 0x70}; 571 static const uint8_t test_vector_1_info_k_3[] = { 572 0x58, 0x20, 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 573 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 574 0x20, 0x70, 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 575 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 576 0xa3, 0x70, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 577 static const uint8_t test_vector_1_k_3_raw[] = { 578 0x2a, 0x30, 0xe4, 0xf6, 0xbc, 0x55, 0x8d, 0x0e, 579 0x7a, 0x8c, 0x63, 0xee, 0x7b, 0xb5, 0x45, 0x7f}; 580 static const uint8_t test_vector_1_info_iv_3[] = { 581 0x58, 0x20, 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 582 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 583 0x20, 0x70, 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 584 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 585 0xa3, 0x70, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 586 0x0d}; 587 static const uint8_t test_vector_1_iv_3_raw[] = { 588 0xb3, 0x8f, 0xb6, 0x31, 0xe3, 0x44, 0xa8, 0x10, 589 0x52, 0x56, 0x32, 0xed, 0xf8}; 590 static const uint8_t test_vector_1_ciphertext_3_raw[] = { 591 0xbe, 0x01, 0x46, 0xc1, 0x36, 0xac, 0x2e, 0xff, 592 0xd4, 0x53, 0xa7, 0x5e, 0xfa, 0x90, 0x89, 0x6f, 593 0x65, 0x3b}; 594 static const uint8_t test_vector_1_ciphertext_3[] = { 595 0x52, 0xbe, 0x01, 0x46, 0xc1, 0x36, 0xac, 0x2e, 596 0xff, 0xd4, 0x53, 0xa7, 0x5e, 0xfa, 0x90, 0x89, 597 0x6f, 0x65, 0x3b}; 598 static const uint8_t test_vector_1_message_3[] = { 599 0x52, 0xbe, 0x01, 0x46, 0xc1, 0x36, 0xac, 0x2e, 600 0xff, 0xd4, 0x53, 0xa7, 0x5e, 0xfa, 0x90, 0x89, 601 0x6f, 0x65, 0x3b}; 602 static const uint8_t test_vector_1_input_th_4[] = { 603 0x58, 0x20, 0xa4, 0x90, 0x07, 0xce, 0x54, 0x76, 604 0x2e, 0x46, 0x7c, 0x4e, 0x4a, 0x44, 0x69, 0x2f, 605 0x20, 0x70, 0xd3, 0xe9, 0xeb, 0x00, 0xf9, 0x5a, 606 0xc2, 0x62, 0x9b, 0x2b, 0xbe, 0xf7, 0xfb, 0x24, 607 0xa3, 0x70, 0x52, 0xbe, 0x01, 0x46, 0xc1, 0x36, 608 0xac, 0x2e, 0xff, 0xd4, 0x53, 0xa7, 0x5e, 0xfa, 609 0x90, 0x89, 0x6f, 0x65, 0x3b}; 610 static const uint8_t test_vector_1_th_4_raw[] = { 611 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 0x88, 0x49, 612 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 0x55, 0x40, 613 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 0xd0, 0x00, 614 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 0x84, 0xeb}; 615 static const uint8_t test_vector_1_th_4[] = { 616 0x58, 0x20, 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 617 0x88, 0x49, 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 618 0x55, 0x40, 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 619 0xd0, 0x00, 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 620 0x84, 0xeb}; 621 static const uint8_t test_vector_1_ead_4[] = { 622 }; 623 static const uint8_t test_vector_1_p_4[] = { 624 }; 625 static const uint8_t test_vector_1_a_4[] = { 626 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 627 0x74, 0x30, 0x40, 0x58, 0x20, 0x4b, 0x9a, 0xdd, 628 0x2a, 0x9e, 0xeb, 0x88, 0x49, 0x71, 0x6c, 0x79, 629 0x68, 0x78, 0x4f, 0x55, 0x40, 0xdd, 0x64, 0xa3, 630 0xbb, 0x07, 0xf8, 0xd0, 0x00, 0xad, 0xce, 0x88, 631 0xb6, 0x30, 0xd8, 0x84, 0xeb}; 632 static const uint8_t test_vector_1_info_k_4[] = { 633 0x58, 0x20, 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 634 0x88, 0x49, 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 635 0x55, 0x40, 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 636 0xd0, 0x00, 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 637 0x84, 0xeb, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 638 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 639 static const uint8_t test_vector_1_k_4_raw[] = { 640 0x55, 0xb5, 0x7d, 0x59, 0xa8, 0x26, 0xf4, 0x56, 641 0x38, 0x86, 0x9b, 0x75, 0x07, 0x0b, 0x11, 0x17}; 642 static const uint8_t test_vector_1_info_iv_4[] = { 643 0x58, 0x20, 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 644 0x88, 0x49, 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 645 0x55, 0x40, 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 646 0xd0, 0x00, 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 647 0x84, 0xeb, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 648 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 649 static const uint8_t test_vector_1_iv_4_raw[] = { 650 0x20, 0x7a, 0x4e, 0xfc, 0x25, 0xa6, 0x58, 0x96, 651 0x45, 0x11, 0xf1, 0x63, 0x76}; 652 static const uint8_t test_vector_1_ciphertext_4_raw[] = { 653 0xe9, 0xe6, 0xc8, 0xb6, 0x37, 0x6d, 0xb0, 0xb1}; 654 static const uint8_t test_vector_1_ciphertext_4[] = { 655 0x48, 0xe9, 0xe6, 0xc8, 0xb6, 0x37, 0x6d, 0xb0, 656 0xb1}; 657 static const uint8_t test_vector_1_message_4[] = { 658 0x48, 0xe9, 0xe6, 0xc8, 0xb6, 0x37, 0x6d, 0xb0, 659 0xb1}; 660 int32_t test_vector_1_oscore_aead_alg = 10; 661 int32_t test_vector_1_oscore_hash_alg = -16; 662 static const uint8_t test_vector_1_client_sender_id_raw[] = { 663 }; 664 static const uint8_t test_vector_1_server_sender_id_raw[] = { 665 0x0c}; 666 static const uint8_t test_vector_1_info_oscore_secret[] = { 667 0x58, 0x20, 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 668 0x88, 0x49, 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 669 0x55, 0x40, 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 670 0xd0, 0x00, 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 671 0x84, 0xeb, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 672 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 673 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 674 0x10}; 675 static const uint8_t test_vector_1_oscore_secret_raw[] = { 676 0xc0, 0x53, 0x01, 0x37, 0x6c, 0xe9, 0x5f, 0x67, 677 0xc4, 0x14, 0xd8, 0xbb, 0x5f, 0x0f, 0xdb, 0x5e}; 678 static const uint8_t test_vector_1_info_oscore_salt[] = { 679 0x58, 0x20, 0x4b, 0x9a, 0xdd, 0x2a, 0x9e, 0xeb, 680 0x88, 0x49, 0x71, 0x6c, 0x79, 0x68, 0x78, 0x4f, 681 0x55, 0x40, 0xdd, 0x64, 0xa3, 0xbb, 0x07, 0xf8, 682 0xd0, 0x00, 0xad, 0xce, 0x88, 0xb6, 0x30, 0xd8, 683 0x84, 0xeb, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 684 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 685 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 686 static const uint8_t test_vector_1_oscore_salt_raw[] = { 687 0x74, 0x01, 0xb4, 0x6f, 0xa8, 0x2f, 0x66, 0x31}; 688 static const uint8_t test_vector_1_key_update_nonce_raw[] = { 689 0xd4, 0x91, 0xa2, 0x04, 0xca, 0xa6, 0xb8, 0x02, 690 0x54, 0xc4, 0x71, 0xe0, 0xde, 0xee, 0xd1, 0x60}; 691 static const uint8_t test_vector_1_prk_4x3m_key_update_raw[] = { 692 0x82, 0x09, 0x6e, 0x3a, 0xe6, 0x3d, 0x93, 0xc7, 693 0xb6, 0xf8, 0x8b, 0x7c, 0x1b, 0x5e, 0x63, 0xf4, 694 0x9f, 0x74, 0xc8, 0x0e, 0xf3, 0x14, 0x42, 0x51, 695 0x9f, 0xfb, 0x20, 0xe2, 0xf8, 0x87, 0x3e, 0xb1}; 696 static const uint8_t test_vector_1_oscore_secret_key_update_raw[] = { 697 0xa5, 0x15, 0x23, 0x1d, 0x9e, 0xc5, 0x88, 0x74, 698 0x82, 0x22, 0x6b, 0xf9, 0xe0, 0xda, 0x05, 0xce}; 699 static const uint8_t test_vector_1_oscore_salt_key_update_raw[] = { 700 0x50, 0x57, 0xe5, 0x92, 0xed, 0x8b, 0x11, 0x28}; 701 702 /***************** test_vector_2 ************/ 703 704 static const uint8_t test_vector_2_method[] = { 705 0x02}; 706 static const uint8_t test_vector_2_suites_i[] = { 707 0x00}; 708 static const uint8_t test_vector_2_suites_r[] = { 709 0x00}; 710 static const uint8_t test_vector_2_x_raw[] = { 711 0x27, 0xe0, 0x8b, 0xe5, 0x63, 0x2f, 0x9e, 0x1b, 712 0x3f, 0x3b, 0xb2, 0xd3, 0xad, 0x04, 0xd7, 0xea, 713 0x00, 0x0e, 0x0d, 0xfb, 0x31, 0x4b, 0xeb, 0x6d, 714 0xb7, 0x2c, 0x5d, 0x72, 0x55, 0xaa, 0xb4, 0xe8}; 715 static const uint8_t test_vector_2_g_x_raw[] = { 716 0xc1, 0x99, 0xb9, 0x61, 0x5a, 0x92, 0x96, 0xa0, 717 0x34, 0xb0, 0x60, 0xda, 0x80, 0xd9, 0xc0, 0x7a, 718 0x6f, 0x10, 0xf9, 0x57, 0x84, 0xae, 0xdc, 0x7d, 719 0x7e, 0xc0, 0x70, 0xb4, 0x1b, 0x58, 0x8e, 0x18}; 720 static const uint8_t test_vector_2_g_x[] = { 721 0x58, 0x20, 0xc1, 0x99, 0xb9, 0x61, 0x5a, 0x92, 722 0x96, 0xa0, 0x34, 0xb0, 0x60, 0xda, 0x80, 0xd9, 723 0xc0, 0x7a, 0x6f, 0x10, 0xf9, 0x57, 0x84, 0xae, 724 0xdc, 0x7d, 0x7e, 0xc0, 0x70, 0xb4, 0x1b, 0x58, 725 0x8e, 0x18}; 726 int32_t test_vector_2_c_i_raw = -9; 727 static const uint8_t test_vector_2_c_i[] = { 728 0x28}; 729 static const uint8_t test_vector_2_ead_1[] = { 730 }; 731 static const uint8_t test_vector_2_message_1[] = { 732 0x02, 0x00, 0x58, 0x20, 0xc1, 0x99, 0xb9, 0x61, 733 0x5a, 0x92, 0x96, 0xa0, 0x34, 0xb0, 0x60, 0xda, 734 0x80, 0xd9, 0xc0, 0x7a, 0x6f, 0x10, 0xf9, 0x57, 735 0x84, 0xae, 0xdc, 0x7d, 0x7e, 0xc0, 0x70, 0xb4, 736 0x1b, 0x58, 0x8e, 0x18, 0x28}; 737 static const uint8_t test_vector_2_y_raw[] = { 738 0x6c, 0x3d, 0x91, 0x0b, 0xb2, 0x57, 0xd7, 0x7f, 739 0x4a, 0x5e, 0x75, 0xdf, 0x4f, 0x9e, 0xe8, 0x90, 740 0x8e, 0xcc, 0x53, 0x38, 0x73, 0xe5, 0x36, 0xf3, 741 0x3d, 0x95, 0xd3, 0x4e, 0x0c, 0xa8, 0x3f, 0xeb}; 742 static const uint8_t test_vector_2_g_y_raw[] = { 743 0xb0, 0xe3, 0x89, 0x41, 0x2d, 0x9b, 0x57, 0x60, 744 0x68, 0x7c, 0x11, 0xee, 0x3a, 0x35, 0x82, 0x9c, 745 0xfd, 0x5b, 0x9d, 0x9c, 0x80, 0x3f, 0x98, 0x00, 746 0x41, 0xe6, 0x01, 0xc1, 0xf4, 0xdd, 0x66, 0x01}; 747 static const uint8_t test_vector_2_g_y[] = { 748 0x58, 0x20, 0xb0, 0xe3, 0x89, 0x41, 0x2d, 0x9b, 749 0x57, 0x60, 0x68, 0x7c, 0x11, 0xee, 0x3a, 0x35, 750 0x82, 0x9c, 0xfd, 0x5b, 0x9d, 0x9c, 0x80, 0x3f, 751 0x98, 0x00, 0x41, 0xe6, 0x01, 0xc1, 0xf4, 0xdd, 752 0x66, 0x01}; 753 static const uint8_t test_vector_2_g_xy_raw[] = { 754 0xe9, 0x1a, 0x22, 0x8b, 0xe4, 0x95, 0xca, 0xc8, 755 0x37, 0x00, 0x3b, 0x1d, 0xbd, 0x6a, 0xb0, 0xa8, 756 0x64, 0x0d, 0x13, 0x55, 0x32, 0x13, 0x86, 0x20, 757 0x82, 0xc7, 0xc6, 0xe5, 0x1c, 0x02, 0xa6, 0x03}; 758 static const uint8_t test_vector_2_salt_raw[] = { 759 }; 760 static const uint8_t test_vector_2_prk_2e_raw[] = { 761 0x82, 0x0c, 0xc3, 0xed, 0xc2, 0x2b, 0xe8, 0x96, 762 0x17, 0x78, 0x7e, 0xa1, 0x5d, 0xe3, 0x8c, 0xa7, 763 0x2f, 0x2f, 0x67, 0xe3, 0xf4, 0xfa, 0x0a, 0xf2, 764 0xd0, 0xaa, 0xac, 0x48, 0xd1, 0x64, 0xc1, 0x1e}; 765 static const uint8_t test_vector_2_sk_r_raw[] = { 766 0x85, 0x23, 0x3c, 0x87, 0x90, 0xa2, 0x19, 0x1f, 767 0x7a, 0x19, 0x5c, 0x9f, 0x5c, 0x86, 0x18, 0x9e, 768 0x08, 0xc7, 0xc9, 0x78, 0xfa, 0xb7, 0xe6, 0x93, 769 0x8b, 0x9a, 0xba, 0xe7, 0x68, 0xbb, 0x6f, 0xbd}; 770 static const uint8_t test_vector_2_pk_r_raw[] = { 771 0x6d, 0xa4, 0x1e, 0x54, 0x9d, 0x8f, 0xf4, 0x2b, 772 0xe9, 0xc6, 0x85, 0xd8, 0xc3, 0xc4, 0x5c, 0x31, 773 0xe6, 0xd6, 0x55, 0x3d, 0xf2, 0xf7, 0xb5, 0x23, 774 0xf8, 0xff, 0x1d, 0x8f, 0xf0, 0x68, 0x46, 0x8b}; 775 static const uint8_t test_vector_2_prk_3e2m_raw[] = { 776 0x82, 0x0c, 0xc3, 0xed, 0xc2, 0x2b, 0xe8, 0x96, 777 0x17, 0x78, 0x7e, 0xa1, 0x5d, 0xe3, 0x8c, 0xa7, 778 0x2f, 0x2f, 0x67, 0xe3, 0xf4, 0xfa, 0x0a, 0xf2, 779 0xd0, 0xaa, 0xac, 0x48, 0xd1, 0x64, 0xc1, 0x1e}; 780 int32_t test_vector_2_c_r_raw = 6; 781 static const uint8_t test_vector_2_c_r[] = { 782 0x06}; 783 static const uint8_t test_vector_2_h_message_1_raw[] = { 784 0x5b, 0xe0, 0x90, 0xbb, 0x6c, 0x10, 0x67, 0x74, 785 0x6e, 0xea, 0x8c, 0x15, 0x28, 0x04, 0x57, 0xeb, 786 0x33, 0xaf, 0x19, 0x9a, 0xf7, 0x9c, 0x83, 0x09, 787 0xf3, 0x67, 0xc0, 0x58, 0xef, 0x4d, 0xa6, 0x4b}; 788 static const uint8_t test_vector_2_h_message_1[] = { 789 0x58, 0x20, 0x5b, 0xe0, 0x90, 0xbb, 0x6c, 0x10, 790 0x67, 0x74, 0x6e, 0xea, 0x8c, 0x15, 0x28, 0x04, 791 0x57, 0xeb, 0x33, 0xaf, 0x19, 0x9a, 0xf7, 0x9c, 792 0x83, 0x09, 0xf3, 0x67, 0xc0, 0x58, 0xef, 0x4d, 793 0xa6, 0x4b}; 794 static const uint8_t test_vector_2_input_th_2[] = { 795 0x58, 0x20, 0x5b, 0xe0, 0x90, 0xbb, 0x6c, 0x10, 796 0x67, 0x74, 0x6e, 0xea, 0x8c, 0x15, 0x28, 0x04, 797 0x57, 0xeb, 0x33, 0xaf, 0x19, 0x9a, 0xf7, 0x9c, 798 0x83, 0x09, 0xf3, 0x67, 0xc0, 0x58, 0xef, 0x4d, 799 0xa6, 0x4b, 0x58, 0x20, 0xb0, 0xe3, 0x89, 0x41, 800 0x2d, 0x9b, 0x57, 0x60, 0x68, 0x7c, 0x11, 0xee, 801 0x3a, 0x35, 0x82, 0x9c, 0xfd, 0x5b, 0x9d, 0x9c, 802 0x80, 0x3f, 0x98, 0x00, 0x41, 0xe6, 0x01, 0xc1, 803 0xf4, 0xdd, 0x66, 0x01, 0x06}; 804 static const uint8_t test_vector_2_th_2_raw[] = { 805 0x48, 0xde, 0x10, 0x7c, 0xc5, 0xb6, 0xec, 0x8b, 806 0xc1, 0xbf, 0x75, 0x5b, 0x28, 0xd6, 0x59, 0xd1, 807 0x80, 0x77, 0x73, 0xc9, 0xf8, 0x07, 0x23, 0x36, 808 0x95, 0xd0, 0x14, 0x8e, 0x84, 0x6b, 0x40, 0x91}; 809 static const uint8_t test_vector_2_th_2[] = { 810 0x58, 0x20, 0x48, 0xde, 0x10, 0x7c, 0xc5, 0xb6, 811 0xec, 0x8b, 0xc1, 0xbf, 0x75, 0x5b, 0x28, 0xd6, 812 0x59, 0xd1, 0x80, 0x77, 0x73, 0xc9, 0xf8, 0x07, 813 0x23, 0x36, 0x95, 0xd0, 0x14, 0x8e, 0x84, 0x6b, 814 0x40, 0x91}; 815 static const uint8_t test_vector_2_id_cred_r[] = { 816 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x47, 0x1f, 817 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11}; 818 static const uint8_t test_vector_2_cred_r[] = { 819 0x58, 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 820 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 821 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 822 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 823 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 824 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 825 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 826 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 827 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 828 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 829 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 830 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 831 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 832 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 833 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 834 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 835 0x7e, 0x7f}; 836 static const uint8_t test_vector_2_ead_2[] = { 837 }; 838 static const uint8_t test_vector_2_info_mac_2[] = { 839 0x58, 0x20, 0x48, 0xde, 0x10, 0x7c, 0xc5, 0xb6, 840 0xec, 0x8b, 0xc1, 0xbf, 0x75, 0x5b, 0x28, 0xd6, 841 0x59, 0xd1, 0x80, 0x77, 0x73, 0xc9, 0xf8, 0x07, 842 0x23, 0x36, 0x95, 0xd0, 0x14, 0x8e, 0x84, 0x6b, 843 0x40, 0x91, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 844 0x58, 0x90, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 845 0x47, 0x1f, 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11, 846 0x58, 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 847 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 848 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 849 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 850 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 851 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 852 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 853 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 854 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 855 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 856 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 857 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 858 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 859 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 860 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 861 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 862 0x7e, 0x7f, 0x18, 0x20}; 863 static const uint8_t test_vector_2_mac_2_raw[] = { 864 0x9d, 0xa7, 0x18, 0x5d, 0xee, 0x3c, 0xed, 0x38, 865 0x27, 0x92, 0xfd, 0xca, 0xa8, 0xcd, 0xef, 0x3f, 866 0xac, 0x56, 0x4a, 0xe2, 0xb3, 0x56, 0xda, 0xd4, 867 0x23, 0x69, 0x86, 0x33, 0xb4, 0x32, 0x98, 0xf0}; 868 static const uint8_t test_vector_2_mac_2[] = { 869 0x58, 0x20, 0x9d, 0xa7, 0x18, 0x5d, 0xee, 0x3c, 870 0xed, 0x38, 0x27, 0x92, 0xfd, 0xca, 0xa8, 0xcd, 871 0xef, 0x3f, 0xac, 0x56, 0x4a, 0xe2, 0xb3, 0x56, 872 0xda, 0xd4, 0x23, 0x69, 0x86, 0x33, 0xb4, 0x32, 873 0x98, 0xf0}; 874 static const uint8_t test_vector_2_m_2[] = { 875 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 876 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 877 0x82, 0x2e, 0x48, 0x47, 0x1f, 0xb9, 0x43, 0xaa, 878 0x23, 0xc5, 0x11, 0x58, 0xa4, 0x58, 0x20, 0x48, 879 0xde, 0x10, 0x7c, 0xc5, 0xb6, 0xec, 0x8b, 0xc1, 880 0xbf, 0x75, 0x5b, 0x28, 0xd6, 0x59, 0xd1, 0x80, 881 0x77, 0x73, 0xc9, 0xf8, 0x07, 0x23, 0x36, 0x95, 882 0xd0, 0x14, 0x8e, 0x84, 0x6b, 0x40, 0x91, 0x58, 883 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 884 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 885 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 886 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 887 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 888 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 889 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 890 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 891 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 892 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 893 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 894 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 895 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 896 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 897 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 898 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 899 0x7f, 0x58, 0x20, 0x9d, 0xa7, 0x18, 0x5d, 0xee, 900 0x3c, 0xed, 0x38, 0x27, 0x92, 0xfd, 0xca, 0xa8, 901 0xcd, 0xef, 0x3f, 0xac, 0x56, 0x4a, 0xe2, 0xb3, 902 0x56, 0xda, 0xd4, 0x23, 0x69, 0x86, 0x33, 0xb4, 903 0x32, 0x98, 0xf0}; 904 static const uint8_t test_vector_2_sig_or_mac_2_raw[] = { 905 0xd3, 0xf3, 0xd6, 0xbb, 0x96, 0xb2, 0x76, 0xd5, 906 0x00, 0xf7, 0xaf, 0x47, 0x64, 0x54, 0x5c, 0xe3, 907 0x71, 0x2c, 0xc3, 0xa5, 0xe2, 0x46, 0xb1, 0xdb, 908 0x85, 0x31, 0xb7, 0xd1, 0x6e, 0x83, 0x6a, 0x59, 909 0xa9, 0x3c, 0x1c, 0x6f, 0xd4, 0xea, 0x24, 0x56, 910 0x42, 0x3e, 0x4a, 0x83, 0x91, 0x3e, 0x73, 0xda, 911 0x05, 0xb4, 0x93, 0x55, 0x88, 0xc2, 0xa8, 0x49, 912 0x53, 0x16, 0x11, 0xc3, 0xde, 0x53, 0x35, 0x07}; 913 static const uint8_t test_vector_2_sig_or_mac_2[] = { 914 0x58, 0x40, 0xd3, 0xf3, 0xd6, 0xbb, 0x96, 0xb2, 915 0x76, 0xd5, 0x00, 0xf7, 0xaf, 0x47, 0x64, 0x54, 916 0x5c, 0xe3, 0x71, 0x2c, 0xc3, 0xa5, 0xe2, 0x46, 917 0xb1, 0xdb, 0x85, 0x31, 0xb7, 0xd1, 0x6e, 0x83, 918 0x6a, 0x59, 0xa9, 0x3c, 0x1c, 0x6f, 0xd4, 0xea, 919 0x24, 0x56, 0x42, 0x3e, 0x4a, 0x83, 0x91, 0x3e, 920 0x73, 0xda, 0x05, 0xb4, 0x93, 0x55, 0x88, 0xc2, 921 0xa8, 0x49, 0x53, 0x16, 0x11, 0xc3, 0xde, 0x53, 922 0x35, 0x07}; 923 static const uint8_t test_vector_2_plaintext_2[] = { 924 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x47, 0x1f, 925 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11, 0x58, 0x40, 926 0xd3, 0xf3, 0xd6, 0xbb, 0x96, 0xb2, 0x76, 0xd5, 927 0x00, 0xf7, 0xaf, 0x47, 0x64, 0x54, 0x5c, 0xe3, 928 0x71, 0x2c, 0xc3, 0xa5, 0xe2, 0x46, 0xb1, 0xdb, 929 0x85, 0x31, 0xb7, 0xd1, 0x6e, 0x83, 0x6a, 0x59, 930 0xa9, 0x3c, 0x1c, 0x6f, 0xd4, 0xea, 0x24, 0x56, 931 0x42, 0x3e, 0x4a, 0x83, 0x91, 0x3e, 0x73, 0xda, 932 0x05, 0xb4, 0x93, 0x55, 0x88, 0xc2, 0xa8, 0x49, 933 0x53, 0x16, 0x11, 0xc3, 0xde, 0x53, 0x35, 0x07}; 934 static const uint8_t test_vector_2_info_keystream_2[] = { 935 0x58, 0x20, 0x48, 0xde, 0x10, 0x7c, 0xc5, 0xb6, 936 0xec, 0x8b, 0xc1, 0xbf, 0x75, 0x5b, 0x28, 0xd6, 937 0x59, 0xd1, 0x80, 0x77, 0x73, 0xc9, 0xf8, 0x07, 938 0x23, 0x36, 0x95, 0xd0, 0x14, 0x8e, 0x84, 0x6b, 939 0x40, 0x91, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 940 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 941 0x50}; 942 static const uint8_t test_vector_2_keystream_2_raw[] = { 943 0xf3, 0x50, 0xef, 0x02, 0x56, 0x26, 0xa9, 0x72, 944 0x27, 0xbb, 0x63, 0x6c, 0xf8, 0x61, 0x8f, 0xcb, 945 0x61, 0xde, 0x88, 0x99, 0x04, 0x05, 0x2a, 0x84, 946 0x76, 0x14, 0x1e, 0xd6, 0x64, 0xdd, 0xbb, 0xb7, 947 0x1c, 0x5f, 0x9a, 0x2c, 0x4c, 0xfd, 0xda, 0x3c, 948 0xa4, 0xc1, 0x25, 0x21, 0x2a, 0x95, 0xc0, 0xae, 949 0xfa, 0xb9, 0xd6, 0x43, 0x77, 0xda, 0x0f, 0x14, 950 0xe0, 0xf1, 0x39, 0xbe, 0x1c, 0x44, 0xfa, 0xc3, 951 0xb8, 0x4e, 0x63, 0xdb, 0x09, 0x31, 0x22, 0x65, 952 0x5b, 0xac, 0xc4, 0x29, 0x12, 0xcc, 0x97, 0x5e}; 953 static const uint8_t test_vector_2_ciphertext_2_raw[] = { 954 0x52, 0x48, 0xcd, 0x80, 0x78, 0x6e, 0xee, 0x6d, 955 0x9e, 0xf8, 0xc9, 0x4f, 0x3d, 0x70, 0xd7, 0x8b, 956 0xb2, 0x2d, 0x5e, 0x22, 0x92, 0xb7, 0x5c, 0x51, 957 0x76, 0xe3, 0xb1, 0x91, 0x00, 0x89, 0xe7, 0x54, 958 0x6d, 0x73, 0x59, 0x89, 0xae, 0xbb, 0x6b, 0xe7, 959 0x21, 0xf0, 0x92, 0xf0, 0x44, 0x16, 0xaa, 0xf7, 960 0x53, 0x85, 0xca, 0x2c, 0xa3, 0x30, 0x2b, 0x42, 961 0xa2, 0xcf, 0x73, 0x3d, 0x8d, 0x7a, 0x89, 0x19, 962 0xbd, 0xfa, 0xf0, 0x8e, 0x81, 0xf3, 0x8a, 0x2c, 963 0x08, 0xba, 0xd5, 0xea, 0xcc, 0x9f, 0xa2, 0x59}; 964 static const uint8_t test_vector_2_ciphertext_2[] = { 965 0x58, 0x50, 0x52, 0x48, 0xcd, 0x80, 0x78, 0x6e, 966 0xee, 0x6d, 0x9e, 0xf8, 0xc9, 0x4f, 0x3d, 0x70, 967 0xd7, 0x8b, 0xb2, 0x2d, 0x5e, 0x22, 0x92, 0xb7, 968 0x5c, 0x51, 0x76, 0xe3, 0xb1, 0x91, 0x00, 0x89, 969 0xe7, 0x54, 0x6d, 0x73, 0x59, 0x89, 0xae, 0xbb, 970 0x6b, 0xe7, 0x21, 0xf0, 0x92, 0xf0, 0x44, 0x16, 971 0xaa, 0xf7, 0x53, 0x85, 0xca, 0x2c, 0xa3, 0x30, 972 0x2b, 0x42, 0xa2, 0xcf, 0x73, 0x3d, 0x8d, 0x7a, 973 0x89, 0x19, 0xbd, 0xfa, 0xf0, 0x8e, 0x81, 0xf3, 974 0x8a, 0x2c, 0x08, 0xba, 0xd5, 0xea, 0xcc, 0x9f, 975 0xa2, 0x59}; 976 static const uint8_t test_vector_2_message_2[] = { 977 0x58, 0x70, 0xb0, 0xe3, 0x89, 0x41, 0x2d, 0x9b, 978 0x57, 0x60, 0x68, 0x7c, 0x11, 0xee, 0x3a, 0x35, 979 0x82, 0x9c, 0xfd, 0x5b, 0x9d, 0x9c, 0x80, 0x3f, 980 0x98, 0x00, 0x41, 0xe6, 0x01, 0xc1, 0xf4, 0xdd, 981 0x66, 0x01, 0x52, 0x48, 0xcd, 0x80, 0x78, 0x6e, 982 0xee, 0x6d, 0x9e, 0xf8, 0xc9, 0x4f, 0x3d, 0x70, 983 0xd7, 0x8b, 0xb2, 0x2d, 0x5e, 0x22, 0x92, 0xb7, 984 0x5c, 0x51, 0x76, 0xe3, 0xb1, 0x91, 0x00, 0x89, 985 0xe7, 0x54, 0x6d, 0x73, 0x59, 0x89, 0xae, 0xbb, 986 0x6b, 0xe7, 0x21, 0xf0, 0x92, 0xf0, 0x44, 0x16, 987 0xaa, 0xf7, 0x53, 0x85, 0xca, 0x2c, 0xa3, 0x30, 988 0x2b, 0x42, 0xa2, 0xcf, 0x73, 0x3d, 0x8d, 0x7a, 989 0x89, 0x19, 0xbd, 0xfa, 0xf0, 0x8e, 0x81, 0xf3, 990 0x8a, 0x2c, 0x08, 0xba, 0xd5, 0xea, 0xcc, 0x9f, 991 0xa2, 0x59, 0x06}; 992 static const uint8_t test_vector_2_i_raw[] = { 993 0xc7, 0x69, 0x11, 0x28, 0x93, 0xba, 0x60, 0x04, 994 0xcc, 0xb6, 0x1e, 0xfa, 0x9e, 0xb6, 0x91, 0x42, 995 0xc6, 0x6d, 0x8b, 0x16, 0xfe, 0x88, 0xc6, 0x7c, 996 0x60, 0x6f, 0x54, 0xa3, 0x58, 0x35, 0x15, 0xb0}; 997 static const uint8_t test_vector_2_g_i_raw[] = { 998 0xc0, 0xbd, 0xef, 0xf0, 0x34, 0xea, 0x3d, 0xed, 999 0x66, 0xce, 0x6a, 0x56, 0x12, 0x7a, 0x22, 0x2d, 1000 0x00, 0x16, 0xeb, 0x2b, 0xfc, 0xdf, 0x20, 0xf5, 1001 0x80, 0xc0, 0x0a, 0xcb, 0x56, 0x0c, 0x03, 0x5a}; 1002 static const uint8_t test_vector_2_g_iy_raw[] = { 1003 0x54, 0xe9, 0xf5, 0x68, 0xb6, 0x11, 0xba, 0x9b, 1004 0x61, 0x8b, 0x44, 0x25, 0x93, 0x7f, 0xc0, 0xd4, 1005 0x8e, 0x91, 0xab, 0xa1, 0xe7, 0xee, 0x88, 0xa5, 1006 0x9f, 0x9f, 0xf5, 0x68, 0xcd, 0x05, 0x3d, 0x03}; 1007 static const uint8_t test_vector_2_prk_4x3m_raw[] = { 1008 0x27, 0x12, 0xf9, 0x2d, 0x9a, 0x39, 0xde, 0x40, 1009 0x23, 0x02, 0x3d, 0x03, 0x9f, 0xf6, 0x67, 0xad, 1010 0x47, 0xe9, 0x04, 0x37, 0x25, 0x85, 0x83, 0x5b, 1011 0x2d, 0x2c, 0x91, 0x66, 0x20, 0x7b, 0x86, 0xaf}; 1012 static const uint8_t test_vector_2_input_TH_3[] = { 1013 0x58, 0x20, 0x48, 0xde, 0x10, 0x7c, 0xc5, 0xb6, 1014 0xec, 0x8b, 0xc1, 0xbf, 0x75, 0x5b, 0x28, 0xd6, 1015 0x59, 0xd1, 0x80, 0x77, 0x73, 0xc9, 0xf8, 0x07, 1016 0x23, 0x36, 0x95, 0xd0, 0x14, 0x8e, 0x84, 0x6b, 1017 0x40, 0x91, 0x58, 0x50, 0x52, 0x48, 0xcd, 0x80, 1018 0x78, 0x6e, 0xee, 0x6d, 0x9e, 0xf8, 0xc9, 0x4f, 1019 0x3d, 0x70, 0xd7, 0x8b, 0xb2, 0x2d, 0x5e, 0x22, 1020 0x92, 0xb7, 0x5c, 0x51, 0x76, 0xe3, 0xb1, 0x91, 1021 0x00, 0x89, 0xe7, 0x54, 0x6d, 0x73, 0x59, 0x89, 1022 0xae, 0xbb, 0x6b, 0xe7, 0x21, 0xf0, 0x92, 0xf0, 1023 0x44, 0x16, 0xaa, 0xf7, 0x53, 0x85, 0xca, 0x2c, 1024 0xa3, 0x30, 0x2b, 0x42, 0xa2, 0xcf, 0x73, 0x3d, 1025 0x8d, 0x7a, 0x89, 0x19, 0xbd, 0xfa, 0xf0, 0x8e, 1026 0x81, 0xf3, 0x8a, 0x2c, 0x08, 0xba, 0xd5, 0xea, 1027 0xcc, 0x9f, 0xa2, 0x59}; 1028 static const uint8_t test_vector_2_th_3_raw[] = { 1029 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 0x33, 0xb7, 1030 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 0x0f, 0xb3, 1031 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 0xba, 0xc4, 1032 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 0xbd, 0x07}; 1033 static const uint8_t test_vector_2_th_3[] = { 1034 0x58, 0x20, 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 1035 0x33, 0xb7, 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 1036 0x0f, 0xb3, 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 1037 0xba, 0xc4, 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 1038 0xbd, 0x07}; 1039 static const uint8_t test_vector_2_id_cred_i[] = { 1040 0xa1, 0x04, 0x29}; 1041 static const uint8_t test_vector_2_cred_i[] = { 1042 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 1043 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 1044 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 1045 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 1046 0x02, 0x29, 0x20, 0x04, 0x21, 0x58, 0x20, 0xc0, 1047 0xbd, 0xef, 0xf0, 0x34, 0xea, 0x3d, 0xed, 0x66, 1048 0xce, 0x6a, 0x56, 0x12, 0x7a, 0x22, 0x2d, 0x00, 1049 0x16, 0xeb, 0x2b, 0xfc, 0xdf, 0x20, 0xf5, 0x80, 1050 0xc0, 0x0a, 0xcb, 0x56, 0x0c, 0x03, 0x5a}; 1051 static const uint8_t test_vector_2_ead_3[] = { 1052 }; 1053 static const uint8_t test_vector_2_info_mac_3[] = { 1054 0x58, 0x20, 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 1055 0x33, 0xb7, 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 1056 0x0f, 0xb3, 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 1057 0xba, 0xc4, 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 1058 0xbd, 0x07, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 1059 0x58, 0x4a, 0xa1, 0x04, 0x29, 0xa2, 0x02, 0x77, 1060 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 1061 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 1062 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 1063 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x29, 0x20, 1064 0x04, 0x21, 0x58, 0x20, 0xc0, 0xbd, 0xef, 0xf0, 1065 0x34, 0xea, 0x3d, 0xed, 0x66, 0xce, 0x6a, 0x56, 1066 0x12, 0x7a, 0x22, 0x2d, 0x00, 0x16, 0xeb, 0x2b, 1067 0xfc, 0xdf, 0x20, 0xf5, 0x80, 0xc0, 0x0a, 0xcb, 1068 0x56, 0x0c, 0x03, 0x5a, 0x08}; 1069 static const uint8_t test_vector_2_mac_3_raw[] = { 1070 0x63, 0xa2, 0xed, 0x0e, 0xf4, 0xf2, 0xc3, 0x0a}; 1071 static const uint8_t test_vector_2_mac_3[] = { 1072 0x48, 0x63, 0xa2, 0xed, 0x0e, 0xf4, 0xf2, 0xc3, 1073 0x0a}; 1074 static const uint8_t test_vector_2_sig_or_mac_3_raw[] = { 1075 0x63, 0xa2, 0xed, 0x0e, 0xf4, 0xf2, 0xc3, 0x0a}; 1076 static const uint8_t test_vector_2_sig_or_mac_3[] = { 1077 0x48, 0x63, 0xa2, 0xed, 0x0e, 0xf4, 0xf2, 0xc3, 1078 0x0a}; 1079 static const uint8_t test_vector_2_p_3[] = { 1080 0x29, 0x48, 0x63, 0xa2, 0xed, 0x0e, 0xf4, 0xf2, 1081 0xc3, 0x0a}; 1082 static const uint8_t test_vector_2_a_3[] = { 1083 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1084 0x74, 0x30, 0x40, 0x58, 0x20, 0xfc, 0x1a, 0x08, 1085 0xdd, 0xba, 0x20, 0x33, 0xb7, 0x14, 0xd0, 0xf9, 1086 0x66, 0x00, 0x0a, 0x0f, 0xb3, 0x61, 0x81, 0x09, 1087 0xf0, 0x2e, 0xf5, 0xba, 0xc4, 0x0c, 0x07, 0xd3, 1088 0xbc, 0xd7, 0xed, 0xbd, 0x07}; 1089 static const uint8_t test_vector_2_info_k_3[] = { 1090 0x58, 0x20, 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 1091 0x33, 0xb7, 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 1092 0x0f, 0xb3, 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 1093 0xba, 0xc4, 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 1094 0xbd, 0x07, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 1095 static const uint8_t test_vector_2_k_3_raw[] = { 1096 0x21, 0x67, 0x44, 0x67, 0xe6, 0xff, 0x37, 0xfe, 1097 0x18, 0x33, 0x95, 0xf3, 0x6c, 0xa9, 0x45, 0x52}; 1098 static const uint8_t test_vector_2_info_iv_3[] = { 1099 0x58, 0x20, 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 1100 0x33, 0xb7, 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 1101 0x0f, 0xb3, 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 1102 0xba, 0xc4, 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 1103 0xbd, 0x07, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 1104 0x0d}; 1105 static const uint8_t test_vector_2_iv_3_raw[] = { 1106 0x50, 0xc8, 0x5f, 0x63, 0x80, 0x60, 0x8f, 0xc7, 1107 0xa3, 0xb6, 0x44, 0x24, 0x96}; 1108 static const uint8_t test_vector_2_ciphertext_3_raw[] = { 1109 0x55, 0x2e, 0xda, 0x2b, 0xcf, 0x91, 0x0f, 0x87, 1110 0x70, 0x14, 0xbe, 0xb4, 0x37, 0x52, 0x9a, 0x6f, 1111 0xee, 0x45}; 1112 static const uint8_t test_vector_2_ciphertext_3[] = { 1113 0x52, 0x55, 0x2e, 0xda, 0x2b, 0xcf, 0x91, 0x0f, 1114 0x87, 0x70, 0x14, 0xbe, 0xb4, 0x37, 0x52, 0x9a, 1115 0x6f, 0xee, 0x45}; 1116 static const uint8_t test_vector_2_message_3[] = { 1117 0x52, 0x55, 0x2e, 0xda, 0x2b, 0xcf, 0x91, 0x0f, 1118 0x87, 0x70, 0x14, 0xbe, 0xb4, 0x37, 0x52, 0x9a, 1119 0x6f, 0xee, 0x45}; 1120 static const uint8_t test_vector_2_input_th_4[] = { 1121 0x58, 0x20, 0xfc, 0x1a, 0x08, 0xdd, 0xba, 0x20, 1122 0x33, 0xb7, 0x14, 0xd0, 0xf9, 0x66, 0x00, 0x0a, 1123 0x0f, 0xb3, 0x61, 0x81, 0x09, 0xf0, 0x2e, 0xf5, 1124 0xba, 0xc4, 0x0c, 0x07, 0xd3, 0xbc, 0xd7, 0xed, 1125 0xbd, 0x07, 0x52, 0x55, 0x2e, 0xda, 0x2b, 0xcf, 1126 0x91, 0x0f, 0x87, 0x70, 0x14, 0xbe, 0xb4, 0x37, 1127 0x52, 0x9a, 0x6f, 0xee, 0x45}; 1128 static const uint8_t test_vector_2_th_4_raw[] = { 1129 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 0x3f, 0x8b, 1130 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 0x16, 0xa4, 1131 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 0xce, 0xa6, 1132 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 0x65, 0x80}; 1133 static const uint8_t test_vector_2_th_4[] = { 1134 0x58, 0x20, 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 1135 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 1136 0x16, 0xa4, 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 1137 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 1138 0x65, 0x80}; 1139 static const uint8_t test_vector_2_ead_4[] = { 1140 }; 1141 static const uint8_t test_vector_2_p_4[] = { 1142 }; 1143 static const uint8_t test_vector_2_a_4[] = { 1144 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1145 0x74, 0x30, 0x40, 0x58, 0x20, 0xfa, 0xd1, 0x5d, 1146 0x60, 0xeb, 0x47, 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 1147 0xa0, 0xc6, 0x03, 0x16, 0xa4, 0x65, 0x70, 0x54, 1148 0x65, 0xc9, 0xa9, 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 1149 0x84, 0x71, 0xaf, 0x65, 0x80}; 1150 static const uint8_t test_vector_2_info_k_4[] = { 1151 0x58, 0x20, 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 1152 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 1153 0x16, 0xa4, 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 1154 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 1155 0x65, 0x80, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 1156 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 1157 static const uint8_t test_vector_2_k_4_raw[] = { 1158 0x99, 0x1c, 0x72, 0x5b, 0x66, 0x50, 0x1b, 0xcf, 1159 0x6f, 0xa2, 0x8c, 0x59, 0x64, 0xb1, 0x64, 0xcd}; 1160 static const uint8_t test_vector_2_info_iv_4[] = { 1161 0x58, 0x20, 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 1162 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 1163 0x16, 0xa4, 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 1164 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 1165 0x65, 0x80, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1166 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 1167 static const uint8_t test_vector_2_iv_4_raw[] = { 1168 0xbf, 0xbc, 0x04, 0x21, 0xa1, 0xd8, 0x81, 0xd7, 1169 0xee, 0x94, 0x1a, 0x65, 0x81}; 1170 static const uint8_t test_vector_2_ciphertext_4_raw[] = { 1171 0xf5, 0x28, 0x11, 0xec, 0xa8, 0x2c, 0xcb, 0x2a}; 1172 static const uint8_t test_vector_2_ciphertext_4[] = { 1173 0x48, 0xf5, 0x28, 0x11, 0xec, 0xa8, 0x2c, 0xcb, 1174 0x2a}; 1175 static const uint8_t test_vector_2_message_4[] = { 1176 0x48, 0xf5, 0x28, 0x11, 0xec, 0xa8, 0x2c, 0xcb, 1177 0x2a}; 1178 int32_t test_vector_2_oscore_aead_alg = 10; 1179 int32_t test_vector_2_oscore_hash_alg = -16; 1180 static const uint8_t test_vector_2_client_sender_id_raw[] = { 1181 0x06}; 1182 static const uint8_t test_vector_2_server_sender_id_raw[] = { 1183 0x28}; 1184 static const uint8_t test_vector_2_info_oscore_secret[] = { 1185 0x58, 0x20, 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 1186 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 1187 0x16, 0xa4, 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 1188 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 1189 0x65, 0x80, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 1190 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 1191 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 1192 0x10}; 1193 static const uint8_t test_vector_2_oscore_secret_raw[] = { 1194 0x89, 0xbd, 0xab, 0x3a, 0xfa, 0x40, 0x3d, 0x10, 1195 0xa9, 0xdb, 0x40, 0x4d, 0x71, 0x1a, 0xa8, 0xc6}; 1196 static const uint8_t test_vector_2_info_oscore_salt[] = { 1197 0x58, 0x20, 0xfa, 0xd1, 0x5d, 0x60, 0xeb, 0x47, 1198 0x3f, 0x8b, 0x59, 0xdb, 0x9c, 0xa0, 0xc6, 0x03, 1199 0x16, 0xa4, 0x65, 0x70, 0x54, 0x65, 0xc9, 0xa9, 1200 0xce, 0xa6, 0xbb, 0x2c, 0x4e, 0x84, 0x71, 0xaf, 1201 0x65, 0x80, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 1202 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 1203 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 1204 static const uint8_t test_vector_2_oscore_salt_raw[] = { 1205 0x1c, 0x1e, 0x4b, 0x9f, 0x01, 0xff, 0x58, 0x43}; 1206 static const uint8_t test_vector_2_key_update_nonce_raw[] = { 1207 0x20, 0xb0, 0x27, 0xf9, 0xd0, 0x98, 0xca, 0x46, 1208 0x8d, 0xb6, 0xb3, 0x04, 0x27, 0xaa, 0xd2, 0xf3}; 1209 static const uint8_t test_vector_2_prk_4x3m_key_update_raw[] = { 1210 0xf3, 0x09, 0xb7, 0x2e, 0x66, 0xea, 0x82, 0x10, 1211 0x08, 0x24, 0x75, 0x20, 0xff, 0x2f, 0x65, 0xef, 1212 0xe3, 0x70, 0xc6, 0xfb, 0xf3, 0x4c, 0xd4, 0x3e, 1213 0x01, 0x34, 0x69, 0xaf, 0xea, 0x43, 0x85, 0x03}; 1214 static const uint8_t test_vector_2_oscore_secret_key_update_raw[] = { 1215 0xb2, 0x37, 0xe1, 0x6d, 0xf0, 0x97, 0xc4, 0x3f, 1216 0x8b, 0xaf, 0x70, 0xfc, 0x92, 0xd4, 0x3b, 0x5b}; 1217 static const uint8_t test_vector_2_oscore_salt_key_update_raw[] = { 1218 0xeb, 0x64, 0x19, 0x4e, 0xe8, 0x1b, 0xa4, 0x9a}; 1219 1220 /***************** test_vector_3 ************/ 1221 1222 static const uint8_t test_vector_3_method[] = { 1223 0x01}; 1224 static const uint8_t test_vector_3_suites_i[] = { 1225 0x00}; 1226 static const uint8_t test_vector_3_suites_r[] = { 1227 0x00}; 1228 static const uint8_t test_vector_3_x_raw[] = { 1229 0x4d, 0xed, 0x6e, 0x99, 0xd0, 0x22, 0xb9, 0x86, 1230 0x09, 0xad, 0x87, 0x48, 0x2f, 0xff, 0x0c, 0xd4, 1231 0x99, 0x65, 0x47, 0x3e, 0x8d, 0xd2, 0x1d, 0x90, 1232 0xf9, 0x58, 0x2f, 0xf4, 0x57, 0xad, 0x73, 0xac}; 1233 static const uint8_t test_vector_3_g_x_raw[] = { 1234 0xa1, 0x07, 0x36, 0x74, 0x6b, 0x5f, 0x56, 0x24, 1235 0x80, 0x61, 0xae, 0x63, 0x59, 0x2a, 0xcb, 0x8c, 1236 0x88, 0x48, 0x34, 0xc6, 0x76, 0x1c, 0xb0, 0xa2, 1237 0x06, 0x83, 0xbf, 0xf4, 0x03, 0x9d, 0x96, 0x5e}; 1238 static const uint8_t test_vector_3_g_x[] = { 1239 0x58, 0x20, 0xa1, 0x07, 0x36, 0x74, 0x6b, 0x5f, 1240 0x56, 0x24, 0x80, 0x61, 0xae, 0x63, 0x59, 0x2a, 1241 0xcb, 0x8c, 0x88, 0x48, 0x34, 0xc6, 0x76, 0x1c, 1242 0xb0, 0xa2, 0x06, 0x83, 0xbf, 0xf4, 0x03, 0x9d, 1243 0x96, 0x5e}; 1244 int32_t test_vector_3_c_i_raw = -13; 1245 static const uint8_t test_vector_3_c_i[] = { 1246 0x2c}; 1247 static const uint8_t test_vector_3_ead_1[] = { 1248 }; 1249 static const uint8_t test_vector_3_message_1[] = { 1250 0x01, 0x00, 0x58, 0x20, 0xa1, 0x07, 0x36, 0x74, 1251 0x6b, 0x5f, 0x56, 0x24, 0x80, 0x61, 0xae, 0x63, 1252 0x59, 0x2a, 0xcb, 0x8c, 0x88, 0x48, 0x34, 0xc6, 1253 0x76, 0x1c, 0xb0, 0xa2, 0x06, 0x83, 0xbf, 0xf4, 1254 0x03, 0x9d, 0x96, 0x5e, 0x2c}; 1255 static const uint8_t test_vector_3_y_raw[] = { 1256 0xc4, 0x32, 0xb4, 0x12, 0xb7, 0xd0, 0xf5, 0xc6, 1257 0x06, 0xf5, 0x4b, 0x0e, 0x45, 0xcd, 0xb6, 0xea, 1258 0x3b, 0xe9, 0xf9, 0xb5, 0x6e, 0x05, 0x07, 0x30, 1259 0x95, 0xe5, 0xcc, 0x05, 0x16, 0x2d, 0x53, 0x64}; 1260 static const uint8_t test_vector_3_g_y_raw[] = { 1261 0x23, 0x73, 0x3d, 0x17, 0x19, 0x5c, 0xb8, 0xc3, 1262 0xcb, 0x1b, 0x3a, 0xcd, 0xdf, 0xf6, 0xe0, 0xe4, 1263 0x8d, 0xde, 0xca, 0x84, 0xaf, 0x83, 0xdb, 0xd9, 1264 0x37, 0xdf, 0xd8, 0x05, 0x38, 0x82, 0x2a, 0x4b}; 1265 static const uint8_t test_vector_3_g_y[] = { 1266 0x58, 0x20, 0x23, 0x73, 0x3d, 0x17, 0x19, 0x5c, 1267 0xb8, 0xc3, 0xcb, 0x1b, 0x3a, 0xcd, 0xdf, 0xf6, 1268 0xe0, 0xe4, 0x8d, 0xde, 0xca, 0x84, 0xaf, 0x83, 1269 0xdb, 0xd9, 0x37, 0xdf, 0xd8, 0x05, 0x38, 0x82, 1270 0x2a, 0x4b}; 1271 static const uint8_t test_vector_3_g_xy_raw[] = { 1272 0xb8, 0x11, 0x78, 0x05, 0xb1, 0x91, 0x3c, 0x3a, 1273 0x2b, 0x6a, 0x24, 0xb0, 0x7b, 0x72, 0x8d, 0x94, 1274 0xeb, 0x51, 0x78, 0xe9, 0x94, 0x3d, 0x67, 0xda, 1275 0x79, 0x08, 0x4a, 0x89, 0xbf, 0xc7, 0xb1, 0x70}; 1276 static const uint8_t test_vector_3_salt_raw[] = { 1277 }; 1278 static const uint8_t test_vector_3_prk_2e_raw[] = { 1279 0x26, 0x03, 0x21, 0x67, 0x7e, 0xe3, 0xa4, 0xe8, 1280 0xba, 0x82, 0x49, 0x8f, 0x7d, 0x7d, 0x61, 0xaf, 1281 0x4c, 0x03, 0x57, 0x55, 0x6f, 0x6a, 0xea, 0xe1, 1282 0x78, 0x72, 0xa2, 0xce, 0xd1, 0x26, 0x07, 0xfd}; 1283 static const uint8_t test_vector_3_r_raw[] = { 1284 0x3f, 0xfe, 0xeb, 0x83, 0x50, 0xe2, 0x23, 0x17, 1285 0xfb, 0x07, 0x46, 0x05, 0x21, 0x15, 0x49, 0x81, 1286 0xf7, 0x6e, 0x7c, 0xbe, 0xe9, 0x73, 0x58, 0xf1, 1287 0x22, 0xda, 0xeb, 0x9a, 0x52, 0x1c, 0xec, 0x9d}; 1288 static const uint8_t test_vector_3_g_r_raw[] = { 1289 0x90, 0x67, 0x87, 0x99, 0x05, 0xed, 0x3e, 0x06, 1290 0x1a, 0xe8, 0x61, 0xd9, 0x4f, 0x3e, 0x8b, 0x97, 1291 0x08, 0x05, 0xed, 0x4a, 0x1b, 0x88, 0xd9, 0xa6, 1292 0x4b, 0x35, 0x14, 0xc9, 0xf8, 0x5e, 0x70, 0x76}; 1293 static const uint8_t test_vector_3_g_rx_raw[] = { 1294 0xe2, 0xf4, 0xe5, 0xcd, 0x59, 0x32, 0xb5, 0x46, 1295 0xed, 0xd3, 0x4b, 0xa4, 0x99, 0x60, 0x19, 0x8b, 1296 0x84, 0x86, 0x80, 0x5f, 0x2a, 0x76, 0x22, 0x7e, 1297 0xda, 0x46, 0x50, 0x6c, 0x21, 0xd1, 0xc6, 0x1b}; 1298 static const uint8_t test_vector_3_prk_3e2m_raw[] = { 1299 0xe8, 0x43, 0xbe, 0xa9, 0xb8, 0xd9, 0x4d, 0x12, 1300 0x07, 0xfc, 0x36, 0xe7, 0x55, 0xb0, 0x3c, 0xc6, 1301 0x45, 0xe7, 0x3d, 0x9c, 0x2f, 0x71, 0x87, 0x47, 1302 0x6d, 0x01, 0xf7, 0x79, 0x0f, 0xc2, 0xf8, 0x4f}; 1303 int32_t test_vector_3_c_r_raw = -14; 1304 static const uint8_t test_vector_3_c_r[] = { 1305 0x2d}; 1306 static const uint8_t test_vector_3_h_message_1_raw[] = { 1307 0xf4, 0x4c, 0x98, 0xee, 0xb2, 0xe5, 0x61, 0x67, 1308 0x62, 0xad, 0xc1, 0x0a, 0x73, 0x1a, 0xc5, 0x21, 1309 0x15, 0x64, 0x3d, 0xc2, 0xcf, 0x41, 0x16, 0xae, 1310 0xc1, 0x46, 0xca, 0x8d, 0x2e, 0x92, 0x0c, 0xc9}; 1311 static const uint8_t test_vector_3_h_message_1[] = { 1312 0x58, 0x20, 0xf4, 0x4c, 0x98, 0xee, 0xb2, 0xe5, 1313 0x61, 0x67, 0x62, 0xad, 0xc1, 0x0a, 0x73, 0x1a, 1314 0xc5, 0x21, 0x15, 0x64, 0x3d, 0xc2, 0xcf, 0x41, 1315 0x16, 0xae, 0xc1, 0x46, 0xca, 0x8d, 0x2e, 0x92, 1316 0x0c, 0xc9}; 1317 static const uint8_t test_vector_3_input_th_2[] = { 1318 0x58, 0x20, 0xf4, 0x4c, 0x98, 0xee, 0xb2, 0xe5, 1319 0x61, 0x67, 0x62, 0xad, 0xc1, 0x0a, 0x73, 0x1a, 1320 0xc5, 0x21, 0x15, 0x64, 0x3d, 0xc2, 0xcf, 0x41, 1321 0x16, 0xae, 0xc1, 0x46, 0xca, 0x8d, 0x2e, 0x92, 1322 0x0c, 0xc9, 0x58, 0x20, 0x23, 0x73, 0x3d, 0x17, 1323 0x19, 0x5c, 0xb8, 0xc3, 0xcb, 0x1b, 0x3a, 0xcd, 1324 0xdf, 0xf6, 0xe0, 0xe4, 0x8d, 0xde, 0xca, 0x84, 1325 0xaf, 0x83, 0xdb, 0xd9, 0x37, 0xdf, 0xd8, 0x05, 1326 0x38, 0x82, 0x2a, 0x4b, 0x2d}; 1327 static const uint8_t test_vector_3_th_2_raw[] = { 1328 0x8e, 0x67, 0x05, 0x2d, 0x24, 0x8a, 0x34, 0xd8, 1329 0x5e, 0xf7, 0xf9, 0xf8, 0x81, 0x90, 0x14, 0x2c, 1330 0xfe, 0x49, 0x84, 0xb6, 0xa3, 0x88, 0xa0, 0x72, 1331 0x48, 0x27, 0x1b, 0x88, 0xd1, 0x24, 0xe5, 0x68}; 1332 static const uint8_t test_vector_3_th_2[] = { 1333 0x58, 0x20, 0x8e, 0x67, 0x05, 0x2d, 0x24, 0x8a, 1334 0x34, 0xd8, 0x5e, 0xf7, 0xf9, 0xf8, 0x81, 0x90, 1335 0x14, 0x2c, 0xfe, 0x49, 0x84, 0xb6, 0xa3, 0x88, 1336 0xa0, 0x72, 0x48, 0x27, 0x1b, 0x88, 0xd1, 0x24, 1337 0xe5, 0x68}; 1338 static const uint8_t test_vector_3_id_cred_r[] = { 1339 0xa1, 0x04, 0x2d}; 1340 static const uint8_t test_vector_3_cred_r[] = { 1341 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 1342 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 1343 0x01, 0xa4, 0x01, 0x01, 0x02, 0x2d, 0x20, 0x04, 1344 0x21, 0x58, 0x20, 0x90, 0x67, 0x87, 0x99, 0x05, 1345 0xed, 0x3e, 0x06, 0x1a, 0xe8, 0x61, 0xd9, 0x4f, 1346 0x3e, 0x8b, 0x97, 0x08, 0x05, 0xed, 0x4a, 0x1b, 1347 0x88, 0xd9, 0xa6, 0x4b, 0x35, 0x14, 0xc9, 0xf8, 1348 0x5e, 0x70, 0x76}; 1349 static const uint8_t test_vector_3_ead_2[] = { 1350 }; 1351 static const uint8_t test_vector_3_info_mac_2[] = { 1352 0x58, 0x20, 0x8e, 0x67, 0x05, 0x2d, 0x24, 0x8a, 1353 0x34, 0xd8, 0x5e, 0xf7, 0xf9, 0xf8, 0x81, 0x90, 1354 0x14, 0x2c, 0xfe, 0x49, 0x84, 0xb6, 0xa3, 0x88, 1355 0xa0, 0x72, 0x48, 0x27, 0x1b, 0x88, 0xd1, 0x24, 1356 0xe5, 0x68, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 1357 0x58, 0x3e, 0xa1, 0x04, 0x2d, 0xa2, 0x02, 0x6b, 1358 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 1359 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 1360 0x01, 0x02, 0x2d, 0x20, 0x04, 0x21, 0x58, 0x20, 1361 0x90, 0x67, 0x87, 0x99, 0x05, 0xed, 0x3e, 0x06, 1362 0x1a, 0xe8, 0x61, 0xd9, 0x4f, 0x3e, 0x8b, 0x97, 1363 0x08, 0x05, 0xed, 0x4a, 0x1b, 0x88, 0xd9, 0xa6, 1364 0x4b, 0x35, 0x14, 0xc9, 0xf8, 0x5e, 0x70, 0x76, 1365 0x08}; 1366 static const uint8_t test_vector_3_mac_2_raw[] = { 1367 0xc5, 0x01, 0xdb, 0x86, 0x43, 0x3e, 0x3e, 0x26}; 1368 static const uint8_t test_vector_3_mac_2[] = { 1369 0x48, 0xc5, 0x01, 0xdb, 0x86, 0x43, 0x3e, 0x3e, 1370 0x26}; 1371 static const uint8_t test_vector_3_sig_or_mac_2_raw[] = { 1372 0xc5, 0x01, 0xdb, 0x86, 0x43, 0x3e, 0x3e, 0x26}; 1373 static const uint8_t test_vector_3_sig_or_mac_2[] = { 1374 0x48, 0xc5, 0x01, 0xdb, 0x86, 0x43, 0x3e, 0x3e, 1375 0x26}; 1376 static const uint8_t test_vector_3_plaintext_2[] = { 1377 0x2d, 0x48, 0xc5, 0x01, 0xdb, 0x86, 0x43, 0x3e, 1378 0x3e, 0x26}; 1379 static const uint8_t test_vector_3_info_keystream_2[] = { 1380 0x58, 0x20, 0x8e, 0x67, 0x05, 0x2d, 0x24, 0x8a, 1381 0x34, 0xd8, 0x5e, 0xf7, 0xf9, 0xf8, 0x81, 0x90, 1382 0x14, 0x2c, 0xfe, 0x49, 0x84, 0xb6, 0xa3, 0x88, 1383 0xa0, 0x72, 0x48, 0x27, 0x1b, 0x88, 0xd1, 0x24, 1384 0xe5, 0x68, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 1385 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x0a}; 1386 static const uint8_t test_vector_3_keystream_2_raw[] = { 1387 0xf4, 0xf0, 0xef, 0xa4, 0x85, 0x48, 0xb0, 0xc5, 1388 0xe7, 0x09}; 1389 static const uint8_t test_vector_3_ciphertext_2_raw[] = { 1390 0xd9, 0xb8, 0x2a, 0xa5, 0x5e, 0xce, 0xf3, 0xfb, 1391 0xd9, 0x2f}; 1392 static const uint8_t test_vector_3_ciphertext_2[] = { 1393 0x4a, 0xd9, 0xb8, 0x2a, 0xa5, 0x5e, 0xce, 0xf3, 1394 0xfb, 0xd9, 0x2f}; 1395 static const uint8_t test_vector_3_message_2[] = { 1396 0x58, 0x2a, 0x23, 0x73, 0x3d, 0x17, 0x19, 0x5c, 1397 0xb8, 0xc3, 0xcb, 0x1b, 0x3a, 0xcd, 0xdf, 0xf6, 1398 0xe0, 0xe4, 0x8d, 0xde, 0xca, 0x84, 0xaf, 0x83, 1399 0xdb, 0xd9, 0x37, 0xdf, 0xd8, 0x05, 0x38, 0x82, 1400 0x2a, 0x4b, 0xd9, 0xb8, 0x2a, 0xa5, 0x5e, 0xce, 1401 0xf3, 0xfb, 0xd9, 0x2f, 0x2d}; 1402 static const uint8_t test_vector_3_sk_i_raw[] = { 1403 0xc6, 0x47, 0x98, 0x98, 0x71, 0x4b, 0xc2, 0xbb, 1404 0x60, 0xb0, 0x32, 0xc7, 0x6c, 0x42, 0x9c, 0x6d, 1405 0x0b, 0xee, 0x44, 0xb3, 0xc3, 0x6c, 0x13, 0xac, 1406 0xe5, 0x21, 0xea, 0x86, 0x77, 0x43, 0x36, 0xcb}; 1407 static const uint8_t test_vector_3_pk_i_raw[] = { 1408 0x33, 0xe2, 0xd9, 0x13, 0x40, 0xc6, 0x1f, 0xaa, 1409 0x58, 0xdb, 0x90, 0x15, 0x66, 0x82, 0x09, 0x38, 1410 0x38, 0xee, 0x7c, 0xa6, 0xa2, 0x0a, 0x31, 0x41, 1411 0x69, 0x2b, 0x95, 0xc7, 0x1f, 0xce, 0xd1, 0xff}; 1412 static const uint8_t test_vector_3_prk_4x3m_raw[] = { 1413 0xe8, 0x43, 0xbe, 0xa9, 0xb8, 0xd9, 0x4d, 0x12, 1414 0x07, 0xfc, 0x36, 0xe7, 0x55, 0xb0, 0x3c, 0xc6, 1415 0x45, 0xe7, 0x3d, 0x9c, 0x2f, 0x71, 0x87, 0x47, 1416 0x6d, 0x01, 0xf7, 0x79, 0x0f, 0xc2, 0xf8, 0x4f}; 1417 static const uint8_t test_vector_3_input_TH_3[] = { 1418 0x58, 0x20, 0x8e, 0x67, 0x05, 0x2d, 0x24, 0x8a, 1419 0x34, 0xd8, 0x5e, 0xf7, 0xf9, 0xf8, 0x81, 0x90, 1420 0x14, 0x2c, 0xfe, 0x49, 0x84, 0xb6, 0xa3, 0x88, 1421 0xa0, 0x72, 0x48, 0x27, 0x1b, 0x88, 0xd1, 0x24, 1422 0xe5, 0x68, 0x4a, 0xd9, 0xb8, 0x2a, 0xa5, 0x5e, 1423 0xce, 0xf3, 0xfb, 0xd9, 0x2f}; 1424 static const uint8_t test_vector_3_th_3_raw[] = { 1425 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 0x04, 0x68, 1426 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 0x28, 0x47, 1427 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 0x34, 0x02, 1428 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 0x50, 0x08}; 1429 static const uint8_t test_vector_3_th_3[] = { 1430 0x58, 0x20, 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 1431 0x04, 0x68, 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 1432 0x28, 0x47, 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 1433 0x34, 0x02, 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 1434 0x50, 0x08}; 1435 static const uint8_t test_vector_3_id_cred_i[] = { 1436 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xd0, 0x88, 1437 0x09, 0xa9, 0xe5, 0xb0, 0x0f, 0xc9}; 1438 static const uint8_t test_vector_3_cred_i[] = { 1439 0x58, 0x8a, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 1440 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 1441 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 1442 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 1443 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 1444 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 1445 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 1446 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 1447 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 1448 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 1449 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 1450 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 1451 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 1452 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 1453 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 1454 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 1455 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 1456 0x86, 0x87, 0x88, 0x89}; 1457 static const uint8_t test_vector_3_ead_3[] = { 1458 }; 1459 static const uint8_t test_vector_3_info_mac_3[] = { 1460 0x58, 0x20, 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 1461 0x04, 0x68, 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 1462 0x28, 0x47, 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 1463 0x34, 0x02, 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 1464 0x50, 0x08, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 1465 0x58, 0x9a, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 1466 0xd0, 0x88, 0x09, 0xa9, 0xe5, 0xb0, 0x0f, 0xc9, 1467 0x58, 0x8a, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 1468 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 1469 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 1470 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 1471 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 1472 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 1473 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 1474 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 1475 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 1476 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 1477 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 1478 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 1479 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 1480 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 1481 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 1482 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 1483 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 1484 0x86, 0x87, 0x88, 0x89, 0x18, 0x20}; 1485 static const uint8_t test_vector_3_mac_3_raw[] = { 1486 0xfb, 0xa3, 0xf3, 0xcb, 0x2e, 0x05, 0x67, 0xae, 1487 0x32, 0x74, 0xfd, 0x43, 0xbb, 0x74, 0xc2, 0xf7, 1488 0x3b, 0xfc, 0x98, 0x17, 0x8e, 0xe7, 0xa4, 0x7d, 1489 0xd4, 0xa5, 0x29, 0x42, 0x14, 0xb7, 0x30, 0xa7}; 1490 static const uint8_t test_vector_3_mac_3[] = { 1491 0x58, 0x20, 0xfb, 0xa3, 0xf3, 0xcb, 0x2e, 0x05, 1492 0x67, 0xae, 0x32, 0x74, 0xfd, 0x43, 0xbb, 0x74, 1493 0xc2, 0xf7, 0x3b, 0xfc, 0x98, 0x17, 0x8e, 0xe7, 1494 0xa4, 0x7d, 0xd4, 0xa5, 0x29, 0x42, 0x14, 0xb7, 1495 0x30, 0xa7}; 1496 static const uint8_t test_vector_3_m_3[] = { 1497 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 1498 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 1499 0x82, 0x2e, 0x48, 0xd0, 0x88, 0x09, 0xa9, 0xe5, 1500 0xb0, 0x0f, 0xc9, 0x58, 0xae, 0x58, 0x20, 0xa9, 1501 0x82, 0x13, 0xd8, 0x6b, 0x00, 0x04, 0x68, 0x53, 1502 0x10, 0xfd, 0x40, 0x67, 0xdf, 0x28, 0x47, 0xe9, 1503 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 0x34, 0x02, 0xf5, 1504 0x27, 0xd5, 0xad, 0x29, 0x31, 0x50, 0x08, 0x58, 1505 0x8a, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 1506 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 1507 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 1508 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 1509 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 1510 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 1511 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 1512 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 1513 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 1514 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 1515 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 1516 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 1517 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 1518 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 1519 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 1520 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 1521 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 1522 0x87, 0x88, 0x89, 0x58, 0x20, 0xfb, 0xa3, 0xf3, 1523 0xcb, 0x2e, 0x05, 0x67, 0xae, 0x32, 0x74, 0xfd, 1524 0x43, 0xbb, 0x74, 0xc2, 0xf7, 0x3b, 0xfc, 0x98, 1525 0x17, 0x8e, 0xe7, 0xa4, 0x7d, 0xd4, 0xa5, 0x29, 1526 0x42, 0x14, 0xb7, 0x30, 0xa7}; 1527 static const uint8_t test_vector_3_sig_or_mac_3_raw[] = { 1528 0xfb, 0x6b, 0x12, 0x07, 0x83, 0x5e, 0x2e, 0x64, 1529 0x92, 0xc1, 0x22, 0x7e, 0x62, 0x9e, 0xec, 0xd3, 1530 0xe1, 0x3a, 0xa4, 0x17, 0x00, 0xc4, 0x6e, 0xbb, 1531 0xc3, 0xb6, 0x58, 0x8e, 0xeb, 0x23, 0xdb, 0xe1, 1532 0x12, 0x3c, 0x68, 0x6f, 0x84, 0xb0, 0x3f, 0x8b, 1533 0x2e, 0x85, 0xe7, 0x32, 0x78, 0x4d, 0x28, 0x13, 1534 0xff, 0x47, 0x77, 0x36, 0x9c, 0x45, 0x87, 0xdd, 1535 0x97, 0x01, 0xff, 0xe4, 0xab, 0xe1, 0xb9, 0x08}; 1536 static const uint8_t test_vector_3_sig_or_mac_3[] = { 1537 0x58, 0x40, 0xfb, 0x6b, 0x12, 0x07, 0x83, 0x5e, 1538 0x2e, 0x64, 0x92, 0xc1, 0x22, 0x7e, 0x62, 0x9e, 1539 0xec, 0xd3, 0xe1, 0x3a, 0xa4, 0x17, 0x00, 0xc4, 1540 0x6e, 0xbb, 0xc3, 0xb6, 0x58, 0x8e, 0xeb, 0x23, 1541 0xdb, 0xe1, 0x12, 0x3c, 0x68, 0x6f, 0x84, 0xb0, 1542 0x3f, 0x8b, 0x2e, 0x85, 0xe7, 0x32, 0x78, 0x4d, 1543 0x28, 0x13, 0xff, 0x47, 0x77, 0x36, 0x9c, 0x45, 1544 0x87, 0xdd, 0x97, 0x01, 0xff, 0xe4, 0xab, 0xe1, 1545 0xb9, 0x08}; 1546 static const uint8_t test_vector_3_p_3[] = { 1547 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xd0, 0x88, 1548 0x09, 0xa9, 0xe5, 0xb0, 0x0f, 0xc9, 0x58, 0x40, 1549 0xfb, 0x6b, 0x12, 0x07, 0x83, 0x5e, 0x2e, 0x64, 1550 0x92, 0xc1, 0x22, 0x7e, 0x62, 0x9e, 0xec, 0xd3, 1551 0xe1, 0x3a, 0xa4, 0x17, 0x00, 0xc4, 0x6e, 0xbb, 1552 0xc3, 0xb6, 0x58, 0x8e, 0xeb, 0x23, 0xdb, 0xe1, 1553 0x12, 0x3c, 0x68, 0x6f, 0x84, 0xb0, 0x3f, 0x8b, 1554 0x2e, 0x85, 0xe7, 0x32, 0x78, 0x4d, 0x28, 0x13, 1555 0xff, 0x47, 0x77, 0x36, 0x9c, 0x45, 0x87, 0xdd, 1556 0x97, 0x01, 0xff, 0xe4, 0xab, 0xe1, 0xb9, 0x08}; 1557 static const uint8_t test_vector_3_a_3[] = { 1558 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1559 0x74, 0x30, 0x40, 0x58, 0x20, 0xa9, 0x82, 0x13, 1560 0xd8, 0x6b, 0x00, 0x04, 0x68, 0x53, 0x10, 0xfd, 1561 0x40, 0x67, 0xdf, 0x28, 0x47, 0xe9, 0xe8, 0x53, 1562 0x1f, 0xd8, 0xe9, 0x34, 0x02, 0xf5, 0x27, 0xd5, 1563 0xad, 0x29, 0x31, 0x50, 0x08}; 1564 static const uint8_t test_vector_3_info_k_3[] = { 1565 0x58, 0x20, 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 1566 0x04, 0x68, 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 1567 0x28, 0x47, 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 1568 0x34, 0x02, 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 1569 0x50, 0x08, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 1570 static const uint8_t test_vector_3_k_3_raw[] = { 1571 0x89, 0xa1, 0x4f, 0x56, 0x4a, 0x8b, 0x5b, 0x1e, 1572 0x76, 0xfb, 0xee, 0x2e, 0xbb, 0x04, 0x5c, 0x43}; 1573 static const uint8_t test_vector_3_info_iv_3[] = { 1574 0x58, 0x20, 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 1575 0x04, 0x68, 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 1576 0x28, 0x47, 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 1577 0x34, 0x02, 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 1578 0x50, 0x08, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 1579 0x0d}; 1580 static const uint8_t test_vector_3_iv_3_raw[] = { 1581 0x27, 0x6c, 0xba, 0xee, 0x94, 0x31, 0x6f, 0xb4, 1582 0x67, 0xde, 0xf8, 0x65, 0x2e}; 1583 static const uint8_t test_vector_3_ciphertext_3_raw[] = { 1584 0x98, 0x09, 0xf2, 0x5a, 0xb9, 0x3c, 0xe9, 0x93, 1585 0x3e, 0x3c, 0xf4, 0x4b, 0xa9, 0x16, 0x02, 0xca, 1586 0x71, 0x2b, 0x17, 0xcb, 0x7a, 0xbf, 0xcc, 0x3a, 1587 0x5d, 0x85, 0xee, 0x24, 0x42, 0x33, 0x74, 0x77, 1588 0x21, 0xca, 0x2b, 0xb6, 0x6a, 0x87, 0x8f, 0x42, 1589 0x07, 0x2a, 0x03, 0xc6, 0x48, 0x4a, 0xa4, 0x82, 1590 0x3f, 0xb0, 0x50, 0x64, 0x8c, 0x8f, 0xa5, 0x61, 1591 0x62, 0xb1, 0x68, 0x42, 0x80, 0xc4, 0x6a, 0x56, 1592 0xd5, 0x55, 0xf4, 0x99, 0x91, 0xc2, 0xd6, 0x20, 1593 0x7a, 0x09, 0x6f, 0x15, 0x03, 0xfa, 0x6e, 0x2a, 1594 0x5a, 0x81, 0x66, 0x48, 0xd6, 0xed, 0xb1, 0x44}; 1595 static const uint8_t test_vector_3_ciphertext_3[] = { 1596 0x58, 0x58, 0x98, 0x09, 0xf2, 0x5a, 0xb9, 0x3c, 1597 0xe9, 0x93, 0x3e, 0x3c, 0xf4, 0x4b, 0xa9, 0x16, 1598 0x02, 0xca, 0x71, 0x2b, 0x17, 0xcb, 0x7a, 0xbf, 1599 0xcc, 0x3a, 0x5d, 0x85, 0xee, 0x24, 0x42, 0x33, 1600 0x74, 0x77, 0x21, 0xca, 0x2b, 0xb6, 0x6a, 0x87, 1601 0x8f, 0x42, 0x07, 0x2a, 0x03, 0xc6, 0x48, 0x4a, 1602 0xa4, 0x82, 0x3f, 0xb0, 0x50, 0x64, 0x8c, 0x8f, 1603 0xa5, 0x61, 0x62, 0xb1, 0x68, 0x42, 0x80, 0xc4, 1604 0x6a, 0x56, 0xd5, 0x55, 0xf4, 0x99, 0x91, 0xc2, 1605 0xd6, 0x20, 0x7a, 0x09, 0x6f, 0x15, 0x03, 0xfa, 1606 0x6e, 0x2a, 0x5a, 0x81, 0x66, 0x48, 0xd6, 0xed, 1607 0xb1, 0x44}; 1608 static const uint8_t test_vector_3_message_3[] = { 1609 0x58, 0x58, 0x98, 0x09, 0xf2, 0x5a, 0xb9, 0x3c, 1610 0xe9, 0x93, 0x3e, 0x3c, 0xf4, 0x4b, 0xa9, 0x16, 1611 0x02, 0xca, 0x71, 0x2b, 0x17, 0xcb, 0x7a, 0xbf, 1612 0xcc, 0x3a, 0x5d, 0x85, 0xee, 0x24, 0x42, 0x33, 1613 0x74, 0x77, 0x21, 0xca, 0x2b, 0xb6, 0x6a, 0x87, 1614 0x8f, 0x42, 0x07, 0x2a, 0x03, 0xc6, 0x48, 0x4a, 1615 0xa4, 0x82, 0x3f, 0xb0, 0x50, 0x64, 0x8c, 0x8f, 1616 0xa5, 0x61, 0x62, 0xb1, 0x68, 0x42, 0x80, 0xc4, 1617 0x6a, 0x56, 0xd5, 0x55, 0xf4, 0x99, 0x91, 0xc2, 1618 0xd6, 0x20, 0x7a, 0x09, 0x6f, 0x15, 0x03, 0xfa, 1619 0x6e, 0x2a, 0x5a, 0x81, 0x66, 0x48, 0xd6, 0xed, 1620 0xb1, 0x44}; 1621 static const uint8_t test_vector_3_input_th_4[] = { 1622 0x58, 0x20, 0xa9, 0x82, 0x13, 0xd8, 0x6b, 0x00, 1623 0x04, 0x68, 0x53, 0x10, 0xfd, 0x40, 0x67, 0xdf, 1624 0x28, 0x47, 0xe9, 0xe8, 0x53, 0x1f, 0xd8, 0xe9, 1625 0x34, 0x02, 0xf5, 0x27, 0xd5, 0xad, 0x29, 0x31, 1626 0x50, 0x08, 0x58, 0x58, 0x98, 0x09, 0xf2, 0x5a, 1627 0xb9, 0x3c, 0xe9, 0x93, 0x3e, 0x3c, 0xf4, 0x4b, 1628 0xa9, 0x16, 0x02, 0xca, 0x71, 0x2b, 0x17, 0xcb, 1629 0x7a, 0xbf, 0xcc, 0x3a, 0x5d, 0x85, 0xee, 0x24, 1630 0x42, 0x33, 0x74, 0x77, 0x21, 0xca, 0x2b, 0xb6, 1631 0x6a, 0x87, 0x8f, 0x42, 0x07, 0x2a, 0x03, 0xc6, 1632 0x48, 0x4a, 0xa4, 0x82, 0x3f, 0xb0, 0x50, 0x64, 1633 0x8c, 0x8f, 0xa5, 0x61, 0x62, 0xb1, 0x68, 0x42, 1634 0x80, 0xc4, 0x6a, 0x56, 0xd5, 0x55, 0xf4, 0x99, 1635 0x91, 0xc2, 0xd6, 0x20, 0x7a, 0x09, 0x6f, 0x15, 1636 0x03, 0xfa, 0x6e, 0x2a, 0x5a, 0x81, 0x66, 0x48, 1637 0xd6, 0xed, 0xb1, 0x44}; 1638 static const uint8_t test_vector_3_th_4_raw[] = { 1639 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 0x55, 0xcd, 1640 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 0x4a, 0x35, 1641 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 0x82, 0x4e, 1642 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 0xe5, 0x39}; 1643 static const uint8_t test_vector_3_th_4[] = { 1644 0x58, 0x20, 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 1645 0x55, 0xcd, 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 1646 0x4a, 0x35, 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 1647 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 1648 0xe5, 0x39}; 1649 static const uint8_t test_vector_3_ead_4[] = { 1650 }; 1651 static const uint8_t test_vector_3_p_4[] = { 1652 }; 1653 static const uint8_t test_vector_3_a_4[] = { 1654 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1655 0x74, 0x30, 0x40, 0x58, 0x20, 0x8a, 0x8f, 0x5d, 1656 0xbe, 0xbc, 0xbe, 0x55, 0xcd, 0xc3, 0x0c, 0x91, 1657 0xd1, 0x59, 0x23, 0x4a, 0x35, 0xc9, 0xa4, 0xec, 1658 0x05, 0x55, 0x5f, 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 1659 0x47, 0x74, 0xbe, 0xe5, 0x39}; 1660 static const uint8_t test_vector_3_info_k_4[] = { 1661 0x58, 0x20, 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 1662 0x55, 0xcd, 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 1663 0x4a, 0x35, 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 1664 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 1665 0xe5, 0x39, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 1666 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 1667 static const uint8_t test_vector_3_k_4_raw[] = { 1668 0x68, 0x38, 0x43, 0xed, 0xd0, 0x3c, 0x97, 0x80, 1669 0x0a, 0x56, 0x19, 0xc6, 0x94, 0xaf, 0xa2, 0x2f}; 1670 static const uint8_t test_vector_3_info_iv_4[] = { 1671 0x58, 0x20, 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 1672 0x55, 0xcd, 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 1673 0x4a, 0x35, 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 1674 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 1675 0xe5, 0x39, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 1676 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 1677 static const uint8_t test_vector_3_iv_4_raw[] = { 1678 0xde, 0x5f, 0x40, 0x97, 0x9a, 0xfd, 0x14, 0x64, 1679 0xf5, 0x57, 0x9d, 0x7c, 0xde}; 1680 static const uint8_t test_vector_3_ciphertext_4_raw[] = { 1681 0xf0, 0xdf, 0xba, 0x6b, 0x80, 0x06, 0x63, 0x61}; 1682 static const uint8_t test_vector_3_ciphertext_4[] = { 1683 0x48, 0xf0, 0xdf, 0xba, 0x6b, 0x80, 0x06, 0x63, 1684 0x61}; 1685 static const uint8_t test_vector_3_message_4[] = { 1686 0x48, 0xf0, 0xdf, 0xba, 0x6b, 0x80, 0x06, 0x63, 1687 0x61}; 1688 int32_t test_vector_3_oscore_aead_alg = 10; 1689 int32_t test_vector_3_oscore_hash_alg = -16; 1690 static const uint8_t test_vector_3_client_sender_id_raw[] = { 1691 0x2d}; 1692 static const uint8_t test_vector_3_server_sender_id_raw[] = { 1693 0x2c}; 1694 static const uint8_t test_vector_3_info_oscore_secret[] = { 1695 0x58, 0x20, 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 1696 0x55, 0xcd, 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 1697 0x4a, 0x35, 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 1698 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 1699 0xe5, 0x39, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 1700 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 1701 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 1702 0x10}; 1703 static const uint8_t test_vector_3_oscore_secret_raw[] = { 1704 0xcb, 0xc2, 0x5a, 0x7e, 0x3f, 0xba, 0x10, 0xa2, 1705 0x18, 0xa3, 0xcb, 0xfe, 0x90, 0xfa, 0x99, 0xfe}; 1706 static const uint8_t test_vector_3_info_oscore_salt[] = { 1707 0x58, 0x20, 0x8a, 0x8f, 0x5d, 0xbe, 0xbc, 0xbe, 1708 0x55, 0xcd, 0xc3, 0x0c, 0x91, 0xd1, 0x59, 0x23, 1709 0x4a, 0x35, 0xc9, 0xa4, 0xec, 0x05, 0x55, 0x5f, 1710 0x82, 0x4e, 0x4c, 0xb6, 0xc0, 0x47, 0x74, 0xbe, 1711 0xe5, 0x39, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 1712 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 1713 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 1714 static const uint8_t test_vector_3_oscore_salt_raw[] = { 1715 0x55, 0xc5, 0x1e, 0x72, 0x4f, 0x54, 0x60, 0x3b}; 1716 static const uint8_t test_vector_3_key_update_nonce_raw[] = { 1717 0x56, 0xd8, 0xd2, 0x1a, 0x8e, 0x79, 0x51, 0xb0, 1718 0xc9, 0x0e, 0xfd, 0xa8, 0x30, 0x2f, 0xe1, 0x6c}; 1719 static const uint8_t test_vector_3_prk_4x3m_key_update_raw[] = { 1720 0x9e, 0x7a, 0x1c, 0x34, 0x3b, 0xb9, 0x63, 0x20, 1721 0x49, 0x70, 0x12, 0xd2, 0x83, 0x6e, 0xdc, 0xd9, 1722 0x26, 0x40, 0x70, 0xeb, 0x32, 0xdf, 0x61, 0xe5, 1723 0xa3, 0x20, 0x96, 0xc2, 0x6f, 0xd7, 0xb2, 0x32}; 1724 static const uint8_t test_vector_3_oscore_secret_key_update_raw[] = { 1725 0x04, 0xed, 0xc5, 0x0e, 0x67, 0x26, 0xe9, 0x3f, 1726 0x44, 0x77, 0xc8, 0x27, 0xe8, 0x51, 0xdc, 0xb5}; 1727 static const uint8_t test_vector_3_oscore_salt_key_update_raw[] = { 1728 0x8e, 0x07, 0x14, 0x56, 0xac, 0x49, 0xed, 0xd7}; 1729 1730 /***************** test_vector_4 ************/ 1731 1732 static const uint8_t test_vector_4_method[] = { 1733 0x00}; 1734 static const uint8_t test_vector_4_suites_i[] = { 1735 0x00}; 1736 static const uint8_t test_vector_4_suites_r[] = { 1737 0x00}; 1738 static const uint8_t test_vector_4_x_raw[] = { 1739 0xb0, 0x26, 0xb1, 0x68, 0x42, 0x9b, 0x21, 0x3d, 1740 0x6b, 0x42, 0x1d, 0xf6, 0xab, 0xd0, 0x64, 0x1c, 1741 0xd6, 0x6d, 0xca, 0x2e, 0xe7, 0xfd, 0x59, 0x77, 1742 0x10, 0x4b, 0xb2, 0x38, 0x18, 0x2e, 0x5e, 0xa6}; 1743 static const uint8_t test_vector_4_g_x_raw[] = { 1744 0xe3, 0x1e, 0xc1, 0x5e, 0xe8, 0x03, 0x94, 0x27, 1745 0xdf, 0xc4, 0x72, 0x7e, 0xf1, 0x7e, 0x2e, 0x0e, 1746 0x69, 0xc5, 0x44, 0x37, 0xf3, 0xc5, 0x82, 0x80, 1747 0x19, 0xef, 0x0a, 0x63, 0x88, 0xc1, 0x25, 0x52}; 1748 static const uint8_t test_vector_4_g_x[] = { 1749 0x58, 0x20, 0xe3, 0x1e, 0xc1, 0x5e, 0xe8, 0x03, 1750 0x94, 0x27, 0xdf, 0xc4, 0x72, 0x7e, 0xf1, 0x7e, 1751 0x2e, 0x0e, 0x69, 0xc5, 0x44, 0x37, 0xf3, 0xc5, 1752 0x82, 0x80, 0x19, 0xef, 0x0a, 0x63, 0x88, 0xc1, 1753 0x25, 0x52}; 1754 int32_t test_vector_4_c_i_raw = 14; 1755 static const uint8_t test_vector_4_c_i[] = { 1756 0x0e}; 1757 static const uint8_t test_vector_4_ead_1[] = { 1758 }; 1759 static const uint8_t test_vector_4_message_1[] = { 1760 0x00, 0x00, 0x58, 0x20, 0xe3, 0x1e, 0xc1, 0x5e, 1761 0xe8, 0x03, 0x94, 0x27, 0xdf, 0xc4, 0x72, 0x7e, 1762 0xf1, 0x7e, 0x2e, 0x0e, 0x69, 0xc5, 0x44, 0x37, 1763 0xf3, 0xc5, 0x82, 0x80, 0x19, 0xef, 0x0a, 0x63, 1764 0x88, 0xc1, 0x25, 0x52, 0x0e}; 1765 static const uint8_t test_vector_4_y_raw[] = { 1766 0xdb, 0x06, 0x84, 0xa8, 0x12, 0x54, 0x66, 0x41, 1767 0x3e, 0x59, 0x8d, 0xc2, 0x67, 0x73, 0x7f, 0x5f, 1768 0xef, 0x0c, 0x5a, 0xa2, 0x29, 0xfa, 0xa1, 0x55, 1769 0x43, 0x9f, 0x60, 0x08, 0x5f, 0xd2, 0x53, 0x6d}; 1770 static const uint8_t test_vector_4_g_y_raw[] = { 1771 0xe1, 0x73, 0x90, 0x96, 0xc5, 0xc9, 0x58, 0x2c, 1772 0x12, 0x98, 0x91, 0x81, 0x66, 0xd6, 0x95, 0x48, 1773 0xc7, 0x8f, 0x74, 0x97, 0xb2, 0x58, 0xc0, 0x85, 1774 0x6a, 0xa2, 0x01, 0x98, 0x93, 0xa3, 0x94, 0x25}; 1775 static const uint8_t test_vector_4_g_y[] = { 1776 0x58, 0x20, 0xe1, 0x73, 0x90, 0x96, 0xc5, 0xc9, 1777 0x58, 0x2c, 0x12, 0x98, 0x91, 0x81, 0x66, 0xd6, 1778 0x95, 0x48, 0xc7, 0x8f, 0x74, 0x97, 0xb2, 0x58, 1779 0xc0, 0x85, 0x6a, 0xa2, 0x01, 0x98, 0x93, 0xa3, 1780 0x94, 0x25}; 1781 static const uint8_t test_vector_4_g_xy_raw[] = { 1782 0x0b, 0xeb, 0x98, 0xd8, 0x8f, 0x49, 0x67, 0x7c, 1783 0x17, 0x47, 0x88, 0xf8, 0x87, 0xbd, 0xcc, 0xd2, 1784 0x28, 0xa1, 0x88, 0x39, 0x2c, 0xcd, 0x10, 0x12, 1785 0xbd, 0x31, 0x70, 0xd7, 0xc8, 0x85, 0x65, 0x66}; 1786 static const uint8_t test_vector_4_salt_raw[] = { 1787 }; 1788 static const uint8_t test_vector_4_prk_2e_raw[] = { 1789 0x4e, 0x57, 0xdc, 0xe2, 0x58, 0x75, 0x77, 0xc4, 1790 0x34, 0x69, 0x7c, 0x03, 0x93, 0x5c, 0xc6, 0xa2, 1791 0x82, 0x16, 0x5a, 0x88, 0x76, 0x05, 0x11, 0xfc, 1792 0x70, 0xa8, 0xc0, 0x02, 0x20, 0xa5, 0xba, 0x1a}; 1793 static const uint8_t test_vector_4_sk_r_raw[] = { 1794 0xbc, 0x4d, 0x4f, 0x98, 0x82, 0x61, 0x22, 0x33, 1795 0xb4, 0x02, 0xdb, 0x75, 0xe6, 0xc4, 0xcf, 0x30, 1796 0x32, 0xa7, 0x0a, 0x0d, 0x2e, 0x3e, 0xe6, 0xd0, 1797 0x1b, 0x11, 0xdd, 0xde, 0x5f, 0x41, 0x9c, 0xfc}; 1798 static const uint8_t test_vector_4_pk_r_raw[] = { 1799 0x27, 0xee, 0xf2, 0xb0, 0x8a, 0x6f, 0x49, 0x6f, 1800 0xae, 0xda, 0xa6, 0xc7, 0xf9, 0xec, 0x6a, 0xe3, 1801 0xb9, 0xd5, 0x24, 0x24, 0x58, 0x0d, 0x52, 0xe4, 1802 0x9d, 0xa6, 0x93, 0x5e, 0xdf, 0x53, 0xcd, 0xc5}; 1803 static const uint8_t test_vector_4_prk_3e2m_raw[] = { 1804 0x4e, 0x57, 0xdc, 0xe2, 0x58, 0x75, 0x77, 0xc4, 1805 0x34, 0x69, 0x7c, 0x03, 0x93, 0x5c, 0xc6, 0xa2, 1806 0x82, 0x16, 0x5a, 0x88, 0x76, 0x05, 0x11, 0xfc, 1807 0x70, 0xa8, 0xc0, 0x02, 0x20, 0xa5, 0xba, 0x1a}; 1808 int32_t test_vector_4_c_r_raw = -19; 1809 static const uint8_t test_vector_4_c_r[] = { 1810 0x32}; 1811 static const uint8_t test_vector_4_h_message_1_raw[] = { 1812 0xce, 0xba, 0x8d, 0x4d, 0xa2, 0x80, 0xb1, 0x61, 1813 0xc8, 0x5a, 0x19, 0x47, 0x81, 0xa9, 0x31, 0x88, 1814 0x35, 0x41, 0x50, 0xb4, 0x9c, 0x4f, 0x93, 0x2e, 1815 0x4a, 0xa0, 0x8f, 0xf3, 0xed, 0x11, 0x04, 0x65}; 1816 static const uint8_t test_vector_4_h_message_1[] = { 1817 0x58, 0x20, 0xce, 0xba, 0x8d, 0x4d, 0xa2, 0x80, 1818 0xb1, 0x61, 0xc8, 0x5a, 0x19, 0x47, 0x81, 0xa9, 1819 0x31, 0x88, 0x35, 0x41, 0x50, 0xb4, 0x9c, 0x4f, 1820 0x93, 0x2e, 0x4a, 0xa0, 0x8f, 0xf3, 0xed, 0x11, 1821 0x04, 0x65}; 1822 static const uint8_t test_vector_4_input_th_2[] = { 1823 0x58, 0x20, 0xce, 0xba, 0x8d, 0x4d, 0xa2, 0x80, 1824 0xb1, 0x61, 0xc8, 0x5a, 0x19, 0x47, 0x81, 0xa9, 1825 0x31, 0x88, 0x35, 0x41, 0x50, 0xb4, 0x9c, 0x4f, 1826 0x93, 0x2e, 0x4a, 0xa0, 0x8f, 0xf3, 0xed, 0x11, 1827 0x04, 0x65, 0x58, 0x20, 0xe1, 0x73, 0x90, 0x96, 1828 0xc5, 0xc9, 0x58, 0x2c, 0x12, 0x98, 0x91, 0x81, 1829 0x66, 0xd6, 0x95, 0x48, 0xc7, 0x8f, 0x74, 0x97, 1830 0xb2, 0x58, 0xc0, 0x85, 0x6a, 0xa2, 0x01, 0x98, 1831 0x93, 0xa3, 0x94, 0x25, 0x32}; 1832 static const uint8_t test_vector_4_th_2_raw[] = { 1833 0x07, 0x82, 0xdb, 0xb6, 0x87, 0xc3, 0x02, 0x88, 1834 0xa3, 0x0b, 0x70, 0x6b, 0x07, 0x4b, 0xed, 0x78, 1835 0x95, 0x74, 0x57, 0x3f, 0x24, 0x44, 0x3e, 0x91, 1836 0x83, 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 0x9b, 0x39}; 1837 static const uint8_t test_vector_4_th_2[] = { 1838 0x58, 0x20, 0x07, 0x82, 0xdb, 0xb6, 0x87, 0xc3, 1839 0x02, 0x88, 0xa3, 0x0b, 0x70, 0x6b, 0x07, 0x4b, 1840 0xed, 0x78, 0x95, 0x74, 0x57, 0x3f, 0x24, 0x44, 1841 0x3e, 0x91, 0x83, 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 1842 0x9b, 0x39}; 1843 static const uint8_t test_vector_4_id_cred_r[] = { 1844 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x60, 0x78, 1845 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c}; 1846 static const uint8_t test_vector_4_cred_r[] = { 1847 0x58, 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 1848 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 1849 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 1850 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 1851 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 1852 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 1853 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 1854 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 1855 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 1856 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 1857 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 1858 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 1859 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 1860 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 1861 0x6e}; 1862 static const uint8_t test_vector_4_ead_2[] = { 1863 }; 1864 static const uint8_t test_vector_4_info_mac_2[] = { 1865 0x58, 0x20, 0x07, 0x82, 0xdb, 0xb6, 0x87, 0xc3, 1866 0x02, 0x88, 0xa3, 0x0b, 0x70, 0x6b, 0x07, 0x4b, 1867 0xed, 0x78, 0x95, 0x74, 0x57, 0x3f, 0x24, 0x44, 1868 0x3e, 0x91, 0x83, 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 1869 0x9b, 0x39, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 1870 0x58, 0x7f, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 1871 0x60, 0x78, 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c, 1872 0x58, 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 1873 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 1874 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 1875 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 1876 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 1877 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 1878 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 1879 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 1880 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 1881 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 1882 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 1883 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 1884 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 1885 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 1886 0x6e, 0x18, 0x20}; 1887 static const uint8_t test_vector_4_mac_2_raw[] = { 1888 0x27, 0xc8, 0xf1, 0xe4, 0xa7, 0xaf, 0xf2, 0xa0, 1889 0xf0, 0xbc, 0x0f, 0x91, 0x83, 0x93, 0xee, 0xf1, 1890 0x8b, 0x69, 0x0c, 0x4d, 0x4c, 0x3d, 0x81, 0xbd, 1891 0xfe, 0x22, 0x95, 0x42, 0x40, 0xbc, 0xc4, 0xcc}; 1892 static const uint8_t test_vector_4_mac_2[] = { 1893 0x58, 0x20, 0x27, 0xc8, 0xf1, 0xe4, 0xa7, 0xaf, 1894 0xf2, 0xa0, 0xf0, 0xbc, 0x0f, 0x91, 0x83, 0x93, 1895 0xee, 0xf1, 0x8b, 0x69, 0x0c, 0x4d, 0x4c, 0x3d, 1896 0x81, 0xbd, 0xfe, 0x22, 0x95, 0x42, 0x40, 0xbc, 1897 0xc4, 0xcc}; 1898 static const uint8_t test_vector_4_m_2[] = { 1899 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 1900 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 1901 0x82, 0x2e, 0x48, 0x60, 0x78, 0x0e, 0x94, 0x51, 1902 0xbd, 0xc4, 0x3c, 0x58, 0x93, 0x58, 0x20, 0x07, 1903 0x82, 0xdb, 0xb6, 0x87, 0xc3, 0x02, 0x88, 0xa3, 1904 0x0b, 0x70, 0x6b, 0x07, 0x4b, 0xed, 0x78, 0x95, 1905 0x74, 0x57, 0x3f, 0x24, 0x44, 0x3e, 0x91, 0x83, 1906 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 0x9b, 0x39, 0x58, 1907 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 1908 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 1909 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 1910 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 1911 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 1912 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 1913 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 1914 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 1915 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 1916 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 1917 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 1918 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 1919 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 1920 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 1921 0x58, 0x20, 0x27, 0xc8, 0xf1, 0xe4, 0xa7, 0xaf, 1922 0xf2, 0xa0, 0xf0, 0xbc, 0x0f, 0x91, 0x83, 0x93, 1923 0xee, 0xf1, 0x8b, 0x69, 0x0c, 0x4d, 0x4c, 0x3d, 1924 0x81, 0xbd, 0xfe, 0x22, 0x95, 0x42, 0x40, 0xbc, 1925 0xc4, 0xcc}; 1926 static const uint8_t test_vector_4_sig_or_mac_2_raw[] = { 1927 0x3c, 0xe5, 0x20, 0x75, 0xdb, 0x55, 0x89, 0x2d, 1928 0xf1, 0x25, 0x8f, 0xa6, 0x9e, 0x86, 0xab, 0x5b, 1929 0x59, 0x33, 0xea, 0xdc, 0x07, 0xea, 0x82, 0x41, 1930 0x1f, 0x17, 0x9a, 0x5f, 0xde, 0xf1, 0xc9, 0x43, 1931 0x23, 0x63, 0xf6, 0x58, 0xf9, 0xa2, 0x04, 0xfa, 1932 0x81, 0x54, 0xd1, 0x4f, 0xfd, 0x87, 0xb5, 0x01, 1933 0x0c, 0x4f, 0xd0, 0xa0, 0xc7, 0x7e, 0x2a, 0xca, 1934 0x77, 0x5f, 0x67, 0xcb, 0x5e, 0x8b, 0xbe, 0x08}; 1935 static const uint8_t test_vector_4_sig_or_mac_2[] = { 1936 0x58, 0x40, 0x3c, 0xe5, 0x20, 0x75, 0xdb, 0x55, 1937 0x89, 0x2d, 0xf1, 0x25, 0x8f, 0xa6, 0x9e, 0x86, 1938 0xab, 0x5b, 0x59, 0x33, 0xea, 0xdc, 0x07, 0xea, 1939 0x82, 0x41, 0x1f, 0x17, 0x9a, 0x5f, 0xde, 0xf1, 1940 0xc9, 0x43, 0x23, 0x63, 0xf6, 0x58, 0xf9, 0xa2, 1941 0x04, 0xfa, 0x81, 0x54, 0xd1, 0x4f, 0xfd, 0x87, 1942 0xb5, 0x01, 0x0c, 0x4f, 0xd0, 0xa0, 0xc7, 0x7e, 1943 0x2a, 0xca, 0x77, 0x5f, 0x67, 0xcb, 0x5e, 0x8b, 1944 0xbe, 0x08}; 1945 static const uint8_t test_vector_4_plaintext_2[] = { 1946 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x60, 0x78, 1947 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c, 0x58, 0x40, 1948 0x3c, 0xe5, 0x20, 0x75, 0xdb, 0x55, 0x89, 0x2d, 1949 0xf1, 0x25, 0x8f, 0xa6, 0x9e, 0x86, 0xab, 0x5b, 1950 0x59, 0x33, 0xea, 0xdc, 0x07, 0xea, 0x82, 0x41, 1951 0x1f, 0x17, 0x9a, 0x5f, 0xde, 0xf1, 0xc9, 0x43, 1952 0x23, 0x63, 0xf6, 0x58, 0xf9, 0xa2, 0x04, 0xfa, 1953 0x81, 0x54, 0xd1, 0x4f, 0xfd, 0x87, 0xb5, 0x01, 1954 0x0c, 0x4f, 0xd0, 0xa0, 0xc7, 0x7e, 0x2a, 0xca, 1955 0x77, 0x5f, 0x67, 0xcb, 0x5e, 0x8b, 0xbe, 0x08}; 1956 static const uint8_t test_vector_4_info_keystream_2[] = { 1957 0x58, 0x20, 0x07, 0x82, 0xdb, 0xb6, 0x87, 0xc3, 1958 0x02, 0x88, 0xa3, 0x0b, 0x70, 0x6b, 0x07, 0x4b, 1959 0xed, 0x78, 0x95, 0x74, 0x57, 0x3f, 0x24, 0x44, 1960 0x3e, 0x91, 0x83, 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 1961 0x9b, 0x39, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 1962 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 1963 0x50}; 1964 static const uint8_t test_vector_4_keystream_2_raw[] = { 1965 0xc8, 0x13, 0xff, 0x19, 0x3b, 0xc0, 0x31, 0x40, 1966 0x47, 0x99, 0x6a, 0x37, 0x03, 0x09, 0xba, 0xed, 1967 0x45, 0xf7, 0xf5, 0xf8, 0xd5, 0x6c, 0x1c, 0xdf, 1968 0x44, 0x6b, 0x01, 0xc5, 0x77, 0x8d, 0x68, 0x9f, 1969 0x7f, 0x13, 0xda, 0x50, 0x17, 0xba, 0x0f, 0x4e, 1970 0x5f, 0xdf, 0x6e, 0xd0, 0x59, 0x55, 0xcd, 0x8c, 1971 0xe4, 0xec, 0x43, 0x7a, 0x22, 0xfa, 0x8e, 0xe8, 1972 0x72, 0x8c, 0x36, 0x2b, 0xcb, 0x7b, 0x93, 0xa9, 1973 0x11, 0xe1, 0x67, 0x95, 0x04, 0x31, 0xc1, 0xd5, 1974 0x05, 0x0b, 0xda, 0x69, 0xe9, 0x5b, 0xaa, 0xfb}; 1975 static const uint8_t test_vector_4_ciphertext_2_raw[] = { 1976 0x69, 0x0b, 0xdd, 0x9b, 0x15, 0x88, 0x51, 0x38, 1977 0x49, 0x0d, 0x3b, 0x8a, 0xc7, 0x35, 0xe2, 0xad, 1978 0x79, 0x12, 0xd5, 0x8d, 0x0e, 0x39, 0x95, 0xf2, 1979 0xb5, 0x4e, 0x8e, 0x63, 0xe9, 0x0b, 0xc3, 0xc4, 1980 0x26, 0x20, 0x30, 0x8c, 0x10, 0x50, 0x8d, 0x0f, 1981 0x40, 0xc8, 0xf4, 0x8f, 0x87, 0xa4, 0x04, 0xcf, 1982 0xc7, 0x8f, 0xb5, 0x22, 0xdb, 0x58, 0x8a, 0x12, 1983 0xf3, 0xd8, 0xe7, 0x64, 0x36, 0xfc, 0x26, 0xa8, 1984 0x1d, 0xae, 0xb7, 0x35, 0xc3, 0x4f, 0xeb, 0x1f, 1985 0x72, 0x54, 0xbd, 0xa2, 0xb7, 0xd0, 0x14, 0xf3}; 1986 static const uint8_t test_vector_4_ciphertext_2[] = { 1987 0x58, 0x50, 0x69, 0x0b, 0xdd, 0x9b, 0x15, 0x88, 1988 0x51, 0x38, 0x49, 0x0d, 0x3b, 0x8a, 0xc7, 0x35, 1989 0xe2, 0xad, 0x79, 0x12, 0xd5, 0x8d, 0x0e, 0x39, 1990 0x95, 0xf2, 0xb5, 0x4e, 0x8e, 0x63, 0xe9, 0x0b, 1991 0xc3, 0xc4, 0x26, 0x20, 0x30, 0x8c, 0x10, 0x50, 1992 0x8d, 0x0f, 0x40, 0xc8, 0xf4, 0x8f, 0x87, 0xa4, 1993 0x04, 0xcf, 0xc7, 0x8f, 0xb5, 0x22, 0xdb, 0x58, 1994 0x8a, 0x12, 0xf3, 0xd8, 0xe7, 0x64, 0x36, 0xfc, 1995 0x26, 0xa8, 0x1d, 0xae, 0xb7, 0x35, 0xc3, 0x4f, 1996 0xeb, 0x1f, 0x72, 0x54, 0xbd, 0xa2, 0xb7, 0xd0, 1997 0x14, 0xf3}; 1998 static const uint8_t test_vector_4_message_2[] = { 1999 0x58, 0x70, 0xe1, 0x73, 0x90, 0x96, 0xc5, 0xc9, 2000 0x58, 0x2c, 0x12, 0x98, 0x91, 0x81, 0x66, 0xd6, 2001 0x95, 0x48, 0xc7, 0x8f, 0x74, 0x97, 0xb2, 0x58, 2002 0xc0, 0x85, 0x6a, 0xa2, 0x01, 0x98, 0x93, 0xa3, 2003 0x94, 0x25, 0x69, 0x0b, 0xdd, 0x9b, 0x15, 0x88, 2004 0x51, 0x38, 0x49, 0x0d, 0x3b, 0x8a, 0xc7, 0x35, 2005 0xe2, 0xad, 0x79, 0x12, 0xd5, 0x8d, 0x0e, 0x39, 2006 0x95, 0xf2, 0xb5, 0x4e, 0x8e, 0x63, 0xe9, 0x0b, 2007 0xc3, 0xc4, 0x26, 0x20, 0x30, 0x8c, 0x10, 0x50, 2008 0x8d, 0x0f, 0x40, 0xc8, 0xf4, 0x8f, 0x87, 0xa4, 2009 0x04, 0xcf, 0xc7, 0x8f, 0xb5, 0x22, 0xdb, 0x58, 2010 0x8a, 0x12, 0xf3, 0xd8, 0xe7, 0x64, 0x36, 0xfc, 2011 0x26, 0xa8, 0x1d, 0xae, 0xb7, 0x35, 0xc3, 0x4f, 2012 0xeb, 0x1f, 0x72, 0x54, 0xbd, 0xa2, 0xb7, 0xd0, 2013 0x14, 0xf3, 0x32}; 2014 static const uint8_t test_vector_4_sk_i_raw[] = { 2015 0x36, 0x6a, 0x58, 0x59, 0xa4, 0xcd, 0x65, 0xcf, 2016 0xae, 0xaf, 0x05, 0x66, 0xc9, 0xfc, 0x7e, 0x1a, 2017 0x93, 0x30, 0x6f, 0xde, 0xc1, 0x77, 0x63, 0xe0, 2018 0x58, 0x13, 0xa7, 0x0f, 0x21, 0xff, 0x59, 0xdb}; 2019 static const uint8_t test_vector_4_pk_i_raw[] = { 2020 0xec, 0x2c, 0x2e, 0xb6, 0xcd, 0xd9, 0x57, 0x82, 2021 0xa8, 0xcd, 0x0b, 0x2e, 0x9c, 0x44, 0x27, 0x07, 2022 0x74, 0xdc, 0xbd, 0x31, 0xbf, 0xbe, 0x23, 0x13, 2023 0xce, 0x80, 0x13, 0x2e, 0x8a, 0x26, 0x1c, 0x04}; 2024 static const uint8_t test_vector_4_prk_4x3m_raw[] = { 2025 0x4e, 0x57, 0xdc, 0xe2, 0x58, 0x75, 0x77, 0xc4, 2026 0x34, 0x69, 0x7c, 0x03, 0x93, 0x5c, 0xc6, 0xa2, 2027 0x82, 0x16, 0x5a, 0x88, 0x76, 0x05, 0x11, 0xfc, 2028 0x70, 0xa8, 0xc0, 0x02, 0x20, 0xa5, 0xba, 0x1a}; 2029 static const uint8_t test_vector_4_input_TH_3[] = { 2030 0x58, 0x20, 0x07, 0x82, 0xdb, 0xb6, 0x87, 0xc3, 2031 0x02, 0x88, 0xa3, 0x0b, 0x70, 0x6b, 0x07, 0x4b, 2032 0xed, 0x78, 0x95, 0x74, 0x57, 0x3f, 0x24, 0x44, 2033 0x3e, 0x91, 0x83, 0x3d, 0x68, 0xcd, 0xdd, 0x7f, 2034 0x9b, 0x39, 0x58, 0x50, 0x69, 0x0b, 0xdd, 0x9b, 2035 0x15, 0x88, 0x51, 0x38, 0x49, 0x0d, 0x3b, 0x8a, 2036 0xc7, 0x35, 0xe2, 0xad, 0x79, 0x12, 0xd5, 0x8d, 2037 0x0e, 0x39, 0x95, 0xf2, 0xb5, 0x4e, 0x8e, 0x63, 2038 0xe9, 0x0b, 0xc3, 0xc4, 0x26, 0x20, 0x30, 0x8c, 2039 0x10, 0x50, 0x8d, 0x0f, 0x40, 0xc8, 0xf4, 0x8f, 2040 0x87, 0xa4, 0x04, 0xcf, 0xc7, 0x8f, 0xb5, 0x22, 2041 0xdb, 0x58, 0x8a, 0x12, 0xf3, 0xd8, 0xe7, 0x64, 2042 0x36, 0xfc, 0x26, 0xa8, 0x1d, 0xae, 0xb7, 0x35, 2043 0xc3, 0x4f, 0xeb, 0x1f, 0x72, 0x54, 0xbd, 0xa2, 2044 0xb7, 0xd0, 0x14, 0xf3}; 2045 static const uint8_t test_vector_4_th_3_raw[] = { 2046 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 0xab, 0x04, 2047 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 0x82, 0x20, 2048 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 0x98, 0xb0, 2049 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 0x7a, 0x82}; 2050 static const uint8_t test_vector_4_th_3[] = { 2051 0x58, 0x20, 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 2052 0xab, 0x04, 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 2053 0x82, 0x20, 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 2054 0x98, 0xb0, 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 2055 0x7a, 0x82}; 2056 static const uint8_t test_vector_4_id_cred_i[] = { 2057 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x81, 0xd4, 2058 0x5b, 0xe0, 0x63, 0x29, 0xd6, 0x3a}; 2059 static const uint8_t test_vector_4_cred_i[] = { 2060 0x58, 0x89, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 2061 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 2062 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 2063 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 2064 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 2065 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 2066 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 2067 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 2068 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 2069 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 2070 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 2071 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 2072 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 2073 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 2074 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 2075 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 2076 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 2077 0x86, 0x87, 0x88}; 2078 static const uint8_t test_vector_4_ead_3[] = { 2079 }; 2080 static const uint8_t test_vector_4_info_mac_3[] = { 2081 0x58, 0x20, 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 2082 0xab, 0x04, 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 2083 0x82, 0x20, 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 2084 0x98, 0xb0, 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 2085 0x7a, 0x82, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 2086 0x58, 0x99, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 2087 0x81, 0xd4, 0x5b, 0xe0, 0x63, 0x29, 0xd6, 0x3a, 2088 0x58, 0x89, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 2089 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 2090 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 2091 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 2092 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 2093 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 2094 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 2095 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 2096 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 2097 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 2098 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 2099 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 2100 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 2101 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 2102 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 2103 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 2104 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 2105 0x86, 0x87, 0x88, 0x18, 0x20}; 2106 static const uint8_t test_vector_4_mac_3_raw[] = { 2107 0xfc, 0x86, 0xe7, 0xd4, 0xf1, 0x8b, 0x34, 0x8c, 2108 0x29, 0x7c, 0x2f, 0xa3, 0xeb, 0x19, 0x52, 0x9a, 2109 0xcc, 0x3e, 0x0a, 0x4c, 0xb1, 0xba, 0x99, 0xb6, 2110 0x9d, 0x16, 0xaa, 0xb1, 0x9d, 0x33, 0x3c, 0x12}; 2111 static const uint8_t test_vector_4_mac_3[] = { 2112 0x58, 0x20, 0xfc, 0x86, 0xe7, 0xd4, 0xf1, 0x8b, 2113 0x34, 0x8c, 0x29, 0x7c, 0x2f, 0xa3, 0xeb, 0x19, 2114 0x52, 0x9a, 0xcc, 0x3e, 0x0a, 0x4c, 0xb1, 0xba, 2115 0x99, 0xb6, 0x9d, 0x16, 0xaa, 0xb1, 0x9d, 0x33, 2116 0x3c, 0x12}; 2117 static const uint8_t test_vector_4_m_3[] = { 2118 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 2119 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 2120 0x82, 0x2e, 0x48, 0x81, 0xd4, 0x5b, 0xe0, 0x63, 2121 0x29, 0xd6, 0x3a, 0x58, 0xad, 0x58, 0x20, 0x23, 2122 0xce, 0x42, 0x96, 0xfc, 0x64, 0xab, 0x04, 0x8a, 2123 0x59, 0x3b, 0x67, 0x11, 0xe4, 0x82, 0x20, 0x11, 2124 0xbb, 0x58, 0xd8, 0x5d, 0x37, 0x98, 0xb0, 0x81, 2125 0xa9, 0xbd, 0x12, 0xa3, 0x31, 0x7a, 0x82, 0x58, 2126 0x89, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 2127 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 2128 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 2129 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 2130 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 2131 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 2132 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 2133 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 2134 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 2135 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 2136 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 2137 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 2138 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 2139 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 2140 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 2141 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 2142 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 2143 0x87, 0x88, 0x58, 0x20, 0xfc, 0x86, 0xe7, 0xd4, 2144 0xf1, 0x8b, 0x34, 0x8c, 0x29, 0x7c, 0x2f, 0xa3, 2145 0xeb, 0x19, 0x52, 0x9a, 0xcc, 0x3e, 0x0a, 0x4c, 2146 0xb1, 0xba, 0x99, 0xb6, 0x9d, 0x16, 0xaa, 0xb1, 2147 0x9d, 0x33, 0x3c, 0x12}; 2148 static const uint8_t test_vector_4_sig_or_mac_3_raw[] = { 2149 0x3d, 0xd3, 0x74, 0x07, 0xa1, 0xd9, 0xf1, 0x2a, 2150 0x5b, 0xa6, 0x4d, 0xf0, 0x5f, 0xa0, 0xd9, 0x46, 2151 0x25, 0xbf, 0x74, 0x0c, 0x29, 0x5f, 0xe1, 0x88, 2152 0x58, 0xd6, 0x8e, 0x04, 0x5c, 0x84, 0x90, 0x27, 2153 0x54, 0x88, 0x03, 0x56, 0x3e, 0xde, 0x8c, 0x5b, 2154 0x39, 0x11, 0x4f, 0x13, 0xfe, 0x29, 0x78, 0x8a, 2155 0x83, 0xb7, 0x42, 0x28, 0x8e, 0xab, 0x8a, 0x94, 2156 0x52, 0x2c, 0xb1, 0xd3, 0x03, 0xf2, 0x62, 0x04}; 2157 static const uint8_t test_vector_4_sig_or_mac_3[] = { 2158 0x58, 0x40, 0x3d, 0xd3, 0x74, 0x07, 0xa1, 0xd9, 2159 0xf1, 0x2a, 0x5b, 0xa6, 0x4d, 0xf0, 0x5f, 0xa0, 2160 0xd9, 0x46, 0x25, 0xbf, 0x74, 0x0c, 0x29, 0x5f, 2161 0xe1, 0x88, 0x58, 0xd6, 0x8e, 0x04, 0x5c, 0x84, 2162 0x90, 0x27, 0x54, 0x88, 0x03, 0x56, 0x3e, 0xde, 2163 0x8c, 0x5b, 0x39, 0x11, 0x4f, 0x13, 0xfe, 0x29, 2164 0x78, 0x8a, 0x83, 0xb7, 0x42, 0x28, 0x8e, 0xab, 2165 0x8a, 0x94, 0x52, 0x2c, 0xb1, 0xd3, 0x03, 0xf2, 2166 0x62, 0x04}; 2167 static const uint8_t test_vector_4_p_3[] = { 2168 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x81, 0xd4, 2169 0x5b, 0xe0, 0x63, 0x29, 0xd6, 0x3a, 0x58, 0x40, 2170 0x3d, 0xd3, 0x74, 0x07, 0xa1, 0xd9, 0xf1, 0x2a, 2171 0x5b, 0xa6, 0x4d, 0xf0, 0x5f, 0xa0, 0xd9, 0x46, 2172 0x25, 0xbf, 0x74, 0x0c, 0x29, 0x5f, 0xe1, 0x88, 2173 0x58, 0xd6, 0x8e, 0x04, 0x5c, 0x84, 0x90, 0x27, 2174 0x54, 0x88, 0x03, 0x56, 0x3e, 0xde, 0x8c, 0x5b, 2175 0x39, 0x11, 0x4f, 0x13, 0xfe, 0x29, 0x78, 0x8a, 2176 0x83, 0xb7, 0x42, 0x28, 0x8e, 0xab, 0x8a, 0x94, 2177 0x52, 0x2c, 0xb1, 0xd3, 0x03, 0xf2, 0x62, 0x04}; 2178 static const uint8_t test_vector_4_a_3[] = { 2179 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2180 0x74, 0x30, 0x40, 0x58, 0x20, 0x23, 0xce, 0x42, 2181 0x96, 0xfc, 0x64, 0xab, 0x04, 0x8a, 0x59, 0x3b, 2182 0x67, 0x11, 0xe4, 0x82, 0x20, 0x11, 0xbb, 0x58, 2183 0xd8, 0x5d, 0x37, 0x98, 0xb0, 0x81, 0xa9, 0xbd, 2184 0x12, 0xa3, 0x31, 0x7a, 0x82}; 2185 static const uint8_t test_vector_4_info_k_3[] = { 2186 0x58, 0x20, 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 2187 0xab, 0x04, 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 2188 0x82, 0x20, 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 2189 0x98, 0xb0, 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 2190 0x7a, 0x82, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 2191 static const uint8_t test_vector_4_k_3_raw[] = { 2192 0x7a, 0x40, 0xe4, 0xb6, 0x75, 0x9c, 0x72, 0x7e, 2193 0x8a, 0xef, 0xf1, 0x08, 0x9e, 0xe7, 0x69, 0xaf}; 2194 static const uint8_t test_vector_4_info_iv_3[] = { 2195 0x58, 0x20, 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 2196 0xab, 0x04, 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 2197 0x82, 0x20, 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 2198 0x98, 0xb0, 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 2199 0x7a, 0x82, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 2200 0x0d}; 2201 static const uint8_t test_vector_4_iv_3_raw[] = { 2202 0xd3, 0x98, 0x90, 0x65, 0x7e, 0xef, 0x37, 0x8f, 2203 0x36, 0x52, 0x0c, 0xb3, 0x44}; 2204 static const uint8_t test_vector_4_ciphertext_3_raw[] = { 2205 0x4c, 0x53, 0xed, 0x22, 0xc4, 0x5f, 0xb0, 0x0c, 2206 0xad, 0x88, 0x9b, 0x4c, 0x06, 0xf2, 0xa2, 0x6c, 2207 0xf4, 0x91, 0x54, 0xcb, 0x8b, 0xdf, 0x4e, 0xee, 2208 0x44, 0xe2, 0xb5, 0x02, 0x21, 0xab, 0x1f, 0x02, 2209 0x9d, 0x3d, 0x3e, 0x05, 0x23, 0xdd, 0xf9, 0xd7, 2210 0x61, 0x0c, 0x37, 0x6c, 0x72, 0x8a, 0x1e, 0x90, 2211 0x16, 0x92, 0xf1, 0xda, 0x07, 0x82, 0xa3, 0x47, 2212 0x2f, 0xf6, 0xeb, 0x1b, 0xb6, 0x81, 0x0c, 0x6f, 2213 0x68, 0x68, 0x79, 0xc9, 0xa5, 0x59, 0x4f, 0x8f, 2214 0x17, 0x0c, 0xa5, 0xa2, 0xb5, 0xbf, 0x05, 0xa7, 2215 0x4f, 0x42, 0xcd, 0xd9, 0xc8, 0x54, 0xe0, 0x1e}; 2216 static const uint8_t test_vector_4_ciphertext_3[] = { 2217 0x58, 0x58, 0x4c, 0x53, 0xed, 0x22, 0xc4, 0x5f, 2218 0xb0, 0x0c, 0xad, 0x88, 0x9b, 0x4c, 0x06, 0xf2, 2219 0xa2, 0x6c, 0xf4, 0x91, 0x54, 0xcb, 0x8b, 0xdf, 2220 0x4e, 0xee, 0x44, 0xe2, 0xb5, 0x02, 0x21, 0xab, 2221 0x1f, 0x02, 0x9d, 0x3d, 0x3e, 0x05, 0x23, 0xdd, 2222 0xf9, 0xd7, 0x61, 0x0c, 0x37, 0x6c, 0x72, 0x8a, 2223 0x1e, 0x90, 0x16, 0x92, 0xf1, 0xda, 0x07, 0x82, 2224 0xa3, 0x47, 0x2f, 0xf6, 0xeb, 0x1b, 0xb6, 0x81, 2225 0x0c, 0x6f, 0x68, 0x68, 0x79, 0xc9, 0xa5, 0x59, 2226 0x4f, 0x8f, 0x17, 0x0c, 0xa5, 0xa2, 0xb5, 0xbf, 2227 0x05, 0xa7, 0x4f, 0x42, 0xcd, 0xd9, 0xc8, 0x54, 2228 0xe0, 0x1e}; 2229 static const uint8_t test_vector_4_message_3[] = { 2230 0x58, 0x58, 0x4c, 0x53, 0xed, 0x22, 0xc4, 0x5f, 2231 0xb0, 0x0c, 0xad, 0x88, 0x9b, 0x4c, 0x06, 0xf2, 2232 0xa2, 0x6c, 0xf4, 0x91, 0x54, 0xcb, 0x8b, 0xdf, 2233 0x4e, 0xee, 0x44, 0xe2, 0xb5, 0x02, 0x21, 0xab, 2234 0x1f, 0x02, 0x9d, 0x3d, 0x3e, 0x05, 0x23, 0xdd, 2235 0xf9, 0xd7, 0x61, 0x0c, 0x37, 0x6c, 0x72, 0x8a, 2236 0x1e, 0x90, 0x16, 0x92, 0xf1, 0xda, 0x07, 0x82, 2237 0xa3, 0x47, 0x2f, 0xf6, 0xeb, 0x1b, 0xb6, 0x81, 2238 0x0c, 0x6f, 0x68, 0x68, 0x79, 0xc9, 0xa5, 0x59, 2239 0x4f, 0x8f, 0x17, 0x0c, 0xa5, 0xa2, 0xb5, 0xbf, 2240 0x05, 0xa7, 0x4f, 0x42, 0xcd, 0xd9, 0xc8, 0x54, 2241 0xe0, 0x1e}; 2242 static const uint8_t test_vector_4_input_th_4[] = { 2243 0x58, 0x20, 0x23, 0xce, 0x42, 0x96, 0xfc, 0x64, 2244 0xab, 0x04, 0x8a, 0x59, 0x3b, 0x67, 0x11, 0xe4, 2245 0x82, 0x20, 0x11, 0xbb, 0x58, 0xd8, 0x5d, 0x37, 2246 0x98, 0xb0, 0x81, 0xa9, 0xbd, 0x12, 0xa3, 0x31, 2247 0x7a, 0x82, 0x58, 0x58, 0x4c, 0x53, 0xed, 0x22, 2248 0xc4, 0x5f, 0xb0, 0x0c, 0xad, 0x88, 0x9b, 0x4c, 2249 0x06, 0xf2, 0xa2, 0x6c, 0xf4, 0x91, 0x54, 0xcb, 2250 0x8b, 0xdf, 0x4e, 0xee, 0x44, 0xe2, 0xb5, 0x02, 2251 0x21, 0xab, 0x1f, 0x02, 0x9d, 0x3d, 0x3e, 0x05, 2252 0x23, 0xdd, 0xf9, 0xd7, 0x61, 0x0c, 0x37, 0x6c, 2253 0x72, 0x8a, 0x1e, 0x90, 0x16, 0x92, 0xf1, 0xda, 2254 0x07, 0x82, 0xa3, 0x47, 0x2f, 0xf6, 0xeb, 0x1b, 2255 0xb6, 0x81, 0x0c, 0x6f, 0x68, 0x68, 0x79, 0xc9, 2256 0xa5, 0x59, 0x4f, 0x8f, 0x17, 0x0c, 0xa5, 0xa2, 2257 0xb5, 0xbf, 0x05, 0xa7, 0x4f, 0x42, 0xcd, 0xd9, 2258 0xc8, 0x54, 0xe0, 0x1e}; 2259 static const uint8_t test_vector_4_th_4_raw[] = { 2260 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 0x2f, 0x89, 2261 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 0xe6, 0x6c, 2262 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 0x0a, 0x8b, 2263 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 0xd4, 0x0b}; 2264 static const uint8_t test_vector_4_th_4[] = { 2265 0x58, 0x20, 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 2266 0x2f, 0x89, 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 2267 0xe6, 0x6c, 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 2268 0x0a, 0x8b, 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 2269 0xd4, 0x0b}; 2270 static const uint8_t test_vector_4_ead_4[] = { 2271 }; 2272 static const uint8_t test_vector_4_p_4[] = { 2273 }; 2274 static const uint8_t test_vector_4_a_4[] = { 2275 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2276 0x74, 0x30, 0x40, 0x58, 0x20, 0x63, 0xff, 0x46, 2277 0xad, 0xb9, 0xeb, 0x2f, 0x89, 0xac, 0xed, 0x66, 2278 0xf7, 0xc9, 0x23, 0xe6, 0x6c, 0x36, 0x02, 0xe2, 2279 0x56, 0x57, 0xb2, 0x0a, 0x8b, 0x67, 0x07, 0x6d, 2280 0xcc, 0x92, 0xaa, 0xd4, 0x0b}; 2281 static const uint8_t test_vector_4_info_k_4[] = { 2282 0x58, 0x20, 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 2283 0x2f, 0x89, 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 2284 0xe6, 0x6c, 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 2285 0x0a, 0x8b, 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 2286 0xd4, 0x0b, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 2287 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 2288 static const uint8_t test_vector_4_k_4_raw[] = { 2289 0xee, 0x55, 0xa5, 0x46, 0x1b, 0x2c, 0x41, 0x82, 2290 0x1b, 0x1a, 0xbe, 0xdc, 0x03, 0xb4, 0xef, 0x50}; 2291 static const uint8_t test_vector_4_info_iv_4[] = { 2292 0x58, 0x20, 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 2293 0x2f, 0x89, 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 2294 0xe6, 0x6c, 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 2295 0x0a, 0x8b, 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 2296 0xd4, 0x0b, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2297 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 2298 static const uint8_t test_vector_4_iv_4_raw[] = { 2299 0xcb, 0x14, 0x8d, 0x0f, 0x30, 0xc5, 0xce, 0x4a, 2300 0x6d, 0x80, 0xeb, 0xf3, 0x6c}; 2301 static const uint8_t test_vector_4_ciphertext_4_raw[] = { 2302 0xfc, 0x4f, 0x5e, 0x2f, 0x54, 0xc2, 0xd4, 0x08}; 2303 static const uint8_t test_vector_4_ciphertext_4[] = { 2304 0x48, 0xfc, 0x4f, 0x5e, 0x2f, 0x54, 0xc2, 0xd4, 2305 0x08}; 2306 static const uint8_t test_vector_4_message_4[] = { 2307 0x48, 0xfc, 0x4f, 0x5e, 0x2f, 0x54, 0xc2, 0xd4, 2308 0x08}; 2309 int32_t test_vector_4_oscore_aead_alg = 10; 2310 int32_t test_vector_4_oscore_hash_alg = -16; 2311 static const uint8_t test_vector_4_client_sender_id_raw[] = { 2312 0x32}; 2313 static const uint8_t test_vector_4_server_sender_id_raw[] = { 2314 0x0e}; 2315 static const uint8_t test_vector_4_info_oscore_secret[] = { 2316 0x58, 0x20, 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 2317 0x2f, 0x89, 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 2318 0xe6, 0x6c, 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 2319 0x0a, 0x8b, 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 2320 0xd4, 0x0b, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 2321 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 2322 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 2323 0x10}; 2324 static const uint8_t test_vector_4_oscore_secret_raw[] = { 2325 0x01, 0x4f, 0xdf, 0x73, 0x06, 0x7d, 0xfe, 0xfd, 2326 0x97, 0xe6, 0xb0, 0x59, 0x72, 0xf9, 0x0d, 0x85}; 2327 static const uint8_t test_vector_4_info_oscore_salt[] = { 2328 0x58, 0x20, 0x63, 0xff, 0x46, 0xad, 0xb9, 0xeb, 2329 0x2f, 0x89, 0xac, 0xed, 0x66, 0xf7, 0xc9, 0x23, 2330 0xe6, 0x6c, 0x36, 0x02, 0xe2, 0x56, 0x57, 0xb2, 2331 0x0a, 0x8b, 0x67, 0x07, 0x6d, 0xcc, 0x92, 0xaa, 2332 0xd4, 0x0b, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 2333 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 2334 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 2335 static const uint8_t test_vector_4_oscore_salt_raw[] = { 2336 0xcb, 0x47, 0xb6, 0xec, 0xd3, 0x86, 0x72, 0xdd}; 2337 static const uint8_t test_vector_4_key_update_nonce_raw[] = { 2338 0xe6, 0xf5, 0x49, 0xb8, 0x58, 0x1a, 0xa2, 0x92, 2339 0x53, 0xcf, 0xce, 0x68, 0x07, 0x53, 0xa4, 0x00}; 2340 static const uint8_t test_vector_4_prk_4x3m_key_update_raw[] = { 2341 0x26, 0x78, 0x00, 0x73, 0xf8, 0xce, 0x0b, 0xeb, 2342 0x71, 0x03, 0xe0, 0xc7, 0x17, 0xd1, 0x6d, 0xdb, 2343 0xbb, 0xf6, 0x7b, 0xb1, 0xf0, 0x77, 0x53, 0xca, 2344 0x97, 0xdf, 0xec, 0x34, 0x73, 0x23, 0x47, 0x4d}; 2345 static const uint8_t test_vector_4_oscore_secret_key_update_raw[] = { 2346 0x8f, 0x7c, 0x42, 0x12, 0xd7, 0xe4, 0x2a, 0x1c, 2347 0x5f, 0xbb, 0x5d, 0xc6, 0x2f, 0xd7, 0xb7, 0xf3}; 2348 static const uint8_t test_vector_4_oscore_salt_key_update_raw[] = { 2349 0x87, 0xeb, 0x7d, 0xb2, 0xfd, 0xcf, 0xa8, 0x9c}; 2350 2351 /***************** test_vector_5 ************/ 2352 2353 static const uint8_t test_vector_5_method[] = { 2354 0x03}; 2355 static const uint8_t test_vector_5_suites_i[] = { 2356 0x00}; 2357 static const uint8_t test_vector_5_suites_r[] = { 2358 0x00}; 2359 static const uint8_t test_vector_5_x_raw[] = { 2360 0x9c, 0x6f, 0x2e, 0x4c, 0x74, 0x15, 0xc4, 0xa4, 2361 0x7b, 0xa8, 0xb5, 0xa9, 0x18, 0x5d, 0x27, 0x27, 2362 0x41, 0x4e, 0xd1, 0xfd, 0x39, 0xcf, 0xc9, 0x1a, 2363 0x29, 0x7a, 0xc4, 0x83, 0xd4, 0xfc, 0x03, 0x0f}; 2364 static const uint8_t test_vector_5_g_x_raw[] = { 2365 0x29, 0xe4, 0x43, 0x37, 0x53, 0xdc, 0x07, 0x56, 2366 0xd2, 0x2d, 0xb5, 0x33, 0xfc, 0xcb, 0x84, 0x3a, 2367 0x01, 0x8e, 0xe8, 0x41, 0xbb, 0x9b, 0x05, 0x4d, 2368 0x86, 0x39, 0xc6, 0x51, 0xfe, 0xe1, 0xc2, 0x50}; 2369 static const uint8_t test_vector_5_g_x[] = { 2370 0x58, 0x20, 0x29, 0xe4, 0x43, 0x37, 0x53, 0xdc, 2371 0x07, 0x56, 0xd2, 0x2d, 0xb5, 0x33, 0xfc, 0xcb, 2372 0x84, 0x3a, 0x01, 0x8e, 0xe8, 0x41, 0xbb, 0x9b, 2373 0x05, 0x4d, 0x86, 0x39, 0xc6, 0x51, 0xfe, 0xe1, 2374 0xc2, 0x50}; 2375 int32_t test_vector_5_c_i_raw = 4; 2376 static const uint8_t test_vector_5_c_i[] = { 2377 0x04}; 2378 static const uint8_t test_vector_5_ead_1[] = { 2379 }; 2380 static const uint8_t test_vector_5_message_1[] = { 2381 0x03, 0x00, 0x58, 0x20, 0x29, 0xe4, 0x43, 0x37, 2382 0x53, 0xdc, 0x07, 0x56, 0xd2, 0x2d, 0xb5, 0x33, 2383 0xfc, 0xcb, 0x84, 0x3a, 0x01, 0x8e, 0xe8, 0x41, 2384 0xbb, 0x9b, 0x05, 0x4d, 0x86, 0x39, 0xc6, 0x51, 2385 0xfe, 0xe1, 0xc2, 0x50, 0x04}; 2386 static const uint8_t test_vector_5_y_raw[] = { 2387 0x26, 0x5c, 0x73, 0x41, 0xca, 0x2e, 0xa0, 0xa2, 2388 0x14, 0xfe, 0xfe, 0xaa, 0xf7, 0x26, 0xf9, 0xe1, 2389 0x74, 0x90, 0xa2, 0x5f, 0x60, 0x91, 0x3b, 0x9b, 2390 0xcb, 0x60, 0x60, 0x23, 0xb0, 0x51, 0xab, 0xe5}; 2391 static const uint8_t test_vector_5_g_y_raw[] = { 2392 0xb2, 0x7a, 0x5f, 0x78, 0xb9, 0xa8, 0x8f, 0x2e, 2393 0xfd, 0x12, 0xc6, 0xf6, 0x49, 0xbe, 0xc5, 0x32, 2394 0x2a, 0x2f, 0x8c, 0x36, 0x89, 0xc0, 0x33, 0x05, 2395 0xd1, 0x5c, 0xac, 0xda, 0x40, 0x52, 0x30, 0x49}; 2396 static const uint8_t test_vector_5_g_y[] = { 2397 0x58, 0x20, 0xb2, 0x7a, 0x5f, 0x78, 0xb9, 0xa8, 2398 0x8f, 0x2e, 0xfd, 0x12, 0xc6, 0xf6, 0x49, 0xbe, 2399 0xc5, 0x32, 0x2a, 0x2f, 0x8c, 0x36, 0x89, 0xc0, 2400 0x33, 0x05, 0xd1, 0x5c, 0xac, 0xda, 0x40, 0x52, 2401 0x30, 0x49}; 2402 static const uint8_t test_vector_5_g_xy_raw[] = { 2403 0xde, 0x76, 0xe7, 0x89, 0x06, 0xdb, 0xfb, 0xe1, 2404 0xba, 0x3c, 0xd0, 0x10, 0xec, 0x7f, 0xea, 0xb2, 2405 0x05, 0xf1, 0x3a, 0xb0, 0xf8, 0x50, 0x3c, 0x13, 2406 0xfc, 0xf5, 0x55, 0xec, 0x05, 0xc0, 0xa0, 0x4f}; 2407 static const uint8_t test_vector_5_salt_raw[] = { 2408 }; 2409 static const uint8_t test_vector_5_prk_2e_raw[] = { 2410 0xa3, 0x2e, 0x4b, 0xbc, 0x4c, 0x11, 0x8d, 0x92, 2411 0xf1, 0xfc, 0xc8, 0x55, 0xe4, 0x3b, 0x41, 0x4c, 2412 0xf2, 0xd0, 0x5e, 0x68, 0x1f, 0xbf, 0x16, 0x0b, 2413 0x84, 0xf7, 0xb8, 0xf7, 0xb4, 0xa5, 0x00, 0x69}; 2414 static const uint8_t test_vector_5_r_raw[] = { 2415 0x81, 0xd1, 0x91, 0xab, 0x29, 0xe9, 0x5f, 0xdb, 2416 0x0a, 0x43, 0x05, 0xc1, 0x22, 0x5e, 0x2e, 0xdb, 2417 0x90, 0x1f, 0x5e, 0x7a, 0xed, 0x18, 0x1d, 0xf1, 2418 0x68, 0x57, 0xa3, 0x13, 0x84, 0xaf, 0xaf, 0x3b}; 2419 static const uint8_t test_vector_5_g_r_raw[] = { 2420 0xb4, 0xd0, 0x50, 0xcc, 0x4c, 0x22, 0x38, 0x90, 2421 0xf5, 0x29, 0x90, 0x22, 0xb0, 0xf7, 0xbd, 0xd8, 2422 0x66, 0xc4, 0x52, 0xde, 0xb1, 0x10, 0xaa, 0xcf, 2423 0x2c, 0xc5, 0xb6, 0xd8, 0xdd, 0xc6, 0x8d, 0x11}; 2424 static const uint8_t test_vector_5_g_rx_raw[] = { 2425 0x46, 0xab, 0xc7, 0x4a, 0x84, 0x67, 0xfb, 0x20, 2426 0x94, 0xa0, 0x55, 0xa2, 0xb6, 0x69, 0x74, 0xe7, 2427 0x76, 0x39, 0x31, 0x5d, 0x82, 0xe0, 0x2b, 0xab, 2428 0x88, 0x45, 0x9d, 0xa0, 0x15, 0x15, 0x80, 0x3c}; 2429 static const uint8_t test_vector_5_prk_3e2m_raw[] = { 2430 0x55, 0x66, 0x92, 0x0d, 0x5e, 0xf1, 0x54, 0xc8, 2431 0xa9, 0x72, 0x2f, 0x28, 0x81, 0x54, 0x14, 0x55, 2432 0x67, 0xe0, 0xb7, 0xb9, 0x5a, 0x49, 0xc2, 0x64, 2433 0x23, 0x78, 0x1b, 0xa6, 0x5e, 0xe5, 0x92, 0x6d}; 2434 int32_t test_vector_5_c_r_raw = 20; 2435 static const uint8_t test_vector_5_c_r[] = { 2436 0x14}; 2437 static const uint8_t test_vector_5_h_message_1_raw[] = { 2438 0xdc, 0x59, 0x29, 0x39, 0xee, 0x00, 0x5c, 0xae, 2439 0xaf, 0xd5, 0x2e, 0x60, 0xd6, 0xd9, 0xeb, 0xfd, 2440 0x3f, 0xaf, 0x70, 0x34, 0xc1, 0x71, 0x19, 0x25, 2441 0xd0, 0xab, 0x0f, 0x23, 0x30, 0xd0, 0xfc, 0xd1}; 2442 static const uint8_t test_vector_5_h_message_1[] = { 2443 0x58, 0x20, 0xdc, 0x59, 0x29, 0x39, 0xee, 0x00, 2444 0x5c, 0xae, 0xaf, 0xd5, 0x2e, 0x60, 0xd6, 0xd9, 2445 0xeb, 0xfd, 0x3f, 0xaf, 0x70, 0x34, 0xc1, 0x71, 2446 0x19, 0x25, 0xd0, 0xab, 0x0f, 0x23, 0x30, 0xd0, 2447 0xfc, 0xd1}; 2448 static const uint8_t test_vector_5_input_th_2[] = { 2449 0x58, 0x20, 0xdc, 0x59, 0x29, 0x39, 0xee, 0x00, 2450 0x5c, 0xae, 0xaf, 0xd5, 0x2e, 0x60, 0xd6, 0xd9, 2451 0xeb, 0xfd, 0x3f, 0xaf, 0x70, 0x34, 0xc1, 0x71, 2452 0x19, 0x25, 0xd0, 0xab, 0x0f, 0x23, 0x30, 0xd0, 2453 0xfc, 0xd1, 0x58, 0x20, 0xb2, 0x7a, 0x5f, 0x78, 2454 0xb9, 0xa8, 0x8f, 0x2e, 0xfd, 0x12, 0xc6, 0xf6, 2455 0x49, 0xbe, 0xc5, 0x32, 0x2a, 0x2f, 0x8c, 0x36, 2456 0x89, 0xc0, 0x33, 0x05, 0xd1, 0x5c, 0xac, 0xda, 2457 0x40, 0x52, 0x30, 0x49, 0x14}; 2458 static const uint8_t test_vector_5_th_2_raw[] = { 2459 0x5f, 0x33, 0xf4, 0xf6, 0xfb, 0x69, 0x34, 0x11, 2460 0x25, 0xc0, 0xa6, 0x04, 0x16, 0xb5, 0x16, 0x53, 2461 0x9f, 0x07, 0x79, 0x3d, 0xd4, 0xf7, 0x31, 0x03, 2462 0x77, 0x41, 0x89, 0x1b, 0x7d, 0x99, 0xff, 0xe6}; 2463 static const uint8_t test_vector_5_th_2[] = { 2464 0x58, 0x20, 0x5f, 0x33, 0xf4, 0xf6, 0xfb, 0x69, 2465 0x34, 0x11, 0x25, 0xc0, 0xa6, 0x04, 0x16, 0xb5, 2466 0x16, 0x53, 0x9f, 0x07, 0x79, 0x3d, 0xd4, 0xf7, 2467 0x31, 0x03, 0x77, 0x41, 0x89, 0x1b, 0x7d, 0x99, 2468 0xff, 0xe6}; 2469 static const uint8_t test_vector_5_id_cred_r[] = { 2470 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 0x1b, 0x68, 2471 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 2472 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 2473 0x64, 0x75, 0x2f, 0x33, 0x33, 0x37, 0x30, 0x33, 2474 0x31, 0x38}; 2475 static const uint8_t test_vector_5_cred_r[] = { 2476 0x58, 0x83, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 2477 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 2478 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 2479 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 2480 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 2481 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 2482 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 2483 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 2484 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 2485 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 2486 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 2487 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 2488 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 2489 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 2490 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 2491 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 2492 0x7e, 0x7f, 0x80, 0x81, 0x82}; 2493 static const uint8_t test_vector_5_ead_2[] = { 2494 }; 2495 static const uint8_t test_vector_5_info_mac_2[] = { 2496 0x58, 0x20, 0x5f, 0x33, 0xf4, 0xf6, 0xfb, 0x69, 2497 0x34, 0x11, 0x25, 0xc0, 0xa6, 0x04, 0x16, 0xb5, 2498 0x16, 0x53, 0x9f, 0x07, 0x79, 0x3d, 0xd4, 0xf7, 2499 0x31, 0x03, 0x77, 0x41, 0x89, 0x1b, 0x7d, 0x99, 2500 0xff, 0xe6, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 2501 0x58, 0xa7, 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 2502 0x1b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 2503 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 2504 0x2e, 0x65, 0x64, 0x75, 0x2f, 0x33, 0x33, 0x37, 2505 0x30, 0x33, 0x31, 0x38, 0x58, 0x83, 0x00, 0x01, 2506 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 2507 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 2508 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 2509 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 2510 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 2511 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 2512 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 2513 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 2514 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 2515 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 2516 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 2517 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 2518 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 2519 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 2520 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 2521 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 2522 0x82, 0x08}; 2523 static const uint8_t test_vector_5_mac_2_raw[] = { 2524 0x09, 0x28, 0xc4, 0xd5, 0x7a, 0xd3, 0x54, 0x86}; 2525 static const uint8_t test_vector_5_mac_2[] = { 2526 0x48, 0x09, 0x28, 0xc4, 0xd5, 0x7a, 0xd3, 0x54, 2527 0x86}; 2528 static const uint8_t test_vector_5_sig_or_mac_2_raw[] = { 2529 0x09, 0x28, 0xc4, 0xd5, 0x7a, 0xd3, 0x54, 0x86}; 2530 static const uint8_t test_vector_5_sig_or_mac_2[] = { 2531 0x48, 0x09, 0x28, 0xc4, 0xd5, 0x7a, 0xd3, 0x54, 2532 0x86}; 2533 static const uint8_t test_vector_5_plaintext_2[] = { 2534 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 0x1b, 0x68, 2535 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 2536 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 2537 0x64, 0x75, 0x2f, 0x33, 0x33, 0x37, 0x30, 0x33, 2538 0x31, 0x38, 0x48, 0x09, 0x28, 0xc4, 0xd5, 0x7a, 2539 0xd3, 0x54, 0x86}; 2540 static const uint8_t test_vector_5_info_keystream_2[] = { 2541 0x58, 0x20, 0x5f, 0x33, 0xf4, 0xf6, 0xfb, 0x69, 2542 0x34, 0x11, 0x25, 0xc0, 0xa6, 0x04, 0x16, 0xb5, 2543 0x16, 0x53, 0x9f, 0x07, 0x79, 0x3d, 0xd4, 0xf7, 2544 0x31, 0x03, 0x77, 0x41, 0x89, 0x1b, 0x7d, 0x99, 2545 0xff, 0xe6, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 2546 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 2547 0x2b}; 2548 static const uint8_t test_vector_5_keystream_2_raw[] = { 2549 0x20, 0xfd, 0x91, 0x22, 0xd8, 0xa5, 0xc6, 0xc6, 2550 0xab, 0xaa, 0x98, 0xa8, 0x4c, 0x2a, 0x58, 0x22, 2551 0x3c, 0x04, 0x4b, 0xc2, 0x59, 0xfc, 0x49, 0x4a, 2552 0x3a, 0x5c, 0x6b, 0xc5, 0x44, 0x01, 0xd0, 0xa6, 2553 0x74, 0x5e, 0x0f, 0xc4, 0x90, 0xa6, 0xf2, 0x97, 2554 0x2d, 0x7b, 0xa6}; 2555 static const uint8_t test_vector_5_ciphertext_2_raw[] = { 2556 0x81, 0xe5, 0xb2, 0xfa, 0xf8, 0xdd, 0xdd, 0xae, 2557 0xdf, 0xde, 0xe8, 0xdb, 0x76, 0x05, 0x77, 0x47, 2558 0x44, 0x65, 0x26, 0xb2, 0x35, 0x99, 0x67, 0x2f, 2559 0x5e, 0x29, 0x44, 0xf6, 0x77, 0x36, 0xe0, 0x95, 2560 0x45, 0x66, 0x47, 0xcd, 0xb8, 0x62, 0x27, 0xed, 2561 0xfe, 0x2f, 0x20}; 2562 static const uint8_t test_vector_5_ciphertext_2[] = { 2563 0x58, 0x2b, 0x81, 0xe5, 0xb2, 0xfa, 0xf8, 0xdd, 2564 0xdd, 0xae, 0xdf, 0xde, 0xe8, 0xdb, 0x76, 0x05, 2565 0x77, 0x47, 0x44, 0x65, 0x26, 0xb2, 0x35, 0x99, 2566 0x67, 0x2f, 0x5e, 0x29, 0x44, 0xf6, 0x77, 0x36, 2567 0xe0, 0x95, 0x45, 0x66, 0x47, 0xcd, 0xb8, 0x62, 2568 0x27, 0xed, 0xfe, 0x2f, 0x20}; 2569 static const uint8_t test_vector_5_message_2[] = { 2570 0x58, 0x4b, 0xb2, 0x7a, 0x5f, 0x78, 0xb9, 0xa8, 2571 0x8f, 0x2e, 0xfd, 0x12, 0xc6, 0xf6, 0x49, 0xbe, 2572 0xc5, 0x32, 0x2a, 0x2f, 0x8c, 0x36, 0x89, 0xc0, 2573 0x33, 0x05, 0xd1, 0x5c, 0xac, 0xda, 0x40, 0x52, 2574 0x30, 0x49, 0x81, 0xe5, 0xb2, 0xfa, 0xf8, 0xdd, 2575 0xdd, 0xae, 0xdf, 0xde, 0xe8, 0xdb, 0x76, 0x05, 2576 0x77, 0x47, 0x44, 0x65, 0x26, 0xb2, 0x35, 0x99, 2577 0x67, 0x2f, 0x5e, 0x29, 0x44, 0xf6, 0x77, 0x36, 2578 0xe0, 0x95, 0x45, 0x66, 0x47, 0xcd, 0xb8, 0x62, 2579 0x27, 0xed, 0xfe, 0x2f, 0x20, 0x14}; 2580 static const uint8_t test_vector_5_i_raw[] = { 2581 0x8c, 0x17, 0x2c, 0x9a, 0xee, 0x82, 0x14, 0xb8, 2582 0xcc, 0x40, 0x16, 0xa6, 0xcd, 0x87, 0xe5, 0x92, 2583 0x3d, 0xb9, 0xdd, 0x22, 0x85, 0x32, 0xdf, 0x4d, 2584 0x1c, 0x07, 0xfd, 0x04, 0xb6, 0x19, 0x79, 0x53}; 2585 static const uint8_t test_vector_5_g_i_raw[] = { 2586 0xc1, 0x5c, 0x38, 0x12, 0x19, 0x23, 0xf5, 0xfd, 2587 0x39, 0x8d, 0x0f, 0xa0, 0x88, 0x94, 0x6b, 0xe4, 2588 0xf6, 0x0b, 0x4a, 0x7e, 0xfe, 0x89, 0xb5, 0x01, 2589 0xf5, 0x6a, 0x19, 0x30, 0x97, 0x22, 0x8d, 0x27}; 2590 static const uint8_t test_vector_5_g_iy_raw[] = { 2591 0x63, 0x6b, 0x08, 0xea, 0x7e, 0x38, 0xa8, 0x67, 2592 0x8d, 0x96, 0xc4, 0x30, 0x1c, 0x12, 0x0b, 0x32, 2593 0xaf, 0x46, 0xda, 0x67, 0x30, 0xe7, 0x99, 0x1a, 2594 0xcb, 0xe1, 0x75, 0x21, 0xaa, 0x6d, 0x5e, 0x1d}; 2595 static const uint8_t test_vector_5_prk_4x3m_raw[] = { 2596 0x76, 0x0c, 0x71, 0x34, 0x1d, 0xde, 0x82, 0x5b, 2597 0x28, 0x0c, 0x43, 0xa9, 0x1d, 0xe4, 0xc6, 0x3d, 2598 0x95, 0x5b, 0x73, 0x50, 0x2c, 0x8a, 0x27, 0x1f, 2599 0xbf, 0x7a, 0x99, 0xba, 0x01, 0x0e, 0x5d, 0x05}; 2600 static const uint8_t test_vector_5_input_TH_3[] = { 2601 0x58, 0x20, 0x5f, 0x33, 0xf4, 0xf6, 0xfb, 0x69, 2602 0x34, 0x11, 0x25, 0xc0, 0xa6, 0x04, 0x16, 0xb5, 2603 0x16, 0x53, 0x9f, 0x07, 0x79, 0x3d, 0xd4, 0xf7, 2604 0x31, 0x03, 0x77, 0x41, 0x89, 0x1b, 0x7d, 0x99, 2605 0xff, 0xe6, 0x58, 0x2b, 0x81, 0xe5, 0xb2, 0xfa, 2606 0xf8, 0xdd, 0xdd, 0xae, 0xdf, 0xde, 0xe8, 0xdb, 2607 0x76, 0x05, 0x77, 0x47, 0x44, 0x65, 0x26, 0xb2, 2608 0x35, 0x99, 0x67, 0x2f, 0x5e, 0x29, 0x44, 0xf6, 2609 0x77, 0x36, 0xe0, 0x95, 0x45, 0x66, 0x47, 0xcd, 2610 0xb8, 0x62, 0x27, 0xed, 0xfe, 0x2f, 0x20}; 2611 static const uint8_t test_vector_5_th_3_raw[] = { 2612 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 0xf4, 0x80, 2613 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 0xe2, 0xd0, 2614 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 0x83, 0x50, 2615 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 0x9a, 0x1c}; 2616 static const uint8_t test_vector_5_th_3[] = { 2617 0x58, 0x20, 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 2618 0xf4, 0x80, 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 2619 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 2620 0x83, 0x50, 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 2621 0x9a, 0x1c}; 2622 static const uint8_t test_vector_5_id_cred_i[] = { 2623 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 0x1b, 0x68, 2624 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 2625 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 2626 0x64, 0x75, 0x2f, 0x32, 0x37, 0x31, 0x36, 0x30, 2627 0x35, 0x37}; 2628 static const uint8_t test_vector_5_cred_i[] = { 2629 0x58, 0x77, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 2630 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 2631 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 2632 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 2633 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 2634 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 2635 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 2636 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 2637 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 2638 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 2639 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 2640 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 2641 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 2642 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 2643 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 2644 0x76}; 2645 static const uint8_t test_vector_5_ead_3[] = { 2646 }; 2647 static const uint8_t test_vector_5_info_mac_3[] = { 2648 0x58, 0x20, 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 2649 0xf4, 0x80, 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 2650 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 2651 0x83, 0x50, 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 2652 0x9a, 0x1c, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 2653 0x58, 0x9b, 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 2654 0x1b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 2655 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 2656 0x2e, 0x65, 0x64, 0x75, 0x2f, 0x32, 0x37, 0x31, 2657 0x36, 0x30, 0x35, 0x37, 0x58, 0x77, 0x00, 0x01, 2658 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 2659 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 2660 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 2661 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 2662 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 2663 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 2664 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 2665 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 2666 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 2667 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 2668 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 2669 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 2670 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 2671 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 2672 0x72, 0x73, 0x74, 0x75, 0x76, 0x08}; 2673 static const uint8_t test_vector_5_mac_3_raw[] = { 2674 0x22, 0x5e, 0x20, 0x84, 0x2e, 0x95, 0xb2, 0x45}; 2675 static const uint8_t test_vector_5_mac_3[] = { 2676 0x48, 0x22, 0x5e, 0x20, 0x84, 0x2e, 0x95, 0xb2, 2677 0x45}; 2678 static const uint8_t test_vector_5_sig_or_mac_3_raw[] = { 2679 0x22, 0x5e, 0x20, 0x84, 0x2e, 0x95, 0xb2, 0x45}; 2680 static const uint8_t test_vector_5_sig_or_mac_3[] = { 2681 0x48, 0x22, 0x5e, 0x20, 0x84, 0x2e, 0x95, 0xb2, 2682 0x45}; 2683 static const uint8_t test_vector_5_p_3[] = { 2684 0xa1, 0x18, 0x23, 0xd8, 0x20, 0x78, 0x1b, 0x68, 2685 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 2686 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 2687 0x64, 0x75, 0x2f, 0x32, 0x37, 0x31, 0x36, 0x30, 2688 0x35, 0x37, 0x48, 0x22, 0x5e, 0x20, 0x84, 0x2e, 2689 0x95, 0xb2, 0x45}; 2690 static const uint8_t test_vector_5_a_3[] = { 2691 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2692 0x74, 0x30, 0x40, 0x58, 0x20, 0x75, 0x7b, 0x8b, 2693 0x1d, 0xea, 0xe8, 0xf4, 0x80, 0x7c, 0x42, 0x0c, 2694 0x75, 0x48, 0xdb, 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 2695 0xdd, 0x2d, 0x19, 0x83, 0x50, 0x2c, 0xaf, 0x1b, 2696 0xf6, 0x01, 0x97, 0x9a, 0x1c}; 2697 static const uint8_t test_vector_5_info_k_3[] = { 2698 0x58, 0x20, 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 2699 0xf4, 0x80, 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 2700 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 2701 0x83, 0x50, 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 2702 0x9a, 0x1c, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 2703 static const uint8_t test_vector_5_k_3_raw[] = { 2704 0x08, 0x55, 0xb1, 0x82, 0xd6, 0xfe, 0xe7, 0x90, 2705 0x08, 0x4a, 0x92, 0xdc, 0x24, 0xd8, 0x99, 0x5d}; 2706 static const uint8_t test_vector_5_info_iv_3[] = { 2707 0x58, 0x20, 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 2708 0xf4, 0x80, 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 2709 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 2710 0x83, 0x50, 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 2711 0x9a, 0x1c, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 2712 0x0d}; 2713 static const uint8_t test_vector_5_iv_3_raw[] = { 2714 0xdc, 0x17, 0x00, 0x50, 0xd1, 0xbd, 0x55, 0x1f, 2715 0x88, 0xf4, 0x48, 0xad, 0x95}; 2716 static const uint8_t test_vector_5_ciphertext_3_raw[] = { 2717 0x1f, 0x09, 0x9c, 0x94, 0xc8, 0xf8, 0x23, 0x1f, 2718 0xc9, 0x94, 0x7d, 0xad, 0x57, 0xfc, 0xca, 0xb0, 2719 0xf2, 0xd9, 0xa3, 0x22, 0x27, 0x46, 0x14, 0x05, 2720 0x9b, 0x0d, 0x45, 0xb2, 0xc0, 0xa9, 0x64, 0x7c, 2721 0x5d, 0x63, 0x7e, 0x3d, 0x88, 0x3f, 0x2b, 0x7a, 2722 0x36, 0x91, 0x1f, 0x99, 0x91, 0xec, 0x69, 0x32, 2723 0x50, 0xf1, 0x98}; 2724 static const uint8_t test_vector_5_ciphertext_3[] = { 2725 0x58, 0x33, 0x1f, 0x09, 0x9c, 0x94, 0xc8, 0xf8, 2726 0x23, 0x1f, 0xc9, 0x94, 0x7d, 0xad, 0x57, 0xfc, 2727 0xca, 0xb0, 0xf2, 0xd9, 0xa3, 0x22, 0x27, 0x46, 2728 0x14, 0x05, 0x9b, 0x0d, 0x45, 0xb2, 0xc0, 0xa9, 2729 0x64, 0x7c, 0x5d, 0x63, 0x7e, 0x3d, 0x88, 0x3f, 2730 0x2b, 0x7a, 0x36, 0x91, 0x1f, 0x99, 0x91, 0xec, 2731 0x69, 0x32, 0x50, 0xf1, 0x98}; 2732 static const uint8_t test_vector_5_message_3[] = { 2733 0x58, 0x33, 0x1f, 0x09, 0x9c, 0x94, 0xc8, 0xf8, 2734 0x23, 0x1f, 0xc9, 0x94, 0x7d, 0xad, 0x57, 0xfc, 2735 0xca, 0xb0, 0xf2, 0xd9, 0xa3, 0x22, 0x27, 0x46, 2736 0x14, 0x05, 0x9b, 0x0d, 0x45, 0xb2, 0xc0, 0xa9, 2737 0x64, 0x7c, 0x5d, 0x63, 0x7e, 0x3d, 0x88, 0x3f, 2738 0x2b, 0x7a, 0x36, 0x91, 0x1f, 0x99, 0x91, 0xec, 2739 0x69, 0x32, 0x50, 0xf1, 0x98}; 2740 static const uint8_t test_vector_5_input_th_4[] = { 2741 0x58, 0x20, 0x75, 0x7b, 0x8b, 0x1d, 0xea, 0xe8, 2742 0xf4, 0x80, 0x7c, 0x42, 0x0c, 0x75, 0x48, 0xdb, 2743 0xe2, 0xd0, 0x1f, 0x4f, 0x80, 0xdd, 0x2d, 0x19, 2744 0x83, 0x50, 0x2c, 0xaf, 0x1b, 0xf6, 0x01, 0x97, 2745 0x9a, 0x1c, 0x58, 0x33, 0x1f, 0x09, 0x9c, 0x94, 2746 0xc8, 0xf8, 0x23, 0x1f, 0xc9, 0x94, 0x7d, 0xad, 2747 0x57, 0xfc, 0xca, 0xb0, 0xf2, 0xd9, 0xa3, 0x22, 2748 0x27, 0x46, 0x14, 0x05, 0x9b, 0x0d, 0x45, 0xb2, 2749 0xc0, 0xa9, 0x64, 0x7c, 0x5d, 0x63, 0x7e, 0x3d, 2750 0x88, 0x3f, 0x2b, 0x7a, 0x36, 0x91, 0x1f, 0x99, 2751 0x91, 0xec, 0x69, 0x32, 0x50, 0xf1, 0x98}; 2752 static const uint8_t test_vector_5_th_4_raw[] = { 2753 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 0xb8, 0xc8, 2754 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 0x8b, 0x0d, 2755 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 0xc3, 0x78, 2756 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 0x1d, 0x69}; 2757 static const uint8_t test_vector_5_th_4[] = { 2758 0x58, 0x20, 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 2759 0xb8, 0xc8, 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 2760 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 2761 0xc3, 0x78, 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 2762 0x1d, 0x69}; 2763 static const uint8_t test_vector_5_ead_4[] = { 2764 }; 2765 static const uint8_t test_vector_5_p_4[] = { 2766 }; 2767 static const uint8_t test_vector_5_a_4[] = { 2768 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 2769 0x74, 0x30, 0x40, 0x58, 0x20, 0xc7, 0xca, 0xc0, 2770 0xd7, 0x3e, 0xcb, 0xb8, 0xc8, 0x3a, 0xee, 0x37, 2771 0xff, 0x98, 0x6d, 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 2772 0x9b, 0x1f, 0xe4, 0xc3, 0x78, 0xe4, 0x29, 0x98, 2773 0x1c, 0x82, 0xc5, 0x1d, 0x69}; 2774 static const uint8_t test_vector_5_info_k_4[] = { 2775 0x58, 0x20, 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 2776 0xb8, 0xc8, 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 2777 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 2778 0xc3, 0x78, 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 2779 0x1d, 0x69, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 2780 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 2781 static const uint8_t test_vector_5_k_4_raw[] = { 2782 0xcb, 0x44, 0xfe, 0xeb, 0xde, 0xa0, 0xc4, 0xfc, 2783 0x21, 0xf2, 0x9c, 0xd1, 0xf4, 0x04, 0xcf, 0x14}; 2784 static const uint8_t test_vector_5_info_iv_4[] = { 2785 0x58, 0x20, 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 2786 0xb8, 0xc8, 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 2787 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 2788 0xc3, 0x78, 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 2789 0x1d, 0x69, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 2790 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 2791 static const uint8_t test_vector_5_iv_4_raw[] = { 2792 0xc7, 0x1c, 0xe5, 0x00, 0x36, 0xc6, 0x74, 0x44, 2793 0x7d, 0x93, 0x20, 0xa7, 0x87}; 2794 static const uint8_t test_vector_5_ciphertext_4_raw[] = { 2795 0x8b, 0x27, 0x7d, 0x16, 0xc1, 0x38, 0x2c, 0x46}; 2796 static const uint8_t test_vector_5_ciphertext_4[] = { 2797 0x48, 0x8b, 0x27, 0x7d, 0x16, 0xc1, 0x38, 0x2c, 2798 0x46}; 2799 static const uint8_t test_vector_5_message_4[] = { 2800 0x48, 0x8b, 0x27, 0x7d, 0x16, 0xc1, 0x38, 0x2c, 2801 0x46}; 2802 int32_t test_vector_5_oscore_aead_alg = 10; 2803 int32_t test_vector_5_oscore_hash_alg = -16; 2804 static const uint8_t test_vector_5_client_sender_id_raw[] = { 2805 0x14}; 2806 static const uint8_t test_vector_5_server_sender_id_raw[] = { 2807 0x04}; 2808 static const uint8_t test_vector_5_info_oscore_secret[] = { 2809 0x58, 0x20, 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 2810 0xb8, 0xc8, 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 2811 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 2812 0xc3, 0x78, 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 2813 0x1d, 0x69, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 2814 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 2815 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 2816 0x10}; 2817 static const uint8_t test_vector_5_oscore_secret_raw[] = { 2818 0xd4, 0xef, 0x3e, 0x9e, 0x52, 0x89, 0x31, 0xdc, 2819 0x5d, 0xb1, 0xef, 0x54, 0xac, 0x10, 0xce, 0x40}; 2820 static const uint8_t test_vector_5_info_oscore_salt[] = { 2821 0x58, 0x20, 0xc7, 0xca, 0xc0, 0xd7, 0x3e, 0xcb, 2822 0xb8, 0xc8, 0x3a, 0xee, 0x37, 0xff, 0x98, 0x6d, 2823 0x8b, 0x0d, 0xe5, 0xa3, 0x62, 0x9b, 0x1f, 0xe4, 2824 0xc3, 0x78, 0xe4, 0x29, 0x98, 0x1c, 0x82, 0xc5, 2825 0x1d, 0x69, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 2826 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 2827 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 2828 static const uint8_t test_vector_5_oscore_salt_raw[] = { 2829 0x98, 0x50, 0x5e, 0x3f, 0x73, 0xf8, 0x13, 0xf8}; 2830 static const uint8_t test_vector_5_key_update_nonce_raw[] = { 2831 0x7c, 0x58, 0x6e, 0x1b, 0x77, 0xac, 0xe6, 0x99, 2832 0x87, 0x17, 0x0c, 0x2f, 0xee, 0xa8, 0x46, 0xfa}; 2833 static const uint8_t test_vector_5_prk_4x3m_key_update_raw[] = { 2834 0x05, 0x11, 0xf4, 0x2b, 0x18, 0x13, 0xb6, 0x7b, 2835 0xca, 0x20, 0x4b, 0x01, 0x45, 0x6e, 0x00, 0x7e, 2836 0x04, 0x0a, 0xda, 0x4e, 0xc8, 0xf9, 0x6b, 0xe5, 2837 0xbd, 0x78, 0xda, 0xb2, 0xfb, 0xc2, 0x6e, 0x55}; 2838 static const uint8_t test_vector_5_oscore_secret_key_update_raw[] = { 2839 0x9f, 0xab, 0x73, 0x39, 0xaa, 0xf5, 0xf1, 0x1c, 2840 0x8a, 0xa8, 0xda, 0xa4, 0x12, 0x7c, 0xae, 0x00}; 2841 static const uint8_t test_vector_5_oscore_salt_key_update_raw[] = { 2842 0x27, 0x33, 0xd0, 0x7d, 0x9e, 0x22, 0xc2, 0x56}; 2843 2844 /***************** test_vector_6 ************/ 2845 2846 static const uint8_t test_vector_6_method[] = { 2847 0x02}; 2848 static const uint8_t test_vector_6_suites_i[] = { 2849 0x00}; 2850 static const uint8_t test_vector_6_suites_r[] = { 2851 0x00}; 2852 static const uint8_t test_vector_6_x_raw[] = { 2853 0xd3, 0x77, 0x1a, 0x63, 0xe9, 0x5e, 0x15, 0x5e, 2854 0xd9, 0xa3, 0x60, 0x16, 0x4c, 0xc6, 0xbd, 0x0b, 2855 0xde, 0x0b, 0xc3, 0xad, 0xdb, 0xe8, 0x98, 0x26, 2856 0x0a, 0x31, 0x67, 0x13, 0x90, 0x7b, 0xfe, 0xf7}; 2857 static const uint8_t test_vector_6_g_x_raw[] = { 2858 0xe2, 0x06, 0xc8, 0x54, 0x14, 0xba, 0x73, 0x46, 2859 0x76, 0x80, 0x20, 0xaf, 0x25, 0x87, 0x9a, 0xc3, 2860 0x8d, 0xe3, 0xc4, 0x2e, 0xf3, 0x3b, 0x19, 0xfd, 2861 0x38, 0x1e, 0x42, 0x27, 0xb2, 0xd6, 0x6e, 0x4a}; 2862 static const uint8_t test_vector_6_g_x[] = { 2863 0x58, 0x20, 0xe2, 0x06, 0xc8, 0x54, 0x14, 0xba, 2864 0x73, 0x46, 0x76, 0x80, 0x20, 0xaf, 0x25, 0x87, 2865 0x9a, 0xc3, 0x8d, 0xe3, 0xc4, 0x2e, 0xf3, 0x3b, 2866 0x19, 0xfd, 0x38, 0x1e, 0x42, 0x27, 0xb2, 0xd6, 2867 0x6e, 0x4a}; 2868 int32_t test_vector_6_c_i_raw = 18; 2869 static const uint8_t test_vector_6_c_i[] = { 2870 0x12}; 2871 static const uint8_t test_vector_6_ead_1[] = { 2872 }; 2873 static const uint8_t test_vector_6_message_1[] = { 2874 0x02, 0x00, 0x58, 0x20, 0xe2, 0x06, 0xc8, 0x54, 2875 0x14, 0xba, 0x73, 0x46, 0x76, 0x80, 0x20, 0xaf, 2876 0x25, 0x87, 0x9a, 0xc3, 0x8d, 0xe3, 0xc4, 0x2e, 2877 0xf3, 0x3b, 0x19, 0xfd, 0x38, 0x1e, 0x42, 0x27, 2878 0xb2, 0xd6, 0x6e, 0x4a, 0x12}; 2879 static const uint8_t test_vector_6_y_raw[] = { 2880 0x8d, 0x4f, 0x6e, 0xed, 0x3c, 0x60, 0x9a, 0x56, 2881 0xce, 0xbe, 0x68, 0x7b, 0x47, 0x46, 0x4d, 0xca, 2882 0x6e, 0x79, 0x4c, 0x48, 0xc6, 0x94, 0xb5, 0x4f, 2883 0x38, 0xc9, 0xb3, 0x1b, 0x41, 0xa8, 0xa1, 0x79}; 2884 static const uint8_t test_vector_6_g_y_raw[] = { 2885 0x65, 0xb9, 0x7e, 0xb3, 0x49, 0x42, 0xfd, 0xdc, 2886 0xf6, 0xd8, 0x6a, 0xd0, 0xce, 0x7e, 0x92, 0x94, 2887 0x42, 0xfd, 0x4e, 0x8c, 0x04, 0xe7, 0x6d, 0xab, 2888 0x24, 0x52, 0x5b, 0xa8, 0xb9, 0xd4, 0x98, 0x1f}; 2889 static const uint8_t test_vector_6_g_y[] = { 2890 0x58, 0x20, 0x65, 0xb9, 0x7e, 0xb3, 0x49, 0x42, 2891 0xfd, 0xdc, 0xf6, 0xd8, 0x6a, 0xd0, 0xce, 0x7e, 2892 0x92, 0x94, 0x42, 0xfd, 0x4e, 0x8c, 0x04, 0xe7, 2893 0x6d, 0xab, 0x24, 0x52, 0x5b, 0xa8, 0xb9, 0xd4, 2894 0x98, 0x1f}; 2895 static const uint8_t test_vector_6_g_xy_raw[] = { 2896 0x9d, 0xb4, 0xda, 0xc9, 0xb2, 0xab, 0xb3, 0xbf, 2897 0x02, 0x4e, 0x6f, 0x15, 0xb2, 0xd5, 0xbc, 0xe8, 2898 0x75, 0xda, 0x08, 0xde, 0x62, 0xe9, 0x06, 0xc6, 2899 0x28, 0x46, 0xf9, 0xbc, 0xd6, 0x30, 0x9e, 0x69}; 2900 static const uint8_t test_vector_6_salt_raw[] = { 2901 }; 2902 static const uint8_t test_vector_6_prk_2e_raw[] = { 2903 0x57, 0x94, 0x7b, 0xf5, 0xae, 0x05, 0x2b, 0x6d, 2904 0x26, 0xc4, 0x0d, 0xda, 0x59, 0xf6, 0xd9, 0x9e, 2905 0x68, 0x9b, 0x4f, 0x1a, 0x9b, 0x65, 0x35, 0x23, 2906 0x20, 0xd8, 0xe4, 0xcc, 0x71, 0xd4, 0x49, 0x09}; 2907 static const uint8_t test_vector_6_sk_r_raw[] = { 2908 0x0e, 0x60, 0xf7, 0x00, 0x29, 0xd3, 0x97, 0x6f, 2909 0x2b, 0x1f, 0xfc, 0xac, 0x79, 0x6a, 0xbf, 0xb3, 2910 0xab, 0x38, 0x66, 0xca, 0x85, 0x8f, 0xf1, 0xbf, 2911 0x29, 0x59, 0xaf, 0x71, 0x8c, 0x09, 0x56, 0x91}; 2912 static const uint8_t test_vector_6_pk_r_raw[] = { 2913 0xc4, 0xe1, 0xdc, 0xbe, 0xf8, 0x0d, 0x63, 0x69, 2914 0x78, 0xf2, 0x85, 0x3d, 0xbd, 0x64, 0x0e, 0xc9, 2915 0x08, 0x4e, 0x49, 0x2f, 0x5b, 0x48, 0xc2, 0x90, 2916 0x00, 0xb1, 0xa5, 0x16, 0xbd, 0xb2, 0x70, 0x99}; 2917 static const uint8_t test_vector_6_prk_3e2m_raw[] = { 2918 0x57, 0x94, 0x7b, 0xf5, 0xae, 0x05, 0x2b, 0x6d, 2919 0x26, 0xc4, 0x0d, 0xda, 0x59, 0xf6, 0xd9, 0x9e, 2920 0x68, 0x9b, 0x4f, 0x1a, 0x9b, 0x65, 0x35, 0x23, 2921 0x20, 0xd8, 0xe4, 0xcc, 0x71, 0xd4, 0x49, 0x09}; 2922 int32_t test_vector_6_c_r_raw = -13; 2923 static const uint8_t test_vector_6_c_r[] = { 2924 0x2c}; 2925 static const uint8_t test_vector_6_h_message_1_raw[] = { 2926 0xd6, 0xfc, 0xf0, 0x77, 0x17, 0x38, 0xa5, 0x86, 2927 0x45, 0x1c, 0x7d, 0x1c, 0x6c, 0x36, 0x4b, 0x13, 2928 0x38, 0x92, 0x2a, 0x04, 0x3b, 0x05, 0xd4, 0xb1, 2929 0x43, 0x3b, 0x4b, 0x94, 0x9b, 0xa3, 0xf3, 0xd1}; 2930 static const uint8_t test_vector_6_h_message_1[] = { 2931 0x58, 0x20, 0xd6, 0xfc, 0xf0, 0x77, 0x17, 0x38, 2932 0xa5, 0x86, 0x45, 0x1c, 0x7d, 0x1c, 0x6c, 0x36, 2933 0x4b, 0x13, 0x38, 0x92, 0x2a, 0x04, 0x3b, 0x05, 2934 0xd4, 0xb1, 0x43, 0x3b, 0x4b, 0x94, 0x9b, 0xa3, 2935 0xf3, 0xd1}; 2936 static const uint8_t test_vector_6_input_th_2[] = { 2937 0x58, 0x20, 0xd6, 0xfc, 0xf0, 0x77, 0x17, 0x38, 2938 0xa5, 0x86, 0x45, 0x1c, 0x7d, 0x1c, 0x6c, 0x36, 2939 0x4b, 0x13, 0x38, 0x92, 0x2a, 0x04, 0x3b, 0x05, 2940 0xd4, 0xb1, 0x43, 0x3b, 0x4b, 0x94, 0x9b, 0xa3, 2941 0xf3, 0xd1, 0x58, 0x20, 0x65, 0xb9, 0x7e, 0xb3, 2942 0x49, 0x42, 0xfd, 0xdc, 0xf6, 0xd8, 0x6a, 0xd0, 2943 0xce, 0x7e, 0x92, 0x94, 0x42, 0xfd, 0x4e, 0x8c, 2944 0x04, 0xe7, 0x6d, 0xab, 0x24, 0x52, 0x5b, 0xa8, 2945 0xb9, 0xd4, 0x98, 0x1f, 0x2c}; 2946 static const uint8_t test_vector_6_th_2_raw[] = { 2947 0xe6, 0x0c, 0x30, 0x09, 0x28, 0xf2, 0x55, 0xd4, 2948 0xbc, 0x2e, 0x6e, 0x20, 0x52, 0x13, 0xc8, 0xe8, 2949 0x51, 0xc9, 0xdf, 0x39, 0x9f, 0xaf, 0x01, 0x74, 2950 0x61, 0x98, 0x9f, 0xb2, 0xe1, 0x6c, 0x59, 0xfb}; 2951 static const uint8_t test_vector_6_th_2[] = { 2952 0x58, 0x20, 0xe6, 0x0c, 0x30, 0x09, 0x28, 0xf2, 2953 0x55, 0xd4, 0xbc, 0x2e, 0x6e, 0x20, 0x52, 0x13, 2954 0xc8, 0xe8, 0x51, 0xc9, 0xdf, 0x39, 0x9f, 0xaf, 2955 0x01, 0x74, 0x61, 0x98, 0x9f, 0xb2, 0xe1, 0x6c, 2956 0x59, 0xfb}; 2957 static const uint8_t test_vector_6_id_cred_r[] = { 2958 0xa1, 0x18, 0x20, 0x58, 0x6e, 0x58, 0x6c, 0x00, 2959 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 2960 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 2961 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 2962 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 2963 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 2964 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 2965 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 2966 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 2967 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 2968 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 2969 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 2970 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 2971 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 2972 0x69, 0x6a, 0x6b}; 2973 static const uint8_t test_vector_6_cred_r[] = { 2974 0x58, 0x6c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 2975 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 2976 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 2977 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 2978 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 2979 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 2980 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 2981 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 2982 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 2983 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 2984 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 2985 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 2986 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 2987 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b}; 2988 static const uint8_t test_vector_6_ead_2[] = { 2989 }; 2990 static const uint8_t test_vector_6_info_mac_2[] = { 2991 0x58, 0x20, 0xe6, 0x0c, 0x30, 0x09, 0x28, 0xf2, 2992 0x55, 0xd4, 0xbc, 0x2e, 0x6e, 0x20, 0x52, 0x13, 2993 0xc8, 0xe8, 0x51, 0xc9, 0xdf, 0x39, 0x9f, 0xaf, 2994 0x01, 0x74, 0x61, 0x98, 0x9f, 0xb2, 0xe1, 0x6c, 2995 0x59, 0xfb, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 2996 0x58, 0xe1, 0xa1, 0x18, 0x20, 0x58, 0x6e, 0x58, 2997 0x6c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 2998 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 2999 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 3000 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 3001 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 3002 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 3003 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 3004 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 3005 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 3006 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 3007 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 3008 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 3009 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 3010 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x58, 0x6c, 0x00, 3011 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3012 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 3013 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 3014 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 3015 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 3016 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 3017 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 3018 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 3019 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 3020 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 3021 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 3022 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 3023 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 3024 0x69, 0x6a, 0x6b, 0x18, 0x20}; 3025 static const uint8_t test_vector_6_mac_2_raw[] = { 3026 0x8a, 0x37, 0xc0, 0x1a, 0x20, 0x49, 0x1e, 0xb4, 3027 0xb1, 0x97, 0x12, 0xcf, 0x8d, 0x13, 0x03, 0xf6, 3028 0x00, 0xfe, 0xd2, 0x32, 0x34, 0x9a, 0x7d, 0x3a, 3029 0xf9, 0x01, 0xae, 0x51, 0x94, 0xfc, 0x7f, 0x42}; 3030 static const uint8_t test_vector_6_mac_2[] = { 3031 0x58, 0x20, 0x8a, 0x37, 0xc0, 0x1a, 0x20, 0x49, 3032 0x1e, 0xb4, 0xb1, 0x97, 0x12, 0xcf, 0x8d, 0x13, 3033 0x03, 0xf6, 0x00, 0xfe, 0xd2, 0x32, 0x34, 0x9a, 3034 0x7d, 0x3a, 0xf9, 0x01, 0xae, 0x51, 0x94, 0xfc, 3035 0x7f, 0x42}; 3036 static const uint8_t test_vector_6_m_2[] = { 3037 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 3038 0x75, 0x72, 0x65, 0x31, 0x58, 0x73, 0xa1, 0x18, 3039 0x20, 0x58, 0x6e, 0x58, 0x6c, 0x00, 0x01, 0x02, 3040 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 3041 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 3042 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 3043 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 3044 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 3045 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 3046 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 3047 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 3048 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 3049 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 3050 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 3051 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 3052 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 3053 0x6b, 0x58, 0x90, 0x58, 0x20, 0xe6, 0x0c, 0x30, 3054 0x09, 0x28, 0xf2, 0x55, 0xd4, 0xbc, 0x2e, 0x6e, 3055 0x20, 0x52, 0x13, 0xc8, 0xe8, 0x51, 0xc9, 0xdf, 3056 0x39, 0x9f, 0xaf, 0x01, 0x74, 0x61, 0x98, 0x9f, 3057 0xb2, 0xe1, 0x6c, 0x59, 0xfb, 0x58, 0x6c, 0x00, 3058 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3059 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 3060 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 3061 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 3062 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 3063 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 3064 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 3065 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 3066 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 3067 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 3068 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 3069 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 3070 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 3071 0x69, 0x6a, 0x6b, 0x58, 0x20, 0x8a, 0x37, 0xc0, 3072 0x1a, 0x20, 0x49, 0x1e, 0xb4, 0xb1, 0x97, 0x12, 3073 0xcf, 0x8d, 0x13, 0x03, 0xf6, 0x00, 0xfe, 0xd2, 3074 0x32, 0x34, 0x9a, 0x7d, 0x3a, 0xf9, 0x01, 0xae, 3075 0x51, 0x94, 0xfc, 0x7f, 0x42}; 3076 static const uint8_t test_vector_6_sig_or_mac_2_raw[] = { 3077 0x01, 0x91, 0xc9, 0xf1, 0x8d, 0xfc, 0x67, 0xdd, 3078 0xf3, 0xcc, 0x90, 0x63, 0xfa, 0xd3, 0xf3, 0x28, 3079 0x62, 0x0f, 0xd7, 0x0d, 0xfe, 0xb4, 0x0c, 0xa5, 3080 0x60, 0x6c, 0x1d, 0x38, 0x6a, 0x74, 0xbe, 0x97, 3081 0x84, 0x12, 0xb7, 0x7f, 0x98, 0x1e, 0x35, 0x4f, 3082 0x19, 0xaa, 0x95, 0x85, 0xab, 0x23, 0xb7, 0xa3, 3083 0x31, 0x3d, 0xf4, 0x10, 0x9a, 0x62, 0x98, 0x27, 3084 0x04, 0xbe, 0xef, 0x66, 0x99, 0x39, 0x00, 0x05}; 3085 static const uint8_t test_vector_6_sig_or_mac_2[] = { 3086 0x58, 0x40, 0x01, 0x91, 0xc9, 0xf1, 0x8d, 0xfc, 3087 0x67, 0xdd, 0xf3, 0xcc, 0x90, 0x63, 0xfa, 0xd3, 3088 0xf3, 0x28, 0x62, 0x0f, 0xd7, 0x0d, 0xfe, 0xb4, 3089 0x0c, 0xa5, 0x60, 0x6c, 0x1d, 0x38, 0x6a, 0x74, 3090 0xbe, 0x97, 0x84, 0x12, 0xb7, 0x7f, 0x98, 0x1e, 3091 0x35, 0x4f, 0x19, 0xaa, 0x95, 0x85, 0xab, 0x23, 3092 0xb7, 0xa3, 0x31, 0x3d, 0xf4, 0x10, 0x9a, 0x62, 3093 0x98, 0x27, 0x04, 0xbe, 0xef, 0x66, 0x99, 0x39, 3094 0x00, 0x05}; 3095 static const uint8_t test_vector_6_plaintext_2[] = { 3096 0xa1, 0x18, 0x20, 0x58, 0x6e, 0x58, 0x6c, 0x00, 3097 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3098 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 3099 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 3100 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 3101 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 3102 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 3103 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 3104 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 3105 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 3106 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 3107 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 3108 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 3109 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 3110 0x69, 0x6a, 0x6b, 0x58, 0x40, 0x01, 0x91, 0xc9, 3111 0xf1, 0x8d, 0xfc, 0x67, 0xdd, 0xf3, 0xcc, 0x90, 3112 0x63, 0xfa, 0xd3, 0xf3, 0x28, 0x62, 0x0f, 0xd7, 3113 0x0d, 0xfe, 0xb4, 0x0c, 0xa5, 0x60, 0x6c, 0x1d, 3114 0x38, 0x6a, 0x74, 0xbe, 0x97, 0x84, 0x12, 0xb7, 3115 0x7f, 0x98, 0x1e, 0x35, 0x4f, 0x19, 0xaa, 0x95, 3116 0x85, 0xab, 0x23, 0xb7, 0xa3, 0x31, 0x3d, 0xf4, 3117 0x10, 0x9a, 0x62, 0x98, 0x27, 0x04, 0xbe, 0xef, 3118 0x66, 0x99, 0x39, 0x00, 0x05}; 3119 static const uint8_t test_vector_6_info_keystream_2[] = { 3120 0x58, 0x20, 0xe6, 0x0c, 0x30, 0x09, 0x28, 0xf2, 3121 0x55, 0xd4, 0xbc, 0x2e, 0x6e, 0x20, 0x52, 0x13, 3122 0xc8, 0xe8, 0x51, 0xc9, 0xdf, 0x39, 0x9f, 0xaf, 3123 0x01, 0x74, 0x61, 0x98, 0x9f, 0xb2, 0xe1, 0x6c, 3124 0x59, 0xfb, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 3125 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 3126 0xb5}; 3127 static const uint8_t test_vector_6_keystream_2_raw[] = { 3128 0xd6, 0x77, 0xe0, 0x5b, 0xda, 0x9d, 0x50, 0xf5, 3129 0xee, 0x5d, 0x5d, 0xf7, 0xe0, 0xf9, 0x19, 0xc7, 3130 0x74, 0x16, 0x40, 0x21, 0xb6, 0xa7, 0x73, 0xca, 3131 0x2d, 0x2c, 0xee, 0x72, 0x83, 0xb2, 0x30, 0x91, 3132 0x78, 0xa5, 0xcd, 0x83, 0xf1, 0x80, 0x2b, 0x5a, 3133 0x1e, 0x80, 0xdd, 0x5a, 0xc2, 0x27, 0x3d, 0x96, 3134 0x63, 0xba, 0x1f, 0x78, 0x22, 0x2a, 0x01, 0x13, 3135 0x0b, 0xf5, 0xfc, 0xfa, 0x1c, 0x3f, 0x0b, 0xd8, 3136 0x83, 0xf3, 0xdc, 0xdb, 0x8a, 0x1d, 0xbd, 0x4d, 3137 0xfe, 0x48, 0x20, 0xc3, 0x69, 0xc9, 0xc4, 0xc8, 3138 0xeb, 0x72, 0xfa, 0xd1, 0xb3, 0xe6, 0x7d, 0x29, 3139 0x87, 0x6d, 0x7b, 0xac, 0x8c, 0x35, 0x4f, 0x47, 3140 0x75, 0x64, 0x18, 0x1a, 0xbf, 0xe1, 0xdd, 0xfb, 3141 0x6e, 0x23, 0x3a, 0x60, 0xf0, 0x00, 0xb7, 0x14, 3142 0x60, 0xa4, 0xdb, 0xbb, 0x11, 0x94, 0xb0, 0x41, 3143 0x85, 0x34, 0xf6, 0x53, 0x90, 0x3e, 0xa7, 0x1d, 3144 0x88, 0x5b, 0x4c, 0x0a, 0x82, 0x79, 0xb2, 0x25, 3145 0xcd, 0x4c, 0x79, 0x05, 0x44, 0x2f, 0x45, 0x8a, 3146 0x72, 0x03, 0x34, 0xbe, 0xcd, 0x34, 0x8d, 0x7e, 3147 0x81, 0x1c, 0xb6, 0x19, 0x98, 0x23, 0x30, 0x5a, 3148 0x0d, 0x60, 0x89, 0xc8, 0xe7, 0x4a, 0x38, 0x91, 3149 0x60, 0xcd, 0x6e, 0x81, 0x74, 0x38, 0x03, 0x5d, 3150 0xa9, 0x86, 0x2e, 0xe1, 0x71}; 3151 static const uint8_t test_vector_6_ciphertext_2_raw[] = { 3152 0x77, 0x6f, 0xc0, 0x03, 0xb4, 0xc5, 0x3c, 0xf5, 3153 0xef, 0x5f, 0x5e, 0xf3, 0xe5, 0xff, 0x1e, 0xcf, 3154 0x7d, 0x1c, 0x4b, 0x2d, 0xbb, 0xa9, 0x7c, 0xda, 3155 0x3c, 0x3e, 0xfd, 0x66, 0x96, 0xa4, 0x27, 0x89, 3156 0x61, 0xbf, 0xd6, 0x9f, 0xec, 0x9e, 0x34, 0x7a, 3157 0x3f, 0xa2, 0xfe, 0x7e, 0xe7, 0x01, 0x1a, 0xbe, 3158 0x4a, 0x90, 0x34, 0x54, 0x0f, 0x04, 0x2e, 0x23, 3159 0x3a, 0xc7, 0xcf, 0xce, 0x29, 0x09, 0x3c, 0xe0, 3160 0xba, 0xc9, 0xe7, 0xe7, 0xb7, 0x23, 0x82, 0x0d, 3161 0xbf, 0x0a, 0x63, 0x87, 0x2c, 0x8f, 0x83, 0x80, 3162 0xa2, 0x38, 0xb1, 0x9d, 0xfe, 0xa8, 0x32, 0x79, 3163 0xd6, 0x3f, 0x28, 0xf8, 0xd9, 0x63, 0x18, 0x1f, 3164 0x2c, 0x3e, 0x43, 0x46, 0xe2, 0xbf, 0x82, 0x9b, 3165 0x0f, 0x41, 0x59, 0x04, 0x95, 0x66, 0xd0, 0x7c, 3166 0x09, 0xce, 0xb0, 0xe3, 0x51, 0x95, 0x21, 0x88, 3167 0x74, 0xb9, 0x0a, 0x34, 0x4d, 0xcd, 0x6b, 0x8d, 3168 0xeb, 0xa1, 0x9f, 0xf9, 0xaa, 0x1b, 0xbd, 0xf2, 3169 0xc0, 0xb2, 0xcd, 0x09, 0xe1, 0x4f, 0x29, 0x97, 3170 0x4a, 0x69, 0x40, 0x00, 0x5a, 0xb0, 0x9f, 0xc9, 3171 0xfe, 0x84, 0xa8, 0x2c, 0xd7, 0x3a, 0x9a, 0xcf, 3172 0x88, 0xcb, 0xaa, 0x7f, 0x44, 0x7b, 0x05, 0x65, 3173 0x70, 0x57, 0x0c, 0x19, 0x53, 0x3c, 0xbd, 0xb2, 3174 0xcf, 0x1f, 0x17, 0xe1, 0x74}; 3175 static const uint8_t test_vector_6_ciphertext_2[] = { 3176 0x58, 0xb5, 0x77, 0x6f, 0xc0, 0x03, 0xb4, 0xc5, 3177 0x3c, 0xf5, 0xef, 0x5f, 0x5e, 0xf3, 0xe5, 0xff, 3178 0x1e, 0xcf, 0x7d, 0x1c, 0x4b, 0x2d, 0xbb, 0xa9, 3179 0x7c, 0xda, 0x3c, 0x3e, 0xfd, 0x66, 0x96, 0xa4, 3180 0x27, 0x89, 0x61, 0xbf, 0xd6, 0x9f, 0xec, 0x9e, 3181 0x34, 0x7a, 0x3f, 0xa2, 0xfe, 0x7e, 0xe7, 0x01, 3182 0x1a, 0xbe, 0x4a, 0x90, 0x34, 0x54, 0x0f, 0x04, 3183 0x2e, 0x23, 0x3a, 0xc7, 0xcf, 0xce, 0x29, 0x09, 3184 0x3c, 0xe0, 0xba, 0xc9, 0xe7, 0xe7, 0xb7, 0x23, 3185 0x82, 0x0d, 0xbf, 0x0a, 0x63, 0x87, 0x2c, 0x8f, 3186 0x83, 0x80, 0xa2, 0x38, 0xb1, 0x9d, 0xfe, 0xa8, 3187 0x32, 0x79, 0xd6, 0x3f, 0x28, 0xf8, 0xd9, 0x63, 3188 0x18, 0x1f, 0x2c, 0x3e, 0x43, 0x46, 0xe2, 0xbf, 3189 0x82, 0x9b, 0x0f, 0x41, 0x59, 0x04, 0x95, 0x66, 3190 0xd0, 0x7c, 0x09, 0xce, 0xb0, 0xe3, 0x51, 0x95, 3191 0x21, 0x88, 0x74, 0xb9, 0x0a, 0x34, 0x4d, 0xcd, 3192 0x6b, 0x8d, 0xeb, 0xa1, 0x9f, 0xf9, 0xaa, 0x1b, 3193 0xbd, 0xf2, 0xc0, 0xb2, 0xcd, 0x09, 0xe1, 0x4f, 3194 0x29, 0x97, 0x4a, 0x69, 0x40, 0x00, 0x5a, 0xb0, 3195 0x9f, 0xc9, 0xfe, 0x84, 0xa8, 0x2c, 0xd7, 0x3a, 3196 0x9a, 0xcf, 0x88, 0xcb, 0xaa, 0x7f, 0x44, 0x7b, 3197 0x05, 0x65, 0x70, 0x57, 0x0c, 0x19, 0x53, 0x3c, 3198 0xbd, 0xb2, 0xcf, 0x1f, 0x17, 0xe1, 0x74}; 3199 static const uint8_t test_vector_6_message_2[] = { 3200 0x58, 0xd5, 0x65, 0xb9, 0x7e, 0xb3, 0x49, 0x42, 3201 0xfd, 0xdc, 0xf6, 0xd8, 0x6a, 0xd0, 0xce, 0x7e, 3202 0x92, 0x94, 0x42, 0xfd, 0x4e, 0x8c, 0x04, 0xe7, 3203 0x6d, 0xab, 0x24, 0x52, 0x5b, 0xa8, 0xb9, 0xd4, 3204 0x98, 0x1f, 0x77, 0x6f, 0xc0, 0x03, 0xb4, 0xc5, 3205 0x3c, 0xf5, 0xef, 0x5f, 0x5e, 0xf3, 0xe5, 0xff, 3206 0x1e, 0xcf, 0x7d, 0x1c, 0x4b, 0x2d, 0xbb, 0xa9, 3207 0x7c, 0xda, 0x3c, 0x3e, 0xfd, 0x66, 0x96, 0xa4, 3208 0x27, 0x89, 0x61, 0xbf, 0xd6, 0x9f, 0xec, 0x9e, 3209 0x34, 0x7a, 0x3f, 0xa2, 0xfe, 0x7e, 0xe7, 0x01, 3210 0x1a, 0xbe, 0x4a, 0x90, 0x34, 0x54, 0x0f, 0x04, 3211 0x2e, 0x23, 0x3a, 0xc7, 0xcf, 0xce, 0x29, 0x09, 3212 0x3c, 0xe0, 0xba, 0xc9, 0xe7, 0xe7, 0xb7, 0x23, 3213 0x82, 0x0d, 0xbf, 0x0a, 0x63, 0x87, 0x2c, 0x8f, 3214 0x83, 0x80, 0xa2, 0x38, 0xb1, 0x9d, 0xfe, 0xa8, 3215 0x32, 0x79, 0xd6, 0x3f, 0x28, 0xf8, 0xd9, 0x63, 3216 0x18, 0x1f, 0x2c, 0x3e, 0x43, 0x46, 0xe2, 0xbf, 3217 0x82, 0x9b, 0x0f, 0x41, 0x59, 0x04, 0x95, 0x66, 3218 0xd0, 0x7c, 0x09, 0xce, 0xb0, 0xe3, 0x51, 0x95, 3219 0x21, 0x88, 0x74, 0xb9, 0x0a, 0x34, 0x4d, 0xcd, 3220 0x6b, 0x8d, 0xeb, 0xa1, 0x9f, 0xf9, 0xaa, 0x1b, 3221 0xbd, 0xf2, 0xc0, 0xb2, 0xcd, 0x09, 0xe1, 0x4f, 3222 0x29, 0x97, 0x4a, 0x69, 0x40, 0x00, 0x5a, 0xb0, 3223 0x9f, 0xc9, 0xfe, 0x84, 0xa8, 0x2c, 0xd7, 0x3a, 3224 0x9a, 0xcf, 0x88, 0xcb, 0xaa, 0x7f, 0x44, 0x7b, 3225 0x05, 0x65, 0x70, 0x57, 0x0c, 0x19, 0x53, 0x3c, 3226 0xbd, 0xb2, 0xcf, 0x1f, 0x17, 0xe1, 0x74, 0x2c}; 3227 static const uint8_t test_vector_6_i_raw[] = { 3228 0x70, 0x8a, 0xef, 0xb2, 0x33, 0xe4, 0x5d, 0x73, 3229 0x0e, 0xfb, 0x96, 0xd9, 0x64, 0xa8, 0xaa, 0x5e, 3230 0x29, 0x66, 0x54, 0x3d, 0xe1, 0x8f, 0x24, 0xa1, 3231 0x61, 0x9a, 0x57, 0x4d, 0x41, 0x5d, 0xb7, 0x3a}; 3232 static const uint8_t test_vector_6_g_i_raw[] = { 3233 0x4a, 0xa0, 0xdc, 0x50, 0x55, 0x76, 0xac, 0x6e, 3234 0x0c, 0x2f, 0x98, 0x5e, 0xa0, 0xb7, 0x86, 0x03, 3235 0x15, 0x6c, 0xa0, 0x7e, 0x58, 0x04, 0x74, 0x72, 3236 0xa0, 0x3a, 0x1a, 0xd6, 0x24, 0x9c, 0xb6, 0x4a}; 3237 static const uint8_t test_vector_6_g_iy_raw[] = { 3238 0x22, 0xc0, 0x89, 0x4d, 0xd6, 0x7c, 0xd2, 0xb7, 3239 0x94, 0xc7, 0x83, 0x47, 0x64, 0x4e, 0x39, 0x94, 3240 0x70, 0x47, 0x20, 0x77, 0xcb, 0xa3, 0x83, 0x66, 3241 0xb8, 0x1a, 0xc1, 0x68, 0xb5, 0x25, 0xc6, 0x11}; 3242 static const uint8_t test_vector_6_prk_4x3m_raw[] = { 3243 0x39, 0xa6, 0xa6, 0xb2, 0x31, 0xa4, 0x4a, 0x16, 3244 0x71, 0x5e, 0xc2, 0x0d, 0x11, 0xcb, 0x11, 0x50, 3245 0x8d, 0x88, 0x5b, 0x97, 0xe3, 0x56, 0x8b, 0x3c, 3246 0x64, 0x0d, 0x93, 0xd7, 0xc6, 0xe7, 0x7e, 0xdf}; 3247 static const uint8_t test_vector_6_input_TH_3[] = { 3248 0x58, 0x20, 0xe6, 0x0c, 0x30, 0x09, 0x28, 0xf2, 3249 0x55, 0xd4, 0xbc, 0x2e, 0x6e, 0x20, 0x52, 0x13, 3250 0xc8, 0xe8, 0x51, 0xc9, 0xdf, 0x39, 0x9f, 0xaf, 3251 0x01, 0x74, 0x61, 0x98, 0x9f, 0xb2, 0xe1, 0x6c, 3252 0x59, 0xfb, 0x58, 0xb5, 0x77, 0x6f, 0xc0, 0x03, 3253 0xb4, 0xc5, 0x3c, 0xf5, 0xef, 0x5f, 0x5e, 0xf3, 3254 0xe5, 0xff, 0x1e, 0xcf, 0x7d, 0x1c, 0x4b, 0x2d, 3255 0xbb, 0xa9, 0x7c, 0xda, 0x3c, 0x3e, 0xfd, 0x66, 3256 0x96, 0xa4, 0x27, 0x89, 0x61, 0xbf, 0xd6, 0x9f, 3257 0xec, 0x9e, 0x34, 0x7a, 0x3f, 0xa2, 0xfe, 0x7e, 3258 0xe7, 0x01, 0x1a, 0xbe, 0x4a, 0x90, 0x34, 0x54, 3259 0x0f, 0x04, 0x2e, 0x23, 0x3a, 0xc7, 0xcf, 0xce, 3260 0x29, 0x09, 0x3c, 0xe0, 0xba, 0xc9, 0xe7, 0xe7, 3261 0xb7, 0x23, 0x82, 0x0d, 0xbf, 0x0a, 0x63, 0x87, 3262 0x2c, 0x8f, 0x83, 0x80, 0xa2, 0x38, 0xb1, 0x9d, 3263 0xfe, 0xa8, 0x32, 0x79, 0xd6, 0x3f, 0x28, 0xf8, 3264 0xd9, 0x63, 0x18, 0x1f, 0x2c, 0x3e, 0x43, 0x46, 3265 0xe2, 0xbf, 0x82, 0x9b, 0x0f, 0x41, 0x59, 0x04, 3266 0x95, 0x66, 0xd0, 0x7c, 0x09, 0xce, 0xb0, 0xe3, 3267 0x51, 0x95, 0x21, 0x88, 0x74, 0xb9, 0x0a, 0x34, 3268 0x4d, 0xcd, 0x6b, 0x8d, 0xeb, 0xa1, 0x9f, 0xf9, 3269 0xaa, 0x1b, 0xbd, 0xf2, 0xc0, 0xb2, 0xcd, 0x09, 3270 0xe1, 0x4f, 0x29, 0x97, 0x4a, 0x69, 0x40, 0x00, 3271 0x5a, 0xb0, 0x9f, 0xc9, 0xfe, 0x84, 0xa8, 0x2c, 3272 0xd7, 0x3a, 0x9a, 0xcf, 0x88, 0xcb, 0xaa, 0x7f, 3273 0x44, 0x7b, 0x05, 0x65, 0x70, 0x57, 0x0c, 0x19, 3274 0x53, 0x3c, 0xbd, 0xb2, 0xcf, 0x1f, 0x17, 0xe1, 3275 0x74}; 3276 static const uint8_t test_vector_6_th_3_raw[] = { 3277 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 0xfc, 0x37, 3278 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 0x52, 0x57, 3279 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 0xed, 0x8d, 3280 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 0x4e, 0x44}; 3281 static const uint8_t test_vector_6_th_3[] = { 3282 0x58, 0x20, 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 3283 0xfc, 0x37, 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 3284 0x52, 0x57, 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 3285 0xed, 0x8d, 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 3286 0x4e, 0x44}; 3287 static const uint8_t test_vector_6_id_cred_i[] = { 3288 0xa1, 0x18, 0x21, 0x58, 0x8c, 0x58, 0x8a, 0x00, 3289 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3290 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 3291 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 3292 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 3293 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 3294 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 3295 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 3296 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 3297 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 3298 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 3299 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 3300 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 3301 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 3302 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 3303 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 3304 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 3305 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 3306 0x89}; 3307 static const uint8_t test_vector_6_cred_i[] = { 3308 0x58, 0x8a, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 3309 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 3310 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 3311 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 3312 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 3313 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 3314 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 3315 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 3316 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 3317 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 3318 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 3319 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 3320 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 3321 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 3322 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 3323 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 3324 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 3325 0x86, 0x87, 0x88, 0x89}; 3326 static const uint8_t test_vector_6_ead_3[] = { 3327 }; 3328 static const uint8_t test_vector_6_info_mac_3[] = { 3329 0x58, 0x20, 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 3330 0xfc, 0x37, 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 3331 0x52, 0x57, 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 3332 0xed, 0x8d, 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 3333 0x4e, 0x44, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 3334 0x59, 0x01, 0x1d, 0xa1, 0x18, 0x21, 0x58, 0x8c, 3335 0x58, 0x8a, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 3336 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 3337 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 3338 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 3339 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 3340 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 3341 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 3342 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 3343 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 3344 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 3345 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 3346 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 3347 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 3348 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 3349 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 3350 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 3351 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 3352 0x86, 0x87, 0x88, 0x89, 0x58, 0x8a, 0x00, 0x01, 3353 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 3354 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 3355 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 3356 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 3357 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 3358 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 3359 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 3360 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 3361 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 3362 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 3363 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 3364 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 3365 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 3366 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 3367 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 3368 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 3369 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 3370 0x08}; 3371 static const uint8_t test_vector_6_mac_3_raw[] = { 3372 0x3e, 0x67, 0x9c, 0x8c, 0x31, 0x03, 0x40, 0x1b}; 3373 static const uint8_t test_vector_6_mac_3[] = { 3374 0x48, 0x3e, 0x67, 0x9c, 0x8c, 0x31, 0x03, 0x40, 3375 0x1b}; 3376 static const uint8_t test_vector_6_sig_or_mac_3_raw[] = { 3377 0x3e, 0x67, 0x9c, 0x8c, 0x31, 0x03, 0x40, 0x1b}; 3378 static const uint8_t test_vector_6_sig_or_mac_3[] = { 3379 0x48, 0x3e, 0x67, 0x9c, 0x8c, 0x31, 0x03, 0x40, 3380 0x1b}; 3381 static const uint8_t test_vector_6_p_3[] = { 3382 0xa1, 0x18, 0x21, 0x58, 0x8c, 0x58, 0x8a, 0x00, 3383 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3384 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 3385 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 3386 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 3387 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 3388 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 3389 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 3390 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 3391 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 3392 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 3393 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 3394 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 3395 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 3396 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 3397 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 3398 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 3399 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 3400 0x89, 0x48, 0x3e, 0x67, 0x9c, 0x8c, 0x31, 0x03, 3401 0x40, 0x1b}; 3402 static const uint8_t test_vector_6_a_3[] = { 3403 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 3404 0x74, 0x30, 0x40, 0x58, 0x20, 0x6b, 0xe7, 0xea, 3405 0x03, 0x44, 0x50, 0xfc, 0x37, 0xc7, 0x70, 0x14, 3406 0x21, 0x40, 0x39, 0x52, 0x57, 0xfe, 0xed, 0x19, 3407 0x8a, 0x0b, 0xf3, 0xed, 0x8d, 0x92, 0x38, 0xcc, 3408 0x46, 0xc5, 0xd3, 0x4e, 0x44}; 3409 static const uint8_t test_vector_6_info_k_3[] = { 3410 0x58, 0x20, 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 3411 0xfc, 0x37, 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 3412 0x52, 0x57, 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 3413 0xed, 0x8d, 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 3414 0x4e, 0x44, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 3415 static const uint8_t test_vector_6_k_3_raw[] = { 3416 0x47, 0xdf, 0x16, 0x8f, 0xa6, 0xcd, 0x5b, 0x86, 3417 0x5e, 0x7a, 0x5f, 0xce, 0x52, 0xbb, 0xed, 0xf4}; 3418 static const uint8_t test_vector_6_info_iv_3[] = { 3419 0x58, 0x20, 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 3420 0xfc, 0x37, 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 3421 0x52, 0x57, 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 3422 0xed, 0x8d, 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 3423 0x4e, 0x44, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 3424 0x0d}; 3425 static const uint8_t test_vector_6_iv_3_raw[] = { 3426 0x4e, 0x4e, 0xb5, 0xba, 0x38, 0x84, 0x1f, 0xb3, 3427 0xcf, 0x90, 0xc4, 0x49, 0x81}; 3428 static const uint8_t test_vector_6_ciphertext_3_raw[] = { 3429 0x8d, 0x9f, 0x09, 0x74, 0x29, 0xef, 0x51, 0x7e, 3430 0xb2, 0xdb, 0xef, 0x2a, 0x53, 0xb6, 0x5e, 0x1f, 3431 0xfe, 0xc0, 0x13, 0x1e, 0x72, 0x1e, 0x4a, 0xa4, 3432 0x2b, 0xe5, 0x48, 0x86, 0x09, 0x8c, 0xc7, 0xe4, 3433 0xc3, 0x85, 0x33, 0x1a, 0x97, 0x04, 0x3d, 0x34, 3434 0x4f, 0x62, 0xca, 0xb1, 0xdd, 0xc7, 0x41, 0xe2, 3435 0x84, 0xad, 0x5a, 0xac, 0x02, 0x55, 0xc1, 0x0c, 3436 0x5f, 0xb2, 0x88, 0x68, 0x63, 0x6c, 0xfd, 0x54, 3437 0xeb, 0x5e, 0x22, 0x57, 0x91, 0x4f, 0xfb, 0x85, 3438 0x63, 0x87, 0x67, 0x20, 0x45, 0x15, 0x72, 0x93, 3439 0xc2, 0x61, 0x4e, 0x39, 0xde, 0x3a, 0x32, 0xe8, 3440 0x74, 0x84, 0xb7, 0x94, 0x49, 0xbe, 0x4c, 0x73, 3441 0x7d, 0x7f, 0xa7, 0x24, 0x3d, 0x7d, 0x9b, 0x55, 3442 0x5b, 0x86, 0x26, 0x8a, 0xa2, 0x94, 0xcd, 0x19, 3443 0xcb, 0x1c, 0x2f, 0xe3, 0xf7, 0xda, 0x34, 0x68, 3444 0x35, 0x66, 0x28, 0x02, 0xdd, 0x2c, 0xf0, 0x6f, 3445 0x14, 0xe2, 0x9d, 0xb9, 0x00, 0x09, 0x05, 0xf1, 3446 0x34, 0x6e, 0x5e, 0x4c, 0x8b, 0xca, 0x65, 0xb7, 3447 0x45, 0xca, 0x24, 0x35, 0x5b, 0xc7, 0x22, 0x82, 3448 0x08, 0x8c, 0x11, 0x28, 0x55, 0xa7, 0xba, 0x41, 3449 0x96, 0x53}; 3450 static const uint8_t test_vector_6_ciphertext_3[] = { 3451 0x58, 0xa2, 0x8d, 0x9f, 0x09, 0x74, 0x29, 0xef, 3452 0x51, 0x7e, 0xb2, 0xdb, 0xef, 0x2a, 0x53, 0xb6, 3453 0x5e, 0x1f, 0xfe, 0xc0, 0x13, 0x1e, 0x72, 0x1e, 3454 0x4a, 0xa4, 0x2b, 0xe5, 0x48, 0x86, 0x09, 0x8c, 3455 0xc7, 0xe4, 0xc3, 0x85, 0x33, 0x1a, 0x97, 0x04, 3456 0x3d, 0x34, 0x4f, 0x62, 0xca, 0xb1, 0xdd, 0xc7, 3457 0x41, 0xe2, 0x84, 0xad, 0x5a, 0xac, 0x02, 0x55, 3458 0xc1, 0x0c, 0x5f, 0xb2, 0x88, 0x68, 0x63, 0x6c, 3459 0xfd, 0x54, 0xeb, 0x5e, 0x22, 0x57, 0x91, 0x4f, 3460 0xfb, 0x85, 0x63, 0x87, 0x67, 0x20, 0x45, 0x15, 3461 0x72, 0x93, 0xc2, 0x61, 0x4e, 0x39, 0xde, 0x3a, 3462 0x32, 0xe8, 0x74, 0x84, 0xb7, 0x94, 0x49, 0xbe, 3463 0x4c, 0x73, 0x7d, 0x7f, 0xa7, 0x24, 0x3d, 0x7d, 3464 0x9b, 0x55, 0x5b, 0x86, 0x26, 0x8a, 0xa2, 0x94, 3465 0xcd, 0x19, 0xcb, 0x1c, 0x2f, 0xe3, 0xf7, 0xda, 3466 0x34, 0x68, 0x35, 0x66, 0x28, 0x02, 0xdd, 0x2c, 3467 0xf0, 0x6f, 0x14, 0xe2, 0x9d, 0xb9, 0x00, 0x09, 3468 0x05, 0xf1, 0x34, 0x6e, 0x5e, 0x4c, 0x8b, 0xca, 3469 0x65, 0xb7, 0x45, 0xca, 0x24, 0x35, 0x5b, 0xc7, 3470 0x22, 0x82, 0x08, 0x8c, 0x11, 0x28, 0x55, 0xa7, 3471 0xba, 0x41, 0x96, 0x53}; 3472 static const uint8_t test_vector_6_message_3[] = { 3473 0x58, 0xa2, 0x8d, 0x9f, 0x09, 0x74, 0x29, 0xef, 3474 0x51, 0x7e, 0xb2, 0xdb, 0xef, 0x2a, 0x53, 0xb6, 3475 0x5e, 0x1f, 0xfe, 0xc0, 0x13, 0x1e, 0x72, 0x1e, 3476 0x4a, 0xa4, 0x2b, 0xe5, 0x48, 0x86, 0x09, 0x8c, 3477 0xc7, 0xe4, 0xc3, 0x85, 0x33, 0x1a, 0x97, 0x04, 3478 0x3d, 0x34, 0x4f, 0x62, 0xca, 0xb1, 0xdd, 0xc7, 3479 0x41, 0xe2, 0x84, 0xad, 0x5a, 0xac, 0x02, 0x55, 3480 0xc1, 0x0c, 0x5f, 0xb2, 0x88, 0x68, 0x63, 0x6c, 3481 0xfd, 0x54, 0xeb, 0x5e, 0x22, 0x57, 0x91, 0x4f, 3482 0xfb, 0x85, 0x63, 0x87, 0x67, 0x20, 0x45, 0x15, 3483 0x72, 0x93, 0xc2, 0x61, 0x4e, 0x39, 0xde, 0x3a, 3484 0x32, 0xe8, 0x74, 0x84, 0xb7, 0x94, 0x49, 0xbe, 3485 0x4c, 0x73, 0x7d, 0x7f, 0xa7, 0x24, 0x3d, 0x7d, 3486 0x9b, 0x55, 0x5b, 0x86, 0x26, 0x8a, 0xa2, 0x94, 3487 0xcd, 0x19, 0xcb, 0x1c, 0x2f, 0xe3, 0xf7, 0xda, 3488 0x34, 0x68, 0x35, 0x66, 0x28, 0x02, 0xdd, 0x2c, 3489 0xf0, 0x6f, 0x14, 0xe2, 0x9d, 0xb9, 0x00, 0x09, 3490 0x05, 0xf1, 0x34, 0x6e, 0x5e, 0x4c, 0x8b, 0xca, 3491 0x65, 0xb7, 0x45, 0xca, 0x24, 0x35, 0x5b, 0xc7, 3492 0x22, 0x82, 0x08, 0x8c, 0x11, 0x28, 0x55, 0xa7, 3493 0xba, 0x41, 0x96, 0x53}; 3494 static const uint8_t test_vector_6_input_th_4[] = { 3495 0x58, 0x20, 0x6b, 0xe7, 0xea, 0x03, 0x44, 0x50, 3496 0xfc, 0x37, 0xc7, 0x70, 0x14, 0x21, 0x40, 0x39, 3497 0x52, 0x57, 0xfe, 0xed, 0x19, 0x8a, 0x0b, 0xf3, 3498 0xed, 0x8d, 0x92, 0x38, 0xcc, 0x46, 0xc5, 0xd3, 3499 0x4e, 0x44, 0x58, 0xa2, 0x8d, 0x9f, 0x09, 0x74, 3500 0x29, 0xef, 0x51, 0x7e, 0xb2, 0xdb, 0xef, 0x2a, 3501 0x53, 0xb6, 0x5e, 0x1f, 0xfe, 0xc0, 0x13, 0x1e, 3502 0x72, 0x1e, 0x4a, 0xa4, 0x2b, 0xe5, 0x48, 0x86, 3503 0x09, 0x8c, 0xc7, 0xe4, 0xc3, 0x85, 0x33, 0x1a, 3504 0x97, 0x04, 0x3d, 0x34, 0x4f, 0x62, 0xca, 0xb1, 3505 0xdd, 0xc7, 0x41, 0xe2, 0x84, 0xad, 0x5a, 0xac, 3506 0x02, 0x55, 0xc1, 0x0c, 0x5f, 0xb2, 0x88, 0x68, 3507 0x63, 0x6c, 0xfd, 0x54, 0xeb, 0x5e, 0x22, 0x57, 3508 0x91, 0x4f, 0xfb, 0x85, 0x63, 0x87, 0x67, 0x20, 3509 0x45, 0x15, 0x72, 0x93, 0xc2, 0x61, 0x4e, 0x39, 3510 0xde, 0x3a, 0x32, 0xe8, 0x74, 0x84, 0xb7, 0x94, 3511 0x49, 0xbe, 0x4c, 0x73, 0x7d, 0x7f, 0xa7, 0x24, 3512 0x3d, 0x7d, 0x9b, 0x55, 0x5b, 0x86, 0x26, 0x8a, 3513 0xa2, 0x94, 0xcd, 0x19, 0xcb, 0x1c, 0x2f, 0xe3, 3514 0xf7, 0xda, 0x34, 0x68, 0x35, 0x66, 0x28, 0x02, 3515 0xdd, 0x2c, 0xf0, 0x6f, 0x14, 0xe2, 0x9d, 0xb9, 3516 0x00, 0x09, 0x05, 0xf1, 0x34, 0x6e, 0x5e, 0x4c, 3517 0x8b, 0xca, 0x65, 0xb7, 0x45, 0xca, 0x24, 0x35, 3518 0x5b, 0xc7, 0x22, 0x82, 0x08, 0x8c, 0x11, 0x28, 3519 0x55, 0xa7, 0xba, 0x41, 0x96, 0x53}; 3520 static const uint8_t test_vector_6_th_4_raw[] = { 3521 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 0x1a, 0x89, 3522 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 0x74, 0x9d, 3523 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 0xb6, 0x34, 3524 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 0x1b, 0x30}; 3525 static const uint8_t test_vector_6_th_4[] = { 3526 0x58, 0x20, 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 3527 0x1a, 0x89, 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 3528 0x74, 0x9d, 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 3529 0xb6, 0x34, 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 3530 0x1b, 0x30}; 3531 static const uint8_t test_vector_6_ead_4[] = { 3532 }; 3533 static const uint8_t test_vector_6_p_4[] = { 3534 }; 3535 static const uint8_t test_vector_6_a_4[] = { 3536 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 3537 0x74, 0x30, 0x40, 0x58, 0x20, 0x04, 0x8d, 0x73, 3538 0x0c, 0x8d, 0xd0, 0x1a, 0x89, 0x88, 0x5d, 0xe8, 3539 0x78, 0xaa, 0xd3, 0x74, 0x9d, 0x23, 0x60, 0x69, 3540 0xcf, 0x53, 0x93, 0xb6, 0x34, 0x10, 0xcf, 0xaf, 3541 0x1a, 0x2b, 0xf4, 0x1b, 0x30}; 3542 static const uint8_t test_vector_6_info_k_4[] = { 3543 0x58, 0x20, 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 3544 0x1a, 0x89, 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 3545 0x74, 0x9d, 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 3546 0xb6, 0x34, 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 3547 0x1b, 0x30, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 3548 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 3549 static const uint8_t test_vector_6_k_4_raw[] = { 3550 0xa4, 0x5c, 0x8b, 0xa3, 0xf8, 0xc4, 0xfa, 0x73, 3551 0xff, 0x04, 0xff, 0x6c, 0x1f, 0x9b, 0xe5, 0x64}; 3552 static const uint8_t test_vector_6_info_iv_4[] = { 3553 0x58, 0x20, 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 3554 0x1a, 0x89, 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 3555 0x74, 0x9d, 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 3556 0xb6, 0x34, 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 3557 0x1b, 0x30, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 3558 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 3559 static const uint8_t test_vector_6_iv_4_raw[] = { 3560 0x77, 0x42, 0x7b, 0xdc, 0xce, 0x75, 0x4b, 0x51, 3561 0x2c, 0x78, 0x44, 0xa3, 0x56}; 3562 static const uint8_t test_vector_6_ciphertext_4_raw[] = { 3563 0xd6, 0x4c, 0x09, 0x0f, 0xed, 0x16, 0x00, 0x38}; 3564 static const uint8_t test_vector_6_ciphertext_4[] = { 3565 0x48, 0xd6, 0x4c, 0x09, 0x0f, 0xed, 0x16, 0x00, 3566 0x38}; 3567 static const uint8_t test_vector_6_message_4[] = { 3568 0x48, 0xd6, 0x4c, 0x09, 0x0f, 0xed, 0x16, 0x00, 3569 0x38}; 3570 int32_t test_vector_6_oscore_aead_alg = 10; 3571 int32_t test_vector_6_oscore_hash_alg = -16; 3572 static const uint8_t test_vector_6_client_sender_id_raw[] = { 3573 0x2c}; 3574 static const uint8_t test_vector_6_server_sender_id_raw[] = { 3575 0x12}; 3576 static const uint8_t test_vector_6_info_oscore_secret[] = { 3577 0x58, 0x20, 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 3578 0x1a, 0x89, 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 3579 0x74, 0x9d, 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 3580 0xb6, 0x34, 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 3581 0x1b, 0x30, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 3582 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 3583 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 3584 0x10}; 3585 static const uint8_t test_vector_6_oscore_secret_raw[] = { 3586 0xe1, 0x24, 0x56, 0x71, 0x13, 0xba, 0x03, 0x0c, 3587 0x3f, 0x32, 0xec, 0x6f, 0x35, 0xba, 0x5f, 0xef}; 3588 static const uint8_t test_vector_6_info_oscore_salt[] = { 3589 0x58, 0x20, 0x04, 0x8d, 0x73, 0x0c, 0x8d, 0xd0, 3590 0x1a, 0x89, 0x88, 0x5d, 0xe8, 0x78, 0xaa, 0xd3, 3591 0x74, 0x9d, 0x23, 0x60, 0x69, 0xcf, 0x53, 0x93, 3592 0xb6, 0x34, 0x10, 0xcf, 0xaf, 0x1a, 0x2b, 0xf4, 3593 0x1b, 0x30, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 3594 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 3595 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 3596 static const uint8_t test_vector_6_oscore_salt_raw[] = { 3597 0xd3, 0xce, 0xdd, 0xcc, 0x8a, 0x22, 0xd6, 0x47}; 3598 static const uint8_t test_vector_6_key_update_nonce_raw[] = { 3599 0xcf, 0x96, 0x4f, 0xe9, 0x00, 0x7d, 0x6f, 0x4b, 3600 0xcd, 0x76, 0x9c, 0xbb, 0xdf, 0x5b, 0xdb, 0x71}; 3601 static const uint8_t test_vector_6_prk_4x3m_key_update_raw[] = { 3602 0x08, 0xa8, 0x68, 0xa9, 0x37, 0xb8, 0xe7, 0x90, 3603 0xf3, 0x04, 0x4a, 0xb5, 0xcc, 0xd7, 0x1a, 0x5c, 3604 0x85, 0x34, 0xee, 0x3c, 0x79, 0x61, 0x23, 0xd8, 3605 0xd6, 0x81, 0x28, 0xc4, 0x0f, 0x15, 0x85, 0x20}; 3606 static const uint8_t test_vector_6_oscore_secret_key_update_raw[] = { 3607 0x22, 0x07, 0x3e, 0x77, 0x7d, 0x27, 0x71, 0x04, 3608 0x46, 0xd4, 0xba, 0x8f, 0x8d, 0xfd, 0xa2, 0x1c}; 3609 static const uint8_t test_vector_6_oscore_salt_key_update_raw[] = { 3610 0xab, 0x56, 0xc1, 0xaf, 0x23, 0xab, 0x49, 0x37}; 3611 3612 /***************** test_vector_7 ************/ 3613 3614 static const uint8_t test_vector_7_method[] = { 3615 0x02}; 3616 static const uint8_t test_vector_7_suites_i[] = { 3617 0x00}; 3618 static const uint8_t test_vector_7_suites_r[] = { 3619 0x00}; 3620 static const uint8_t test_vector_7_x_raw[] = { 3621 0xba, 0xbe, 0xa1, 0xa6, 0x34, 0xb7, 0x2e, 0x77, 3622 0x55, 0x8f, 0x21, 0x6f, 0xea, 0x95, 0x50, 0x31, 3623 0x9c, 0x74, 0xa7, 0xaa, 0x68, 0x6e, 0x04, 0xe4, 3624 0xc8, 0x8f, 0x9b, 0x21, 0xd7, 0xf8, 0xbd, 0xf8}; 3625 static const uint8_t test_vector_7_g_x_raw[] = { 3626 0xa1, 0x8b, 0xe3, 0x80, 0x39, 0x2e, 0xd8, 0x64, 3627 0x8a, 0x9d, 0x74, 0xa1, 0x1e, 0x55, 0xca, 0xda, 3628 0x88, 0x3d, 0x94, 0x50, 0xa0, 0x7b, 0x59, 0x32, 3629 0x51, 0xa9, 0xf8, 0x19, 0x5a, 0xb2, 0xbe, 0x0e}; 3630 static const uint8_t test_vector_7_g_x[] = { 3631 0x58, 0x20, 0xa1, 0x8b, 0xe3, 0x80, 0x39, 0x2e, 3632 0xd8, 0x64, 0x8a, 0x9d, 0x74, 0xa1, 0x1e, 0x55, 3633 0xca, 0xda, 0x88, 0x3d, 0x94, 0x50, 0xa0, 0x7b, 3634 0x59, 0x32, 0x51, 0xa9, 0xf8, 0x19, 0x5a, 0xb2, 3635 0xbe, 0x0e}; 3636 int32_t test_vector_7_c_i_raw = 10; 3637 static const uint8_t test_vector_7_c_i[] = { 3638 0x0a}; 3639 static const uint8_t test_vector_7_ead_1[] = { 3640 }; 3641 static const uint8_t test_vector_7_message_1[] = { 3642 0x02, 0x00, 0x58, 0x20, 0xa1, 0x8b, 0xe3, 0x80, 3643 0x39, 0x2e, 0xd8, 0x64, 0x8a, 0x9d, 0x74, 0xa1, 3644 0x1e, 0x55, 0xca, 0xda, 0x88, 0x3d, 0x94, 0x50, 3645 0xa0, 0x7b, 0x59, 0x32, 0x51, 0xa9, 0xf8, 0x19, 3646 0x5a, 0xb2, 0xbe, 0x0e, 0x0a}; 3647 static const uint8_t test_vector_7_y_raw[] = { 3648 0x36, 0x6c, 0x10, 0xe4, 0x55, 0x03, 0xc0, 0xa8, 3649 0xca, 0x6b, 0x90, 0x95, 0x48, 0x59, 0x99, 0xff, 3650 0xe5, 0x80, 0x6f, 0x1a, 0xbb, 0x5c, 0xde, 0xfd, 3651 0x1d, 0x34, 0xae, 0x9e, 0x7f, 0x67, 0xe5, 0x93}; 3652 static const uint8_t test_vector_7_g_y_raw[] = { 3653 0xd5, 0x70, 0xf3, 0xa5, 0x40, 0xfe, 0x2e, 0x95, 3654 0x2f, 0x25, 0xba, 0x32, 0x80, 0xc0, 0xb1, 0x23, 3655 0x8c, 0xbd, 0x86, 0x7e, 0xd5, 0x6a, 0xac, 0x2b, 3656 0x9e, 0xaf, 0xe0, 0x21, 0x8e, 0x50, 0x13, 0x20}; 3657 static const uint8_t test_vector_7_g_y[] = { 3658 0x58, 0x20, 0xd5, 0x70, 0xf3, 0xa5, 0x40, 0xfe, 3659 0x2e, 0x95, 0x2f, 0x25, 0xba, 0x32, 0x80, 0xc0, 3660 0xb1, 0x23, 0x8c, 0xbd, 0x86, 0x7e, 0xd5, 0x6a, 3661 0xac, 0x2b, 0x9e, 0xaf, 0xe0, 0x21, 0x8e, 0x50, 3662 0x13, 0x20}; 3663 static const uint8_t test_vector_7_g_xy_raw[] = { 3664 0xbc, 0x08, 0x9c, 0xde, 0x0f, 0x4a, 0xf1, 0x9d, 3665 0xae, 0xd4, 0x35, 0x3c, 0x4d, 0x94, 0x8f, 0x99, 3666 0xea, 0xf7, 0x39, 0xb4, 0x5c, 0x41, 0x41, 0xc2, 3667 0xdb, 0xbe, 0x23, 0x65, 0x4b, 0x7c, 0x0d, 0x61}; 3668 static const uint8_t test_vector_7_salt_raw[] = { 3669 }; 3670 static const uint8_t test_vector_7_prk_2e_raw[] = { 3671 0x07, 0xd0, 0x9f, 0x74, 0x24, 0x0d, 0x2d, 0x79, 3672 0xb4, 0x89, 0xf9, 0x55, 0x2c, 0x09, 0xb8, 0xf6, 3673 0xac, 0xce, 0x23, 0x09, 0x39, 0xd1, 0x19, 0x4f, 3674 0xdd, 0xe1, 0xca, 0xf2, 0x73, 0xba, 0x26, 0xba}; 3675 static const uint8_t test_vector_7_sk_r_raw[] = { 3676 0x31, 0x42, 0xf2, 0xac, 0xcc, 0x72, 0xa0, 0x1f, 3677 0x38, 0x20, 0x07, 0xe4, 0x44, 0x2d, 0x88, 0xa1, 3678 0x8c, 0x15, 0xc7, 0x3b, 0xf1, 0x8a, 0xbd, 0x9c, 3679 0x48, 0x5c, 0x09, 0xb4, 0x4f, 0x9c, 0x87, 0xbd}; 3680 static const uint8_t test_vector_7_pk_r_raw[] = { 3681 0x70, 0x5c, 0x0e, 0x31, 0xe8, 0x73, 0x72, 0xfd, 3682 0xa1, 0x51, 0x3e, 0xac, 0xea, 0xc0, 0xf6, 0x9a, 3683 0x2b, 0xce, 0xa3, 0xc7, 0x7d, 0x5f, 0x3c, 0xc1, 3684 0xe3, 0x99, 0x6a, 0x7f, 0x9a, 0x11, 0xe2, 0xbe}; 3685 static const uint8_t test_vector_7_prk_3e2m_raw[] = { 3686 0x07, 0xd0, 0x9f, 0x74, 0x24, 0x0d, 0x2d, 0x79, 3687 0xb4, 0x89, 0xf9, 0x55, 0x2c, 0x09, 0xb8, 0xf6, 3688 0xac, 0xce, 0x23, 0x09, 0x39, 0xd1, 0x19, 0x4f, 3689 0xdd, 0xe1, 0xca, 0xf2, 0x73, 0xba, 0x26, 0xba}; 3690 int32_t test_vector_7_c_r_raw = 1; 3691 static const uint8_t test_vector_7_c_r[] = { 3692 0x01}; 3693 static const uint8_t test_vector_7_h_message_1_raw[] = { 3694 0x7f, 0x9a, 0x6c, 0x16, 0xc8, 0x66, 0x3b, 0xa5, 3695 0x84, 0x51, 0xe8, 0x10, 0x5f, 0x05, 0xa6, 0xc5, 3696 0xf3, 0x91, 0xb6, 0x5a, 0x68, 0x9a, 0x8a, 0xae, 3697 0xd8, 0xb1, 0x6f, 0xed, 0xa6, 0xd7, 0x0b, 0x56}; 3698 static const uint8_t test_vector_7_h_message_1[] = { 3699 0x58, 0x20, 0x7f, 0x9a, 0x6c, 0x16, 0xc8, 0x66, 3700 0x3b, 0xa5, 0x84, 0x51, 0xe8, 0x10, 0x5f, 0x05, 3701 0xa6, 0xc5, 0xf3, 0x91, 0xb6, 0x5a, 0x68, 0x9a, 3702 0x8a, 0xae, 0xd8, 0xb1, 0x6f, 0xed, 0xa6, 0xd7, 3703 0x0b, 0x56}; 3704 static const uint8_t test_vector_7_input_th_2[] = { 3705 0x58, 0x20, 0x7f, 0x9a, 0x6c, 0x16, 0xc8, 0x66, 3706 0x3b, 0xa5, 0x84, 0x51, 0xe8, 0x10, 0x5f, 0x05, 3707 0xa6, 0xc5, 0xf3, 0x91, 0xb6, 0x5a, 0x68, 0x9a, 3708 0x8a, 0xae, 0xd8, 0xb1, 0x6f, 0xed, 0xa6, 0xd7, 3709 0x0b, 0x56, 0x58, 0x20, 0xd5, 0x70, 0xf3, 0xa5, 3710 0x40, 0xfe, 0x2e, 0x95, 0x2f, 0x25, 0xba, 0x32, 3711 0x80, 0xc0, 0xb1, 0x23, 0x8c, 0xbd, 0x86, 0x7e, 3712 0xd5, 0x6a, 0xac, 0x2b, 0x9e, 0xaf, 0xe0, 0x21, 3713 0x8e, 0x50, 0x13, 0x20, 0x01}; 3714 static const uint8_t test_vector_7_th_2_raw[] = { 3715 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 0x3f, 0xd6, 3716 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 0x94, 0xc2, 3717 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 0x9a, 0x56, 3718 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 0x8a, 0x0c}; 3719 static const uint8_t test_vector_7_th_2[] = { 3720 0x58, 0x20, 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 3721 0x3f, 0xd6, 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 3722 0x94, 0xc2, 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 3723 0x9a, 0x56, 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 3724 0x8a, 0x0c}; 3725 static const uint8_t test_vector_7_id_cred_r[] = { 3726 0xa1, 0x18, 0x2a, 0xa2, 0x02, 0x6b, 0x65, 0x78, 3727 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 0x64, 3728 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 3729 0x10, 0x20, 0x06, 0x21, 0x58, 0x20, 0x70, 0x5c, 3730 0x0e, 0x31, 0xe8, 0x73, 0x72, 0xfd, 0xa1, 0x51, 3731 0x3e, 0xac, 0xea, 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 3732 0xa3, 0xc7, 0x7d, 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 3733 0x6a, 0x7f, 0x9a, 0x11, 0xe2, 0xbe}; 3734 static const uint8_t test_vector_7_cred_r[] = { 3735 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 3736 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 3737 0x01, 0xa4, 0x01, 0x01, 0x02, 0x10, 0x20, 0x06, 3738 0x21, 0x58, 0x20, 0x70, 0x5c, 0x0e, 0x31, 0xe8, 3739 0x73, 0x72, 0xfd, 0xa1, 0x51, 0x3e, 0xac, 0xea, 3740 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 0xa3, 0xc7, 0x7d, 3741 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 0x6a, 0x7f, 0x9a, 3742 0x11, 0xe2, 0xbe}; 3743 static const uint8_t test_vector_7_ead_2[] = { 3744 }; 3745 static const uint8_t test_vector_7_info_mac_2[] = { 3746 0x58, 0x20, 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 3747 0x3f, 0xd6, 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 3748 0x94, 0xc2, 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 3749 0x9a, 0x56, 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 3750 0x8a, 0x0c, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 3751 0x58, 0x79, 0xa1, 0x18, 0x2a, 0xa2, 0x02, 0x6b, 3752 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 3753 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 3754 0x01, 0x02, 0x10, 0x20, 0x06, 0x21, 0x58, 0x20, 3755 0x70, 0x5c, 0x0e, 0x31, 0xe8, 0x73, 0x72, 0xfd, 3756 0xa1, 0x51, 0x3e, 0xac, 0xea, 0xc0, 0xf6, 0x9a, 3757 0x2b, 0xce, 0xa3, 0xc7, 0x7d, 0x5f, 0x3c, 0xc1, 3758 0xe3, 0x99, 0x6a, 0x7f, 0x9a, 0x11, 0xe2, 0xbe, 3759 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 3760 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 3761 0x01, 0xa4, 0x01, 0x01, 0x02, 0x10, 0x20, 0x06, 3762 0x21, 0x58, 0x20, 0x70, 0x5c, 0x0e, 0x31, 0xe8, 3763 0x73, 0x72, 0xfd, 0xa1, 0x51, 0x3e, 0xac, 0xea, 3764 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 0xa3, 0xc7, 0x7d, 3765 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 0x6a, 0x7f, 0x9a, 3766 0x11, 0xe2, 0xbe, 0x18, 0x20}; 3767 static const uint8_t test_vector_7_mac_2_raw[] = { 3768 0xe3, 0xb8, 0x10, 0x14, 0x37, 0xf0, 0x31, 0x74, 3769 0x2e, 0x90, 0x24, 0x1f, 0x20, 0x4f, 0xff, 0x22, 3770 0x73, 0x49, 0xd1, 0x13, 0xe0, 0x5e, 0x32, 0xb5, 3771 0x34, 0xdb, 0x9a, 0x2c, 0x99, 0x9e, 0xe5, 0x60}; 3772 static const uint8_t test_vector_7_mac_2[] = { 3773 0x58, 0x20, 0xe3, 0xb8, 0x10, 0x14, 0x37, 0xf0, 3774 0x31, 0x74, 0x2e, 0x90, 0x24, 0x1f, 0x20, 0x4f, 3775 0xff, 0x22, 0x73, 0x49, 0xd1, 0x13, 0xe0, 0x5e, 3776 0x32, 0xb5, 0x34, 0xdb, 0x9a, 0x2c, 0x99, 0x9e, 3777 0xe5, 0x60}; 3778 static const uint8_t test_vector_7_m_2[] = { 3779 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 3780 0x75, 0x72, 0x65, 0x31, 0x58, 0x3e, 0xa1, 0x18, 3781 0x2a, 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 3782 0x70, 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 3783 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x10, 0x20, 3784 0x06, 0x21, 0x58, 0x20, 0x70, 0x5c, 0x0e, 0x31, 3785 0xe8, 0x73, 0x72, 0xfd, 0xa1, 0x51, 0x3e, 0xac, 3786 0xea, 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 0xa3, 0xc7, 3787 0x7d, 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 0x6a, 0x7f, 3788 0x9a, 0x11, 0xe2, 0xbe, 0x58, 0x5d, 0x58, 0x20, 3789 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 0x3f, 0xd6, 3790 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 0x94, 0xc2, 3791 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 0x9a, 0x56, 3792 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 0x8a, 0x0c, 3793 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 3794 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 3795 0x01, 0xa4, 0x01, 0x01, 0x02, 0x10, 0x20, 0x06, 3796 0x21, 0x58, 0x20, 0x70, 0x5c, 0x0e, 0x31, 0xe8, 3797 0x73, 0x72, 0xfd, 0xa1, 0x51, 0x3e, 0xac, 0xea, 3798 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 0xa3, 0xc7, 0x7d, 3799 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 0x6a, 0x7f, 0x9a, 3800 0x11, 0xe2, 0xbe, 0x58, 0x20, 0xe3, 0xb8, 0x10, 3801 0x14, 0x37, 0xf0, 0x31, 0x74, 0x2e, 0x90, 0x24, 3802 0x1f, 0x20, 0x4f, 0xff, 0x22, 0x73, 0x49, 0xd1, 3803 0x13, 0xe0, 0x5e, 0x32, 0xb5, 0x34, 0xdb, 0x9a, 3804 0x2c, 0x99, 0x9e, 0xe5, 0x60}; 3805 static const uint8_t test_vector_7_sig_or_mac_2_raw[] = { 3806 0x83, 0x85, 0x75, 0xce, 0x6a, 0x16, 0x7d, 0x5c, 3807 0x57, 0x5d, 0x84, 0x95, 0x4e, 0x2b, 0x25, 0xa7, 3808 0x02, 0x98, 0xf3, 0x99, 0x72, 0x3a, 0x63, 0x0a, 3809 0x14, 0xdd, 0x2a, 0xbd, 0x03, 0xc7, 0x56, 0xb0, 3810 0x4f, 0xe8, 0x05, 0xb4, 0xe4, 0x8f, 0xb3, 0xdd, 3811 0xf1, 0xf4, 0xe7, 0x2a, 0x35, 0x78, 0x4a, 0xe3, 3812 0x2d, 0xd0, 0x4e, 0xf1, 0xb2, 0x56, 0x4f, 0x06, 3813 0x3b, 0x3a, 0x8e, 0x57, 0xfc, 0xfc, 0x33, 0x0c}; 3814 static const uint8_t test_vector_7_sig_or_mac_2[] = { 3815 0x58, 0x40, 0x83, 0x85, 0x75, 0xce, 0x6a, 0x16, 3816 0x7d, 0x5c, 0x57, 0x5d, 0x84, 0x95, 0x4e, 0x2b, 3817 0x25, 0xa7, 0x02, 0x98, 0xf3, 0x99, 0x72, 0x3a, 3818 0x63, 0x0a, 0x14, 0xdd, 0x2a, 0xbd, 0x03, 0xc7, 3819 0x56, 0xb0, 0x4f, 0xe8, 0x05, 0xb4, 0xe4, 0x8f, 3820 0xb3, 0xdd, 0xf1, 0xf4, 0xe7, 0x2a, 0x35, 0x78, 3821 0x4a, 0xe3, 0x2d, 0xd0, 0x4e, 0xf1, 0xb2, 0x56, 3822 0x4f, 0x06, 0x3b, 0x3a, 0x8e, 0x57, 0xfc, 0xfc, 3823 0x33, 0x0c}; 3824 static const uint8_t test_vector_7_plaintext_2[] = { 3825 0xa1, 0x18, 0x2a, 0xa2, 0x02, 0x6b, 0x65, 0x78, 3826 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 0x64, 3827 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 3828 0x10, 0x20, 0x06, 0x21, 0x58, 0x20, 0x70, 0x5c, 3829 0x0e, 0x31, 0xe8, 0x73, 0x72, 0xfd, 0xa1, 0x51, 3830 0x3e, 0xac, 0xea, 0xc0, 0xf6, 0x9a, 0x2b, 0xce, 3831 0xa3, 0xc7, 0x7d, 0x5f, 0x3c, 0xc1, 0xe3, 0x99, 3832 0x6a, 0x7f, 0x9a, 0x11, 0xe2, 0xbe, 0x58, 0x40, 3833 0x83, 0x85, 0x75, 0xce, 0x6a, 0x16, 0x7d, 0x5c, 3834 0x57, 0x5d, 0x84, 0x95, 0x4e, 0x2b, 0x25, 0xa7, 3835 0x02, 0x98, 0xf3, 0x99, 0x72, 0x3a, 0x63, 0x0a, 3836 0x14, 0xdd, 0x2a, 0xbd, 0x03, 0xc7, 0x56, 0xb0, 3837 0x4f, 0xe8, 0x05, 0xb4, 0xe4, 0x8f, 0xb3, 0xdd, 3838 0xf1, 0xf4, 0xe7, 0x2a, 0x35, 0x78, 0x4a, 0xe3, 3839 0x2d, 0xd0, 0x4e, 0xf1, 0xb2, 0x56, 0x4f, 0x06, 3840 0x3b, 0x3a, 0x8e, 0x57, 0xfc, 0xfc, 0x33, 0x0c}; 3841 static const uint8_t test_vector_7_info_keystream_2[] = { 3842 0x58, 0x20, 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 3843 0x3f, 0xd6, 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 3844 0x94, 0xc2, 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 3845 0x9a, 0x56, 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 3846 0x8a, 0x0c, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 3847 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 3848 0x80}; 3849 static const uint8_t test_vector_7_keystream_2_raw[] = { 3850 0x26, 0x04, 0xa0, 0x3f, 0x22, 0xbc, 0xe0, 0x50, 3851 0xaa, 0x39, 0x1b, 0x1b, 0x3d, 0x7f, 0xd0, 0xfb, 3852 0x49, 0xd2, 0xb7, 0xfa, 0x3a, 0xad, 0x73, 0x30, 3853 0x8b, 0xb4, 0xa0, 0x98, 0xac, 0xb8, 0x8b, 0x21, 3854 0x1a, 0x74, 0x70, 0xe2, 0x6c, 0x66, 0x44, 0x16, 3855 0xcd, 0xa7, 0x55, 0xd7, 0x93, 0x1c, 0xea, 0xeb, 3856 0x0b, 0x9a, 0x95, 0xa9, 0x31, 0x83, 0xe2, 0x51, 3857 0x77, 0x39, 0x3f, 0x26, 0xbd, 0x2b, 0xb7, 0x6a, 3858 0x99, 0xe5, 0x8a, 0xd7, 0xdb, 0xf3, 0x40, 0x6d, 3859 0x9c, 0x2c, 0xfa, 0x4a, 0x40, 0xe4, 0x9a, 0x47, 3860 0xfc, 0x08, 0x2a, 0xab, 0x2c, 0x75, 0x2b, 0x07, 3861 0x61, 0xe0, 0x7a, 0xd6, 0xa7, 0x10, 0x8f, 0x5c, 3862 0x34, 0x99, 0xc9, 0xd7, 0x9b, 0x89, 0x64, 0x2b, 3863 0x23, 0xee, 0x2d, 0x8a, 0xf8, 0xc7, 0xe7, 0x2b, 3864 0x0e, 0x3f, 0x2f, 0x91, 0xe6, 0xf3, 0x75, 0x96, 3865 0xbd, 0x33, 0xea, 0x4d, 0x3f, 0x8b, 0x41, 0xa5}; 3866 static const uint8_t test_vector_7_ciphertext_2_raw[] = { 3867 0x87, 0x1c, 0x8a, 0x9d, 0x20, 0xd7, 0x85, 0x28, 3868 0xcb, 0x54, 0x6b, 0x77, 0x58, 0x51, 0xb5, 0x9f, 3869 0x3c, 0xda, 0x16, 0xfb, 0x9e, 0xac, 0x72, 0x32, 3870 0x9b, 0x94, 0xa6, 0xb9, 0xf4, 0x98, 0xfb, 0x7d, 3871 0x14, 0x45, 0x98, 0x91, 0x1e, 0x9b, 0xe5, 0x47, 3872 0xf3, 0x0b, 0xbf, 0x17, 0x65, 0x86, 0xc1, 0x25, 3873 0xa8, 0x5d, 0xe8, 0xf6, 0x0d, 0x42, 0x01, 0xc8, 3874 0x1d, 0x46, 0xa5, 0x37, 0x5f, 0x95, 0xef, 0x2a, 3875 0x1a, 0x60, 0xff, 0x19, 0xb1, 0xe5, 0x3d, 0x31, 3876 0xcb, 0x71, 0x7e, 0xdf, 0x0e, 0xcf, 0xbf, 0xe0, 3877 0xfe, 0x90, 0xd9, 0x32, 0x5e, 0x4f, 0x48, 0x0d, 3878 0x75, 0x3d, 0x50, 0x6b, 0xa4, 0xd7, 0xd9, 0xec, 3879 0x7b, 0x71, 0xcc, 0x63, 0x7f, 0x06, 0xd7, 0xf6, 3880 0xd2, 0x1a, 0xca, 0xa0, 0xcd, 0xbf, 0xad, 0xc8, 3881 0x23, 0xef, 0x61, 0x60, 0x54, 0xa5, 0x3a, 0x90, 3882 0x86, 0x09, 0x64, 0x1a, 0xc3, 0x77, 0x72, 0xa9}; 3883 static const uint8_t test_vector_7_ciphertext_2[] = { 3884 0x58, 0x80, 0x87, 0x1c, 0x8a, 0x9d, 0x20, 0xd7, 3885 0x85, 0x28, 0xcb, 0x54, 0x6b, 0x77, 0x58, 0x51, 3886 0xb5, 0x9f, 0x3c, 0xda, 0x16, 0xfb, 0x9e, 0xac, 3887 0x72, 0x32, 0x9b, 0x94, 0xa6, 0xb9, 0xf4, 0x98, 3888 0xfb, 0x7d, 0x14, 0x45, 0x98, 0x91, 0x1e, 0x9b, 3889 0xe5, 0x47, 0xf3, 0x0b, 0xbf, 0x17, 0x65, 0x86, 3890 0xc1, 0x25, 0xa8, 0x5d, 0xe8, 0xf6, 0x0d, 0x42, 3891 0x01, 0xc8, 0x1d, 0x46, 0xa5, 0x37, 0x5f, 0x95, 3892 0xef, 0x2a, 0x1a, 0x60, 0xff, 0x19, 0xb1, 0xe5, 3893 0x3d, 0x31, 0xcb, 0x71, 0x7e, 0xdf, 0x0e, 0xcf, 3894 0xbf, 0xe0, 0xfe, 0x90, 0xd9, 0x32, 0x5e, 0x4f, 3895 0x48, 0x0d, 0x75, 0x3d, 0x50, 0x6b, 0xa4, 0xd7, 3896 0xd9, 0xec, 0x7b, 0x71, 0xcc, 0x63, 0x7f, 0x06, 3897 0xd7, 0xf6, 0xd2, 0x1a, 0xca, 0xa0, 0xcd, 0xbf, 3898 0xad, 0xc8, 0x23, 0xef, 0x61, 0x60, 0x54, 0xa5, 3899 0x3a, 0x90, 0x86, 0x09, 0x64, 0x1a, 0xc3, 0x77, 3900 0x72, 0xa9}; 3901 static const uint8_t test_vector_7_message_2[] = { 3902 0x58, 0xa0, 0xd5, 0x70, 0xf3, 0xa5, 0x40, 0xfe, 3903 0x2e, 0x95, 0x2f, 0x25, 0xba, 0x32, 0x80, 0xc0, 3904 0xb1, 0x23, 0x8c, 0xbd, 0x86, 0x7e, 0xd5, 0x6a, 3905 0xac, 0x2b, 0x9e, 0xaf, 0xe0, 0x21, 0x8e, 0x50, 3906 0x13, 0x20, 0x87, 0x1c, 0x8a, 0x9d, 0x20, 0xd7, 3907 0x85, 0x28, 0xcb, 0x54, 0x6b, 0x77, 0x58, 0x51, 3908 0xb5, 0x9f, 0x3c, 0xda, 0x16, 0xfb, 0x9e, 0xac, 3909 0x72, 0x32, 0x9b, 0x94, 0xa6, 0xb9, 0xf4, 0x98, 3910 0xfb, 0x7d, 0x14, 0x45, 0x98, 0x91, 0x1e, 0x9b, 3911 0xe5, 0x47, 0xf3, 0x0b, 0xbf, 0x17, 0x65, 0x86, 3912 0xc1, 0x25, 0xa8, 0x5d, 0xe8, 0xf6, 0x0d, 0x42, 3913 0x01, 0xc8, 0x1d, 0x46, 0xa5, 0x37, 0x5f, 0x95, 3914 0xef, 0x2a, 0x1a, 0x60, 0xff, 0x19, 0xb1, 0xe5, 3915 0x3d, 0x31, 0xcb, 0x71, 0x7e, 0xdf, 0x0e, 0xcf, 3916 0xbf, 0xe0, 0xfe, 0x90, 0xd9, 0x32, 0x5e, 0x4f, 3917 0x48, 0x0d, 0x75, 0x3d, 0x50, 0x6b, 0xa4, 0xd7, 3918 0xd9, 0xec, 0x7b, 0x71, 0xcc, 0x63, 0x7f, 0x06, 3919 0xd7, 0xf6, 0xd2, 0x1a, 0xca, 0xa0, 0xcd, 0xbf, 3920 0xad, 0xc8, 0x23, 0xef, 0x61, 0x60, 0x54, 0xa5, 3921 0x3a, 0x90, 0x86, 0x09, 0x64, 0x1a, 0xc3, 0x77, 3922 0x72, 0xa9, 0x01}; 3923 static const uint8_t test_vector_7_i_raw[] = { 3924 0x88, 0x79, 0x7f, 0xf6, 0xf0, 0x1e, 0xa5, 0xd2, 3925 0x41, 0x22, 0xe1, 0x12, 0x01, 0xc3, 0xb0, 0xa0, 3926 0xb2, 0xc0, 0x33, 0xe8, 0x29, 0x8b, 0x9a, 0xaa, 3927 0x17, 0xa3, 0xda, 0xd7, 0x05, 0x1b, 0xd1, 0xb9}; 3928 static const uint8_t test_vector_7_g_i_raw[] = { 3929 0x9a, 0xa6, 0xe4, 0x5a, 0x6f, 0xeb, 0x70, 0x20, 3930 0xa8, 0x87, 0xfb, 0x72, 0xbe, 0x5c, 0xc9, 0xf5, 3931 0x8c, 0x02, 0xe9, 0xa2, 0x94, 0x69, 0x24, 0x2f, 3932 0x36, 0x50, 0x49, 0x30, 0x4c, 0x6d, 0xb2, 0x14}; 3933 static const uint8_t test_vector_7_g_iy_raw[] = { 3934 0xb7, 0x54, 0xfa, 0x33, 0xfa, 0xc1, 0x2e, 0x03, 3935 0x1e, 0x16, 0x92, 0x39, 0x4c, 0xf3, 0x27, 0x2b, 3936 0x49, 0xf9, 0x7d, 0x15, 0xa4, 0x17, 0x39, 0x32, 3937 0xa6, 0x6b, 0x35, 0x5a, 0x0a, 0xa6, 0xa5, 0x15}; 3938 static const uint8_t test_vector_7_prk_4x3m_raw[] = { 3939 0xc7, 0xa5, 0xf3, 0xa5, 0xd4, 0x35, 0xee, 0x25, 3940 0x56, 0xdb, 0xa9, 0x84, 0x20, 0x00, 0x73, 0xfb, 3941 0x73, 0xc8, 0xb0, 0xb6, 0xf4, 0xc4, 0xe6, 0x02, 3942 0x37, 0xbc, 0xf6, 0x69, 0xae, 0x33, 0xd3, 0xa6}; 3943 static const uint8_t test_vector_7_input_TH_3[] = { 3944 0x58, 0x20, 0x73, 0x09, 0x58, 0x6a, 0xe4, 0x2b, 3945 0x3f, 0xd6, 0x12, 0x90, 0x5a, 0x32, 0x83, 0x24, 3946 0x94, 0xc2, 0x98, 0x25, 0x29, 0x8b, 0x37, 0xc2, 3947 0x9a, 0x56, 0x7d, 0xd2, 0x29, 0x16, 0x20, 0x8b, 3948 0x8a, 0x0c, 0x58, 0x80, 0x87, 0x1c, 0x8a, 0x9d, 3949 0x20, 0xd7, 0x85, 0x28, 0xcb, 0x54, 0x6b, 0x77, 3950 0x58, 0x51, 0xb5, 0x9f, 0x3c, 0xda, 0x16, 0xfb, 3951 0x9e, 0xac, 0x72, 0x32, 0x9b, 0x94, 0xa6, 0xb9, 3952 0xf4, 0x98, 0xfb, 0x7d, 0x14, 0x45, 0x98, 0x91, 3953 0x1e, 0x9b, 0xe5, 0x47, 0xf3, 0x0b, 0xbf, 0x17, 3954 0x65, 0x86, 0xc1, 0x25, 0xa8, 0x5d, 0xe8, 0xf6, 3955 0x0d, 0x42, 0x01, 0xc8, 0x1d, 0x46, 0xa5, 0x37, 3956 0x5f, 0x95, 0xef, 0x2a, 0x1a, 0x60, 0xff, 0x19, 3957 0xb1, 0xe5, 0x3d, 0x31, 0xcb, 0x71, 0x7e, 0xdf, 3958 0x0e, 0xcf, 0xbf, 0xe0, 0xfe, 0x90, 0xd9, 0x32, 3959 0x5e, 0x4f, 0x48, 0x0d, 0x75, 0x3d, 0x50, 0x6b, 3960 0xa4, 0xd7, 0xd9, 0xec, 0x7b, 0x71, 0xcc, 0x63, 3961 0x7f, 0x06, 0xd7, 0xf6, 0xd2, 0x1a, 0xca, 0xa0, 3962 0xcd, 0xbf, 0xad, 0xc8, 0x23, 0xef, 0x61, 0x60, 3963 0x54, 0xa5, 0x3a, 0x90, 0x86, 0x09, 0x64, 0x1a, 3964 0xc3, 0x77, 0x72, 0xa9}; 3965 static const uint8_t test_vector_7_th_3_raw[] = { 3966 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 0xb8, 0xf2, 3967 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 0x14, 0x64, 3968 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 0xf3, 0xf5, 3969 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 0x31, 0xb6}; 3970 static const uint8_t test_vector_7_th_3[] = { 3971 0x58, 0x20, 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 3972 0xb8, 0xf2, 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 3973 0x14, 0x64, 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 3974 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 3975 0x31, 0xb6}; 3976 static const uint8_t test_vector_7_id_cred_i[] = { 3977 0xa1, 0x18, 0x2b, 0xa2, 0x02, 0x77, 0x34, 0x32, 3978 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d, 0x46, 3979 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37, 0x2d, 3980 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1, 0x01, 3981 0xa4, 0x01, 0x01, 0x02, 0x28, 0x20, 0x04, 0x21, 3982 0x58, 0x20, 0x9a, 0xa6, 0xe4, 0x5a, 0x6f, 0xeb, 3983 0x70, 0x20, 0xa8, 0x87, 0xfb, 0x72, 0xbe, 0x5c, 3984 0xc9, 0xf5, 0x8c, 0x02, 0xe9, 0xa2, 0x94, 0x69, 3985 0x24, 0x2f, 0x36, 0x50, 0x49, 0x30, 0x4c, 0x6d, 3986 0xb2, 0x14}; 3987 static const uint8_t test_vector_7_cred_i[] = { 3988 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 3989 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 3990 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 3991 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 3992 0x02, 0x28, 0x20, 0x04, 0x21, 0x58, 0x20, 0x9a, 3993 0xa6, 0xe4, 0x5a, 0x6f, 0xeb, 0x70, 0x20, 0xa8, 3994 0x87, 0xfb, 0x72, 0xbe, 0x5c, 0xc9, 0xf5, 0x8c, 3995 0x02, 0xe9, 0xa2, 0x94, 0x69, 0x24, 0x2f, 0x36, 3996 0x50, 0x49, 0x30, 0x4c, 0x6d, 0xb2, 0x14}; 3997 static const uint8_t test_vector_7_ead_3[] = { 3998 }; 3999 static const uint8_t test_vector_7_info_mac_3[] = { 4000 0x58, 0x20, 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 4001 0xb8, 0xf2, 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 4002 0x14, 0x64, 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 4003 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 4004 0x31, 0xb6, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 4005 0x58, 0x91, 0xa1, 0x18, 0x2b, 0xa2, 0x02, 0x77, 4006 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 4007 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 4008 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 4009 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x28, 0x20, 4010 0x04, 0x21, 0x58, 0x20, 0x9a, 0xa6, 0xe4, 0x5a, 4011 0x6f, 0xeb, 0x70, 0x20, 0xa8, 0x87, 0xfb, 0x72, 4012 0xbe, 0x5c, 0xc9, 0xf5, 0x8c, 0x02, 0xe9, 0xa2, 4013 0x94, 0x69, 0x24, 0x2f, 0x36, 0x50, 0x49, 0x30, 4014 0x4c, 0x6d, 0xb2, 0x14, 0xa2, 0x02, 0x77, 0x34, 4015 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d, 4016 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37, 4017 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1, 4018 0x01, 0xa4, 0x01, 0x01, 0x02, 0x28, 0x20, 0x04, 4019 0x21, 0x58, 0x20, 0x9a, 0xa6, 0xe4, 0x5a, 0x6f, 4020 0xeb, 0x70, 0x20, 0xa8, 0x87, 0xfb, 0x72, 0xbe, 4021 0x5c, 0xc9, 0xf5, 0x8c, 0x02, 0xe9, 0xa2, 0x94, 4022 0x69, 0x24, 0x2f, 0x36, 0x50, 0x49, 0x30, 0x4c, 4023 0x6d, 0xb2, 0x14, 0x08}; 4024 static const uint8_t test_vector_7_mac_3_raw[] = { 4025 0x0f, 0x0e, 0x59, 0x3b, 0xcc, 0x50, 0x28, 0x4f}; 4026 static const uint8_t test_vector_7_mac_3[] = { 4027 0x48, 0x0f, 0x0e, 0x59, 0x3b, 0xcc, 0x50, 0x28, 4028 0x4f}; 4029 static const uint8_t test_vector_7_sig_or_mac_3_raw[] = { 4030 0x0f, 0x0e, 0x59, 0x3b, 0xcc, 0x50, 0x28, 0x4f}; 4031 static const uint8_t test_vector_7_sig_or_mac_3[] = { 4032 0x48, 0x0f, 0x0e, 0x59, 0x3b, 0xcc, 0x50, 0x28, 4033 0x4f}; 4034 static const uint8_t test_vector_7_p_3[] = { 4035 0xa1, 0x18, 0x2b, 0xa2, 0x02, 0x77, 0x34, 0x32, 4036 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d, 0x46, 4037 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37, 0x2d, 4038 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1, 0x01, 4039 0xa4, 0x01, 0x01, 0x02, 0x28, 0x20, 0x04, 0x21, 4040 0x58, 0x20, 0x9a, 0xa6, 0xe4, 0x5a, 0x6f, 0xeb, 4041 0x70, 0x20, 0xa8, 0x87, 0xfb, 0x72, 0xbe, 0x5c, 4042 0xc9, 0xf5, 0x8c, 0x02, 0xe9, 0xa2, 0x94, 0x69, 4043 0x24, 0x2f, 0x36, 0x50, 0x49, 0x30, 0x4c, 0x6d, 4044 0xb2, 0x14, 0x48, 0x0f, 0x0e, 0x59, 0x3b, 0xcc, 4045 0x50, 0x28, 0x4f}; 4046 static const uint8_t test_vector_7_a_3[] = { 4047 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4048 0x74, 0x30, 0x40, 0x58, 0x20, 0xc9, 0xea, 0xbb, 4049 0x48, 0x9a, 0x26, 0xb8, 0xf2, 0xdf, 0x56, 0x84, 4050 0x2b, 0x39, 0x1e, 0x14, 0x64, 0x8f, 0x27, 0x1f, 4051 0x57, 0xfe, 0x76, 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 4052 0xbf, 0x3b, 0xfd, 0x31, 0xb6}; 4053 static const uint8_t test_vector_7_info_k_3[] = { 4054 0x58, 0x20, 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 4055 0xb8, 0xf2, 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 4056 0x14, 0x64, 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 4057 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 4058 0x31, 0xb6, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 4059 static const uint8_t test_vector_7_k_3_raw[] = { 4060 0xe2, 0xc0, 0xec, 0x03, 0x1c, 0x3d, 0xdb, 0x33, 4061 0x64, 0x88, 0x8a, 0x62, 0xf3, 0x0a, 0xd0, 0x20}; 4062 static const uint8_t test_vector_7_info_iv_3[] = { 4063 0x58, 0x20, 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 4064 0xb8, 0xf2, 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 4065 0x14, 0x64, 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 4066 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 4067 0x31, 0xb6, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 4068 0x0d}; 4069 static const uint8_t test_vector_7_iv_3_raw[] = { 4070 0x53, 0xd9, 0xf3, 0xe0, 0xc6, 0xa5, 0x5d, 0x88, 4071 0x1d, 0x46, 0x51, 0xd7, 0xb4}; 4072 static const uint8_t test_vector_7_ciphertext_3_raw[] = { 4073 0x6c, 0xd4, 0x8a, 0x14, 0x69, 0x17, 0xad, 0x11, 4074 0x6f, 0xb2, 0xb4, 0x03, 0x4c, 0xc5, 0xde, 0x69, 4075 0x20, 0x70, 0x65, 0x15, 0xa6, 0x47, 0x7f, 0x78, 4076 0x7f, 0x57, 0xa9, 0xf5, 0x91, 0x34, 0xaf, 0x9b, 4077 0xda, 0x92, 0x53, 0x14, 0x7d, 0x73, 0x2d, 0x11, 4078 0x4c, 0xbe, 0x54, 0xcf, 0x4a, 0x07, 0xa8, 0xec, 4079 0x94, 0x4c, 0x37, 0x15, 0xa4, 0xc2, 0x5c, 0x41, 4080 0x8c, 0x38, 0x01, 0xfc, 0xe7, 0x22, 0xea, 0xb8, 4081 0x04, 0xe6, 0x59, 0xfd, 0x9c, 0xb9, 0xf2, 0x3f, 4082 0x1d, 0xbc, 0x1c, 0x59, 0x9e, 0x3c, 0xfa, 0xbd, 4083 0xce, 0x70, 0x5a, 0xfd, 0xd7, 0x84, 0x9b, 0x9a, 4084 0xbf, 0xa1, 0xff}; 4085 static const uint8_t test_vector_7_ciphertext_3[] = { 4086 0x58, 0x5b, 0x6c, 0xd4, 0x8a, 0x14, 0x69, 0x17, 4087 0xad, 0x11, 0x6f, 0xb2, 0xb4, 0x03, 0x4c, 0xc5, 4088 0xde, 0x69, 0x20, 0x70, 0x65, 0x15, 0xa6, 0x47, 4089 0x7f, 0x78, 0x7f, 0x57, 0xa9, 0xf5, 0x91, 0x34, 4090 0xaf, 0x9b, 0xda, 0x92, 0x53, 0x14, 0x7d, 0x73, 4091 0x2d, 0x11, 0x4c, 0xbe, 0x54, 0xcf, 0x4a, 0x07, 4092 0xa8, 0xec, 0x94, 0x4c, 0x37, 0x15, 0xa4, 0xc2, 4093 0x5c, 0x41, 0x8c, 0x38, 0x01, 0xfc, 0xe7, 0x22, 4094 0xea, 0xb8, 0x04, 0xe6, 0x59, 0xfd, 0x9c, 0xb9, 4095 0xf2, 0x3f, 0x1d, 0xbc, 0x1c, 0x59, 0x9e, 0x3c, 4096 0xfa, 0xbd, 0xce, 0x70, 0x5a, 0xfd, 0xd7, 0x84, 4097 0x9b, 0x9a, 0xbf, 0xa1, 0xff}; 4098 static const uint8_t test_vector_7_message_3[] = { 4099 0x58, 0x5b, 0x6c, 0xd4, 0x8a, 0x14, 0x69, 0x17, 4100 0xad, 0x11, 0x6f, 0xb2, 0xb4, 0x03, 0x4c, 0xc5, 4101 0xde, 0x69, 0x20, 0x70, 0x65, 0x15, 0xa6, 0x47, 4102 0x7f, 0x78, 0x7f, 0x57, 0xa9, 0xf5, 0x91, 0x34, 4103 0xaf, 0x9b, 0xda, 0x92, 0x53, 0x14, 0x7d, 0x73, 4104 0x2d, 0x11, 0x4c, 0xbe, 0x54, 0xcf, 0x4a, 0x07, 4105 0xa8, 0xec, 0x94, 0x4c, 0x37, 0x15, 0xa4, 0xc2, 4106 0x5c, 0x41, 0x8c, 0x38, 0x01, 0xfc, 0xe7, 0x22, 4107 0xea, 0xb8, 0x04, 0xe6, 0x59, 0xfd, 0x9c, 0xb9, 4108 0xf2, 0x3f, 0x1d, 0xbc, 0x1c, 0x59, 0x9e, 0x3c, 4109 0xfa, 0xbd, 0xce, 0x70, 0x5a, 0xfd, 0xd7, 0x84, 4110 0x9b, 0x9a, 0xbf, 0xa1, 0xff}; 4111 static const uint8_t test_vector_7_input_th_4[] = { 4112 0x58, 0x20, 0xc9, 0xea, 0xbb, 0x48, 0x9a, 0x26, 4113 0xb8, 0xf2, 0xdf, 0x56, 0x84, 0x2b, 0x39, 0x1e, 4114 0x14, 0x64, 0x8f, 0x27, 0x1f, 0x57, 0xfe, 0x76, 4115 0xf3, 0xf5, 0x47, 0xb0, 0x5e, 0xbf, 0x3b, 0xfd, 4116 0x31, 0xb6, 0x58, 0x5b, 0x6c, 0xd4, 0x8a, 0x14, 4117 0x69, 0x17, 0xad, 0x11, 0x6f, 0xb2, 0xb4, 0x03, 4118 0x4c, 0xc5, 0xde, 0x69, 0x20, 0x70, 0x65, 0x15, 4119 0xa6, 0x47, 0x7f, 0x78, 0x7f, 0x57, 0xa9, 0xf5, 4120 0x91, 0x34, 0xaf, 0x9b, 0xda, 0x92, 0x53, 0x14, 4121 0x7d, 0x73, 0x2d, 0x11, 0x4c, 0xbe, 0x54, 0xcf, 4122 0x4a, 0x07, 0xa8, 0xec, 0x94, 0x4c, 0x37, 0x15, 4123 0xa4, 0xc2, 0x5c, 0x41, 0x8c, 0x38, 0x01, 0xfc, 4124 0xe7, 0x22, 0xea, 0xb8, 0x04, 0xe6, 0x59, 0xfd, 4125 0x9c, 0xb9, 0xf2, 0x3f, 0x1d, 0xbc, 0x1c, 0x59, 4126 0x9e, 0x3c, 0xfa, 0xbd, 0xce, 0x70, 0x5a, 0xfd, 4127 0xd7, 0x84, 0x9b, 0x9a, 0xbf, 0xa1, 0xff}; 4128 static const uint8_t test_vector_7_th_4_raw[] = { 4129 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 0x3c, 0x10, 4130 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 0xed, 0x39, 4131 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 0xf2, 0xdf, 4132 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 0xa7, 0xd8}; 4133 static const uint8_t test_vector_7_th_4[] = { 4134 0x58, 0x20, 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 4135 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 4136 0xed, 0x39, 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 4137 0xf2, 0xdf, 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 4138 0xa7, 0xd8}; 4139 static const uint8_t test_vector_7_ead_4[] = { 4140 }; 4141 static const uint8_t test_vector_7_p_4[] = { 4142 }; 4143 static const uint8_t test_vector_7_a_4[] = { 4144 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4145 0x74, 0x30, 0x40, 0x58, 0x20, 0xcd, 0x81, 0x6b, 4146 0x82, 0x3d, 0x95, 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 4147 0x21, 0xd0, 0x79, 0xed, 0x39, 0xed, 0x91, 0xab, 4148 0x18, 0xd7, 0xb6, 0xf2, 0xdf, 0x79, 0xd9, 0x62, 4149 0x06, 0xda, 0x36, 0xa7, 0xd8}; 4150 static const uint8_t test_vector_7_info_k_4[] = { 4151 0x58, 0x20, 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 4152 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 4153 0xed, 0x39, 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 4154 0xf2, 0xdf, 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 4155 0xa7, 0xd8, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 4156 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 4157 static const uint8_t test_vector_7_k_4_raw[] = { 4158 0x24, 0xac, 0x71, 0x3f, 0x61, 0xbe, 0x11, 0x22, 4159 0x6f, 0x0f, 0xf7, 0xae, 0x28, 0xd0, 0xcc, 0x6d}; 4160 static const uint8_t test_vector_7_info_iv_4[] = { 4161 0x58, 0x20, 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 4162 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 4163 0xed, 0x39, 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 4164 0xf2, 0xdf, 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 4165 0xa7, 0xd8, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4166 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 4167 static const uint8_t test_vector_7_iv_4_raw[] = { 4168 0xbb, 0x1b, 0xd6, 0x2d, 0xc4, 0x10, 0x6d, 0xa6, 4169 0x94, 0x28, 0xc2, 0xf2, 0xc9}; 4170 static const uint8_t test_vector_7_ciphertext_4_raw[] = { 4171 0x24, 0xbf, 0x26, 0x45, 0x4c, 0x0f, 0x1b, 0x66}; 4172 static const uint8_t test_vector_7_ciphertext_4[] = { 4173 0x48, 0x24, 0xbf, 0x26, 0x45, 0x4c, 0x0f, 0x1b, 4174 0x66}; 4175 static const uint8_t test_vector_7_message_4[] = { 4176 0x48, 0x24, 0xbf, 0x26, 0x45, 0x4c, 0x0f, 0x1b, 4177 0x66}; 4178 int32_t test_vector_7_oscore_aead_alg = 10; 4179 int32_t test_vector_7_oscore_hash_alg = -16; 4180 static const uint8_t test_vector_7_client_sender_id_raw[] = { 4181 0x01}; 4182 static const uint8_t test_vector_7_server_sender_id_raw[] = { 4183 0x0a}; 4184 static const uint8_t test_vector_7_info_oscore_secret[] = { 4185 0x58, 0x20, 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 4186 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 4187 0xed, 0x39, 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 4188 0xf2, 0xdf, 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 4189 0xa7, 0xd8, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 4190 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 4191 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 4192 0x10}; 4193 static const uint8_t test_vector_7_oscore_secret_raw[] = { 4194 0xd3, 0x87, 0x05, 0xae, 0x55, 0xa2, 0x04, 0x66, 4195 0x77, 0x00, 0xe7, 0xce, 0x15, 0x01, 0xd9, 0x0b}; 4196 static const uint8_t test_vector_7_info_oscore_salt[] = { 4197 0x58, 0x20, 0xcd, 0x81, 0x6b, 0x82, 0x3d, 0x95, 4198 0x3c, 0x10, 0x0c, 0xe1, 0x0a, 0x21, 0xd0, 0x79, 4199 0xed, 0x39, 0xed, 0x91, 0xab, 0x18, 0xd7, 0xb6, 4200 0xf2, 0xdf, 0x79, 0xd9, 0x62, 0x06, 0xda, 0x36, 4201 0xa7, 0xd8, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 4202 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 4203 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 4204 static const uint8_t test_vector_7_oscore_salt_raw[] = { 4205 0xa0, 0xc8, 0x45, 0xde, 0x81, 0xf4, 0xdd, 0xc0}; 4206 static const uint8_t test_vector_7_key_update_nonce_raw[] = { 4207 0xe6, 0xa8, 0x70, 0x5f, 0x73, 0x82, 0xa0, 0xd4, 4208 0x3b, 0xeb, 0x61, 0xe3, 0x60, 0xd0, 0xf9, 0x83}; 4209 static const uint8_t test_vector_7_prk_4x3m_key_update_raw[] = { 4210 0xd6, 0xaa, 0x9c, 0x24, 0xea, 0xa9, 0xcc, 0xb3, 4211 0x18, 0xc8, 0xd9, 0x54, 0xf0, 0xd6, 0x05, 0x03, 4212 0x04, 0xf2, 0x8e, 0x46, 0x18, 0x02, 0x7f, 0x17, 4213 0xe4, 0xb2, 0xd0, 0x7c, 0x8a, 0xfa, 0x89, 0xf7}; 4214 static const uint8_t test_vector_7_oscore_secret_key_update_raw[] = { 4215 0x00, 0x51, 0x3b, 0xef, 0x89, 0x81, 0xfe, 0x0a, 4216 0xb5, 0x8d, 0x49, 0x16, 0x6f, 0x2b, 0x2b, 0xc5}; 4217 static const uint8_t test_vector_7_oscore_salt_key_update_raw[] = { 4218 0x80, 0x24, 0x49, 0xcb, 0xf0, 0xce, 0x13, 0xbf}; 4219 4220 /***************** test_vector_8 ************/ 4221 4222 static const uint8_t test_vector_8_method[] = { 4223 0x03}; 4224 static const uint8_t test_vector_8_suites_i[] = { 4225 0x83, 0x00, 0x02, 0x01}; 4226 static const uint8_t test_vector_8_suites_r[] = { 4227 0x01}; 4228 static const uint8_t test_vector_8_x_raw[] = { 4229 0xf2, 0x88, 0x4b, 0xf3, 0x58, 0x70, 0x33, 0x28, 4230 0xfb, 0xff, 0x32, 0x84, 0x10, 0xa7, 0x6f, 0xda, 4231 0x60, 0x33, 0x3c, 0x62, 0x2b, 0xa8, 0x33, 0x64, 4232 0xa1, 0x16, 0x0f, 0x36, 0x81, 0x43, 0x39, 0x7b}; 4233 static const uint8_t test_vector_8_g_x_raw[] = { 4234 0xa8, 0x4c, 0x69, 0xc8, 0x27, 0xb7, 0xae, 0xe7, 4235 0xa6, 0x81, 0x25, 0xc1, 0x1c, 0x9f, 0x39, 0x91, 4236 0xd8, 0x8d, 0x44, 0x69, 0x0b, 0xbb, 0xae, 0xee, 4237 0x62, 0x44, 0xbb, 0x34, 0x67, 0x2f, 0xdb, 0x0c}; 4238 static const uint8_t test_vector_8_g_x[] = { 4239 0x58, 0x20, 0xa8, 0x4c, 0x69, 0xc8, 0x27, 0xb7, 4240 0xae, 0xe7, 0xa6, 0x81, 0x25, 0xc1, 0x1c, 0x9f, 4241 0x39, 0x91, 0xd8, 0x8d, 0x44, 0x69, 0x0b, 0xbb, 4242 0xae, 0xee, 0x62, 0x44, 0xbb, 0x34, 0x67, 0x2f, 4243 0xdb, 0x0c}; 4244 int32_t test_vector_8_c_i_raw = -11; 4245 static const uint8_t test_vector_8_c_i[] = { 4246 0x2a}; 4247 static const uint8_t test_vector_8_ead_1[] = { 4248 }; 4249 static const uint8_t test_vector_8_message_1[] = { 4250 0x03, 0x83, 0x00, 0x02, 0x01, 0x58, 0x20, 0xa8, 4251 0x4c, 0x69, 0xc8, 0x27, 0xb7, 0xae, 0xe7, 0xa6, 4252 0x81, 0x25, 0xc1, 0x1c, 0x9f, 0x39, 0x91, 0xd8, 4253 0x8d, 0x44, 0x69, 0x0b, 0xbb, 0xae, 0xee, 0x62, 4254 0x44, 0xbb, 0x34, 0x67, 0x2f, 0xdb, 0x0c, 0x2a}; 4255 static const uint8_t test_vector_8_y_raw[] = { 4256 0x11, 0xaf, 0xd1, 0x36, 0xfa, 0x3b, 0xf8, 0x2d, 4257 0x63, 0xa0, 0x82, 0x46, 0xc0, 0xd5, 0x03, 0xaa, 4258 0x12, 0xb0, 0x59, 0xd7, 0x55, 0x9e, 0x3f, 0x07, 4259 0x84, 0xed, 0x56, 0x20, 0x43, 0x1f, 0x99, 0xb0}; 4260 static const uint8_t test_vector_8_g_y_raw[] = { 4261 0x3d, 0xea, 0x3b, 0xf1, 0xe5, 0x72, 0xb5, 0x70, 4262 0xb9, 0x8a, 0x97, 0x94, 0x3e, 0x3f, 0x76, 0xb6, 4263 0xdc, 0xfd, 0x78, 0x71, 0xda, 0xbd, 0x8c, 0x72, 4264 0x2c, 0xa1, 0x7d, 0x5e, 0x17, 0xf1, 0x20, 0x19}; 4265 static const uint8_t test_vector_8_g_y[] = { 4266 0x58, 0x20, 0x3d, 0xea, 0x3b, 0xf1, 0xe5, 0x72, 4267 0xb5, 0x70, 0xb9, 0x8a, 0x97, 0x94, 0x3e, 0x3f, 4268 0x76, 0xb6, 0xdc, 0xfd, 0x78, 0x71, 0xda, 0xbd, 4269 0x8c, 0x72, 0x2c, 0xa1, 0x7d, 0x5e, 0x17, 0xf1, 4270 0x20, 0x19}; 4271 static const uint8_t test_vector_8_g_xy_raw[] = { 4272 0x30, 0x2a, 0xa4, 0xfa, 0xc3, 0x2e, 0xce, 0xb7, 4273 0x04, 0xd2, 0xe8, 0x06, 0x05, 0xa0, 0x0e, 0x14, 4274 0xab, 0x7a, 0xb5, 0xa0, 0xbb, 0x73, 0x7c, 0x61, 4275 0xb3, 0x02, 0x4f, 0xf0, 0x7a, 0xb7, 0x62, 0x40}; 4276 static const uint8_t test_vector_8_salt_raw[] = { 4277 }; 4278 static const uint8_t test_vector_8_prk_2e_raw[] = { 4279 0x6e, 0x8e, 0x12, 0xd4, 0x2e, 0x3d, 0xe9, 0xfb, 4280 0xdc, 0xf4, 0xeb, 0x8e, 0x90, 0xda, 0xa0, 0x7d, 4281 0xfd, 0xff, 0x9e, 0xd6, 0x37, 0x22, 0x58, 0x88, 4282 0x7d, 0x49, 0x43, 0x65, 0x07, 0x73, 0xad, 0x3b}; 4283 static const uint8_t test_vector_8_r_raw[] = { 4284 0x9b, 0xd7, 0x15, 0xf9, 0x8d, 0xe5, 0xf6, 0x40, 4285 0xaa, 0x68, 0x29, 0x7a, 0x3e, 0x8b, 0x7d, 0x07, 4286 0x76, 0x8b, 0xff, 0xb8, 0x48, 0x89, 0xa4, 0xc2, 4287 0xb4, 0xee, 0x5c, 0x3d, 0xca, 0xd2, 0xc0, 0x62}; 4288 static const uint8_t test_vector_8_g_r_raw[] = { 4289 0xfd, 0xa3, 0xa1, 0x10, 0x34, 0xa4, 0x4f, 0x48, 4290 0x6d, 0x10, 0x0f, 0xd9, 0x53, 0x42, 0xdc, 0xcd, 4291 0x26, 0x80, 0x08, 0x9a, 0x80, 0x7e, 0xf1, 0x91, 4292 0x33, 0x5a, 0xc7, 0x61, 0xdb, 0x4a, 0x1b, 0x4c}; 4293 static const uint8_t test_vector_8_g_rx_raw[] = { 4294 0xdb, 0x2b, 0x2a, 0x9a, 0x0c, 0x8a, 0x0d, 0x04, 4295 0xd2, 0x2a, 0xef, 0x49, 0x20, 0x1e, 0x6e, 0x70, 4296 0xc3, 0x94, 0x5b, 0x49, 0x6d, 0x53, 0xcf, 0xea, 4297 0x7d, 0x10, 0x43, 0xd9, 0x3e, 0x95, 0x12, 0x07}; 4298 static const uint8_t test_vector_8_prk_3e2m_raw[] = { 4299 0xe1, 0xa7, 0xc3, 0x75, 0xf5, 0x2f, 0x16, 0x6a, 4300 0x4d, 0x3d, 0xb3, 0x54, 0x24, 0x57, 0x48, 0xeb, 4301 0x22, 0xdf, 0x57, 0xa4, 0x5d, 0x5c, 0x0f, 0x48, 4302 0xfc, 0x06, 0x1b, 0x9f, 0x1c, 0x32, 0xb0, 0x35}; 4303 int32_t test_vector_8_c_r_raw = -4; 4304 static const uint8_t test_vector_8_c_r[] = { 4305 0x23}; 4306 static const uint8_t test_vector_8_h_message_1_raw[] = { 4307 0x39, 0x00, 0x97, 0xac, 0x28, 0x8d, 0x81, 0x5f, 4308 0xde, 0x3a, 0xf8, 0x54, 0xf7, 0x35, 0x84, 0x8d, 4309 0xcf, 0x83, 0x77, 0x11, 0x14, 0x93, 0x73, 0xed, 4310 0xac, 0x35, 0x2e, 0xe3, 0xb4, 0xf1, 0xdc, 0x4e}; 4311 static const uint8_t test_vector_8_h_message_1[] = { 4312 0x58, 0x20, 0x39, 0x00, 0x97, 0xac, 0x28, 0x8d, 4313 0x81, 0x5f, 0xde, 0x3a, 0xf8, 0x54, 0xf7, 0x35, 4314 0x84, 0x8d, 0xcf, 0x83, 0x77, 0x11, 0x14, 0x93, 4315 0x73, 0xed, 0xac, 0x35, 0x2e, 0xe3, 0xb4, 0xf1, 4316 0xdc, 0x4e}; 4317 static const uint8_t test_vector_8_input_th_2[] = { 4318 0x58, 0x20, 0x39, 0x00, 0x97, 0xac, 0x28, 0x8d, 4319 0x81, 0x5f, 0xde, 0x3a, 0xf8, 0x54, 0xf7, 0x35, 4320 0x84, 0x8d, 0xcf, 0x83, 0x77, 0x11, 0x14, 0x93, 4321 0x73, 0xed, 0xac, 0x35, 0x2e, 0xe3, 0xb4, 0xf1, 4322 0xdc, 0x4e, 0x58, 0x20, 0x3d, 0xea, 0x3b, 0xf1, 4323 0xe5, 0x72, 0xb5, 0x70, 0xb9, 0x8a, 0x97, 0x94, 4324 0x3e, 0x3f, 0x76, 0xb6, 0xdc, 0xfd, 0x78, 0x71, 4325 0xda, 0xbd, 0x8c, 0x72, 0x2c, 0xa1, 0x7d, 0x5e, 4326 0x17, 0xf1, 0x20, 0x19, 0x23}; 4327 static const uint8_t test_vector_8_th_2_raw[] = { 4328 0x19, 0x6f, 0xb5, 0x81, 0x49, 0x0c, 0x6a, 0xb6, 4329 0x46, 0x12, 0x19, 0xaa, 0x5e, 0xe9, 0x7c, 0x31, 4330 0x18, 0x7e, 0x50, 0xb4, 0x03, 0x7d, 0xb8, 0x0a, 4331 0xd9, 0xa9, 0x6d, 0xa9, 0xa6, 0xdf, 0x19, 0xe9}; 4332 static const uint8_t test_vector_8_th_2[] = { 4333 0x58, 0x20, 0x19, 0x6f, 0xb5, 0x81, 0x49, 0x0c, 4334 0x6a, 0xb6, 0x46, 0x12, 0x19, 0xaa, 0x5e, 0xe9, 4335 0x7c, 0x31, 0x18, 0x7e, 0x50, 0xb4, 0x03, 0x7d, 4336 0xb8, 0x0a, 0xd9, 0xa9, 0x6d, 0xa9, 0xa6, 0xdf, 4337 0x19, 0xe9}; 4338 static const uint8_t test_vector_8_id_cred_r[] = { 4339 0xa1, 0x04, 0x30}; 4340 static const uint8_t test_vector_8_cred_r[] = { 4341 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 4342 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 4343 0x01, 0xa4, 0x01, 0x01, 0x02, 0x30, 0x20, 0x04, 4344 0x21, 0x58, 0x20, 0xfd, 0xa3, 0xa1, 0x10, 0x34, 4345 0xa4, 0x4f, 0x48, 0x6d, 0x10, 0x0f, 0xd9, 0x53, 4346 0x42, 0xdc, 0xcd, 0x26, 0x80, 0x08, 0x9a, 0x80, 4347 0x7e, 0xf1, 0x91, 0x33, 0x5a, 0xc7, 0x61, 0xdb, 4348 0x4a, 0x1b, 0x4c}; 4349 static const uint8_t test_vector_8_ead_2[] = { 4350 }; 4351 static const uint8_t test_vector_8_info_mac_2[] = { 4352 0x58, 0x20, 0x19, 0x6f, 0xb5, 0x81, 0x49, 0x0c, 4353 0x6a, 0xb6, 0x46, 0x12, 0x19, 0xaa, 0x5e, 0xe9, 4354 0x7c, 0x31, 0x18, 0x7e, 0x50, 0xb4, 0x03, 0x7d, 4355 0xb8, 0x0a, 0xd9, 0xa9, 0x6d, 0xa9, 0xa6, 0xdf, 4356 0x19, 0xe9, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 4357 0x58, 0x3e, 0xa1, 0x04, 0x30, 0xa2, 0x02, 0x6b, 4358 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 4359 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 4360 0x01, 0x02, 0x30, 0x20, 0x04, 0x21, 0x58, 0x20, 4361 0xfd, 0xa3, 0xa1, 0x10, 0x34, 0xa4, 0x4f, 0x48, 4362 0x6d, 0x10, 0x0f, 0xd9, 0x53, 0x42, 0xdc, 0xcd, 4363 0x26, 0x80, 0x08, 0x9a, 0x80, 0x7e, 0xf1, 0x91, 4364 0x33, 0x5a, 0xc7, 0x61, 0xdb, 0x4a, 0x1b, 0x4c, 4365 0x10}; 4366 static const uint8_t test_vector_8_mac_2_raw[] = { 4367 0x35, 0x7b, 0x09, 0x5e, 0x66, 0xf5, 0x52, 0xa3, 4368 0x90, 0xfb, 0x88, 0xec, 0xab, 0xda, 0xa7, 0xdf}; 4369 static const uint8_t test_vector_8_mac_2[] = { 4370 0x50, 0x35, 0x7b, 0x09, 0x5e, 0x66, 0xf5, 0x52, 4371 0xa3, 0x90, 0xfb, 0x88, 0xec, 0xab, 0xda, 0xa7, 4372 0xdf}; 4373 static const uint8_t test_vector_8_sig_or_mac_2_raw[] = { 4374 0x35, 0x7b, 0x09, 0x5e, 0x66, 0xf5, 0x52, 0xa3, 4375 0x90, 0xfb, 0x88, 0xec, 0xab, 0xda, 0xa7, 0xdf}; 4376 static const uint8_t test_vector_8_sig_or_mac_2[] = { 4377 0x50, 0x35, 0x7b, 0x09, 0x5e, 0x66, 0xf5, 0x52, 4378 0xa3, 0x90, 0xfb, 0x88, 0xec, 0xab, 0xda, 0xa7, 4379 0xdf}; 4380 static const uint8_t test_vector_8_plaintext_2[] = { 4381 0x30, 0x50, 0x35, 0x7b, 0x09, 0x5e, 0x66, 0xf5, 4382 0x52, 0xa3, 0x90, 0xfb, 0x88, 0xec, 0xab, 0xda, 4383 0xa7, 0xdf}; 4384 static const uint8_t test_vector_8_info_keystream_2[] = { 4385 0x58, 0x20, 0x19, 0x6f, 0xb5, 0x81, 0x49, 0x0c, 4386 0x6a, 0xb6, 0x46, 0x12, 0x19, 0xaa, 0x5e, 0xe9, 4387 0x7c, 0x31, 0x18, 0x7e, 0x50, 0xb4, 0x03, 0x7d, 4388 0xb8, 0x0a, 0xd9, 0xa9, 0x6d, 0xa9, 0xa6, 0xdf, 4389 0x19, 0xe9, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 4390 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x12}; 4391 static const uint8_t test_vector_8_keystream_2_raw[] = { 4392 0x3b, 0xfd, 0xa0, 0xc9, 0x4f, 0x22, 0x3a, 0xfa, 4393 0x8f, 0x51, 0x92, 0xd2, 0xf6, 0xc3, 0x33, 0xb5, 4394 0x98, 0xab}; 4395 static const uint8_t test_vector_8_ciphertext_2_raw[] = { 4396 0x0b, 0xad, 0x95, 0xb2, 0x46, 0x7c, 0x5c, 0x0f, 4397 0xdd, 0xf2, 0x02, 0x29, 0x7e, 0x2f, 0x98, 0x6f, 4398 0x3f, 0x74}; 4399 static const uint8_t test_vector_8_ciphertext_2[] = { 4400 0x52, 0x0b, 0xad, 0x95, 0xb2, 0x46, 0x7c, 0x5c, 4401 0x0f, 0xdd, 0xf2, 0x02, 0x29, 0x7e, 0x2f, 0x98, 4402 0x6f, 0x3f, 0x74}; 4403 static const uint8_t test_vector_8_message_2[] = { 4404 0x58, 0x32, 0x3d, 0xea, 0x3b, 0xf1, 0xe5, 0x72, 4405 0xb5, 0x70, 0xb9, 0x8a, 0x97, 0x94, 0x3e, 0x3f, 4406 0x76, 0xb6, 0xdc, 0xfd, 0x78, 0x71, 0xda, 0xbd, 4407 0x8c, 0x72, 0x2c, 0xa1, 0x7d, 0x5e, 0x17, 0xf1, 4408 0x20, 0x19, 0x0b, 0xad, 0x95, 0xb2, 0x46, 0x7c, 4409 0x5c, 0x0f, 0xdd, 0xf2, 0x02, 0x29, 0x7e, 0x2f, 4410 0x98, 0x6f, 0x3f, 0x74, 0x23}; 4411 static const uint8_t test_vector_8_i_raw[] = { 4412 0xd7, 0xb9, 0x66, 0x2f, 0x59, 0xc1, 0x6c, 0x98, 4413 0x98, 0x87, 0x0f, 0xdf, 0x59, 0x59, 0x73, 0x71, 4414 0x01, 0xee, 0xd2, 0xa9, 0x66, 0x9e, 0xe6, 0x6d, 4415 0x0c, 0xfa, 0x1a, 0x5c, 0xaf, 0x59, 0xcb, 0x78}; 4416 static const uint8_t test_vector_8_g_i_raw[] = { 4417 0x52, 0xdb, 0xc3, 0xe8, 0x55, 0x9c, 0x39, 0x11, 4418 0x5f, 0x8e, 0x08, 0xf2, 0xa9, 0x00, 0x77, 0x3c, 4419 0xae, 0x38, 0x3a, 0x4c, 0xbe, 0xac, 0x60, 0xb8, 4420 0xbe, 0x74, 0x11, 0x2f, 0x5b, 0x89, 0xd0, 0x1b}; 4421 static const uint8_t test_vector_8_g_iy_raw[] = { 4422 0xf6, 0x64, 0x81, 0x69, 0x6e, 0x3d, 0x37, 0xc5, 4423 0xa4, 0x46, 0x9b, 0x72, 0x9d, 0xdc, 0x09, 0x72, 4424 0x4c, 0x69, 0xd0, 0xfc, 0x21, 0x71, 0xf6, 0x15, 4425 0x8f, 0xef, 0x93, 0x23, 0x11, 0x41, 0x12, 0x42}; 4426 static const uint8_t test_vector_8_prk_4x3m_raw[] = { 4427 0x03, 0x4e, 0xe2, 0xf1, 0x11, 0x7e, 0x28, 0x0c, 4428 0x67, 0x57, 0xb7, 0x8e, 0xad, 0x50, 0x84, 0xd5, 4429 0x28, 0x96, 0x31, 0x64, 0x3a, 0xd3, 0x1f, 0xec, 4430 0x85, 0xc2, 0xd5, 0x18, 0x31, 0xe0, 0x1c, 0x66}; 4431 static const uint8_t test_vector_8_input_TH_3[] = { 4432 0x58, 0x20, 0x19, 0x6f, 0xb5, 0x81, 0x49, 0x0c, 4433 0x6a, 0xb6, 0x46, 0x12, 0x19, 0xaa, 0x5e, 0xe9, 4434 0x7c, 0x31, 0x18, 0x7e, 0x50, 0xb4, 0x03, 0x7d, 4435 0xb8, 0x0a, 0xd9, 0xa9, 0x6d, 0xa9, 0xa6, 0xdf, 4436 0x19, 0xe9, 0x52, 0x0b, 0xad, 0x95, 0xb2, 0x46, 4437 0x7c, 0x5c, 0x0f, 0xdd, 0xf2, 0x02, 0x29, 0x7e, 4438 0x2f, 0x98, 0x6f, 0x3f, 0x74}; 4439 static const uint8_t test_vector_8_th_3_raw[] = { 4440 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 0x84, 0x9d, 4441 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 0x5a, 0xac, 4442 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 0xd5, 0x5a, 4443 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 0x4b, 0x9e}; 4444 static const uint8_t test_vector_8_th_3[] = { 4445 0x58, 0x20, 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 4446 0x84, 0x9d, 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 4447 0x5a, 0xac, 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 4448 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 4449 0x4b, 0x9e}; 4450 static const uint8_t test_vector_8_id_cred_i[] = { 4451 0xa1, 0x04, 0x32}; 4452 static const uint8_t test_vector_8_cred_i[] = { 4453 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 4454 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 4455 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 4456 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 4457 0x02, 0x32, 0x20, 0x04, 0x21, 0x58, 0x20, 0x52, 4458 0xdb, 0xc3, 0xe8, 0x55, 0x9c, 0x39, 0x11, 0x5f, 4459 0x8e, 0x08, 0xf2, 0xa9, 0x00, 0x77, 0x3c, 0xae, 4460 0x38, 0x3a, 0x4c, 0xbe, 0xac, 0x60, 0xb8, 0xbe, 4461 0x74, 0x11, 0x2f, 0x5b, 0x89, 0xd0, 0x1b}; 4462 static const uint8_t test_vector_8_ead_3[] = { 4463 }; 4464 static const uint8_t test_vector_8_info_mac_3[] = { 4465 0x58, 0x20, 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 4466 0x84, 0x9d, 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 4467 0x5a, 0xac, 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 4468 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 4469 0x4b, 0x9e, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 4470 0x58, 0x4a, 0xa1, 0x04, 0x32, 0xa2, 0x02, 0x77, 4471 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 4472 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 4473 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 4474 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x32, 0x20, 4475 0x04, 0x21, 0x58, 0x20, 0x52, 0xdb, 0xc3, 0xe8, 4476 0x55, 0x9c, 0x39, 0x11, 0x5f, 0x8e, 0x08, 0xf2, 4477 0xa9, 0x00, 0x77, 0x3c, 0xae, 0x38, 0x3a, 0x4c, 4478 0xbe, 0xac, 0x60, 0xb8, 0xbe, 0x74, 0x11, 0x2f, 4479 0x5b, 0x89, 0xd0, 0x1b, 0x10}; 4480 static const uint8_t test_vector_8_mac_3_raw[] = { 4481 0xad, 0xac, 0xef, 0x14, 0x49, 0x51, 0xc7, 0x19, 4482 0x88, 0x72, 0x4b, 0x2c, 0xb7, 0x71, 0xd5, 0x6a}; 4483 static const uint8_t test_vector_8_mac_3[] = { 4484 0x50, 0xad, 0xac, 0xef, 0x14, 0x49, 0x51, 0xc7, 4485 0x19, 0x88, 0x72, 0x4b, 0x2c, 0xb7, 0x71, 0xd5, 4486 0x6a}; 4487 static const uint8_t test_vector_8_sig_or_mac_3_raw[] = { 4488 0xad, 0xac, 0xef, 0x14, 0x49, 0x51, 0xc7, 0x19, 4489 0x88, 0x72, 0x4b, 0x2c, 0xb7, 0x71, 0xd5, 0x6a}; 4490 static const uint8_t test_vector_8_sig_or_mac_3[] = { 4491 0x50, 0xad, 0xac, 0xef, 0x14, 0x49, 0x51, 0xc7, 4492 0x19, 0x88, 0x72, 0x4b, 0x2c, 0xb7, 0x71, 0xd5, 4493 0x6a}; 4494 static const uint8_t test_vector_8_p_3[] = { 4495 0x32, 0x50, 0xad, 0xac, 0xef, 0x14, 0x49, 0x51, 4496 0xc7, 0x19, 0x88, 0x72, 0x4b, 0x2c, 0xb7, 0x71, 4497 0xd5, 0x6a}; 4498 static const uint8_t test_vector_8_a_3[] = { 4499 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4500 0x74, 0x30, 0x40, 0x58, 0x20, 0x5d, 0xd0, 0xa8, 4501 0x0f, 0x8e, 0x4f, 0x84, 0x9d, 0x8f, 0x23, 0xa0, 4502 0xc0, 0x1b, 0x41, 0x5a, 0xac, 0xba, 0x6d, 0x3d, 4503 0x0e, 0x4a, 0xa9, 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 4504 0x59, 0x58, 0xa4, 0x4b, 0x9e}; 4505 static const uint8_t test_vector_8_info_k_3[] = { 4506 0x58, 0x20, 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 4507 0x84, 0x9d, 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 4508 0x5a, 0xac, 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 4509 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 4510 0x4b, 0x9e, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 4511 static const uint8_t test_vector_8_k_3_raw[] = { 4512 0x31, 0xd6, 0x95, 0x79, 0xb5, 0x36, 0xf2, 0x9e, 4513 0x26, 0xd4, 0xe5, 0x59, 0x58, 0xd8, 0xf9, 0x08}; 4514 static const uint8_t test_vector_8_info_iv_3[] = { 4515 0x58, 0x20, 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 4516 0x84, 0x9d, 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 4517 0x5a, 0xac, 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 4518 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 4519 0x4b, 0x9e, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 4520 0x0d}; 4521 static const uint8_t test_vector_8_iv_3_raw[] = { 4522 0xf4, 0xaf, 0xd3, 0x4b, 0x4f, 0x81, 0xc5, 0x2c, 4523 0xe3, 0x9e, 0xbf, 0x58, 0x6f}; 4524 static const uint8_t test_vector_8_ciphertext_3_raw[] = { 4525 0xec, 0x4c, 0xf1, 0x24, 0xf4, 0x5d, 0x50, 0xee, 4526 0xcf, 0xc4, 0x89, 0x2d, 0x14, 0xa1, 0xfd, 0x45, 4527 0x5a, 0x74, 0x4f, 0x31, 0x15, 0x6c, 0x13, 0x7f, 4528 0xa1, 0x30, 0x86, 0xe9, 0x39, 0x2e, 0x46, 0x95, 4529 0x37, 0xcf}; 4530 static const uint8_t test_vector_8_ciphertext_3[] = { 4531 0x58, 0x22, 0xec, 0x4c, 0xf1, 0x24, 0xf4, 0x5d, 4532 0x50, 0xee, 0xcf, 0xc4, 0x89, 0x2d, 0x14, 0xa1, 4533 0xfd, 0x45, 0x5a, 0x74, 0x4f, 0x31, 0x15, 0x6c, 4534 0x13, 0x7f, 0xa1, 0x30, 0x86, 0xe9, 0x39, 0x2e, 4535 0x46, 0x95, 0x37, 0xcf}; 4536 static const uint8_t test_vector_8_message_3[] = { 4537 0x58, 0x22, 0xec, 0x4c, 0xf1, 0x24, 0xf4, 0x5d, 4538 0x50, 0xee, 0xcf, 0xc4, 0x89, 0x2d, 0x14, 0xa1, 4539 0xfd, 0x45, 0x5a, 0x74, 0x4f, 0x31, 0x15, 0x6c, 4540 0x13, 0x7f, 0xa1, 0x30, 0x86, 0xe9, 0x39, 0x2e, 4541 0x46, 0x95, 0x37, 0xcf}; 4542 static const uint8_t test_vector_8_input_th_4[] = { 4543 0x58, 0x20, 0x5d, 0xd0, 0xa8, 0x0f, 0x8e, 0x4f, 4544 0x84, 0x9d, 0x8f, 0x23, 0xa0, 0xc0, 0x1b, 0x41, 4545 0x5a, 0xac, 0xba, 0x6d, 0x3d, 0x0e, 0x4a, 0xa9, 4546 0xd5, 0x5a, 0x6b, 0xc4, 0x5f, 0x59, 0x58, 0xa4, 4547 0x4b, 0x9e, 0x58, 0x22, 0xec, 0x4c, 0xf1, 0x24, 4548 0xf4, 0x5d, 0x50, 0xee, 0xcf, 0xc4, 0x89, 0x2d, 4549 0x14, 0xa1, 0xfd, 0x45, 0x5a, 0x74, 0x4f, 0x31, 4550 0x15, 0x6c, 0x13, 0x7f, 0xa1, 0x30, 0x86, 0xe9, 4551 0x39, 0x2e, 0x46, 0x95, 0x37, 0xcf}; 4552 static const uint8_t test_vector_8_th_4_raw[] = { 4553 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 0x6f, 0xb0, 4554 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 0x79, 0x6e, 4555 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 0xe5, 0xb4, 4556 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 0x65, 0xc7}; 4557 static const uint8_t test_vector_8_th_4[] = { 4558 0x58, 0x20, 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 4559 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 4560 0x79, 0x6e, 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 4561 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 4562 0x65, 0xc7}; 4563 static const uint8_t test_vector_8_ead_4[] = { 4564 }; 4565 static const uint8_t test_vector_8_p_4[] = { 4566 }; 4567 static const uint8_t test_vector_8_a_4[] = { 4568 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 4569 0x74, 0x30, 0x40, 0x58, 0x20, 0x03, 0x85, 0x8e, 4570 0xc5, 0x79, 0x93, 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 4571 0xf7, 0x6d, 0x96, 0x79, 0x6e, 0xb5, 0x89, 0x5c, 4572 0x4f, 0xbd, 0x4b, 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 4573 0x91, 0xeb, 0x03, 0x65, 0xc7}; 4574 static const uint8_t test_vector_8_info_k_4[] = { 4575 0x58, 0x20, 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 4576 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 4577 0x79, 0x6e, 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 4578 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 4579 0x65, 0xc7, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 4580 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 4581 static const uint8_t test_vector_8_k_4_raw[] = { 4582 0x87, 0x70, 0x42, 0x10, 0xed, 0x7b, 0x54, 0x74, 4583 0x15, 0xe7, 0x69, 0x08, 0xa1, 0xfd, 0x96, 0x37}; 4584 static const uint8_t test_vector_8_info_iv_4[] = { 4585 0x58, 0x20, 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 4586 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 4587 0x79, 0x6e, 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 4588 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 4589 0x65, 0xc7, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 4590 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 4591 static const uint8_t test_vector_8_iv_4_raw[] = { 4592 0xda, 0x0a, 0x81, 0xb4, 0x03, 0xd8, 0xe8, 0x0e, 4593 0xf5, 0x11, 0x61, 0x61, 0x46}; 4594 static const uint8_t test_vector_8_ciphertext_4_raw[] = { 4595 0xdd, 0xd9, 0x8a, 0x7a, 0x8e, 0x83, 0x6c, 0x29, 4596 0x35, 0x0a, 0x28, 0x80, 0xec, 0xa9, 0x72, 0x55}; 4597 static const uint8_t test_vector_8_ciphertext_4[] = { 4598 0x50, 0xdd, 0xd9, 0x8a, 0x7a, 0x8e, 0x83, 0x6c, 4599 0x29, 0x35, 0x0a, 0x28, 0x80, 0xec, 0xa9, 0x72, 4600 0x55}; 4601 static const uint8_t test_vector_8_message_4[] = { 4602 0x50, 0xdd, 0xd9, 0x8a, 0x7a, 0x8e, 0x83, 0x6c, 4603 0x29, 0x35, 0x0a, 0x28, 0x80, 0xec, 0xa9, 0x72, 4604 0x55}; 4605 int32_t test_vector_8_oscore_aead_alg = 10; 4606 int32_t test_vector_8_oscore_hash_alg = -16; 4607 static const uint8_t test_vector_8_client_sender_id_raw[] = { 4608 0x23}; 4609 static const uint8_t test_vector_8_server_sender_id_raw[] = { 4610 0x2a}; 4611 static const uint8_t test_vector_8_info_oscore_secret[] = { 4612 0x58, 0x20, 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 4613 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 4614 0x79, 0x6e, 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 4615 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 4616 0x65, 0xc7, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 4617 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 4618 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 4619 0x10}; 4620 static const uint8_t test_vector_8_oscore_secret_raw[] = { 4621 0xb9, 0xb9, 0xbc, 0xac, 0xef, 0x39, 0x98, 0x10, 4622 0xbc, 0x62, 0xe2, 0x87, 0xd6, 0xbc, 0x5a, 0x52}; 4623 static const uint8_t test_vector_8_info_oscore_salt[] = { 4624 0x58, 0x20, 0x03, 0x85, 0x8e, 0xc5, 0x79, 0x93, 4625 0x6f, 0xb0, 0x13, 0x6e, 0xc9, 0xf7, 0x6d, 0x96, 4626 0x79, 0x6e, 0xb5, 0x89, 0x5c, 0x4f, 0xbd, 0x4b, 4627 0xe5, 0xb4, 0xb3, 0x44, 0xf4, 0x91, 0xeb, 0x03, 4628 0x65, 0xc7, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 4629 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 4630 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 4631 static const uint8_t test_vector_8_oscore_salt_raw[] = { 4632 0xcb, 0x5b, 0xe3, 0x6b, 0xfa, 0xcf, 0x17, 0x69}; 4633 static const uint8_t test_vector_8_key_update_nonce_raw[] = { 4634 0x37, 0xbe, 0x30, 0xb7, 0xba, 0x58, 0x38, 0x5e, 4635 0xcd, 0x4d, 0x15, 0xd7, 0x75, 0x59, 0x20, 0x64}; 4636 static const uint8_t test_vector_8_prk_4x3m_key_update_raw[] = { 4637 0x70, 0xc1, 0xcc, 0x2b, 0xe7, 0x01, 0x1d, 0xec, 4638 0x4c, 0xab, 0xa4, 0x7e, 0x11, 0x71, 0x19, 0x22, 4639 0x56, 0x77, 0x89, 0x20, 0x64, 0x61, 0xc8, 0xd5, 4640 0x58, 0xa8, 0x09, 0x17, 0x23, 0xf7, 0xce, 0xe7}; 4641 static const uint8_t test_vector_8_oscore_secret_key_update_raw[] = { 4642 0x09, 0x0f, 0x82, 0x72, 0x1b, 0x85, 0x73, 0xef, 4643 0x89, 0xc2, 0x03, 0xe6, 0x03, 0xa0, 0xb4, 0xa0}; 4644 static const uint8_t test_vector_8_oscore_salt_key_update_raw[] = { 4645 0xba, 0x75, 0x98, 0x67, 0x70, 0xd8, 0x67, 0x5b}; 4646 4647 /***************** test_vector_9 ************/ 4648 4649 static const uint8_t test_vector_9_method[] = { 4650 0x00}; 4651 static const uint8_t test_vector_9_suites_i[] = { 4652 0x83, 0x00, 0x02, 0x01}; 4653 static const uint8_t test_vector_9_suites_r[] = { 4654 0x01}; 4655 static const uint8_t test_vector_9_x_raw[] = { 4656 0x23, 0xff, 0xd8, 0xd2, 0x2d, 0xfa, 0x7b, 0x71, 4657 0xca, 0x2a, 0xc0, 0x28, 0x73, 0xb7, 0x84, 0xe9, 4658 0x6f, 0xcc, 0x66, 0x84, 0x04, 0xf2, 0x84, 0xaa, 4659 0xc5, 0xbe, 0x07, 0xe8, 0x0f, 0x7d, 0x2f, 0x60}; 4660 static const uint8_t test_vector_9_g_x_raw[] = { 4661 0xfa, 0x57, 0x01, 0xc2, 0x62, 0x71, 0x41, 0xca, 4662 0x77, 0x84, 0xb5, 0x22, 0xa7, 0x14, 0x0c, 0x1e, 4663 0x32, 0x9e, 0x94, 0xd3, 0xe4, 0xfc, 0xf7, 0x43, 4664 0x0d, 0xdb, 0xa3, 0x89, 0x1e, 0xd0, 0x99, 0x38}; 4665 static const uint8_t test_vector_9_g_x[] = { 4666 0x58, 0x20, 0xfa, 0x57, 0x01, 0xc2, 0x62, 0x71, 4667 0x41, 0xca, 0x77, 0x84, 0xb5, 0x22, 0xa7, 0x14, 4668 0x0c, 0x1e, 0x32, 0x9e, 0x94, 0xd3, 0xe4, 0xfc, 4669 0xf7, 0x43, 0x0d, 0xdb, 0xa3, 0x89, 0x1e, 0xd0, 4670 0x99, 0x38}; 4671 int32_t test_vector_9_c_i_raw = -9; 4672 static const uint8_t test_vector_9_c_i[] = { 4673 0x28}; 4674 static const uint8_t test_vector_9_ead_1[] = { 4675 }; 4676 static const uint8_t test_vector_9_message_1[] = { 4677 0x00, 0x83, 0x00, 0x02, 0x01, 0x58, 0x20, 0xfa, 4678 0x57, 0x01, 0xc2, 0x62, 0x71, 0x41, 0xca, 0x77, 4679 0x84, 0xb5, 0x22, 0xa7, 0x14, 0x0c, 0x1e, 0x32, 4680 0x9e, 0x94, 0xd3, 0xe4, 0xfc, 0xf7, 0x43, 0x0d, 4681 0xdb, 0xa3, 0x89, 0x1e, 0xd0, 0x99, 0x38, 0x28}; 4682 static const uint8_t test_vector_9_y_raw[] = { 4683 0x9e, 0x96, 0xd8, 0x04, 0x48, 0x46, 0x9c, 0x03, 4684 0xf9, 0xf9, 0x3b, 0x77, 0x64, 0xfa, 0xf4, 0x91, 4685 0xc7, 0x23, 0x07, 0xce, 0x6f, 0x0b, 0x84, 0xa4, 4686 0x73, 0x63, 0xee, 0x42, 0x07, 0x88, 0x45, 0x53}; 4687 static const uint8_t test_vector_9_g_y_raw[] = { 4688 0x5f, 0x01, 0x96, 0x0e, 0x11, 0x74, 0xe3, 0x36, 4689 0xb9, 0xf5, 0xcb, 0x83, 0x3e, 0x3b, 0x25, 0x54, 4690 0xd5, 0x81, 0x37, 0x02, 0x62, 0x8a, 0x26, 0x92, 4691 0x92, 0x39, 0xd7, 0x5a, 0xad, 0x04, 0xa8, 0x6f}; 4692 static const uint8_t test_vector_9_g_y[] = { 4693 0x58, 0x20, 0x5f, 0x01, 0x96, 0x0e, 0x11, 0x74, 4694 0xe3, 0x36, 0xb9, 0xf5, 0xcb, 0x83, 0x3e, 0x3b, 4695 0x25, 0x54, 0xd5, 0x81, 0x37, 0x02, 0x62, 0x8a, 4696 0x26, 0x92, 0x92, 0x39, 0xd7, 0x5a, 0xad, 0x04, 4697 0xa8, 0x6f}; 4698 static const uint8_t test_vector_9_g_xy_raw[] = { 4699 0x73, 0x38, 0xd0, 0x7e, 0x84, 0xb2, 0xae, 0x7e, 4700 0xb6, 0x37, 0x05, 0xf2, 0x01, 0x1c, 0xef, 0x7a, 4701 0x88, 0x25, 0x5b, 0xeb, 0x2b, 0x10, 0x4c, 0xfd, 4702 0x72, 0xef, 0x44, 0xb9, 0xfd, 0x85, 0xca, 0x14}; 4703 static const uint8_t test_vector_9_salt_raw[] = { 4704 }; 4705 static const uint8_t test_vector_9_prk_2e_raw[] = { 4706 0x99, 0x70, 0xd9, 0xf1, 0x37, 0x82, 0x25, 0x75, 4707 0x89, 0xc1, 0x1d, 0x9d, 0x64, 0x6d, 0x82, 0x9b, 4708 0x16, 0x5f, 0xbd, 0x2b, 0xcd, 0x7d, 0xfd, 0x68, 4709 0xe9, 0x66, 0x7e, 0x28, 0x14, 0x4e, 0xc5, 0x96}; 4710 static const uint8_t test_vector_9_sk_r_raw[] = { 4711 0x7e, 0x14, 0xf0, 0x74, 0xd5, 0x57, 0x90, 0x9e, 4712 0x76, 0x57, 0x2c, 0x36, 0xa9, 0x07, 0x7a, 0x67, 4713 0x01, 0x83, 0xbe, 0xbb, 0xec, 0x4f, 0xf5, 0x83, 4714 0x88, 0xdf, 0x53, 0x78, 0xb8, 0x5d, 0xf0, 0xa2}; 4715 static const uint8_t test_vector_9_pk_r_raw[] = { 4716 0xd4, 0x3c, 0xb9, 0xd1, 0x62, 0x32, 0x68, 0x90, 4717 0xc9, 0x2f, 0x9d, 0x0b, 0xe4, 0x55, 0x37, 0x3e, 4718 0xcc, 0x62, 0x89, 0x33, 0x85, 0xe6, 0x6c, 0x25, 4719 0x5c, 0x52, 0x19, 0x93, 0xdb, 0x3f, 0xf2, 0x32}; 4720 static const uint8_t test_vector_9_prk_3e2m_raw[] = { 4721 0x99, 0x70, 0xd9, 0xf1, 0x37, 0x82, 0x25, 0x75, 4722 0x89, 0xc1, 0x1d, 0x9d, 0x64, 0x6d, 0x82, 0x9b, 4723 0x16, 0x5f, 0xbd, 0x2b, 0xcd, 0x7d, 0xfd, 0x68, 4724 0xe9, 0x66, 0x7e, 0x28, 0x14, 0x4e, 0xc5, 0x96}; 4725 int32_t test_vector_9_c_r_raw = 15; 4726 static const uint8_t test_vector_9_c_r[] = { 4727 0x0f}; 4728 static const uint8_t test_vector_9_h_message_1_raw[] = { 4729 0xa1, 0xc9, 0x05, 0x7f, 0x9d, 0x1b, 0x4e, 0xd4, 4730 0x98, 0x05, 0xc5, 0x95, 0x4b, 0x64, 0x68, 0x69, 4731 0xea, 0xb6, 0x6c, 0x12, 0x82, 0xfa, 0xe2, 0xdc, 4732 0xf6, 0x7c, 0x52, 0xd0, 0x9d, 0x05, 0xc4, 0x62}; 4733 static const uint8_t test_vector_9_h_message_1[] = { 4734 0x58, 0x20, 0xa1, 0xc9, 0x05, 0x7f, 0x9d, 0x1b, 4735 0x4e, 0xd4, 0x98, 0x05, 0xc5, 0x95, 0x4b, 0x64, 4736 0x68, 0x69, 0xea, 0xb6, 0x6c, 0x12, 0x82, 0xfa, 4737 0xe2, 0xdc, 0xf6, 0x7c, 0x52, 0xd0, 0x9d, 0x05, 4738 0xc4, 0x62}; 4739 static const uint8_t test_vector_9_input_th_2[] = { 4740 0x58, 0x20, 0xa1, 0xc9, 0x05, 0x7f, 0x9d, 0x1b, 4741 0x4e, 0xd4, 0x98, 0x05, 0xc5, 0x95, 0x4b, 0x64, 4742 0x68, 0x69, 0xea, 0xb6, 0x6c, 0x12, 0x82, 0xfa, 4743 0xe2, 0xdc, 0xf6, 0x7c, 0x52, 0xd0, 0x9d, 0x05, 4744 0xc4, 0x62, 0x58, 0x20, 0x5f, 0x01, 0x96, 0x0e, 4745 0x11, 0x74, 0xe3, 0x36, 0xb9, 0xf5, 0xcb, 0x83, 4746 0x3e, 0x3b, 0x25, 0x54, 0xd5, 0x81, 0x37, 0x02, 4747 0x62, 0x8a, 0x26, 0x92, 0x92, 0x39, 0xd7, 0x5a, 4748 0xad, 0x04, 0xa8, 0x6f, 0x0f}; 4749 static const uint8_t test_vector_9_th_2_raw[] = { 4750 0xfb, 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 0xe5, 0x7b, 4751 0x8b, 0xbb, 0x66, 0x51, 0xda, 0x11, 0xa9, 0x6a, 4752 0x7f, 0x39, 0x69, 0x79, 0xda, 0x68, 0xec, 0x53, 4753 0xce, 0x01, 0xe3, 0x32, 0x94, 0xff, 0xe5, 0x7f}; 4754 static const uint8_t test_vector_9_th_2[] = { 4755 0x58, 0x20, 0xfb, 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 4756 0xe5, 0x7b, 0x8b, 0xbb, 0x66, 0x51, 0xda, 0x11, 4757 0xa9, 0x6a, 0x7f, 0x39, 0x69, 0x79, 0xda, 0x68, 4758 0xec, 0x53, 0xce, 0x01, 0xe3, 0x32, 0x94, 0xff, 4759 0xe5, 0x7f}; 4760 static const uint8_t test_vector_9_id_cred_r[] = { 4761 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x9c, 0x94, 4762 0x55, 0x73, 0x82, 0xc9, 0x66, 0x75}; 4763 static const uint8_t test_vector_9_cred_r[] = { 4764 0x58, 0x75, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 4765 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 4766 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 4767 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 4768 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 4769 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 4770 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 4771 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 4772 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 4773 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 4774 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 4775 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 4776 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 4777 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 4778 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74}; 4779 static const uint8_t test_vector_9_ead_2[] = { 4780 }; 4781 static const uint8_t test_vector_9_info_mac_2[] = { 4782 0x58, 0x20, 0xfb, 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 4783 0xe5, 0x7b, 0x8b, 0xbb, 0x66, 0x51, 0xda, 0x11, 4784 0xa9, 0x6a, 0x7f, 0x39, 0x69, 0x79, 0xda, 0x68, 4785 0xec, 0x53, 0xce, 0x01, 0xe3, 0x32, 0x94, 0xff, 4786 0xe5, 0x7f, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 4787 0x58, 0x85, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 4788 0x9c, 0x94, 0x55, 0x73, 0x82, 0xc9, 0x66, 0x75, 4789 0x58, 0x75, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 4790 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 4791 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 4792 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 4793 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 4794 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 4795 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 4796 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 4797 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 4798 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 4799 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 4800 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 4801 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 4802 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 4803 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x18, 4804 0x20}; 4805 static const uint8_t test_vector_9_mac_2_raw[] = { 4806 0x39, 0xee, 0xe6, 0x24, 0x94, 0xf0, 0x87, 0xd9, 4807 0xb9, 0xe2, 0x52, 0xb6, 0xa7, 0xc7, 0xe8, 0x7f, 4808 0x30, 0x56, 0x3c, 0x87, 0x3c, 0x84, 0x18, 0x96, 4809 0xe8, 0x6b, 0x17, 0x96, 0xb5, 0x43, 0xeb, 0x9c}; 4810 static const uint8_t test_vector_9_mac_2[] = { 4811 0x58, 0x20, 0x39, 0xee, 0xe6, 0x24, 0x94, 0xf0, 4812 0x87, 0xd9, 0xb9, 0xe2, 0x52, 0xb6, 0xa7, 0xc7, 4813 0xe8, 0x7f, 0x30, 0x56, 0x3c, 0x87, 0x3c, 0x84, 4814 0x18, 0x96, 0xe8, 0x6b, 0x17, 0x96, 0xb5, 0x43, 4815 0xeb, 0x9c}; 4816 static const uint8_t test_vector_9_m_2[] = { 4817 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 4818 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 4819 0x82, 0x2e, 0x48, 0x9c, 0x94, 0x55, 0x73, 0x82, 4820 0xc9, 0x66, 0x75, 0x58, 0x99, 0x58, 0x20, 0xfb, 4821 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 0xe5, 0x7b, 0x8b, 4822 0xbb, 0x66, 0x51, 0xda, 0x11, 0xa9, 0x6a, 0x7f, 4823 0x39, 0x69, 0x79, 0xda, 0x68, 0xec, 0x53, 0xce, 4824 0x01, 0xe3, 0x32, 0x94, 0xff, 0xe5, 0x7f, 0x58, 4825 0x75, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 4826 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 4827 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 4828 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 4829 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 4830 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 4831 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 4832 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 4833 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 4834 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 4835 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 4836 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 4837 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 4838 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 4839 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x58, 0x20, 4840 0x39, 0xee, 0xe6, 0x24, 0x94, 0xf0, 0x87, 0xd9, 4841 0xb9, 0xe2, 0x52, 0xb6, 0xa7, 0xc7, 0xe8, 0x7f, 4842 0x30, 0x56, 0x3c, 0x87, 0x3c, 0x84, 0x18, 0x96, 4843 0xe8, 0x6b, 0x17, 0x96, 0xb5, 0x43, 0xeb, 0x9c}; 4844 static const uint8_t test_vector_9_sig_or_mac_2_raw[] = { 4845 0x56, 0x3c, 0xe5, 0x58, 0x7c, 0x4b, 0xcb, 0x33, 4846 0xb9, 0xd9, 0x7d, 0xd6, 0xf9, 0xb7, 0xf4, 0xf1, 4847 0x6f, 0x97, 0x86, 0xd4, 0xa7, 0x14, 0xdb, 0xc0, 4848 0x75, 0x06, 0x69, 0xf9, 0x66, 0x32, 0xea, 0x78, 4849 0xb9, 0x93, 0x16, 0x73, 0x7d, 0xd4, 0x6e, 0x76, 4850 0x8a, 0x37, 0x7b, 0xf1, 0x4c, 0xa6, 0xb8, 0x42, 4851 0x84, 0xaa, 0xdd, 0xdb, 0x7e, 0xfb, 0x58, 0x30, 4852 0xfd, 0x84, 0x19, 0x3c, 0xd6, 0xe4, 0xb2, 0x03}; 4853 static const uint8_t test_vector_9_sig_or_mac_2[] = { 4854 0x58, 0x40, 0x56, 0x3c, 0xe5, 0x58, 0x7c, 0x4b, 4855 0xcb, 0x33, 0xb9, 0xd9, 0x7d, 0xd6, 0xf9, 0xb7, 4856 0xf4, 0xf1, 0x6f, 0x97, 0x86, 0xd4, 0xa7, 0x14, 4857 0xdb, 0xc0, 0x75, 0x06, 0x69, 0xf9, 0x66, 0x32, 4858 0xea, 0x78, 0xb9, 0x93, 0x16, 0x73, 0x7d, 0xd4, 4859 0x6e, 0x76, 0x8a, 0x37, 0x7b, 0xf1, 0x4c, 0xa6, 4860 0xb8, 0x42, 0x84, 0xaa, 0xdd, 0xdb, 0x7e, 0xfb, 4861 0x58, 0x30, 0xfd, 0x84, 0x19, 0x3c, 0xd6, 0xe4, 4862 0xb2, 0x03}; 4863 static const uint8_t test_vector_9_plaintext_2[] = { 4864 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x9c, 0x94, 4865 0x55, 0x73, 0x82, 0xc9, 0x66, 0x75, 0x58, 0x40, 4866 0x56, 0x3c, 0xe5, 0x58, 0x7c, 0x4b, 0xcb, 0x33, 4867 0xb9, 0xd9, 0x7d, 0xd6, 0xf9, 0xb7, 0xf4, 0xf1, 4868 0x6f, 0x97, 0x86, 0xd4, 0xa7, 0x14, 0xdb, 0xc0, 4869 0x75, 0x06, 0x69, 0xf9, 0x66, 0x32, 0xea, 0x78, 4870 0xb9, 0x93, 0x16, 0x73, 0x7d, 0xd4, 0x6e, 0x76, 4871 0x8a, 0x37, 0x7b, 0xf1, 0x4c, 0xa6, 0xb8, 0x42, 4872 0x84, 0xaa, 0xdd, 0xdb, 0x7e, 0xfb, 0x58, 0x30, 4873 0xfd, 0x84, 0x19, 0x3c, 0xd6, 0xe4, 0xb2, 0x03}; 4874 static const uint8_t test_vector_9_info_keystream_2[] = { 4875 0x58, 0x20, 0xfb, 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 4876 0xe5, 0x7b, 0x8b, 0xbb, 0x66, 0x51, 0xda, 0x11, 4877 0xa9, 0x6a, 0x7f, 0x39, 0x69, 0x79, 0xda, 0x68, 4878 0xec, 0x53, 0xce, 0x01, 0xe3, 0x32, 0x94, 0xff, 4879 0xe5, 0x7f, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 4880 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 4881 0x50}; 4882 static const uint8_t test_vector_9_keystream_2_raw[] = { 4883 0x4f, 0x46, 0xec, 0x4e, 0xda, 0x65, 0x8b, 0x59, 4884 0x5f, 0xfe, 0x05, 0x4c, 0xc9, 0x25, 0xff, 0x6f, 4885 0x05, 0x71, 0x51, 0x8d, 0x1d, 0x45, 0xc0, 0x4b, 4886 0x33, 0x01, 0xc7, 0x91, 0x20, 0x38, 0xff, 0x5d, 4887 0x82, 0xa3, 0x86, 0x1d, 0x2d, 0x45, 0x86, 0x72, 4888 0xad, 0x91, 0x7a, 0x8d, 0xc8, 0x5e, 0x1e, 0x6a, 4889 0x30, 0x42, 0x5d, 0x55, 0x10, 0xc4, 0x32, 0x75, 4890 0xeb, 0x8c, 0xdc, 0x99, 0xc2, 0xf8, 0x06, 0xc6, 4891 0x18, 0x39, 0xbd, 0x7d, 0x7a, 0x84, 0xea, 0x8f, 4892 0xe7, 0xbf, 0x45, 0xf5, 0xd0, 0x5a, 0x49, 0x88}; 4893 static const uint8_t test_vector_9_ciphertext_2_raw[] = { 4894 0xee, 0x5e, 0xce, 0xcc, 0xf4, 0x2d, 0x17, 0xcd, 4895 0x0a, 0x8d, 0x87, 0x85, 0xaf, 0x50, 0xa7, 0x2f, 4896 0x53, 0x4d, 0xb4, 0xd5, 0x61, 0x0e, 0x0b, 0x78, 4897 0x8a, 0xd8, 0xba, 0x47, 0xd9, 0x8f, 0x0b, 0xac, 4898 0xed, 0x34, 0x00, 0xc9, 0x8a, 0x51, 0x5d, 0xb2, 4899 0xd8, 0x97, 0x13, 0x74, 0xae, 0x6c, 0xf4, 0x12, 4900 0x89, 0xd1, 0x4b, 0x26, 0x6d, 0x10, 0x5c, 0x03, 4901 0x61, 0xbb, 0xa7, 0x68, 0x8e, 0x5e, 0xbe, 0x84, 4902 0x9c, 0x93, 0x60, 0xa6, 0x04, 0x7f, 0xb2, 0xbf, 4903 0x1a, 0x3b, 0x5c, 0xc9, 0x06, 0xbe, 0xfb, 0x8b}; 4904 static const uint8_t test_vector_9_ciphertext_2[] = { 4905 0x58, 0x50, 0xee, 0x5e, 0xce, 0xcc, 0xf4, 0x2d, 4906 0x17, 0xcd, 0x0a, 0x8d, 0x87, 0x85, 0xaf, 0x50, 4907 0xa7, 0x2f, 0x53, 0x4d, 0xb4, 0xd5, 0x61, 0x0e, 4908 0x0b, 0x78, 0x8a, 0xd8, 0xba, 0x47, 0xd9, 0x8f, 4909 0x0b, 0xac, 0xed, 0x34, 0x00, 0xc9, 0x8a, 0x51, 4910 0x5d, 0xb2, 0xd8, 0x97, 0x13, 0x74, 0xae, 0x6c, 4911 0xf4, 0x12, 0x89, 0xd1, 0x4b, 0x26, 0x6d, 0x10, 4912 0x5c, 0x03, 0x61, 0xbb, 0xa7, 0x68, 0x8e, 0x5e, 4913 0xbe, 0x84, 0x9c, 0x93, 0x60, 0xa6, 0x04, 0x7f, 4914 0xb2, 0xbf, 0x1a, 0x3b, 0x5c, 0xc9, 0x06, 0xbe, 4915 0xfb, 0x8b}; 4916 static const uint8_t test_vector_9_message_2[] = { 4917 0x58, 0x70, 0x5f, 0x01, 0x96, 0x0e, 0x11, 0x74, 4918 0xe3, 0x36, 0xb9, 0xf5, 0xcb, 0x83, 0x3e, 0x3b, 4919 0x25, 0x54, 0xd5, 0x81, 0x37, 0x02, 0x62, 0x8a, 4920 0x26, 0x92, 0x92, 0x39, 0xd7, 0x5a, 0xad, 0x04, 4921 0xa8, 0x6f, 0xee, 0x5e, 0xce, 0xcc, 0xf4, 0x2d, 4922 0x17, 0xcd, 0x0a, 0x8d, 0x87, 0x85, 0xaf, 0x50, 4923 0xa7, 0x2f, 0x53, 0x4d, 0xb4, 0xd5, 0x61, 0x0e, 4924 0x0b, 0x78, 0x8a, 0xd8, 0xba, 0x47, 0xd9, 0x8f, 4925 0x0b, 0xac, 0xed, 0x34, 0x00, 0xc9, 0x8a, 0x51, 4926 0x5d, 0xb2, 0xd8, 0x97, 0x13, 0x74, 0xae, 0x6c, 4927 0xf4, 0x12, 0x89, 0xd1, 0x4b, 0x26, 0x6d, 0x10, 4928 0x5c, 0x03, 0x61, 0xbb, 0xa7, 0x68, 0x8e, 0x5e, 4929 0xbe, 0x84, 0x9c, 0x93, 0x60, 0xa6, 0x04, 0x7f, 4930 0xb2, 0xbf, 0x1a, 0x3b, 0x5c, 0xc9, 0x06, 0xbe, 4931 0xfb, 0x8b, 0x0f}; 4932 static const uint8_t test_vector_9_sk_i_raw[] = { 4933 0x78, 0xa6, 0xbf, 0x79, 0x6d, 0x96, 0xbf, 0x4b, 4934 0xc0, 0x85, 0x75, 0xdd, 0x2d, 0x11, 0x99, 0x55, 4935 0x57, 0x1e, 0x10, 0x57, 0x5f, 0x1c, 0x1a, 0x6f, 4936 0xb4, 0x89, 0xcd, 0xaf, 0x2d, 0xb6, 0xc2, 0x99}; 4937 static const uint8_t test_vector_9_pk_i_raw[] = { 4938 0x86, 0x02, 0x4b, 0xd9, 0xe8, 0xa6, 0x6c, 0x60, 4939 0x2b, 0x8f, 0x48, 0x33, 0x9d, 0x42, 0x70, 0x20, 4940 0x1d, 0x20, 0x6b, 0xf2, 0x30, 0xbb, 0xcb, 0x00, 4941 0x52, 0x87, 0xe2, 0x0d, 0x09, 0x8b, 0x50, 0x4c}; 4942 static const uint8_t test_vector_9_prk_4x3m_raw[] = { 4943 0x99, 0x70, 0xd9, 0xf1, 0x37, 0x82, 0x25, 0x75, 4944 0x89, 0xc1, 0x1d, 0x9d, 0x64, 0x6d, 0x82, 0x9b, 4945 0x16, 0x5f, 0xbd, 0x2b, 0xcd, 0x7d, 0xfd, 0x68, 4946 0xe9, 0x66, 0x7e, 0x28, 0x14, 0x4e, 0xc5, 0x96}; 4947 static const uint8_t test_vector_9_input_TH_3[] = { 4948 0x58, 0x20, 0xfb, 0x5f, 0xbe, 0xf6, 0xd2, 0x00, 4949 0xe5, 0x7b, 0x8b, 0xbb, 0x66, 0x51, 0xda, 0x11, 4950 0xa9, 0x6a, 0x7f, 0x39, 0x69, 0x79, 0xda, 0x68, 4951 0xec, 0x53, 0xce, 0x01, 0xe3, 0x32, 0x94, 0xff, 4952 0xe5, 0x7f, 0x58, 0x50, 0xee, 0x5e, 0xce, 0xcc, 4953 0xf4, 0x2d, 0x17, 0xcd, 0x0a, 0x8d, 0x87, 0x85, 4954 0xaf, 0x50, 0xa7, 0x2f, 0x53, 0x4d, 0xb4, 0xd5, 4955 0x61, 0x0e, 0x0b, 0x78, 0x8a, 0xd8, 0xba, 0x47, 4956 0xd9, 0x8f, 0x0b, 0xac, 0xed, 0x34, 0x00, 0xc9, 4957 0x8a, 0x51, 0x5d, 0xb2, 0xd8, 0x97, 0x13, 0x74, 4958 0xae, 0x6c, 0xf4, 0x12, 0x89, 0xd1, 0x4b, 0x26, 4959 0x6d, 0x10, 0x5c, 0x03, 0x61, 0xbb, 0xa7, 0x68, 4960 0x8e, 0x5e, 0xbe, 0x84, 0x9c, 0x93, 0x60, 0xa6, 4961 0x04, 0x7f, 0xb2, 0xbf, 0x1a, 0x3b, 0x5c, 0xc9, 4962 0x06, 0xbe, 0xfb, 0x8b}; 4963 static const uint8_t test_vector_9_th_3_raw[] = { 4964 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 0xf4, 0x8f, 4965 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 0xc4, 0xec, 4966 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 0x1f, 0x4c, 4967 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 0x46, 0x69}; 4968 static const uint8_t test_vector_9_th_3[] = { 4969 0x58, 0x20, 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 4970 0xf4, 0x8f, 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 4971 0xc4, 0xec, 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 4972 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 4973 0x46, 0x69}; 4974 static const uint8_t test_vector_9_id_cred_i[] = { 4975 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x60, 0x78, 4976 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c}; 4977 static const uint8_t test_vector_9_cred_i[] = { 4978 0x58, 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 4979 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 4980 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 4981 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 4982 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 4983 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 4984 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 4985 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 4986 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 4987 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 4988 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 4989 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 4990 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 4991 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 4992 0x6e}; 4993 static const uint8_t test_vector_9_ead_3[] = { 4994 }; 4995 static const uint8_t test_vector_9_info_mac_3[] = { 4996 0x58, 0x20, 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 4997 0xf4, 0x8f, 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 4998 0xc4, 0xec, 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 4999 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 5000 0x46, 0x69, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 5001 0x58, 0x7f, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 5002 0x60, 0x78, 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c, 5003 0x58, 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5004 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 5005 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 5006 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 5007 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 5008 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 5009 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 5010 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 5011 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 5012 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 5013 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 5014 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 5015 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 5016 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 5017 0x6e, 0x18, 0x20}; 5018 static const uint8_t test_vector_9_mac_3_raw[] = { 5019 0xd8, 0x77, 0x0c, 0xcf, 0x6d, 0x4d, 0x95, 0x46, 5020 0xe5, 0x0e, 0xe1, 0x21, 0xf8, 0x30, 0x53, 0xf2, 5021 0x64, 0xf9, 0xe3, 0x4e, 0xb4, 0x77, 0xb6, 0x4e, 5022 0xce, 0xc1, 0xf0, 0xaa, 0x2c, 0x1b, 0x55, 0x6e}; 5023 static const uint8_t test_vector_9_mac_3[] = { 5024 0x58, 0x20, 0xd8, 0x77, 0x0c, 0xcf, 0x6d, 0x4d, 5025 0x95, 0x46, 0xe5, 0x0e, 0xe1, 0x21, 0xf8, 0x30, 5026 0x53, 0xf2, 0x64, 0xf9, 0xe3, 0x4e, 0xb4, 0x77, 5027 0xb6, 0x4e, 0xce, 0xc1, 0xf0, 0xaa, 0x2c, 0x1b, 5028 0x55, 0x6e}; 5029 static const uint8_t test_vector_9_m_3[] = { 5030 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 5031 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 5032 0x82, 0x2e, 0x48, 0x60, 0x78, 0x0e, 0x94, 0x51, 5033 0xbd, 0xc4, 0x3c, 0x58, 0x93, 0x58, 0x20, 0xe9, 5034 0x4d, 0x83, 0xf6, 0x10, 0x62, 0xf4, 0x8f, 0x38, 5035 0x3b, 0x80, 0xbc, 0x91, 0x54, 0xc4, 0xec, 0x47, 5036 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 0x1f, 0x4c, 0xe6, 5037 0x5c, 0x00, 0x26, 0x0f, 0x90, 0x46, 0x69, 0x58, 5038 0x6f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5039 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 5040 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 5041 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 5042 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 5043 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 5044 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 5045 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 5046 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 5047 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 5048 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 5049 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 5050 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 5051 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 5052 0x58, 0x20, 0xd8, 0x77, 0x0c, 0xcf, 0x6d, 0x4d, 5053 0x95, 0x46, 0xe5, 0x0e, 0xe1, 0x21, 0xf8, 0x30, 5054 0x53, 0xf2, 0x64, 0xf9, 0xe3, 0x4e, 0xb4, 0x77, 5055 0xb6, 0x4e, 0xce, 0xc1, 0xf0, 0xaa, 0x2c, 0x1b, 5056 0x55, 0x6e}; 5057 static const uint8_t test_vector_9_sig_or_mac_3_raw[] = { 5058 0x24, 0x4c, 0x34, 0xba, 0x31, 0xd7, 0xa0, 0x50, 5059 0x4d, 0x0d, 0x43, 0xc5, 0xb6, 0x3b, 0x2f, 0x01, 5060 0x33, 0xbf, 0xdd, 0xdc, 0xf3, 0xdf, 0x93, 0xd2, 5061 0x1e, 0xb8, 0xde, 0x1b, 0xcc, 0x0a, 0x53, 0x48, 5062 0xee, 0x63, 0x91, 0x71, 0xc5, 0xc0, 0x59, 0x58, 5063 0x2b, 0x2c, 0xfe, 0x1b, 0xfb, 0x85, 0x6d, 0x8a, 5064 0xbb, 0x12, 0x73, 0xaa, 0x01, 0xfa, 0x93, 0xbb, 5065 0x1a, 0x18, 0xc4, 0xa5, 0x76, 0x98, 0xf5, 0x01}; 5066 static const uint8_t test_vector_9_sig_or_mac_3[] = { 5067 0x58, 0x40, 0x24, 0x4c, 0x34, 0xba, 0x31, 0xd7, 5068 0xa0, 0x50, 0x4d, 0x0d, 0x43, 0xc5, 0xb6, 0x3b, 5069 0x2f, 0x01, 0x33, 0xbf, 0xdd, 0xdc, 0xf3, 0xdf, 5070 0x93, 0xd2, 0x1e, 0xb8, 0xde, 0x1b, 0xcc, 0x0a, 5071 0x53, 0x48, 0xee, 0x63, 0x91, 0x71, 0xc5, 0xc0, 5072 0x59, 0x58, 0x2b, 0x2c, 0xfe, 0x1b, 0xfb, 0x85, 5073 0x6d, 0x8a, 0xbb, 0x12, 0x73, 0xaa, 0x01, 0xfa, 5074 0x93, 0xbb, 0x1a, 0x18, 0xc4, 0xa5, 0x76, 0x98, 5075 0xf5, 0x01}; 5076 static const uint8_t test_vector_9_p_3[] = { 5077 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x60, 0x78, 5078 0x0e, 0x94, 0x51, 0xbd, 0xc4, 0x3c, 0x58, 0x40, 5079 0x24, 0x4c, 0x34, 0xba, 0x31, 0xd7, 0xa0, 0x50, 5080 0x4d, 0x0d, 0x43, 0xc5, 0xb6, 0x3b, 0x2f, 0x01, 5081 0x33, 0xbf, 0xdd, 0xdc, 0xf3, 0xdf, 0x93, 0xd2, 5082 0x1e, 0xb8, 0xde, 0x1b, 0xcc, 0x0a, 0x53, 0x48, 5083 0xee, 0x63, 0x91, 0x71, 0xc5, 0xc0, 0x59, 0x58, 5084 0x2b, 0x2c, 0xfe, 0x1b, 0xfb, 0x85, 0x6d, 0x8a, 5085 0xbb, 0x12, 0x73, 0xaa, 0x01, 0xfa, 0x93, 0xbb, 5086 0x1a, 0x18, 0xc4, 0xa5, 0x76, 0x98, 0xf5, 0x01}; 5087 static const uint8_t test_vector_9_a_3[] = { 5088 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5089 0x74, 0x30, 0x40, 0x58, 0x20, 0xe9, 0x4d, 0x83, 5090 0xf6, 0x10, 0x62, 0xf4, 0x8f, 0x38, 0x3b, 0x80, 5091 0xbc, 0x91, 0x54, 0xc4, 0xec, 0x47, 0xa8, 0xe2, 5092 0xa8, 0xb7, 0x83, 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 5093 0x26, 0x0f, 0x90, 0x46, 0x69}; 5094 static const uint8_t test_vector_9_info_k_3[] = { 5095 0x58, 0x20, 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 5096 0xf4, 0x8f, 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 5097 0xc4, 0xec, 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 5098 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 5099 0x46, 0x69, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 5100 static const uint8_t test_vector_9_k_3_raw[] = { 5101 0x12, 0x8e, 0x79, 0x97, 0xcd, 0xfd, 0xe8, 0x2f, 5102 0xff, 0xc8, 0xa5, 0xd4, 0x61, 0x7b, 0xba, 0x7c}; 5103 static const uint8_t test_vector_9_info_iv_3[] = { 5104 0x58, 0x20, 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 5105 0xf4, 0x8f, 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 5106 0xc4, 0xec, 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 5107 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 5108 0x46, 0x69, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 5109 0x0d}; 5110 static const uint8_t test_vector_9_iv_3_raw[] = { 5111 0xb5, 0xed, 0x50, 0x04, 0x55, 0xeb, 0x83, 0x83, 5112 0xe4, 0xe1, 0x89, 0xfa, 0x07}; 5113 static const uint8_t test_vector_9_ciphertext_3_raw[] = { 5114 0x6c, 0x82, 0x24, 0x9a, 0xb8, 0x0a, 0x54, 0x94, 5115 0xc1, 0x6d, 0x77, 0x9d, 0xcb, 0x83, 0x3e, 0x15, 5116 0xfd, 0xf6, 0xa2, 0xcf, 0xad, 0xb3, 0xe5, 0xe3, 5117 0xa2, 0xd8, 0x22, 0x90, 0x10, 0xe9, 0xaf, 0x39, 5118 0x0f, 0x9e, 0x3e, 0x81, 0x20, 0x52, 0xc5, 0x12, 5119 0xb3, 0x22, 0xe5, 0x92, 0xe1, 0x6a, 0x48, 0xd4, 5120 0xb1, 0x78, 0x4d, 0x89, 0x40, 0xf8, 0xe4, 0x95, 5121 0x11, 0x28, 0x17, 0x5e, 0x85, 0xd5, 0xc8, 0x10, 5122 0xa2, 0x3b, 0x48, 0xd6, 0xd3, 0x8b, 0x68, 0x23, 5123 0x4b, 0x14, 0x94, 0x0b, 0x6a, 0x7a, 0xf2, 0x2e, 5124 0x89, 0x40, 0x69, 0x87, 0xe9, 0x28, 0x36, 0x31, 5125 0x6a, 0x87, 0xc9, 0x80, 0xaf, 0xa4, 0x6d, 0xbd}; 5126 static const uint8_t test_vector_9_ciphertext_3[] = { 5127 0x58, 0x60, 0x6c, 0x82, 0x24, 0x9a, 0xb8, 0x0a, 5128 0x54, 0x94, 0xc1, 0x6d, 0x77, 0x9d, 0xcb, 0x83, 5129 0x3e, 0x15, 0xfd, 0xf6, 0xa2, 0xcf, 0xad, 0xb3, 5130 0xe5, 0xe3, 0xa2, 0xd8, 0x22, 0x90, 0x10, 0xe9, 5131 0xaf, 0x39, 0x0f, 0x9e, 0x3e, 0x81, 0x20, 0x52, 5132 0xc5, 0x12, 0xb3, 0x22, 0xe5, 0x92, 0xe1, 0x6a, 5133 0x48, 0xd4, 0xb1, 0x78, 0x4d, 0x89, 0x40, 0xf8, 5134 0xe4, 0x95, 0x11, 0x28, 0x17, 0x5e, 0x85, 0xd5, 5135 0xc8, 0x10, 0xa2, 0x3b, 0x48, 0xd6, 0xd3, 0x8b, 5136 0x68, 0x23, 0x4b, 0x14, 0x94, 0x0b, 0x6a, 0x7a, 5137 0xf2, 0x2e, 0x89, 0x40, 0x69, 0x87, 0xe9, 0x28, 5138 0x36, 0x31, 0x6a, 0x87, 0xc9, 0x80, 0xaf, 0xa4, 5139 0x6d, 0xbd}; 5140 static const uint8_t test_vector_9_message_3[] = { 5141 0x58, 0x60, 0x6c, 0x82, 0x24, 0x9a, 0xb8, 0x0a, 5142 0x54, 0x94, 0xc1, 0x6d, 0x77, 0x9d, 0xcb, 0x83, 5143 0x3e, 0x15, 0xfd, 0xf6, 0xa2, 0xcf, 0xad, 0xb3, 5144 0xe5, 0xe3, 0xa2, 0xd8, 0x22, 0x90, 0x10, 0xe9, 5145 0xaf, 0x39, 0x0f, 0x9e, 0x3e, 0x81, 0x20, 0x52, 5146 0xc5, 0x12, 0xb3, 0x22, 0xe5, 0x92, 0xe1, 0x6a, 5147 0x48, 0xd4, 0xb1, 0x78, 0x4d, 0x89, 0x40, 0xf8, 5148 0xe4, 0x95, 0x11, 0x28, 0x17, 0x5e, 0x85, 0xd5, 5149 0xc8, 0x10, 0xa2, 0x3b, 0x48, 0xd6, 0xd3, 0x8b, 5150 0x68, 0x23, 0x4b, 0x14, 0x94, 0x0b, 0x6a, 0x7a, 5151 0xf2, 0x2e, 0x89, 0x40, 0x69, 0x87, 0xe9, 0x28, 5152 0x36, 0x31, 0x6a, 0x87, 0xc9, 0x80, 0xaf, 0xa4, 5153 0x6d, 0xbd}; 5154 static const uint8_t test_vector_9_input_th_4[] = { 5155 0x58, 0x20, 0xe9, 0x4d, 0x83, 0xf6, 0x10, 0x62, 5156 0xf4, 0x8f, 0x38, 0x3b, 0x80, 0xbc, 0x91, 0x54, 5157 0xc4, 0xec, 0x47, 0xa8, 0xe2, 0xa8, 0xb7, 0x83, 5158 0x1f, 0x4c, 0xe6, 0x5c, 0x00, 0x26, 0x0f, 0x90, 5159 0x46, 0x69, 0x58, 0x60, 0x6c, 0x82, 0x24, 0x9a, 5160 0xb8, 0x0a, 0x54, 0x94, 0xc1, 0x6d, 0x77, 0x9d, 5161 0xcb, 0x83, 0x3e, 0x15, 0xfd, 0xf6, 0xa2, 0xcf, 5162 0xad, 0xb3, 0xe5, 0xe3, 0xa2, 0xd8, 0x22, 0x90, 5163 0x10, 0xe9, 0xaf, 0x39, 0x0f, 0x9e, 0x3e, 0x81, 5164 0x20, 0x52, 0xc5, 0x12, 0xb3, 0x22, 0xe5, 0x92, 5165 0xe1, 0x6a, 0x48, 0xd4, 0xb1, 0x78, 0x4d, 0x89, 5166 0x40, 0xf8, 0xe4, 0x95, 0x11, 0x28, 0x17, 0x5e, 5167 0x85, 0xd5, 0xc8, 0x10, 0xa2, 0x3b, 0x48, 0xd6, 5168 0xd3, 0x8b, 0x68, 0x23, 0x4b, 0x14, 0x94, 0x0b, 5169 0x6a, 0x7a, 0xf2, 0x2e, 0x89, 0x40, 0x69, 0x87, 5170 0xe9, 0x28, 0x36, 0x31, 0x6a, 0x87, 0xc9, 0x80, 5171 0xaf, 0xa4, 0x6d, 0xbd}; 5172 static const uint8_t test_vector_9_th_4_raw[] = { 5173 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 0xd8, 0x81, 5174 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 0xbb, 0x4a, 5175 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 0x7e, 0xa3, 5176 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 0x21, 0xb3}; 5177 static const uint8_t test_vector_9_th_4[] = { 5178 0x58, 0x20, 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 5179 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 5180 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 5181 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 5182 0x21, 0xb3}; 5183 static const uint8_t test_vector_9_ead_4[] = { 5184 }; 5185 static const uint8_t test_vector_9_p_4[] = { 5186 }; 5187 static const uint8_t test_vector_9_a_4[] = { 5188 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5189 0x74, 0x30, 0x40, 0x58, 0x20, 0x0a, 0x49, 0xd4, 5190 0x74, 0xbe, 0xae, 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 5191 0x31, 0xca, 0x8a, 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 5192 0xbf, 0x89, 0x86, 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 5193 0x49, 0xb9, 0xc8, 0x21, 0xb3}; 5194 static const uint8_t test_vector_9_info_k_4[] = { 5195 0x58, 0x20, 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 5196 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 5197 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 5198 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 5199 0x21, 0xb3, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 5200 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 5201 static const uint8_t test_vector_9_k_4_raw[] = { 5202 0x83, 0x57, 0x2d, 0x5b, 0x31, 0x48, 0x93, 0x78, 5203 0x38, 0x5d, 0x96, 0x4f, 0x78, 0x9d, 0xe2, 0xaa}; 5204 static const uint8_t test_vector_9_info_iv_4[] = { 5205 0x58, 0x20, 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 5206 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 5207 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 5208 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 5209 0x21, 0xb3, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5210 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 5211 static const uint8_t test_vector_9_iv_4_raw[] = { 5212 0x1e, 0x19, 0x0d, 0x3c, 0xb0, 0x94, 0x64, 0x1e, 5213 0x00, 0x96, 0x28, 0x31, 0xec}; 5214 static const uint8_t test_vector_9_ciphertext_4_raw[] = { 5215 0xf4, 0x81, 0xda, 0x5e, 0x3d, 0xa6, 0xeb, 0xe5, 5216 0x84, 0x1b, 0x46, 0xcf, 0x8d, 0xf5, 0x71, 0x2c}; 5217 static const uint8_t test_vector_9_ciphertext_4[] = { 5218 0x50, 0xf4, 0x81, 0xda, 0x5e, 0x3d, 0xa6, 0xeb, 5219 0xe5, 0x84, 0x1b, 0x46, 0xcf, 0x8d, 0xf5, 0x71, 5220 0x2c}; 5221 static const uint8_t test_vector_9_message_4[] = { 5222 0x50, 0xf4, 0x81, 0xda, 0x5e, 0x3d, 0xa6, 0xeb, 5223 0xe5, 0x84, 0x1b, 0x46, 0xcf, 0x8d, 0xf5, 0x71, 5224 0x2c}; 5225 int32_t test_vector_9_oscore_aead_alg = 10; 5226 int32_t test_vector_9_oscore_hash_alg = -16; 5227 static const uint8_t test_vector_9_client_sender_id_raw[] = { 5228 0x0f}; 5229 static const uint8_t test_vector_9_server_sender_id_raw[] = { 5230 0x28}; 5231 static const uint8_t test_vector_9_info_oscore_secret[] = { 5232 0x58, 0x20, 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 5233 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 5234 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 5235 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 5236 0x21, 0xb3, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 5237 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 5238 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 5239 0x10}; 5240 static const uint8_t test_vector_9_oscore_secret_raw[] = { 5241 0x45, 0x82, 0x2e, 0x25, 0xfd, 0xc6, 0x1c, 0x73, 5242 0xc2, 0x70, 0xca, 0xe0, 0x1c, 0x69, 0x60, 0xa9}; 5243 static const uint8_t test_vector_9_info_oscore_salt[] = { 5244 0x58, 0x20, 0x0a, 0x49, 0xd4, 0x74, 0xbe, 0xae, 5245 0xd8, 0x81, 0xcb, 0x2c, 0xe0, 0x31, 0xca, 0x8a, 5246 0xbb, 0x4a, 0xc8, 0x50, 0xd8, 0xbf, 0x89, 0x86, 5247 0x7e, 0xa3, 0x8b, 0xbf, 0xf3, 0x49, 0xb9, 0xc8, 5248 0x21, 0xb3, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 5249 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 5250 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 5251 static const uint8_t test_vector_9_oscore_salt_raw[] = { 5252 0xe6, 0xcc, 0xcd, 0x99, 0x39, 0x7c, 0x6a, 0xfd}; 5253 static const uint8_t test_vector_9_key_update_nonce_raw[] = { 5254 0x73, 0xa8, 0x39, 0x6b, 0xd8, 0x76, 0x1c, 0x1c, 5255 0xf7, 0xc6, 0x65, 0xd3, 0x56, 0x58, 0xe6, 0xec}; 5256 static const uint8_t test_vector_9_prk_4x3m_key_update_raw[] = { 5257 0x03, 0x27, 0xce, 0x8c, 0xb9, 0x09, 0x4b, 0x4d, 5258 0xcb, 0x0b, 0x37, 0xdc, 0x15, 0x46, 0x5b, 0xb1, 5259 0x68, 0xa0, 0x07, 0x84, 0xf6, 0x1d, 0x52, 0xbd, 5260 0x39, 0x97, 0x0f, 0x18, 0x72, 0x56, 0xec, 0x24}; 5261 static const uint8_t test_vector_9_oscore_secret_key_update_raw[] = { 5262 0xc2, 0x26, 0x1c, 0xd1, 0xfd, 0x22, 0x60, 0xaa, 5263 0x3b, 0xd8, 0x08, 0xbd, 0x00, 0xfa, 0x54, 0x80}; 5264 static const uint8_t test_vector_9_oscore_salt_key_update_raw[] = { 5265 0x02, 0x49, 0x50, 0xeb, 0xd7, 0xb8, 0xe1, 0xc9}; 5266 5267 /***************** test_vector_10 ************/ 5268 5269 static const uint8_t test_vector_10_method[] = { 5270 0x03}; 5271 static const uint8_t test_vector_10_suites_i[] = { 5272 0x00}; 5273 static const uint8_t test_vector_10_suites_r[] = { 5274 0x00}; 5275 static const uint8_t test_vector_10_x_raw[] = { 5276 0x6f, 0xb8, 0x28, 0x93, 0x21, 0x15, 0x80, 0x27, 5277 0xb1, 0xfe, 0xc6, 0xd2, 0x7d, 0x26, 0x90, 0x2a, 5278 0xce, 0x0f, 0x10, 0xa5, 0x8d, 0x97, 0x19, 0xeb, 5279 0xae, 0x25, 0xb8, 0xad, 0x93, 0xd4, 0x17, 0x69}; 5280 static const uint8_t test_vector_10_g_x_raw[] = { 5281 0x48, 0x1b, 0x22, 0x89, 0x64, 0x64, 0xf3, 0xdf, 5282 0xcf, 0xa6, 0x79, 0x45, 0x25, 0x19, 0x0a, 0x2e, 5283 0xe1, 0xce, 0xe6, 0x1b, 0x06, 0xe3, 0xee, 0x20, 5284 0xd4, 0xfd, 0xd5, 0x91, 0xfd, 0xc1, 0xd6, 0x69}; 5285 static const uint8_t test_vector_10_g_x[] = { 5286 0x58, 0x20, 0x48, 0x1b, 0x22, 0x89, 0x64, 0x64, 5287 0xf3, 0xdf, 0xcf, 0xa6, 0x79, 0x45, 0x25, 0x19, 5288 0x0a, 0x2e, 0xe1, 0xce, 0xe6, 0x1b, 0x06, 0xe3, 5289 0xee, 0x20, 0xd4, 0xfd, 0xd5, 0x91, 0xfd, 0xc1, 5290 0xd6, 0x69}; 5291 static const uint8_t test_vector_10_c_i_raw[] = { 5292 0xde, 0xee}; 5293 static const uint8_t test_vector_10_c_i[] = { 5294 0x42, 0xde, 0xee}; 5295 static const uint8_t test_vector_10_ead_1[] = { 5296 0x18, 0x3b, 0xa1, 0xf6, 0x46, 0x00, 0x01, 0x02, 5297 0x03, 0x04, 0x05}; 5298 static const uint8_t test_vector_10_message_1[] = { 5299 0x03, 0x00, 0x58, 0x20, 0x48, 0x1b, 0x22, 0x89, 5300 0x64, 0x64, 0xf3, 0xdf, 0xcf, 0xa6, 0x79, 0x45, 5301 0x25, 0x19, 0x0a, 0x2e, 0xe1, 0xce, 0xe6, 0x1b, 5302 0x06, 0xe3, 0xee, 0x20, 0xd4, 0xfd, 0xd5, 0x91, 5303 0xfd, 0xc1, 0xd6, 0x69, 0x42, 0xde, 0xee, 0x18, 5304 0x3b, 0xa1, 0xf6, 0x46, 0x00, 0x01, 0x02, 0x03, 5305 0x04, 0x05}; 5306 static const uint8_t test_vector_10_y_raw[] = { 5307 0x1c, 0x78, 0xc6, 0xd9, 0x09, 0x94, 0x0d, 0x56, 5308 0xd6, 0x8f, 0x5f, 0x25, 0xce, 0x01, 0xbb, 0x74, 5309 0x08, 0x7a, 0x71, 0x8b, 0x6a, 0xb9, 0x00, 0xf7, 5310 0x10, 0x27, 0xd3, 0x6d, 0x53, 0x29, 0xb9, 0x32}; 5311 static const uint8_t test_vector_10_g_y_raw[] = { 5312 0xa0, 0x60, 0xed, 0x7b, 0x4d, 0x02, 0x52, 0xd8, 5313 0xc1, 0x77, 0x52, 0x0d, 0x2e, 0x56, 0x4e, 0x64, 5314 0xfc, 0xc7, 0x68, 0x1b, 0x18, 0x8c, 0xde, 0xcb, 5315 0x1c, 0x94, 0x0d, 0x89, 0xb5, 0x43, 0x90, 0x11}; 5316 static const uint8_t test_vector_10_g_y[] = { 5317 0x58, 0x20, 0xa0, 0x60, 0xed, 0x7b, 0x4d, 0x02, 5318 0x52, 0xd8, 0xc1, 0x77, 0x52, 0x0d, 0x2e, 0x56, 5319 0x4e, 0x64, 0xfc, 0xc7, 0x68, 0x1b, 0x18, 0x8c, 5320 0xde, 0xcb, 0x1c, 0x94, 0x0d, 0x89, 0xb5, 0x43, 5321 0x90, 0x11}; 5322 static const uint8_t test_vector_10_g_xy_raw[] = { 5323 0x0f, 0xe9, 0x0d, 0x98, 0xb9, 0x40, 0x56, 0x4a, 5324 0x06, 0xa9, 0x1c, 0x6e, 0x94, 0x6a, 0x3f, 0x85, 5325 0xfb, 0xb6, 0x67, 0x20, 0xf9, 0x53, 0xdf, 0x04, 5326 0xaa, 0xf1, 0xa4, 0xba, 0x8f, 0x71, 0xff, 0x4a}; 5327 static const uint8_t test_vector_10_salt_raw[] = { 5328 }; 5329 static const uint8_t test_vector_10_prk_2e_raw[] = { 5330 0xc1, 0x15, 0xa1, 0x2f, 0xd2, 0xa1, 0xd8, 0xad, 5331 0x6f, 0x71, 0x6d, 0xdc, 0x07, 0xa7, 0xfb, 0x61, 5332 0x0f, 0xde, 0xe1, 0x1e, 0x18, 0xa2, 0x2c, 0x86, 5333 0xe9, 0x03, 0xba, 0x3e, 0x7b, 0x01, 0x16, 0xc6}; 5334 static const uint8_t test_vector_10_r_raw[] = { 5335 0x4a, 0xcb, 0x0f, 0x53, 0x5f, 0xc5, 0xf8, 0x38, 5336 0x61, 0x49, 0xc5, 0xdd, 0x74, 0x2e, 0xde, 0xc2, 5337 0xd2, 0xca, 0xd6, 0x00, 0x66, 0xb0, 0xb1, 0x83, 5338 0x15, 0x3b, 0xa6, 0x0c, 0x9f, 0xa4, 0x05, 0x18}; 5339 static const uint8_t test_vector_10_g_r_raw[] = { 5340 0x22, 0x18, 0xbd, 0xa8, 0xf8, 0xdb, 0x48, 0x6e, 5341 0x2a, 0x1c, 0x36, 0x4f, 0xd6, 0xca, 0xaa, 0xb9, 5342 0x37, 0xf3, 0x25, 0x2a, 0x2e, 0x9d, 0x71, 0x66, 5343 0x92, 0x90, 0x3c, 0xbc, 0x93, 0xe9, 0x72, 0x15}; 5344 static const uint8_t test_vector_10_g_rx_raw[] = { 5345 0x83, 0x31, 0xd9, 0x9b, 0x39, 0xbe, 0x65, 0x75, 5346 0x04, 0x33, 0x94, 0x27, 0x27, 0x6a, 0xcb, 0xa6, 5347 0x39, 0x23, 0x91, 0xb3, 0x48, 0x60, 0x57, 0x4e, 5348 0x61, 0x17, 0x63, 0x03, 0x28, 0x5f, 0x9a, 0x15}; 5349 static const uint8_t test_vector_10_prk_3e2m_raw[] = { 5350 0x24, 0xa7, 0xd0, 0x64, 0xfc, 0x70, 0xe5, 0xd4, 5351 0xe2, 0xef, 0x1d, 0x23, 0xd3, 0x70, 0x59, 0xa1, 5352 0x14, 0x1e, 0x7c, 0xc5, 0x6d, 0xf1, 0xf7, 0xdb, 5353 0x5d, 0x00, 0x20, 0x31, 0x21, 0xcd, 0x89, 0xb2}; 5354 static const uint8_t test_vector_10_c_r_raw[] = { 5355 0x97, 0x7c}; 5356 static const uint8_t test_vector_10_c_r[] = { 5357 0x42, 0x97, 0x7c}; 5358 static const uint8_t test_vector_10_h_message_1_raw[] = { 5359 0x82, 0xf1, 0x54, 0x5d, 0xbd, 0x78, 0x0a, 0xbb, 5360 0x9a, 0x98, 0x4f, 0x4d, 0xd4, 0x7b, 0xcb, 0x71, 5361 0xfe, 0xbc, 0x8d, 0x05, 0x8c, 0x3e, 0x22, 0x9a, 5362 0x01, 0x61, 0xc4, 0x38, 0x90, 0x79, 0x3b, 0x02}; 5363 static const uint8_t test_vector_10_h_message_1[] = { 5364 0x58, 0x20, 0x82, 0xf1, 0x54, 0x5d, 0xbd, 0x78, 5365 0x0a, 0xbb, 0x9a, 0x98, 0x4f, 0x4d, 0xd4, 0x7b, 5366 0xcb, 0x71, 0xfe, 0xbc, 0x8d, 0x05, 0x8c, 0x3e, 5367 0x22, 0x9a, 0x01, 0x61, 0xc4, 0x38, 0x90, 0x79, 5368 0x3b, 0x02}; 5369 static const uint8_t test_vector_10_input_th_2[] = { 5370 0x58, 0x20, 0x82, 0xf1, 0x54, 0x5d, 0xbd, 0x78, 5371 0x0a, 0xbb, 0x9a, 0x98, 0x4f, 0x4d, 0xd4, 0x7b, 5372 0xcb, 0x71, 0xfe, 0xbc, 0x8d, 0x05, 0x8c, 0x3e, 5373 0x22, 0x9a, 0x01, 0x61, 0xc4, 0x38, 0x90, 0x79, 5374 0x3b, 0x02, 0x58, 0x20, 0xa0, 0x60, 0xed, 0x7b, 5375 0x4d, 0x02, 0x52, 0xd8, 0xc1, 0x77, 0x52, 0x0d, 5376 0x2e, 0x56, 0x4e, 0x64, 0xfc, 0xc7, 0x68, 0x1b, 5377 0x18, 0x8c, 0xde, 0xcb, 0x1c, 0x94, 0x0d, 0x89, 5378 0xb5, 0x43, 0x90, 0x11, 0x42, 0x97, 0x7c}; 5379 static const uint8_t test_vector_10_th_2_raw[] = { 5380 0x28, 0xad, 0xfb, 0x00, 0x35, 0xcd, 0xd2, 0x97, 5381 0x8e, 0xd5, 0x90, 0x23, 0xb9, 0xb2, 0xc5, 0x44, 5382 0x02, 0x59, 0x17, 0x23, 0x92, 0x4b, 0xdd, 0x2a, 5383 0x94, 0x2b, 0x45, 0x77, 0xa2, 0xdf, 0x78, 0xaa}; 5384 static const uint8_t test_vector_10_th_2[] = { 5385 0x58, 0x20, 0x28, 0xad, 0xfb, 0x00, 0x35, 0xcd, 5386 0xd2, 0x97, 0x8e, 0xd5, 0x90, 0x23, 0xb9, 0xb2, 5387 0xc5, 0x44, 0x02, 0x59, 0x17, 0x23, 0x92, 0x4b, 5388 0xdd, 0x2a, 0x94, 0x2b, 0x45, 0x77, 0xa2, 0xdf, 5389 0x78, 0xaa}; 5390 static const uint8_t test_vector_10_id_cred_r[] = { 5391 0xa1, 0x04, 0x19, 0x3b, 0xa4}; 5392 static const uint8_t test_vector_10_cred_r[] = { 5393 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 5394 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 5395 0x01, 0xa4, 0x01, 0x01, 0x02, 0x19, 0x3b, 0xa4, 5396 0x20, 0x04, 0x21, 0x58, 0x20, 0x22, 0x18, 0xbd, 5397 0xa8, 0xf8, 0xdb, 0x48, 0x6e, 0x2a, 0x1c, 0x36, 5398 0x4f, 0xd6, 0xca, 0xaa, 0xb9, 0x37, 0xf3, 0x25, 5399 0x2a, 0x2e, 0x9d, 0x71, 0x66, 0x92, 0x90, 0x3c, 5400 0xbc, 0x93, 0xe9, 0x72, 0x15}; 5401 static const uint8_t test_vector_10_ead_2[] = { 5402 0x18, 0x3a, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 0x51, 5403 0xeb, 0x85, 0x1f, 0x12, 0x19, 0x14, 0x29, 0x18, 5404 0x44, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 0x51, 0xeb, 5405 0x85, 0x1f, 0x18, 0x3b, 0x52, 0x00, 0x01, 0x02, 5406 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 5407 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11}; 5408 static const uint8_t test_vector_10_info_mac_2[] = { 5409 0x58, 0x20, 0x28, 0xad, 0xfb, 0x00, 0x35, 0xcd, 5410 0xd2, 0x97, 0x8e, 0xd5, 0x90, 0x23, 0xb9, 0xb2, 5411 0xc5, 0x44, 0x02, 0x59, 0x17, 0x23, 0x92, 0x4b, 5412 0xdd, 0x2a, 0x94, 0x2b, 0x45, 0x77, 0xa2, 0xdf, 5413 0x78, 0xaa, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 5414 0x58, 0x71, 0xa1, 0x04, 0x19, 0x3b, 0xa4, 0xa2, 5415 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 5416 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 5417 0xa4, 0x01, 0x01, 0x02, 0x19, 0x3b, 0xa4, 0x20, 5418 0x04, 0x21, 0x58, 0x20, 0x22, 0x18, 0xbd, 0xa8, 5419 0xf8, 0xdb, 0x48, 0x6e, 0x2a, 0x1c, 0x36, 0x4f, 5420 0xd6, 0xca, 0xaa, 0xb9, 0x37, 0xf3, 0x25, 0x2a, 5421 0x2e, 0x9d, 0x71, 0x66, 0x92, 0x90, 0x3c, 0xbc, 5422 0x93, 0xe9, 0x72, 0x15, 0x18, 0x3a, 0xfb, 0x40, 5423 0x09, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f, 0x12, 5424 0x19, 0x14, 0x29, 0x18, 0x44, 0xfb, 0x40, 0x09, 5425 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f, 0x18, 0x3b, 5426 0x52, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5427 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 5428 0x0f, 0x10, 0x11, 0x08}; 5429 static const uint8_t test_vector_10_mac_2_raw[] = { 5430 0xfa, 0xab, 0xc7, 0x0b, 0x3f, 0xeb, 0x28, 0xc8}; 5431 static const uint8_t test_vector_10_mac_2[] = { 5432 0x48, 0xfa, 0xab, 0xc7, 0x0b, 0x3f, 0xeb, 0x28, 5433 0xc8}; 5434 static const uint8_t test_vector_10_sig_or_mac_2_raw[] = { 5435 0xfa, 0xab, 0xc7, 0x0b, 0x3f, 0xeb, 0x28, 0xc8}; 5436 static const uint8_t test_vector_10_sig_or_mac_2[] = { 5437 0x48, 0xfa, 0xab, 0xc7, 0x0b, 0x3f, 0xeb, 0x28, 5438 0xc8}; 5439 static const uint8_t test_vector_10_plaintext_2[] = { 5440 0x19, 0x3b, 0xa4, 0x48, 0xfa, 0xab, 0xc7, 0x0b, 5441 0x3f, 0xeb, 0x28, 0xc8, 0x18, 0x3a, 0xfb, 0x40, 5442 0x09, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f, 0x12, 5443 0x19, 0x14, 0x29, 0x18, 0x44, 0xfb, 0x40, 0x09, 5444 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f, 0x18, 0x3b, 5445 0x52, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5446 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 5447 0x0f, 0x10, 0x11}; 5448 static const uint8_t test_vector_10_info_keystream_2[] = { 5449 0x58, 0x20, 0x28, 0xad, 0xfb, 0x00, 0x35, 0xcd, 5450 0xd2, 0x97, 0x8e, 0xd5, 0x90, 0x23, 0xb9, 0xb2, 5451 0xc5, 0x44, 0x02, 0x59, 0x17, 0x23, 0x92, 0x4b, 5452 0xdd, 0x2a, 0x94, 0x2b, 0x45, 0x77, 0xa2, 0xdf, 5453 0x78, 0xaa, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 5454 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 5455 0x3b}; 5456 static const uint8_t test_vector_10_keystream_2_raw[] = { 5457 0x19, 0x9c, 0x73, 0x6e, 0xf0, 0xa5, 0x84, 0xdb, 5458 0x86, 0x76, 0x00, 0x50, 0xbc, 0xf0, 0xb3, 0x29, 5459 0x64, 0xcc, 0x89, 0x46, 0x93, 0xb7, 0xef, 0xb5, 5460 0xaa, 0x50, 0xda, 0xfc, 0x4d, 0x51, 0x0e, 0xc8, 5461 0x7d, 0x88, 0xef, 0x09, 0x28, 0xb8, 0x1a, 0x2a, 5462 0x14, 0xad, 0xca, 0xc5, 0xbf, 0x35, 0x35, 0x9f, 5463 0x19, 0x95, 0xbe, 0x63, 0x9f, 0x8c, 0x65, 0x65, 5464 0x31, 0x43, 0x95}; 5465 static const uint8_t test_vector_10_ciphertext_2_raw[] = { 5466 0x00, 0xa7, 0xd7, 0x26, 0x0a, 0x0e, 0x43, 0xd0, 5467 0xb9, 0x9d, 0x28, 0x98, 0xa4, 0xca, 0x48, 0x69, 5468 0x6d, 0xd2, 0x31, 0x17, 0x78, 0x32, 0xf0, 0xa7, 5469 0xb3, 0x44, 0xf3, 0xe4, 0x09, 0xaa, 0x4e, 0xc1, 5470 0x63, 0x30, 0xbe, 0xe2, 0xad, 0xa7, 0x02, 0x11, 5471 0x46, 0xad, 0xcb, 0xc7, 0xbc, 0x31, 0x30, 0x99, 5472 0x1e, 0x9d, 0xb7, 0x69, 0x94, 0x80, 0x68, 0x6b, 5473 0x3e, 0x53, 0x84}; 5474 static const uint8_t test_vector_10_ciphertext_2[] = { 5475 0x58, 0x3b, 0x00, 0xa7, 0xd7, 0x26, 0x0a, 0x0e, 5476 0x43, 0xd0, 0xb9, 0x9d, 0x28, 0x98, 0xa4, 0xca, 5477 0x48, 0x69, 0x6d, 0xd2, 0x31, 0x17, 0x78, 0x32, 5478 0xf0, 0xa7, 0xb3, 0x44, 0xf3, 0xe4, 0x09, 0xaa, 5479 0x4e, 0xc1, 0x63, 0x30, 0xbe, 0xe2, 0xad, 0xa7, 5480 0x02, 0x11, 0x46, 0xad, 0xcb, 0xc7, 0xbc, 0x31, 5481 0x30, 0x99, 0x1e, 0x9d, 0xb7, 0x69, 0x94, 0x80, 5482 0x68, 0x6b, 0x3e, 0x53, 0x84}; 5483 static const uint8_t test_vector_10_message_2[] = { 5484 0x58, 0x5b, 0xa0, 0x60, 0xed, 0x7b, 0x4d, 0x02, 5485 0x52, 0xd8, 0xc1, 0x77, 0x52, 0x0d, 0x2e, 0x56, 5486 0x4e, 0x64, 0xfc, 0xc7, 0x68, 0x1b, 0x18, 0x8c, 5487 0xde, 0xcb, 0x1c, 0x94, 0x0d, 0x89, 0xb5, 0x43, 5488 0x90, 0x11, 0x00, 0xa7, 0xd7, 0x26, 0x0a, 0x0e, 5489 0x43, 0xd0, 0xb9, 0x9d, 0x28, 0x98, 0xa4, 0xca, 5490 0x48, 0x69, 0x6d, 0xd2, 0x31, 0x17, 0x78, 0x32, 5491 0xf0, 0xa7, 0xb3, 0x44, 0xf3, 0xe4, 0x09, 0xaa, 5492 0x4e, 0xc1, 0x63, 0x30, 0xbe, 0xe2, 0xad, 0xa7, 5493 0x02, 0x11, 0x46, 0xad, 0xcb, 0xc7, 0xbc, 0x31, 5494 0x30, 0x99, 0x1e, 0x9d, 0xb7, 0x69, 0x94, 0x80, 5495 0x68, 0x6b, 0x3e, 0x53, 0x84, 0x42, 0x97, 0x7c}; 5496 static const uint8_t test_vector_10_i_raw[] = { 5497 0xf3, 0x2a, 0xee, 0x6e, 0xdb, 0x0c, 0x81, 0xbe, 5498 0x36, 0x91, 0xe2, 0xf5, 0xab, 0x17, 0x85, 0x39, 5499 0xfd, 0xce, 0x36, 0xe6, 0x58, 0x99, 0x26, 0x1e, 5500 0xef, 0x92, 0x18, 0x0f, 0xc2, 0xfc, 0x0f, 0x2a}; 5501 static const uint8_t test_vector_10_g_i_raw[] = { 5502 0xc3, 0x47, 0x4b, 0xb6, 0x49, 0xc3, 0xcc, 0x98, 5503 0x40, 0x8b, 0x3e, 0x00, 0xe7, 0xa0, 0xbe, 0xc3, 5504 0xe3, 0xa2, 0xf9, 0x64, 0xe3, 0xa7, 0x7d, 0x72, 5505 0xf4, 0x98, 0xe2, 0x28, 0x20, 0xfb, 0x47, 0x54}; 5506 static const uint8_t test_vector_10_g_iy_raw[] = { 5507 0xb3, 0x34, 0x70, 0x3d, 0xa1, 0x27, 0x01, 0x4f, 5508 0xca, 0x4d, 0xa1, 0x4f, 0x18, 0xdb, 0x6a, 0x75, 5509 0xec, 0x91, 0x96, 0x14, 0x09, 0xd3, 0xb4, 0xe1, 5510 0xce, 0x51, 0xab, 0x40, 0x40, 0x36, 0xf6, 0x33}; 5511 static const uint8_t test_vector_10_prk_4x3m_raw[] = { 5512 0x1d, 0xba, 0xe5, 0x69, 0xe0, 0xf7, 0x63, 0xbb, 5513 0x43, 0x03, 0xa2, 0xa9, 0x72, 0xba, 0xf8, 0xbe, 5514 0x2b, 0x78, 0x67, 0xee, 0xee, 0x7a, 0x51, 0x64, 5515 0xb6, 0xef, 0x61, 0xdd, 0x9e, 0xe3, 0x1a, 0xcf}; 5516 static const uint8_t test_vector_10_input_TH_3[] = { 5517 0x58, 0x20, 0x28, 0xad, 0xfb, 0x00, 0x35, 0xcd, 5518 0xd2, 0x97, 0x8e, 0xd5, 0x90, 0x23, 0xb9, 0xb2, 5519 0xc5, 0x44, 0x02, 0x59, 0x17, 0x23, 0x92, 0x4b, 5520 0xdd, 0x2a, 0x94, 0x2b, 0x45, 0x77, 0xa2, 0xdf, 5521 0x78, 0xaa, 0x58, 0x3b, 0x00, 0xa7, 0xd7, 0x26, 5522 0x0a, 0x0e, 0x43, 0xd0, 0xb9, 0x9d, 0x28, 0x98, 5523 0xa4, 0xca, 0x48, 0x69, 0x6d, 0xd2, 0x31, 0x17, 5524 0x78, 0x32, 0xf0, 0xa7, 0xb3, 0x44, 0xf3, 0xe4, 5525 0x09, 0xaa, 0x4e, 0xc1, 0x63, 0x30, 0xbe, 0xe2, 5526 0xad, 0xa7, 0x02, 0x11, 0x46, 0xad, 0xcb, 0xc7, 5527 0xbc, 0x31, 0x30, 0x99, 0x1e, 0x9d, 0xb7, 0x69, 5528 0x94, 0x80, 0x68, 0x6b, 0x3e, 0x53, 0x84}; 5529 static const uint8_t test_vector_10_th_3_raw[] = { 5530 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 0xfe, 0x84, 5531 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 0x1a, 0x9f, 5532 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 0xf4, 0x41, 5533 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 0xee, 0xe4}; 5534 static const uint8_t test_vector_10_th_3[] = { 5535 0x58, 0x20, 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 5536 0xfe, 0x84, 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 5537 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 5538 0xf4, 0x41, 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 5539 0xee, 0xe4}; 5540 static const uint8_t test_vector_10_id_cred_i[] = { 5541 0xa1, 0x04, 0x19, 0x3b, 0x1e}; 5542 static const uint8_t test_vector_10_cred_i[] = { 5543 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 5544 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 5545 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 5546 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 5547 0x02, 0x19, 0x3b, 0x1e, 0x20, 0x04, 0x21, 0x58, 5548 0x20, 0xc3, 0x47, 0x4b, 0xb6, 0x49, 0xc3, 0xcc, 5549 0x98, 0x40, 0x8b, 0x3e, 0x00, 0xe7, 0xa0, 0xbe, 5550 0xc3, 0xe3, 0xa2, 0xf9, 0x64, 0xe3, 0xa7, 0x7d, 5551 0x72, 0xf4, 0x98, 0xe2, 0x28, 0x20, 0xfb, 0x47, 5552 0x54}; 5553 static const uint8_t test_vector_10_ead_3[] = { 5554 0x18, 0x3a, 0xa1, 0xf6, 0x48, 0x00, 0x01, 0x02, 5555 0x03, 0x04, 0x05, 0x06, 0x07, 0x18, 0x49, 0x4f, 5556 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 5557 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}; 5558 static const uint8_t test_vector_10_info_mac_3[] = { 5559 0x58, 0x20, 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 5560 0xfe, 0x84, 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 5561 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 5562 0xf4, 0x41, 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 5563 0xee, 0xe4, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 5564 0x58, 0x6d, 0xa1, 0x04, 0x19, 0x3b, 0x1e, 0xa2, 5565 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 5566 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 5567 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 5568 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 5569 0x19, 0x3b, 0x1e, 0x20, 0x04, 0x21, 0x58, 0x20, 5570 0xc3, 0x47, 0x4b, 0xb6, 0x49, 0xc3, 0xcc, 0x98, 5571 0x40, 0x8b, 0x3e, 0x00, 0xe7, 0xa0, 0xbe, 0xc3, 5572 0xe3, 0xa2, 0xf9, 0x64, 0xe3, 0xa7, 0x7d, 0x72, 5573 0xf4, 0x98, 0xe2, 0x28, 0x20, 0xfb, 0x47, 0x54, 5574 0x18, 0x3a, 0xa1, 0xf6, 0x48, 0x00, 0x01, 0x02, 5575 0x03, 0x04, 0x05, 0x06, 0x07, 0x18, 0x49, 0x4f, 5576 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 5577 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x08}; 5578 static const uint8_t test_vector_10_mac_3_raw[] = { 5579 0xb4, 0x38, 0x89, 0x5c, 0x9c, 0x02, 0x0f, 0x95}; 5580 static const uint8_t test_vector_10_mac_3[] = { 5581 0x48, 0xb4, 0x38, 0x89, 0x5c, 0x9c, 0x02, 0x0f, 5582 0x95}; 5583 static const uint8_t test_vector_10_sig_or_mac_3_raw[] = { 5584 0xb4, 0x38, 0x89, 0x5c, 0x9c, 0x02, 0x0f, 0x95}; 5585 static const uint8_t test_vector_10_sig_or_mac_3[] = { 5586 0x48, 0xb4, 0x38, 0x89, 0x5c, 0x9c, 0x02, 0x0f, 5587 0x95}; 5588 static const uint8_t test_vector_10_p_3[] = { 5589 0x19, 0x3b, 0x1e, 0x48, 0xb4, 0x38, 0x89, 0x5c, 5590 0x9c, 0x02, 0x0f, 0x95, 0x18, 0x3a, 0xa1, 0xf6, 5591 0x48, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5592 0x07, 0x18, 0x49, 0x4f, 0x00, 0x01, 0x02, 0x03, 5593 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 5594 0x0c, 0x0d, 0x0e}; 5595 static const uint8_t test_vector_10_a_3[] = { 5596 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5597 0x74, 0x30, 0x40, 0x58, 0x20, 0xa5, 0xdc, 0x2d, 5598 0x81, 0xe9, 0xbc, 0xfe, 0x84, 0x42, 0x17, 0xfd, 5599 0x3b, 0xef, 0x44, 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 5600 0xaf, 0xd2, 0xf4, 0xf4, 0x41, 0x4f, 0xc8, 0x63, 5601 0x53, 0x6f, 0x17, 0xee, 0xe4}; 5602 static const uint8_t test_vector_10_info_k_3[] = { 5603 0x58, 0x20, 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 5604 0xfe, 0x84, 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 5605 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 5606 0xf4, 0x41, 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 5607 0xee, 0xe4, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 5608 static const uint8_t test_vector_10_k_3_raw[] = { 5609 0x16, 0xca, 0xfc, 0xe7, 0x54, 0x69, 0x13, 0x9a, 5610 0x73, 0xcc, 0x35, 0xe2, 0xb4, 0x77, 0x1c, 0x19}; 5611 static const uint8_t test_vector_10_info_iv_3[] = { 5612 0x58, 0x20, 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 5613 0xfe, 0x84, 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 5614 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 5615 0xf4, 0x41, 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 5616 0xee, 0xe4, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 5617 0x0d}; 5618 static const uint8_t test_vector_10_iv_3_raw[] = { 5619 0x8c, 0x8b, 0x6e, 0xf4, 0x0a, 0xc0, 0x46, 0x49, 5620 0xa1, 0x35, 0x10, 0xea, 0x22}; 5621 static const uint8_t test_vector_10_ciphertext_3_raw[] = { 5622 0x16, 0x5f, 0x6b, 0xa6, 0x41, 0xcf, 0xdd, 0xa3, 5623 0x67, 0x74, 0xb5, 0x0d, 0x4e, 0xb4, 0x08, 0xfc, 5624 0x9f, 0xb3, 0x20, 0x09, 0x54, 0xdf, 0x41, 0xf4, 5625 0x94, 0x3d, 0xf7, 0x7d, 0xd2, 0xee, 0x51, 0x8c, 5626 0x8e, 0xe5, 0x3d, 0x29, 0xc9, 0x9e, 0x31, 0x7b, 5627 0x8c, 0x59, 0x04, 0xb4, 0x33, 0x62, 0x56, 0xeb, 5628 0x7c, 0xb2, 0x62}; 5629 static const uint8_t test_vector_10_ciphertext_3[] = { 5630 0x58, 0x33, 0x16, 0x5f, 0x6b, 0xa6, 0x41, 0xcf, 5631 0xdd, 0xa3, 0x67, 0x74, 0xb5, 0x0d, 0x4e, 0xb4, 5632 0x08, 0xfc, 0x9f, 0xb3, 0x20, 0x09, 0x54, 0xdf, 5633 0x41, 0xf4, 0x94, 0x3d, 0xf7, 0x7d, 0xd2, 0xee, 5634 0x51, 0x8c, 0x8e, 0xe5, 0x3d, 0x29, 0xc9, 0x9e, 5635 0x31, 0x7b, 0x8c, 0x59, 0x04, 0xb4, 0x33, 0x62, 5636 0x56, 0xeb, 0x7c, 0xb2, 0x62}; 5637 static const uint8_t test_vector_10_message_3[] = { 5638 0x58, 0x33, 0x16, 0x5f, 0x6b, 0xa6, 0x41, 0xcf, 5639 0xdd, 0xa3, 0x67, 0x74, 0xb5, 0x0d, 0x4e, 0xb4, 5640 0x08, 0xfc, 0x9f, 0xb3, 0x20, 0x09, 0x54, 0xdf, 5641 0x41, 0xf4, 0x94, 0x3d, 0xf7, 0x7d, 0xd2, 0xee, 5642 0x51, 0x8c, 0x8e, 0xe5, 0x3d, 0x29, 0xc9, 0x9e, 5643 0x31, 0x7b, 0x8c, 0x59, 0x04, 0xb4, 0x33, 0x62, 5644 0x56, 0xeb, 0x7c, 0xb2, 0x62}; 5645 static const uint8_t test_vector_10_input_th_4[] = { 5646 0x58, 0x20, 0xa5, 0xdc, 0x2d, 0x81, 0xe9, 0xbc, 5647 0xfe, 0x84, 0x42, 0x17, 0xfd, 0x3b, 0xef, 0x44, 5648 0x1a, 0x9f, 0xeb, 0xcb, 0x7e, 0xaf, 0xd2, 0xf4, 5649 0xf4, 0x41, 0x4f, 0xc8, 0x63, 0x53, 0x6f, 0x17, 5650 0xee, 0xe4, 0x58, 0x33, 0x16, 0x5f, 0x6b, 0xa6, 5651 0x41, 0xcf, 0xdd, 0xa3, 0x67, 0x74, 0xb5, 0x0d, 5652 0x4e, 0xb4, 0x08, 0xfc, 0x9f, 0xb3, 0x20, 0x09, 5653 0x54, 0xdf, 0x41, 0xf4, 0x94, 0x3d, 0xf7, 0x7d, 5654 0xd2, 0xee, 0x51, 0x8c, 0x8e, 0xe5, 0x3d, 0x29, 5655 0xc9, 0x9e, 0x31, 0x7b, 0x8c, 0x59, 0x04, 0xb4, 5656 0x33, 0x62, 0x56, 0xeb, 0x7c, 0xb2, 0x62}; 5657 static const uint8_t test_vector_10_th_4_raw[] = { 5658 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 0xad, 0x61, 5659 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 0x2b, 0x7f, 5660 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 0xb4, 0x2c, 5661 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 0xbb, 0x4b}; 5662 static const uint8_t test_vector_10_th_4[] = { 5663 0x58, 0x20, 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 5664 0xad, 0x61, 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 5665 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 5666 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 5667 0xbb, 0x4b}; 5668 static const uint8_t test_vector_10_ead_4[] = { 5669 0x18, 0x4e, 0x19, 0x0a, 0xcd, 0x18, 0x5f, 0x82, 5670 0x48, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5671 0x07, 0x48, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5672 0x06, 0x07, 0x18, 0x57, 0x82, 0x49, 0x00, 0x01, 5673 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x48, 5674 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}; 5675 static const uint8_t test_vector_10_p_4[] = { 5676 0x18, 0x4e, 0x19, 0x0a, 0xcd, 0x18, 0x5f, 0x82, 5677 0x48, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5678 0x07, 0x48, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5679 0x06, 0x07, 0x18, 0x57, 0x82, 0x49, 0x00, 0x01, 5680 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x48, 5681 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}; 5682 static const uint8_t test_vector_10_a_4[] = { 5683 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 5684 0x74, 0x30, 0x40, 0x58, 0x20, 0x2e, 0xa1, 0xa1, 5685 0x39, 0x83, 0xd9, 0xad, 0x61, 0x38, 0x27, 0xf7, 5686 0x0a, 0x28, 0xb1, 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 5687 0x21, 0x0c, 0x38, 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 5688 0x48, 0xb2, 0x15, 0xbb, 0x4b}; 5689 static const uint8_t test_vector_10_info_k_4[] = { 5690 0x58, 0x20, 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 5691 0xad, 0x61, 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 5692 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 5693 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 5694 0xbb, 0x4b, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 5695 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 5696 static const uint8_t test_vector_10_k_4_raw[] = { 5697 0xa1, 0x62, 0x2e, 0x45, 0x8e, 0xaa, 0xa3, 0x1c, 5698 0xb6, 0xd8, 0x7a, 0x16, 0xfc, 0x90, 0x05, 0x58}; 5699 static const uint8_t test_vector_10_info_iv_4[] = { 5700 0x58, 0x20, 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 5701 0xad, 0x61, 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 5702 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 5703 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 5704 0xbb, 0x4b, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 5705 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 5706 static const uint8_t test_vector_10_iv_4_raw[] = { 5707 0xcc, 0x7d, 0x5f, 0xb7, 0xfd, 0xb5, 0x83, 0xb9, 5708 0x02, 0x0a, 0x2b, 0xc4, 0xaf}; 5709 static const uint8_t test_vector_10_ciphertext_4_raw[] = { 5710 0x18, 0xc9, 0x87, 0x4e, 0x43, 0x0c, 0x53, 0x8d, 5711 0x3f, 0xa0, 0x4b, 0xbf, 0xba, 0x38, 0x48, 0xb5, 5712 0xe6, 0x0f, 0x0b, 0xf7, 0x75, 0x96, 0x17, 0xd4, 5713 0x30, 0xcb, 0x11, 0x17, 0xb0, 0xbf, 0x3a, 0xd3, 5714 0xd4, 0x15, 0xc1, 0xf9, 0xce, 0x04, 0x7f, 0x35, 5715 0x0a, 0x91, 0x72, 0x85, 0x13, 0xa2, 0xf4, 0xe5, 5716 0x56, 0x58, 0x08, 0x64, 0x3d, 0xfa, 0x57, 0xf6}; 5717 static const uint8_t test_vector_10_ciphertext_4[] = { 5718 0x58, 0x38, 0x18, 0xc9, 0x87, 0x4e, 0x43, 0x0c, 5719 0x53, 0x8d, 0x3f, 0xa0, 0x4b, 0xbf, 0xba, 0x38, 5720 0x48, 0xb5, 0xe6, 0x0f, 0x0b, 0xf7, 0x75, 0x96, 5721 0x17, 0xd4, 0x30, 0xcb, 0x11, 0x17, 0xb0, 0xbf, 5722 0x3a, 0xd3, 0xd4, 0x15, 0xc1, 0xf9, 0xce, 0x04, 5723 0x7f, 0x35, 0x0a, 0x91, 0x72, 0x85, 0x13, 0xa2, 5724 0xf4, 0xe5, 0x56, 0x58, 0x08, 0x64, 0x3d, 0xfa, 5725 0x57, 0xf6}; 5726 static const uint8_t test_vector_10_message_4[] = { 5727 0x58, 0x38, 0x18, 0xc9, 0x87, 0x4e, 0x43, 0x0c, 5728 0x53, 0x8d, 0x3f, 0xa0, 0x4b, 0xbf, 0xba, 0x38, 5729 0x48, 0xb5, 0xe6, 0x0f, 0x0b, 0xf7, 0x75, 0x96, 5730 0x17, 0xd4, 0x30, 0xcb, 0x11, 0x17, 0xb0, 0xbf, 5731 0x3a, 0xd3, 0xd4, 0x15, 0xc1, 0xf9, 0xce, 0x04, 5732 0x7f, 0x35, 0x0a, 0x91, 0x72, 0x85, 0x13, 0xa2, 5733 0xf4, 0xe5, 0x56, 0x58, 0x08, 0x64, 0x3d, 0xfa, 5734 0x57, 0xf6}; 5735 int32_t test_vector_10_oscore_aead_alg = 10; 5736 int32_t test_vector_10_oscore_hash_alg = -16; 5737 static const uint8_t test_vector_10_client_sender_id_raw[] = { 5738 0x97, 0x7c}; 5739 static const uint8_t test_vector_10_server_sender_id_raw[] = { 5740 0xde, 0xee}; 5741 static const uint8_t test_vector_10_info_oscore_secret[] = { 5742 0x58, 0x20, 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 5743 0xad, 0x61, 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 5744 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 5745 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 5746 0xbb, 0x4b, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 5747 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 5748 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 5749 0x10}; 5750 static const uint8_t test_vector_10_oscore_secret_raw[] = { 5751 0xd1, 0xfb, 0xc5, 0x7b, 0x53, 0x2d, 0x04, 0x46, 5752 0x5a, 0x40, 0xf2, 0xd9, 0xaa, 0xe1, 0xf6, 0xfe}; 5753 static const uint8_t test_vector_10_info_oscore_salt[] = { 5754 0x58, 0x20, 0x2e, 0xa1, 0xa1, 0x39, 0x83, 0xd9, 5755 0xad, 0x61, 0x38, 0x27, 0xf7, 0x0a, 0x28, 0xb1, 5756 0x2b, 0x7f, 0xa8, 0xa1, 0xfa, 0x21, 0x0c, 0x38, 5757 0xb4, 0x2c, 0x06, 0xb8, 0xe6, 0x48, 0xb2, 0x15, 5758 0xbb, 0x4b, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 5759 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 5760 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 5761 static const uint8_t test_vector_10_oscore_salt_raw[] = { 5762 0x38, 0x21, 0xcf, 0x9a, 0x28, 0x46, 0x95, 0xec}; 5763 static const uint8_t test_vector_10_key_update_nonce_raw[] = { 5764 0x08, 0xd9, 0x06, 0x4e, 0xf9, 0x9e, 0x33, 0x9c, 5765 0xd4, 0x02, 0x67, 0x1a, 0x50, 0xf0, 0xba, 0x0f}; 5766 static const uint8_t test_vector_10_prk_4x3m_key_update_raw[] = { 5767 0xfa, 0x25, 0x18, 0x42, 0x98, 0x8d, 0x7f, 0x4e, 5768 0x05, 0x46, 0x72, 0x72, 0xe5, 0xf6, 0x16, 0xe4, 5769 0x65, 0x21, 0x37, 0x58, 0xd9, 0xf0, 0x10, 0x03, 5770 0x73, 0xff, 0xc5, 0x0b, 0xe5, 0x46, 0x5a, 0x69}; 5771 static const uint8_t test_vector_10_oscore_secret_key_update_raw[] = { 5772 0x81, 0x31, 0x27, 0xe0, 0xf5, 0x16, 0x2b, 0x63, 5773 0xd1, 0x73, 0x8f, 0x25, 0x5f, 0x16, 0x4d, 0x5f}; 5774 static const uint8_t test_vector_10_oscore_salt_key_update_raw[] = { 5775 0x0a, 0x7a, 0x23, 0xa2, 0xa5, 0x18, 0x64, 0x50}; 5776 5777 /***************** test_vector_11 ************/ 5778 5779 static const uint8_t test_vector_11_method[] = { 5780 0x00}; 5781 static const uint8_t test_vector_11_suites_i[] = { 5782 0x00}; 5783 static const uint8_t test_vector_11_suites_r[] = { 5784 0x00}; 5785 static const uint8_t test_vector_11_x_raw[] = { 5786 0xeb, 0x73, 0xeb, 0x82, 0x59, 0x49, 0x75, 0x1f, 5787 0xed, 0xc3, 0xe1, 0x9c, 0x7e, 0x4d, 0xb8, 0xab, 5788 0xe0, 0xcc, 0x04, 0x08, 0x92, 0x60, 0xbf, 0x78, 5789 0x1f, 0xce, 0x13, 0x80, 0xd8, 0x74, 0x48, 0x38}; 5790 static const uint8_t test_vector_11_g_x_raw[] = { 5791 0x14, 0x8e, 0xa8, 0xb2, 0xdd, 0x40, 0x9f, 0x72, 5792 0x84, 0x45, 0xeb, 0x9a, 0xf9, 0x95, 0x3c, 0xf4, 5793 0xaf, 0x52, 0x26, 0xd9, 0xa5, 0x68, 0x9c, 0x7d, 5794 0xfb, 0xa0, 0x2c, 0xa8, 0x35, 0x1b, 0xf9, 0x40}; 5795 static const uint8_t test_vector_11_g_x[] = { 5796 0x58, 0x20, 0x14, 0x8e, 0xa8, 0xb2, 0xdd, 0x40, 5797 0x9f, 0x72, 0x84, 0x45, 0xeb, 0x9a, 0xf9, 0x95, 5798 0x3c, 0xf4, 0xaf, 0x52, 0x26, 0xd9, 0xa5, 0x68, 5799 0x9c, 0x7d, 0xfb, 0xa0, 0x2c, 0xa8, 0x35, 0x1b, 5800 0xf9, 0x40}; 5801 int32_t test_vector_11_c_i_raw = 29854; 5802 static const uint8_t test_vector_11_c_i[] = { 5803 0x19, 0x74, 0x9e}; 5804 static const uint8_t test_vector_11_ead_1[] = { 5805 0x18, 0x50, 0x19, 0x24, 0x86}; 5806 static const uint8_t test_vector_11_message_1[] = { 5807 0x00, 0x00, 0x58, 0x20, 0x14, 0x8e, 0xa8, 0xb2, 5808 0xdd, 0x40, 0x9f, 0x72, 0x84, 0x45, 0xeb, 0x9a, 5809 0xf9, 0x95, 0x3c, 0xf4, 0xaf, 0x52, 0x26, 0xd9, 5810 0xa5, 0x68, 0x9c, 0x7d, 0xfb, 0xa0, 0x2c, 0xa8, 5811 0x35, 0x1b, 0xf9, 0x40, 0x19, 0x74, 0x9e, 0x18, 5812 0x50, 0x19, 0x24, 0x86}; 5813 static const uint8_t test_vector_11_y_raw[] = { 5814 0x3e, 0x3a, 0x5d, 0x3a, 0x31, 0x15, 0xc2, 0xe6, 5815 0x50, 0xe8, 0x60, 0x29, 0x32, 0xc1, 0x4a, 0xe7, 5816 0x0c, 0x1f, 0x45, 0xa1, 0x2d, 0x67, 0xd2, 0x26, 5817 0x05, 0xee, 0x1b, 0x41, 0x06, 0x46, 0xdc, 0x4f}; 5818 static const uint8_t test_vector_11_g_y_raw[] = { 5819 0x1d, 0x61, 0x44, 0x34, 0x35, 0x72, 0xe2, 0xe3, 5820 0xbe, 0x79, 0xc8, 0x03, 0xf9, 0x0c, 0x0b, 0x24, 5821 0x6a, 0x4c, 0x5b, 0x00, 0x01, 0x5f, 0x93, 0x6a, 5822 0xd0, 0x3a, 0x62, 0x1e, 0xd7, 0x67, 0x9b, 0x1d}; 5823 static const uint8_t test_vector_11_g_y[] = { 5824 0x58, 0x20, 0x1d, 0x61, 0x44, 0x34, 0x35, 0x72, 5825 0xe2, 0xe3, 0xbe, 0x79, 0xc8, 0x03, 0xf9, 0x0c, 5826 0x0b, 0x24, 0x6a, 0x4c, 0x5b, 0x00, 0x01, 0x5f, 5827 0x93, 0x6a, 0xd0, 0x3a, 0x62, 0x1e, 0xd7, 0x67, 5828 0x9b, 0x1d}; 5829 static const uint8_t test_vector_11_g_xy_raw[] = { 5830 0x25, 0x46, 0x57, 0x18, 0xf9, 0xe4, 0xb3, 0xd4, 5831 0x19, 0x8e, 0xa6, 0x9f, 0x66, 0xc4, 0x3b, 0xe2, 5832 0x06, 0x84, 0x19, 0x8f, 0xea, 0x02, 0x21, 0x35, 5833 0xdc, 0xa8, 0x87, 0x34, 0xd9, 0x57, 0x61, 0x2c}; 5834 static const uint8_t test_vector_11_salt_raw[] = { 5835 }; 5836 static const uint8_t test_vector_11_prk_2e_raw[] = { 5837 0xf0, 0x46, 0xde, 0xd0, 0x5d, 0x81, 0xbd, 0xf7, 5838 0x65, 0xfc, 0x6b, 0xa6, 0xc8, 0x7b, 0x32, 0x01, 5839 0xa8, 0x94, 0x5f, 0x66, 0x9d, 0xaa, 0x23, 0x36, 5840 0xb3, 0x93, 0x42, 0x16, 0x63, 0x9b, 0xd1, 0x3f}; 5841 static const uint8_t test_vector_11_sk_r_raw[] = { 5842 0x36, 0xae, 0x92, 0x2e, 0xf0, 0x93, 0xe0, 0x8b, 5843 0x47, 0x8a, 0x49, 0xa2, 0x46, 0xfe, 0xe0, 0x4f, 5844 0x2d, 0xbd, 0x82, 0x05, 0x74, 0xf3, 0x01, 0x62, 5845 0x0c, 0x59, 0x82, 0x07, 0xe8, 0xaa, 0x24, 0xa6}; 5846 static const uint8_t test_vector_11_pk_r_raw[] = { 5847 0x80, 0x4a, 0x40, 0x99, 0xa7, 0x9e, 0x7f, 0x57, 5848 0x48, 0x41, 0x10, 0x2e, 0x1b, 0x15, 0x32, 0xda, 5849 0xd4, 0x7f, 0x49, 0x07, 0x0e, 0xc3, 0x8f, 0xa9, 5850 0xd1, 0xe2, 0x5a, 0x10, 0xde, 0x24, 0x87, 0xc8}; 5851 static const uint8_t test_vector_11_prk_3e2m_raw[] = { 5852 0xf0, 0x46, 0xde, 0xd0, 0x5d, 0x81, 0xbd, 0xf7, 5853 0x65, 0xfc, 0x6b, 0xa6, 0xc8, 0x7b, 0x32, 0x01, 5854 0xa8, 0x94, 0x5f, 0x66, 0x9d, 0xaa, 0x23, 0x36, 5855 0xb3, 0x93, 0x42, 0x16, 0x63, 0x9b, 0xd1, 0x3f}; 5856 static const uint8_t test_vector_11_c_r_raw[] = { 5857 0x12, 0xb7}; 5858 static const uint8_t test_vector_11_c_r[] = { 5859 0x42, 0x12, 0xb7}; 5860 static const uint8_t test_vector_11_h_message_1_raw[] = { 5861 0x8d, 0x84, 0xc2, 0x33, 0x89, 0xa4, 0xdb, 0xb9, 5862 0x9c, 0x0e, 0xb7, 0x27, 0xa1, 0x1c, 0xb9, 0x1f, 5863 0xad, 0xcf, 0xe1, 0xce, 0x30, 0xb5, 0xbc, 0xd2, 5864 0x07, 0xfc, 0x41, 0xb6, 0x2f, 0xbd, 0x58, 0x81}; 5865 static const uint8_t test_vector_11_h_message_1[] = { 5866 0x58, 0x20, 0x8d, 0x84, 0xc2, 0x33, 0x89, 0xa4, 5867 0xdb, 0xb9, 0x9c, 0x0e, 0xb7, 0x27, 0xa1, 0x1c, 5868 0xb9, 0x1f, 0xad, 0xcf, 0xe1, 0xce, 0x30, 0xb5, 5869 0xbc, 0xd2, 0x07, 0xfc, 0x41, 0xb6, 0x2f, 0xbd, 5870 0x58, 0x81}; 5871 static const uint8_t test_vector_11_input_th_2[] = { 5872 0x58, 0x20, 0x8d, 0x84, 0xc2, 0x33, 0x89, 0xa4, 5873 0xdb, 0xb9, 0x9c, 0x0e, 0xb7, 0x27, 0xa1, 0x1c, 5874 0xb9, 0x1f, 0xad, 0xcf, 0xe1, 0xce, 0x30, 0xb5, 5875 0xbc, 0xd2, 0x07, 0xfc, 0x41, 0xb6, 0x2f, 0xbd, 5876 0x58, 0x81, 0x58, 0x20, 0x1d, 0x61, 0x44, 0x34, 5877 0x35, 0x72, 0xe2, 0xe3, 0xbe, 0x79, 0xc8, 0x03, 5878 0xf9, 0x0c, 0x0b, 0x24, 0x6a, 0x4c, 0x5b, 0x00, 5879 0x01, 0x5f, 0x93, 0x6a, 0xd0, 0x3a, 0x62, 0x1e, 5880 0xd7, 0x67, 0x9b, 0x1d, 0x42, 0x12, 0xb7}; 5881 static const uint8_t test_vector_11_th_2_raw[] = { 5882 0xb6, 0x10, 0xac, 0x81, 0x8b, 0xa0, 0x37, 0x8a, 5883 0xf9, 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 0x89, 0xfb, 5884 0xb3, 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 0xb8, 0x5d, 5885 0x1a, 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 0x96, 0x92}; 5886 static const uint8_t test_vector_11_th_2[] = { 5887 0x58, 0x20, 0xb6, 0x10, 0xac, 0x81, 0x8b, 0xa0, 5888 0x37, 0x8a, 0xf9, 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 5889 0x89, 0xfb, 0xb3, 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 5890 0xb8, 0x5d, 0x1a, 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 5891 0x96, 0x92}; 5892 static const uint8_t test_vector_11_id_cred_r[] = { 5893 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x86, 0x54, 5894 0x47, 0xfc, 0x4f, 0xae, 0x01, 0x47}; 5895 static const uint8_t test_vector_11_cred_r[] = { 5896 0x58, 0x7c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5897 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 5898 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 5899 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 5900 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 5901 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 5902 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 5903 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 5904 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 5905 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 5906 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 5907 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 5908 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 5909 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 5910 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 5911 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b}; 5912 static const uint8_t test_vector_11_ead_2[] = { 5913 0x0a, 0x52, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5914 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 5915 0x0e, 0x0f, 0x10, 0x11, 0x18, 0x36, 0x19, 0x20, 5916 0xd7, 0x18, 0x30, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 5917 0x51, 0xeb, 0x85, 0x1f, 0x18, 0x52, 0xfb, 0x40, 5918 0x09, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f}; 5919 static const uint8_t test_vector_11_info_mac_2[] = { 5920 0x58, 0x20, 0xb6, 0x10, 0xac, 0x81, 0x8b, 0xa0, 5921 0x37, 0x8a, 0xf9, 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 5922 0x89, 0xfb, 0xb3, 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 5923 0xb8, 0x5d, 0x1a, 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 5924 0x96, 0x92, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 5925 0x58, 0xbb, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 5926 0x86, 0x54, 0x47, 0xfc, 0x4f, 0xae, 0x01, 0x47, 5927 0x58, 0x7c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 5928 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 5929 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 5930 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 5931 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 5932 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 5933 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 5934 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 5935 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 5936 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 5937 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 5938 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 5939 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 5940 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 5941 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 5942 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x0a, 0x52, 5943 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 5944 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 5945 0x10, 0x11, 0x18, 0x36, 0x19, 0x20, 0xd7, 0x18, 5946 0x30, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 0x51, 0xeb, 5947 0x85, 0x1f, 0x18, 0x52, 0xfb, 0x40, 0x09, 0x1e, 5948 0xb8, 0x51, 0xeb, 0x85, 0x1f, 0x18, 0x20}; 5949 static const uint8_t test_vector_11_mac_2_raw[] = { 5950 0x06, 0xa3, 0xdf, 0xd1, 0xd9, 0x92, 0x34, 0x39, 5951 0xe1, 0xb1, 0x0f, 0x21, 0xce, 0x27, 0x4c, 0xfd, 5952 0xfd, 0x21, 0x60, 0x91, 0x0e, 0x94, 0xa6, 0x12, 5953 0x51, 0x4c, 0x86, 0xad, 0xc5, 0xaf, 0x8d, 0x03}; 5954 static const uint8_t test_vector_11_mac_2[] = { 5955 0x58, 0x20, 0x06, 0xa3, 0xdf, 0xd1, 0xd9, 0x92, 5956 0x34, 0x39, 0xe1, 0xb1, 0x0f, 0x21, 0xce, 0x27, 5957 0x4c, 0xfd, 0xfd, 0x21, 0x60, 0x91, 0x0e, 0x94, 5958 0xa6, 0x12, 0x51, 0x4c, 0x86, 0xad, 0xc5, 0xaf, 5959 0x8d, 0x03}; 5960 static const uint8_t test_vector_11_m_2[] = { 5961 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 5962 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 5963 0x82, 0x2e, 0x48, 0x86, 0x54, 0x47, 0xfc, 0x4f, 5964 0xae, 0x01, 0x47, 0x58, 0xcf, 0x58, 0x20, 0xb6, 5965 0x10, 0xac, 0x81, 0x8b, 0xa0, 0x37, 0x8a, 0xf9, 5966 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 0x89, 0xfb, 0xb3, 5967 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 0xb8, 0x5d, 0x1a, 5968 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 0x96, 0x92, 0x58, 5969 0x7c, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 5970 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 5971 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 5972 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 5973 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 5974 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 5975 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 5976 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 5977 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 5978 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 5979 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 5980 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 5981 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 5982 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 5983 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 5984 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x0a, 0x52, 0x00, 5985 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 5986 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 5987 0x11, 0x18, 0x36, 0x19, 0x20, 0xd7, 0x18, 0x30, 5988 0xfb, 0x40, 0x09, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 5989 0x1f, 0x18, 0x52, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 5990 0x51, 0xeb, 0x85, 0x1f, 0x58, 0x20, 0x06, 0xa3, 5991 0xdf, 0xd1, 0xd9, 0x92, 0x34, 0x39, 0xe1, 0xb1, 5992 0x0f, 0x21, 0xce, 0x27, 0x4c, 0xfd, 0xfd, 0x21, 5993 0x60, 0x91, 0x0e, 0x94, 0xa6, 0x12, 0x51, 0x4c, 5994 0x86, 0xad, 0xc5, 0xaf, 0x8d, 0x03}; 5995 static const uint8_t test_vector_11_sig_or_mac_2_raw[] = { 5996 0xad, 0x00, 0x4d, 0xa9, 0xae, 0x9b, 0x8f, 0xbc, 5997 0x59, 0x99, 0xfd, 0xf8, 0x87, 0xac, 0x1c, 0x84, 5998 0x76, 0xa7, 0x10, 0xe2, 0x3b, 0xca, 0x1f, 0x83, 5999 0x91, 0x58, 0x52, 0x5d, 0x0c, 0xa9, 0x7c, 0x7d, 6000 0x95, 0xc6, 0x27, 0x46, 0x1b, 0x45, 0x4b, 0xfe, 6001 0x1a, 0xd6, 0xb3, 0x3e, 0x31, 0x61, 0x05, 0x14, 6002 0x40, 0x5f, 0xf7, 0x98, 0xeb, 0xed, 0xa4, 0xfa, 6003 0x73, 0xe5, 0xf0, 0x13, 0xc6, 0xb9, 0xa3, 0x02}; 6004 static const uint8_t test_vector_11_sig_or_mac_2[] = { 6005 0x58, 0x40, 0xad, 0x00, 0x4d, 0xa9, 0xae, 0x9b, 6006 0x8f, 0xbc, 0x59, 0x99, 0xfd, 0xf8, 0x87, 0xac, 6007 0x1c, 0x84, 0x76, 0xa7, 0x10, 0xe2, 0x3b, 0xca, 6008 0x1f, 0x83, 0x91, 0x58, 0x52, 0x5d, 0x0c, 0xa9, 6009 0x7c, 0x7d, 0x95, 0xc6, 0x27, 0x46, 0x1b, 0x45, 6010 0x4b, 0xfe, 0x1a, 0xd6, 0xb3, 0x3e, 0x31, 0x61, 6011 0x05, 0x14, 0x40, 0x5f, 0xf7, 0x98, 0xeb, 0xed, 6012 0xa4, 0xfa, 0x73, 0xe5, 0xf0, 0x13, 0xc6, 0xb9, 6013 0xa3, 0x02}; 6014 static const uint8_t test_vector_11_plaintext_2[] = { 6015 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x86, 0x54, 6016 0x47, 0xfc, 0x4f, 0xae, 0x01, 0x47, 0x58, 0x40, 6017 0xad, 0x00, 0x4d, 0xa9, 0xae, 0x9b, 0x8f, 0xbc, 6018 0x59, 0x99, 0xfd, 0xf8, 0x87, 0xac, 0x1c, 0x84, 6019 0x76, 0xa7, 0x10, 0xe2, 0x3b, 0xca, 0x1f, 0x83, 6020 0x91, 0x58, 0x52, 0x5d, 0x0c, 0xa9, 0x7c, 0x7d, 6021 0x95, 0xc6, 0x27, 0x46, 0x1b, 0x45, 0x4b, 0xfe, 6022 0x1a, 0xd6, 0xb3, 0x3e, 0x31, 0x61, 0x05, 0x14, 6023 0x40, 0x5f, 0xf7, 0x98, 0xeb, 0xed, 0xa4, 0xfa, 6024 0x73, 0xe5, 0xf0, 0x13, 0xc6, 0xb9, 0xa3, 0x02, 6025 0x0a, 0x52, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6026 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6027 0x0e, 0x0f, 0x10, 0x11, 0x18, 0x36, 0x19, 0x20, 6028 0xd7, 0x18, 0x30, 0xfb, 0x40, 0x09, 0x1e, 0xb8, 6029 0x51, 0xeb, 0x85, 0x1f, 0x18, 0x52, 0xfb, 0x40, 6030 0x09, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f}; 6031 static const uint8_t test_vector_11_info_keystream_2[] = { 6032 0x58, 0x20, 0xb6, 0x10, 0xac, 0x81, 0x8b, 0xa0, 6033 0x37, 0x8a, 0xf9, 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 6034 0x89, 0xfb, 0xb3, 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 6035 0xb8, 0x5d, 0x1a, 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 6036 0x96, 0x92, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 6037 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 6038 0x7f}; 6039 static const uint8_t test_vector_11_keystream_2_raw[] = { 6040 0x1a, 0x6a, 0x65, 0x1c, 0xb4, 0xbd, 0x08, 0x7f, 6041 0x3b, 0x19, 0x22, 0xd2, 0x3c, 0x75, 0xb6, 0x08, 6042 0xc6, 0x14, 0xc5, 0xe0, 0x48, 0x74, 0x42, 0x12, 6043 0x63, 0x4d, 0x4c, 0xbb, 0x50, 0x0e, 0x34, 0x71, 6044 0xd4, 0x31, 0xa9, 0x16, 0xb0, 0x2f, 0x56, 0x0f, 6045 0x4e, 0x82, 0xb3, 0x4c, 0x4f, 0x0e, 0xfb, 0x5b, 6046 0x70, 0xc2, 0x0f, 0xcd, 0xe4, 0xa4, 0x9e, 0xb0, 6047 0xdb, 0x9d, 0x00, 0xb0, 0xc1, 0x62, 0x4e, 0x27, 6048 0x31, 0x44, 0x76, 0x3b, 0xdb, 0x94, 0x9d, 0x08, 6049 0x42, 0xc3, 0xfa, 0x0c, 0xec, 0xd2, 0xe0, 0xa2, 6050 0x2d, 0x76, 0x50, 0x01, 0xef, 0x7a, 0x68, 0xbe, 6051 0xea, 0x5d, 0x47, 0xd0, 0x58, 0x30, 0x2a, 0x4e, 6052 0x1e, 0x57, 0x43, 0xb3, 0x74, 0x22, 0x0c, 0x15, 6053 0x33, 0xe0, 0x2d, 0xfb, 0x33, 0x43, 0xd2, 0x7b, 6054 0x56, 0x13, 0x4b, 0x08, 0x97, 0x60, 0xbd, 0x63, 6055 0x95, 0x15, 0xc0, 0x31, 0xdb, 0xb9, 0x8d}; 6056 static const uint8_t test_vector_11_ciphertext_2_raw[] = { 6057 0xbb, 0x72, 0x47, 0x9e, 0x9a, 0xf5, 0x8e, 0x2b, 6058 0x7c, 0xe5, 0x6d, 0x7c, 0x3d, 0x32, 0xee, 0x48, 6059 0x6b, 0x14, 0x88, 0x49, 0xe6, 0xef, 0xcd, 0xae, 6060 0x3a, 0xd4, 0xb1, 0x43, 0xd7, 0xa2, 0x28, 0xf5, 6061 0xa2, 0x96, 0xb9, 0xf4, 0x8b, 0xe5, 0x49, 0x8c, 6062 0xdf, 0xda, 0xe1, 0x11, 0x43, 0xa7, 0x87, 0x26, 6063 0xe5, 0x04, 0x28, 0x8b, 0xff, 0xe1, 0xd5, 0x4e, 6064 0xc1, 0x4b, 0xb3, 0x8e, 0xf0, 0x03, 0x4b, 0x33, 6065 0x71, 0x1b, 0x81, 0xa3, 0x30, 0x79, 0x39, 0xf2, 6066 0x31, 0x26, 0x0a, 0x1f, 0x2a, 0x6b, 0x43, 0xa0, 6067 0x27, 0x24, 0x50, 0x00, 0xed, 0x79, 0x6c, 0xbb, 6068 0xec, 0x5a, 0x4f, 0xd9, 0x52, 0x3b, 0x26, 0x43, 6069 0x10, 0x58, 0x53, 0xa2, 0x6c, 0x14, 0x15, 0x35, 6070 0xe4, 0xf8, 0x1d, 0x00, 0x73, 0x4a, 0xcc, 0xc3, 6071 0x07, 0xf8, 0xce, 0x17, 0x8f, 0x32, 0x46, 0x23, 6072 0x9c, 0x0b, 0x78, 0x60, 0x30, 0x3c, 0x92}; 6073 static const uint8_t test_vector_11_ciphertext_2[] = { 6074 0x58, 0x7f, 0xbb, 0x72, 0x47, 0x9e, 0x9a, 0xf5, 6075 0x8e, 0x2b, 0x7c, 0xe5, 0x6d, 0x7c, 0x3d, 0x32, 6076 0xee, 0x48, 0x6b, 0x14, 0x88, 0x49, 0xe6, 0xef, 6077 0xcd, 0xae, 0x3a, 0xd4, 0xb1, 0x43, 0xd7, 0xa2, 6078 0x28, 0xf5, 0xa2, 0x96, 0xb9, 0xf4, 0x8b, 0xe5, 6079 0x49, 0x8c, 0xdf, 0xda, 0xe1, 0x11, 0x43, 0xa7, 6080 0x87, 0x26, 0xe5, 0x04, 0x28, 0x8b, 0xff, 0xe1, 6081 0xd5, 0x4e, 0xc1, 0x4b, 0xb3, 0x8e, 0xf0, 0x03, 6082 0x4b, 0x33, 0x71, 0x1b, 0x81, 0xa3, 0x30, 0x79, 6083 0x39, 0xf2, 0x31, 0x26, 0x0a, 0x1f, 0x2a, 0x6b, 6084 0x43, 0xa0, 0x27, 0x24, 0x50, 0x00, 0xed, 0x79, 6085 0x6c, 0xbb, 0xec, 0x5a, 0x4f, 0xd9, 0x52, 0x3b, 6086 0x26, 0x43, 0x10, 0x58, 0x53, 0xa2, 0x6c, 0x14, 6087 0x15, 0x35, 0xe4, 0xf8, 0x1d, 0x00, 0x73, 0x4a, 6088 0xcc, 0xc3, 0x07, 0xf8, 0xce, 0x17, 0x8f, 0x32, 6089 0x46, 0x23, 0x9c, 0x0b, 0x78, 0x60, 0x30, 0x3c, 6090 0x92}; 6091 static const uint8_t test_vector_11_message_2[] = { 6092 0x58, 0x9f, 0x1d, 0x61, 0x44, 0x34, 0x35, 0x72, 6093 0xe2, 0xe3, 0xbe, 0x79, 0xc8, 0x03, 0xf9, 0x0c, 6094 0x0b, 0x24, 0x6a, 0x4c, 0x5b, 0x00, 0x01, 0x5f, 6095 0x93, 0x6a, 0xd0, 0x3a, 0x62, 0x1e, 0xd7, 0x67, 6096 0x9b, 0x1d, 0xbb, 0x72, 0x47, 0x9e, 0x9a, 0xf5, 6097 0x8e, 0x2b, 0x7c, 0xe5, 0x6d, 0x7c, 0x3d, 0x32, 6098 0xee, 0x48, 0x6b, 0x14, 0x88, 0x49, 0xe6, 0xef, 6099 0xcd, 0xae, 0x3a, 0xd4, 0xb1, 0x43, 0xd7, 0xa2, 6100 0x28, 0xf5, 0xa2, 0x96, 0xb9, 0xf4, 0x8b, 0xe5, 6101 0x49, 0x8c, 0xdf, 0xda, 0xe1, 0x11, 0x43, 0xa7, 6102 0x87, 0x26, 0xe5, 0x04, 0x28, 0x8b, 0xff, 0xe1, 6103 0xd5, 0x4e, 0xc1, 0x4b, 0xb3, 0x8e, 0xf0, 0x03, 6104 0x4b, 0x33, 0x71, 0x1b, 0x81, 0xa3, 0x30, 0x79, 6105 0x39, 0xf2, 0x31, 0x26, 0x0a, 0x1f, 0x2a, 0x6b, 6106 0x43, 0xa0, 0x27, 0x24, 0x50, 0x00, 0xed, 0x79, 6107 0x6c, 0xbb, 0xec, 0x5a, 0x4f, 0xd9, 0x52, 0x3b, 6108 0x26, 0x43, 0x10, 0x58, 0x53, 0xa2, 0x6c, 0x14, 6109 0x15, 0x35, 0xe4, 0xf8, 0x1d, 0x00, 0x73, 0x4a, 6110 0xcc, 0xc3, 0x07, 0xf8, 0xce, 0x17, 0x8f, 0x32, 6111 0x46, 0x23, 0x9c, 0x0b, 0x78, 0x60, 0x30, 0x3c, 6112 0x92, 0x42, 0x12, 0xb7}; 6113 static const uint8_t test_vector_11_sk_i_raw[] = { 6114 0xbc, 0x57, 0xe3, 0x5c, 0x05, 0x7b, 0xbb, 0x42, 6115 0x49, 0x11, 0x10, 0x3f, 0xa0, 0x65, 0x4d, 0x20, 6116 0x73, 0xc8, 0xcc, 0xea, 0x84, 0x88, 0xf6, 0x6e, 6117 0x2e, 0x1f, 0xab, 0x1f, 0xef, 0xab, 0xe4, 0x21}; 6118 static const uint8_t test_vector_11_pk_i_raw[] = { 6119 0x36, 0x44, 0x8e, 0x53, 0x45, 0xbe, 0x4f, 0x38, 6120 0x3a, 0xda, 0x8d, 0x98, 0xe9, 0x06, 0x32, 0x8c, 6121 0x50, 0xdc, 0x32, 0x56, 0xaa, 0x1a, 0x9c, 0x7b, 6122 0x3e, 0xd0, 0xfe, 0x4f, 0x4b, 0x1f, 0x19, 0x8f}; 6123 static const uint8_t test_vector_11_prk_4x3m_raw[] = { 6124 0xf0, 0x46, 0xde, 0xd0, 0x5d, 0x81, 0xbd, 0xf7, 6125 0x65, 0xfc, 0x6b, 0xa6, 0xc8, 0x7b, 0x32, 0x01, 6126 0xa8, 0x94, 0x5f, 0x66, 0x9d, 0xaa, 0x23, 0x36, 6127 0xb3, 0x93, 0x42, 0x16, 0x63, 0x9b, 0xd1, 0x3f}; 6128 static const uint8_t test_vector_11_input_TH_3[] = { 6129 0x58, 0x20, 0xb6, 0x10, 0xac, 0x81, 0x8b, 0xa0, 6130 0x37, 0x8a, 0xf9, 0xbf, 0xa7, 0xf8, 0xca, 0xb8, 6131 0x89, 0xfb, 0xb3, 0x4c, 0x82, 0xfe, 0x2c, 0x5b, 6132 0xb8, 0x5d, 0x1a, 0x5e, 0xe4, 0x7e, 0xcc, 0xbb, 6133 0x96, 0x92, 0x58, 0x7f, 0xbb, 0x72, 0x47, 0x9e, 6134 0x9a, 0xf5, 0x8e, 0x2b, 0x7c, 0xe5, 0x6d, 0x7c, 6135 0x3d, 0x32, 0xee, 0x48, 0x6b, 0x14, 0x88, 0x49, 6136 0xe6, 0xef, 0xcd, 0xae, 0x3a, 0xd4, 0xb1, 0x43, 6137 0xd7, 0xa2, 0x28, 0xf5, 0xa2, 0x96, 0xb9, 0xf4, 6138 0x8b, 0xe5, 0x49, 0x8c, 0xdf, 0xda, 0xe1, 0x11, 6139 0x43, 0xa7, 0x87, 0x26, 0xe5, 0x04, 0x28, 0x8b, 6140 0xff, 0xe1, 0xd5, 0x4e, 0xc1, 0x4b, 0xb3, 0x8e, 6141 0xf0, 0x03, 0x4b, 0x33, 0x71, 0x1b, 0x81, 0xa3, 6142 0x30, 0x79, 0x39, 0xf2, 0x31, 0x26, 0x0a, 0x1f, 6143 0x2a, 0x6b, 0x43, 0xa0, 0x27, 0x24, 0x50, 0x00, 6144 0xed, 0x79, 0x6c, 0xbb, 0xec, 0x5a, 0x4f, 0xd9, 6145 0x52, 0x3b, 0x26, 0x43, 0x10, 0x58, 0x53, 0xa2, 6146 0x6c, 0x14, 0x15, 0x35, 0xe4, 0xf8, 0x1d, 0x00, 6147 0x73, 0x4a, 0xcc, 0xc3, 0x07, 0xf8, 0xce, 0x17, 6148 0x8f, 0x32, 0x46, 0x23, 0x9c, 0x0b, 0x78, 0x60, 6149 0x30, 0x3c, 0x92}; 6150 static const uint8_t test_vector_11_th_3_raw[] = { 6151 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 0x84, 0xb5, 6152 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 0xaf, 0xb1, 6153 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 0x9e, 0x56, 6154 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 0x30, 0xaa}; 6155 static const uint8_t test_vector_11_th_3[] = { 6156 0x58, 0x20, 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 6157 0x84, 0xb5, 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 6158 0xaf, 0xb1, 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 6159 0x9e, 0x56, 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 6160 0x30, 0xaa}; 6161 static const uint8_t test_vector_11_id_cred_i[] = { 6162 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x47, 0x1f, 6163 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11}; 6164 static const uint8_t test_vector_11_cred_i[] = { 6165 0x58, 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6166 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6167 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6168 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6169 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6170 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6171 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6172 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6173 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6174 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6175 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6176 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6177 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 6178 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 6179 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 6180 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 6181 0x7e, 0x7f}; 6182 static const uint8_t test_vector_11_ead_3[] = { 6183 0x18, 0x4e, 0xf5}; 6184 static const uint8_t test_vector_11_info_mac_3[] = { 6185 0x58, 0x20, 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 6186 0x84, 0xb5, 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 6187 0xaf, 0xb1, 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 6188 0x9e, 0x56, 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 6189 0x30, 0xaa, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 6190 0x58, 0x93, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 6191 0x47, 0x1f, 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11, 6192 0x58, 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6193 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6194 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6195 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6196 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6197 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6198 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6199 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6200 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6201 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6202 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6203 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6204 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 6205 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 6206 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 6207 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 6208 0x7e, 0x7f, 0x18, 0x4e, 0xf5, 0x18, 0x20}; 6209 static const uint8_t test_vector_11_mac_3_raw[] = { 6210 0x17, 0x83, 0xa8, 0x9d, 0x06, 0x39, 0x81, 0x56, 6211 0x5c, 0x36, 0x29, 0x6c, 0x63, 0x14, 0xc1, 0xe5, 6212 0x4e, 0x74, 0x10, 0x30, 0x82, 0xa6, 0x46, 0x4a, 6213 0xf2, 0x10, 0xf5, 0x38, 0x11, 0x46, 0x61, 0x7a}; 6214 static const uint8_t test_vector_11_mac_3[] = { 6215 0x58, 0x20, 0x17, 0x83, 0xa8, 0x9d, 0x06, 0x39, 6216 0x81, 0x56, 0x5c, 0x36, 0x29, 0x6c, 0x63, 0x14, 6217 0xc1, 0xe5, 0x4e, 0x74, 0x10, 0x30, 0x82, 0xa6, 6218 0x46, 0x4a, 0xf2, 0x10, 0xf5, 0x38, 0x11, 0x46, 6219 0x61, 0x7a}; 6220 static const uint8_t test_vector_11_m_3[] = { 6221 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 6222 0x75, 0x72, 0x65, 0x31, 0x4e, 0xa1, 0x18, 0x22, 6223 0x82, 0x2e, 0x48, 0x47, 0x1f, 0xb9, 0x43, 0xaa, 6224 0x23, 0xc5, 0x11, 0x58, 0xa7, 0x58, 0x20, 0x5e, 6225 0x27, 0x77, 0x04, 0xd9, 0x9d, 0x84, 0xb5, 0x35, 6226 0x46, 0x89, 0x16, 0xfe, 0xf4, 0xaf, 0xb1, 0x42, 6227 0xee, 0xfc, 0x8e, 0xc7, 0x83, 0x9e, 0x56, 0x6e, 6228 0xe7, 0x45, 0x69, 0xa1, 0xfa, 0x30, 0xaa, 0x58, 6229 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 6230 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 6231 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 6232 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 6233 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 6234 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 6235 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 6236 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 6237 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 6238 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 6239 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 6240 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 6241 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 6242 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 6243 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 6244 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 6245 0x7f, 0x18, 0x4e, 0xf5, 0x58, 0x20, 0x17, 0x83, 6246 0xa8, 0x9d, 0x06, 0x39, 0x81, 0x56, 0x5c, 0x36, 6247 0x29, 0x6c, 0x63, 0x14, 0xc1, 0xe5, 0x4e, 0x74, 6248 0x10, 0x30, 0x82, 0xa6, 0x46, 0x4a, 0xf2, 0x10, 6249 0xf5, 0x38, 0x11, 0x46, 0x61, 0x7a}; 6250 static const uint8_t test_vector_11_sig_or_mac_3_raw[] = { 6251 0x03, 0x89, 0x67, 0xbc, 0xa1, 0x6c, 0x61, 0x32, 6252 0xda, 0xb9, 0x6f, 0xf9, 0xb7, 0x1f, 0x34, 0x84, 6253 0x6d, 0xfb, 0x2b, 0xf6, 0xbe, 0x3d, 0x30, 0x18, 6254 0xd3, 0xae, 0x12, 0x11, 0xc2, 0xb5, 0xdb, 0x9f, 6255 0xc4, 0x63, 0x10, 0xbb, 0x48, 0xdf, 0xd6, 0x37, 6256 0xd2, 0xc0, 0x32, 0x9e, 0x04, 0x4a, 0x91, 0x5f, 6257 0x05, 0xdc, 0x86, 0xd8, 0x18, 0xec, 0x59, 0x57, 6258 0x68, 0xb3, 0xd3, 0x2f, 0x0e, 0x95, 0x37, 0x08}; 6259 static const uint8_t test_vector_11_sig_or_mac_3[] = { 6260 0x58, 0x40, 0x03, 0x89, 0x67, 0xbc, 0xa1, 0x6c, 6261 0x61, 0x32, 0xda, 0xb9, 0x6f, 0xf9, 0xb7, 0x1f, 6262 0x34, 0x84, 0x6d, 0xfb, 0x2b, 0xf6, 0xbe, 0x3d, 6263 0x30, 0x18, 0xd3, 0xae, 0x12, 0x11, 0xc2, 0xb5, 6264 0xdb, 0x9f, 0xc4, 0x63, 0x10, 0xbb, 0x48, 0xdf, 6265 0xd6, 0x37, 0xd2, 0xc0, 0x32, 0x9e, 0x04, 0x4a, 6266 0x91, 0x5f, 0x05, 0xdc, 0x86, 0xd8, 0x18, 0xec, 6267 0x59, 0x57, 0x68, 0xb3, 0xd3, 0x2f, 0x0e, 0x95, 6268 0x37, 0x08}; 6269 static const uint8_t test_vector_11_p_3[] = { 6270 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x47, 0x1f, 6271 0xb9, 0x43, 0xaa, 0x23, 0xc5, 0x11, 0x58, 0x40, 6272 0x03, 0x89, 0x67, 0xbc, 0xa1, 0x6c, 0x61, 0x32, 6273 0xda, 0xb9, 0x6f, 0xf9, 0xb7, 0x1f, 0x34, 0x84, 6274 0x6d, 0xfb, 0x2b, 0xf6, 0xbe, 0x3d, 0x30, 0x18, 6275 0xd3, 0xae, 0x12, 0x11, 0xc2, 0xb5, 0xdb, 0x9f, 6276 0xc4, 0x63, 0x10, 0xbb, 0x48, 0xdf, 0xd6, 0x37, 6277 0xd2, 0xc0, 0x32, 0x9e, 0x04, 0x4a, 0x91, 0x5f, 6278 0x05, 0xdc, 0x86, 0xd8, 0x18, 0xec, 0x59, 0x57, 6279 0x68, 0xb3, 0xd3, 0x2f, 0x0e, 0x95, 0x37, 0x08, 6280 0x18, 0x4e, 0xf5}; 6281 static const uint8_t test_vector_11_a_3[] = { 6282 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6283 0x74, 0x30, 0x40, 0x58, 0x20, 0x5e, 0x27, 0x77, 6284 0x04, 0xd9, 0x9d, 0x84, 0xb5, 0x35, 0x46, 0x89, 6285 0x16, 0xfe, 0xf4, 0xaf, 0xb1, 0x42, 0xee, 0xfc, 6286 0x8e, 0xc7, 0x83, 0x9e, 0x56, 0x6e, 0xe7, 0x45, 6287 0x69, 0xa1, 0xfa, 0x30, 0xaa}; 6288 static const uint8_t test_vector_11_info_k_3[] = { 6289 0x58, 0x20, 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 6290 0x84, 0xb5, 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 6291 0xaf, 0xb1, 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 6292 0x9e, 0x56, 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 6293 0x30, 0xaa, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 6294 static const uint8_t test_vector_11_k_3_raw[] = { 6295 0x92, 0xe3, 0x5b, 0x75, 0x1e, 0x7a, 0xc4, 0xa8, 6296 0x7f, 0x50, 0x67, 0x5f, 0x42, 0xb1, 0xc1, 0xac}; 6297 static const uint8_t test_vector_11_info_iv_3[] = { 6298 0x58, 0x20, 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 6299 0x84, 0xb5, 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 6300 0xaf, 0xb1, 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 6301 0x9e, 0x56, 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 6302 0x30, 0xaa, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 6303 0x0d}; 6304 static const uint8_t test_vector_11_iv_3_raw[] = { 6305 0xcd, 0xe6, 0x1a, 0x23, 0xf6, 0xc7, 0xfb, 0x9e, 6306 0xd8, 0xb6, 0x0d, 0x0a, 0x90}; 6307 static const uint8_t test_vector_11_ciphertext_3_raw[] = { 6308 0x13, 0x8b, 0x74, 0x21, 0xd2, 0x94, 0x4e, 0xc8, 6309 0x14, 0xcb, 0xac, 0x07, 0x0a, 0x2d, 0x38, 0xaf, 6310 0xcf, 0x48, 0x2a, 0x93, 0x2b, 0xc1, 0x26, 0x23, 6311 0x2a, 0x19, 0x70, 0x63, 0x90, 0xfa, 0x9e, 0xe2, 6312 0x94, 0x8b, 0xae, 0x13, 0x21, 0x15, 0xa6, 0x1b, 6313 0x1a, 0x92, 0xd5, 0x40, 0xee, 0x3b, 0xa4, 0x36, 6314 0x7d, 0x33, 0xb9, 0x04, 0x61, 0x55, 0x3a, 0xc4, 6315 0x38, 0xb6, 0x26, 0x36, 0x33, 0x9c, 0xe5, 0x91, 6316 0x5e, 0x64, 0xc3, 0x1b, 0xd9, 0xce, 0x49, 0xce, 6317 0x81, 0x6f, 0x9d, 0xd3, 0xb5, 0xa7, 0x29, 0xe6, 6318 0xb7, 0x86, 0x19, 0x90, 0xdc, 0x07, 0x7b, 0xe3, 6319 0x10, 0x8a, 0x97}; 6320 static const uint8_t test_vector_11_ciphertext_3[] = { 6321 0x58, 0x5b, 0x13, 0x8b, 0x74, 0x21, 0xd2, 0x94, 6322 0x4e, 0xc8, 0x14, 0xcb, 0xac, 0x07, 0x0a, 0x2d, 6323 0x38, 0xaf, 0xcf, 0x48, 0x2a, 0x93, 0x2b, 0xc1, 6324 0x26, 0x23, 0x2a, 0x19, 0x70, 0x63, 0x90, 0xfa, 6325 0x9e, 0xe2, 0x94, 0x8b, 0xae, 0x13, 0x21, 0x15, 6326 0xa6, 0x1b, 0x1a, 0x92, 0xd5, 0x40, 0xee, 0x3b, 6327 0xa4, 0x36, 0x7d, 0x33, 0xb9, 0x04, 0x61, 0x55, 6328 0x3a, 0xc4, 0x38, 0xb6, 0x26, 0x36, 0x33, 0x9c, 6329 0xe5, 0x91, 0x5e, 0x64, 0xc3, 0x1b, 0xd9, 0xce, 6330 0x49, 0xce, 0x81, 0x6f, 0x9d, 0xd3, 0xb5, 0xa7, 6331 0x29, 0xe6, 0xb7, 0x86, 0x19, 0x90, 0xdc, 0x07, 6332 0x7b, 0xe3, 0x10, 0x8a, 0x97}; 6333 static const uint8_t test_vector_11_message_3[] = { 6334 0x58, 0x5b, 0x13, 0x8b, 0x74, 0x21, 0xd2, 0x94, 6335 0x4e, 0xc8, 0x14, 0xcb, 0xac, 0x07, 0x0a, 0x2d, 6336 0x38, 0xaf, 0xcf, 0x48, 0x2a, 0x93, 0x2b, 0xc1, 6337 0x26, 0x23, 0x2a, 0x19, 0x70, 0x63, 0x90, 0xfa, 6338 0x9e, 0xe2, 0x94, 0x8b, 0xae, 0x13, 0x21, 0x15, 6339 0xa6, 0x1b, 0x1a, 0x92, 0xd5, 0x40, 0xee, 0x3b, 6340 0xa4, 0x36, 0x7d, 0x33, 0xb9, 0x04, 0x61, 0x55, 6341 0x3a, 0xc4, 0x38, 0xb6, 0x26, 0x36, 0x33, 0x9c, 6342 0xe5, 0x91, 0x5e, 0x64, 0xc3, 0x1b, 0xd9, 0xce, 6343 0x49, 0xce, 0x81, 0x6f, 0x9d, 0xd3, 0xb5, 0xa7, 6344 0x29, 0xe6, 0xb7, 0x86, 0x19, 0x90, 0xdc, 0x07, 6345 0x7b, 0xe3, 0x10, 0x8a, 0x97}; 6346 static const uint8_t test_vector_11_input_th_4[] = { 6347 0x58, 0x20, 0x5e, 0x27, 0x77, 0x04, 0xd9, 0x9d, 6348 0x84, 0xb5, 0x35, 0x46, 0x89, 0x16, 0xfe, 0xf4, 6349 0xaf, 0xb1, 0x42, 0xee, 0xfc, 0x8e, 0xc7, 0x83, 6350 0x9e, 0x56, 0x6e, 0xe7, 0x45, 0x69, 0xa1, 0xfa, 6351 0x30, 0xaa, 0x58, 0x5b, 0x13, 0x8b, 0x74, 0x21, 6352 0xd2, 0x94, 0x4e, 0xc8, 0x14, 0xcb, 0xac, 0x07, 6353 0x0a, 0x2d, 0x38, 0xaf, 0xcf, 0x48, 0x2a, 0x93, 6354 0x2b, 0xc1, 0x26, 0x23, 0x2a, 0x19, 0x70, 0x63, 6355 0x90, 0xfa, 0x9e, 0xe2, 0x94, 0x8b, 0xae, 0x13, 6356 0x21, 0x15, 0xa6, 0x1b, 0x1a, 0x92, 0xd5, 0x40, 6357 0xee, 0x3b, 0xa4, 0x36, 0x7d, 0x33, 0xb9, 0x04, 6358 0x61, 0x55, 0x3a, 0xc4, 0x38, 0xb6, 0x26, 0x36, 6359 0x33, 0x9c, 0xe5, 0x91, 0x5e, 0x64, 0xc3, 0x1b, 6360 0xd9, 0xce, 0x49, 0xce, 0x81, 0x6f, 0x9d, 0xd3, 6361 0xb5, 0xa7, 0x29, 0xe6, 0xb7, 0x86, 0x19, 0x90, 6362 0xdc, 0x07, 0x7b, 0xe3, 0x10, 0x8a, 0x97}; 6363 static const uint8_t test_vector_11_th_4_raw[] = { 6364 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 0x0a, 0xef, 6365 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 0x85, 0xf0, 6366 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 0xf8, 0x08, 6367 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 0xec, 0x2d}; 6368 static const uint8_t test_vector_11_th_4[] = { 6369 0x58, 0x20, 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 6370 0x0a, 0xef, 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 6371 0x85, 0xf0, 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 6372 0xf8, 0x08, 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 6373 0xec, 0x2d}; 6374 static const uint8_t test_vector_11_ead_4[] = { 6375 0x18, 0x29, 0x4e, 0x00, 0x01, 0x02, 0x03, 0x04, 6376 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 6377 0x0d, 0x18, 0x55, 0x19, 0x0e, 0x85}; 6378 static const uint8_t test_vector_11_p_4[] = { 6379 0x18, 0x29, 0x4e, 0x00, 0x01, 0x02, 0x03, 0x04, 6380 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 6381 0x0d, 0x18, 0x55, 0x19, 0x0e, 0x85}; 6382 static const uint8_t test_vector_11_a_4[] = { 6383 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6384 0x74, 0x30, 0x40, 0x58, 0x20, 0xb4, 0xe9, 0x08, 6385 0x38, 0x1f, 0x5b, 0x0a, 0xef, 0x12, 0xff, 0x38, 6386 0x7b, 0xb3, 0x63, 0x85, 0xf0, 0x36, 0x4f, 0xc1, 6387 0x17, 0x94, 0xec, 0xf8, 0x08, 0x00, 0x9d, 0x27, 6388 0x30, 0x0f, 0xbe, 0xec, 0x2d}; 6389 static const uint8_t test_vector_11_info_k_4[] = { 6390 0x58, 0x20, 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 6391 0x0a, 0xef, 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 6392 0x85, 0xf0, 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 6393 0xf8, 0x08, 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 6394 0xec, 0x2d, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 6395 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 6396 static const uint8_t test_vector_11_k_4_raw[] = { 6397 0x5a, 0xab, 0xde, 0x47, 0xa9, 0x95, 0x0f, 0xae, 6398 0x9b, 0xac, 0x23, 0x5f, 0xdf, 0xe9, 0xac, 0x33}; 6399 static const uint8_t test_vector_11_info_iv_4[] = { 6400 0x58, 0x20, 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 6401 0x0a, 0xef, 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 6402 0x85, 0xf0, 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 6403 0xf8, 0x08, 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 6404 0xec, 0x2d, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 6405 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 6406 static const uint8_t test_vector_11_iv_4_raw[] = { 6407 0x45, 0x9e, 0xc0, 0xd2, 0x5a, 0x4e, 0x4e, 0x6d, 6408 0xe8, 0xb7, 0x24, 0x8d, 0x12}; 6409 static const uint8_t test_vector_11_ciphertext_4_raw[] = { 6410 0xa3, 0x65, 0x1a, 0x10, 0xcb, 0xa8, 0x17, 0x47, 6411 0x95, 0x92, 0xec, 0x73, 0xf0, 0xaa, 0x0b, 0x02, 6412 0x0a, 0x42, 0x7e, 0x3e, 0xe6, 0xa3, 0x1a, 0x70, 6413 0xea, 0xed, 0xc9, 0x3d, 0x3f, 0x48}; 6414 static const uint8_t test_vector_11_ciphertext_4[] = { 6415 0x58, 0x1e, 0xa3, 0x65, 0x1a, 0x10, 0xcb, 0xa8, 6416 0x17, 0x47, 0x95, 0x92, 0xec, 0x73, 0xf0, 0xaa, 6417 0x0b, 0x02, 0x0a, 0x42, 0x7e, 0x3e, 0xe6, 0xa3, 6418 0x1a, 0x70, 0xea, 0xed, 0xc9, 0x3d, 0x3f, 0x48}; 6419 static const uint8_t test_vector_11_message_4[] = { 6420 0x58, 0x1e, 0xa3, 0x65, 0x1a, 0x10, 0xcb, 0xa8, 6421 0x17, 0x47, 0x95, 0x92, 0xec, 0x73, 0xf0, 0xaa, 6422 0x0b, 0x02, 0x0a, 0x42, 0x7e, 0x3e, 0xe6, 0xa3, 6423 0x1a, 0x70, 0xea, 0xed, 0xc9, 0x3d, 0x3f, 0x48}; 6424 int32_t test_vector_11_oscore_aead_alg = 10; 6425 int32_t test_vector_11_oscore_hash_alg = -16; 6426 static const uint8_t test_vector_11_client_sender_id_raw[] = { 6427 0x12, 0xb7}; 6428 static const uint8_t test_vector_11_server_sender_id_raw[] = { 6429 0x19, 0x74, 0x9e}; 6430 static const uint8_t test_vector_11_info_oscore_secret[] = { 6431 0x58, 0x20, 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 6432 0x0a, 0xef, 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 6433 0x85, 0xf0, 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 6434 0xf8, 0x08, 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 6435 0xec, 0x2d, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 6436 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 6437 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 6438 0x10}; 6439 static const uint8_t test_vector_11_oscore_secret_raw[] = { 6440 0xd7, 0x8d, 0x5b, 0xc9, 0x49, 0xe2, 0x28, 0x2e, 6441 0x8e, 0x16, 0xe2, 0x6a, 0x75, 0x57, 0xba, 0x27}; 6442 static const uint8_t test_vector_11_info_oscore_salt[] = { 6443 0x58, 0x20, 0xb4, 0xe9, 0x08, 0x38, 0x1f, 0x5b, 6444 0x0a, 0xef, 0x12, 0xff, 0x38, 0x7b, 0xb3, 0x63, 6445 0x85, 0xf0, 0x36, 0x4f, 0xc1, 0x17, 0x94, 0xec, 6446 0xf8, 0x08, 0x00, 0x9d, 0x27, 0x30, 0x0f, 0xbe, 6447 0xec, 0x2d, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 6448 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 6449 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 6450 static const uint8_t test_vector_11_oscore_salt_raw[] = { 6451 0x15, 0xfc, 0xab, 0x6f, 0xc3, 0x87, 0x30, 0x44}; 6452 static const uint8_t test_vector_11_key_update_nonce_raw[] = { 6453 0x7c, 0x51, 0xc4, 0xc4, 0x2d, 0x65, 0x51, 0x04, 6454 0xf4, 0xbf, 0x7a, 0x1e, 0x24, 0xf2, 0xdd, 0x48}; 6455 static const uint8_t test_vector_11_prk_4x3m_key_update_raw[] = { 6456 0x11, 0xc4, 0xa1, 0x8c, 0xbe, 0x44, 0xfa, 0x38, 6457 0x62, 0x45, 0x3d, 0xce, 0xea, 0x1b, 0x12, 0x4d, 6458 0xaf, 0x56, 0xb7, 0x49, 0xe8, 0x7b, 0x23, 0x4b, 6459 0x30, 0xdd, 0xfd, 0xca, 0x74, 0xc9, 0xe6, 0x82}; 6460 static const uint8_t test_vector_11_oscore_secret_key_update_raw[] = { 6461 0x7b, 0x9c, 0xae, 0x08, 0xe7, 0xb6, 0x8c, 0x7b, 6462 0x05, 0x7f, 0xb8, 0x54, 0xc1, 0x06, 0x50, 0x89}; 6463 static const uint8_t test_vector_11_oscore_salt_key_update_raw[] = { 6464 0x7b, 0xf6, 0x1d, 0x81, 0x6f, 0x30, 0xc9, 0x83}; 6465 6466 /***************** test_vector_12 ************/ 6467 6468 static const uint8_t test_vector_12_method[] = { 6469 0x03}; 6470 static const uint8_t test_vector_12_suites_i[] = { 6471 0x00}; 6472 static const uint8_t test_vector_12_suites_r[] = { 6473 0x00}; 6474 static const uint8_t test_vector_12_x_raw[] = { 6475 0xd6, 0x07, 0x15, 0xf0, 0x11, 0x58, 0xa5, 0xdc, 6476 0x8d, 0x57, 0x80, 0x9a, 0x11, 0xef, 0xe5, 0xe9, 6477 0x12, 0x8d, 0x62, 0x88, 0x38, 0x4b, 0x0d, 0xf7, 6478 0xbf, 0xd5, 0x7a, 0x03, 0xf4, 0x3b, 0xa0, 0x6d}; 6479 static const uint8_t test_vector_12_g_x_raw[] = { 6480 0xda, 0x88, 0x99, 0xb1, 0x32, 0x6d, 0xd5, 0x4e, 6481 0x70, 0x9a, 0x76, 0x98, 0x1d, 0x5e, 0xd8, 0x8a, 6482 0xff, 0xcf, 0x4f, 0xc8, 0xf1, 0xde, 0x73, 0x86, 6483 0xbe, 0xd0, 0x43, 0xec, 0x3c, 0xa2, 0x83, 0x70}; 6484 static const uint8_t test_vector_12_g_x[] = { 6485 0x58, 0x20, 0xda, 0x88, 0x99, 0xb1, 0x32, 0x6d, 6486 0xd5, 0x4e, 0x70, 0x9a, 0x76, 0x98, 0x1d, 0x5e, 6487 0xd8, 0x8a, 0xff, 0xcf, 0x4f, 0xc8, 0xf1, 0xde, 6488 0x73, 0x86, 0xbe, 0xd0, 0x43, 0xec, 0x3c, 0xa2, 6489 0x83, 0x70}; 6490 int32_t test_vector_12_c_i_raw = -10; 6491 static const uint8_t test_vector_12_c_i[] = { 6492 0x29}; 6493 static const uint8_t test_vector_12_ead_1[] = { 6494 }; 6495 static const uint8_t test_vector_12_message_1[] = { 6496 0x03, 0x00, 0x58, 0x20, 0xda, 0x88, 0x99, 0xb1, 6497 0x32, 0x6d, 0xd5, 0x4e, 0x70, 0x9a, 0x76, 0x98, 6498 0x1d, 0x5e, 0xd8, 0x8a, 0xff, 0xcf, 0x4f, 0xc8, 6499 0xf1, 0xde, 0x73, 0x86, 0xbe, 0xd0, 0x43, 0xec, 6500 0x3c, 0xa2, 0x83, 0x70, 0x29}; 6501 static const uint8_t test_vector_12_y_raw[] = { 6502 0xc6, 0xec, 0x4a, 0x5c, 0x91, 0x18, 0x5e, 0x10, 6503 0xe7, 0x67, 0x89, 0x97, 0xec, 0x13, 0xee, 0xe7, 6504 0x46, 0x0e, 0x79, 0x7f, 0x00, 0x5a, 0xc0, 0xcf, 6505 0xcc, 0xf2, 0x0f, 0x47, 0x0a, 0xd1, 0x00, 0xf6}; 6506 static const uint8_t test_vector_12_g_y_raw[] = { 6507 0xd6, 0x2a, 0xdd, 0xfb, 0xd5, 0x1e, 0x62, 0x93, 6508 0xc1, 0x62, 0x71, 0x0c, 0x52, 0xa8, 0xa5, 0xc6, 6509 0x3b, 0x39, 0x0b, 0x6d, 0xa2, 0x04, 0xb0, 0x62, 6510 0xdf, 0x4b, 0x19, 0x25, 0xb4, 0x97, 0x73, 0x1a}; 6511 static const uint8_t test_vector_12_g_y[] = { 6512 0x58, 0x20, 0xd6, 0x2a, 0xdd, 0xfb, 0xd5, 0x1e, 6513 0x62, 0x93, 0xc1, 0x62, 0x71, 0x0c, 0x52, 0xa8, 6514 0xa5, 0xc6, 0x3b, 0x39, 0x0b, 0x6d, 0xa2, 0x04, 6515 0xb0, 0x62, 0xdf, 0x4b, 0x19, 0x25, 0xb4, 0x97, 6516 0x73, 0x1a}; 6517 static const uint8_t test_vector_12_g_xy_raw[] = { 6518 0xfc, 0x1b, 0xe7, 0xed, 0x01, 0xfb, 0x12, 0x4b, 6519 0xbb, 0x8e, 0xf2, 0x19, 0x75, 0xd4, 0x63, 0x27, 6520 0xa0, 0x84, 0xd1, 0x1c, 0x95, 0x72, 0x6d, 0x95, 6521 0xef, 0x92, 0x39, 0x72, 0xb1, 0xc8, 0xac, 0x77}; 6522 static const uint8_t test_vector_12_salt_raw[] = { 6523 }; 6524 static const uint8_t test_vector_12_prk_2e_raw[] = { 6525 0x02, 0x97, 0x35, 0x8f, 0x21, 0xb7, 0xc2, 0x69, 6526 0xda, 0xb9, 0xa7, 0x27, 0x52, 0xb5, 0xc5, 0x83, 6527 0x94, 0x6e, 0x68, 0x38, 0xb9, 0x57, 0x3f, 0xb3, 6528 0xe1, 0xc1, 0x1f, 0xda, 0x5f, 0xf7, 0x42, 0x2b}; 6529 static const uint8_t test_vector_12_r_raw[] = { 6530 0x3c, 0xe0, 0xae, 0x3e, 0x39, 0x60, 0xd4, 0x84, 6531 0x05, 0x06, 0x3d, 0x32, 0x55, 0xf8, 0x08, 0x79, 6532 0xe4, 0xa4, 0xfc, 0xd0, 0xb1, 0x5f, 0x4a, 0x70, 6533 0x95, 0x30, 0xfd, 0x74, 0x9e, 0xbd, 0x64, 0x71}; 6534 static const uint8_t test_vector_12_g_r_raw[] = { 6535 0x04, 0x35, 0x39, 0x8d, 0xdf, 0xbf, 0xa2, 0xae, 6536 0x29, 0x4d, 0xe5, 0x78, 0xa8, 0x5b, 0x31, 0xfd, 6537 0x7a, 0x7a, 0xce, 0xd9, 0xcf, 0x26, 0x5e, 0x6f, 6538 0x9b, 0xcc, 0x1b, 0x8f, 0xbf, 0xa9, 0xf7, 0x6b}; 6539 static const uint8_t test_vector_12_g_rx_raw[] = { 6540 0x29, 0x2b, 0x17, 0x32, 0xfe, 0xbe, 0x27, 0xdf, 6541 0x7f, 0xe7, 0x37, 0xbe, 0xde, 0x2e, 0x1b, 0xd2, 6542 0xd1, 0x69, 0x87, 0xcd, 0x95, 0x17, 0x2a, 0x20, 6543 0xfb, 0x60, 0x74, 0xb3, 0xa7, 0x1f, 0x32, 0x27}; 6544 static const uint8_t test_vector_12_prk_3e2m_raw[] = { 6545 0x2a, 0x00, 0x11, 0xb6, 0xab, 0x5a, 0xa3, 0xd6, 6546 0x55, 0xdc, 0xd3, 0xe9, 0x45, 0x2f, 0x2c, 0x4f, 6547 0x72, 0xbe, 0x63, 0x84, 0xd4, 0x0c, 0x9e, 0x4c, 6548 0x57, 0xe5, 0x02, 0xa9, 0x1b, 0x77, 0x64, 0xb0}; 6549 int32_t test_vector_12_c_r_raw = -19; 6550 static const uint8_t test_vector_12_c_r[] = { 6551 0x32}; 6552 static const uint8_t test_vector_12_h_message_1_raw[] = { 6553 0xc5, 0x6e, 0x1e, 0x8b, 0x50, 0x06, 0xc1, 0x0e, 6554 0x8e, 0xc3, 0x63, 0xaa, 0x30, 0x27, 0x74, 0xcb, 6555 0xd4, 0xda, 0xb7, 0x81, 0x53, 0x8b, 0xa5, 0x04, 6556 0x66, 0xf0, 0xec, 0xff, 0x54, 0xa5, 0x23, 0xbf}; 6557 static const uint8_t test_vector_12_h_message_1[] = { 6558 0x58, 0x20, 0xc5, 0x6e, 0x1e, 0x8b, 0x50, 0x06, 6559 0xc1, 0x0e, 0x8e, 0xc3, 0x63, 0xaa, 0x30, 0x27, 6560 0x74, 0xcb, 0xd4, 0xda, 0xb7, 0x81, 0x53, 0x8b, 6561 0xa5, 0x04, 0x66, 0xf0, 0xec, 0xff, 0x54, 0xa5, 6562 0x23, 0xbf}; 6563 static const uint8_t test_vector_12_input_th_2[] = { 6564 0x58, 0x20, 0xc5, 0x6e, 0x1e, 0x8b, 0x50, 0x06, 6565 0xc1, 0x0e, 0x8e, 0xc3, 0x63, 0xaa, 0x30, 0x27, 6566 0x74, 0xcb, 0xd4, 0xda, 0xb7, 0x81, 0x53, 0x8b, 6567 0xa5, 0x04, 0x66, 0xf0, 0xec, 0xff, 0x54, 0xa5, 6568 0x23, 0xbf, 0x58, 0x20, 0xd6, 0x2a, 0xdd, 0xfb, 6569 0xd5, 0x1e, 0x62, 0x93, 0xc1, 0x62, 0x71, 0x0c, 6570 0x52, 0xa8, 0xa5, 0xc6, 0x3b, 0x39, 0x0b, 0x6d, 6571 0xa2, 0x04, 0xb0, 0x62, 0xdf, 0x4b, 0x19, 0x25, 6572 0xb4, 0x97, 0x73, 0x1a, 0x32}; 6573 static const uint8_t test_vector_12_th_2_raw[] = { 6574 0x00, 0x38, 0x1c, 0xd4, 0x16, 0xf9, 0x66, 0x3c, 6575 0xab, 0x74, 0xc6, 0xd8, 0x17, 0xf6, 0xe2, 0x08, 6576 0x43, 0xc1, 0x9e, 0xe2, 0x4a, 0xd0, 0x62, 0xd6, 6577 0x4a, 0x7d, 0x86, 0x21, 0xf8, 0x57, 0x07, 0x96}; 6578 static const uint8_t test_vector_12_th_2[] = { 6579 0x58, 0x20, 0x00, 0x38, 0x1c, 0xd4, 0x16, 0xf9, 6580 0x66, 0x3c, 0xab, 0x74, 0xc6, 0xd8, 0x17, 0xf6, 6581 0xe2, 0x08, 0x43, 0xc1, 0x9e, 0xe2, 0x4a, 0xd0, 6582 0x62, 0xd6, 0x4a, 0x7d, 0x86, 0x21, 0xf8, 0x57, 6583 0x07, 0x96}; 6584 static const uint8_t test_vector_12_id_cred_r[] = { 6585 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xdd, 0xad, 6586 0xeb, 0x66, 0x0f, 0xe8, 0x90, 0x2c}; 6587 static const uint8_t test_vector_12_cred_r[] = { 6588 0x58, 0x66, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6589 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6590 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6591 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6592 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6593 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6594 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6595 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6596 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6597 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6598 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6599 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6600 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65}; 6601 static const uint8_t test_vector_12_ead_2[] = { 6602 }; 6603 static const uint8_t test_vector_12_info_mac_2[] = { 6604 0x58, 0x20, 0x00, 0x38, 0x1c, 0xd4, 0x16, 0xf9, 6605 0x66, 0x3c, 0xab, 0x74, 0xc6, 0xd8, 0x17, 0xf6, 6606 0xe2, 0x08, 0x43, 0xc1, 0x9e, 0xe2, 0x4a, 0xd0, 6607 0x62, 0xd6, 0x4a, 0x7d, 0x86, 0x21, 0xf8, 0x57, 6608 0x07, 0x96, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 6609 0x58, 0x76, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 6610 0xdd, 0xad, 0xeb, 0x66, 0x0f, 0xe8, 0x90, 0x2c, 6611 0x58, 0x66, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6612 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6613 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6614 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6615 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6616 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6617 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6618 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6619 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6620 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6621 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6622 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6623 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 6624 0x08}; 6625 static const uint8_t test_vector_12_mac_2_raw[] = { 6626 0x4f, 0x63, 0x06, 0x31, 0x07, 0x35, 0xbb, 0x59}; 6627 static const uint8_t test_vector_12_mac_2[] = { 6628 0x48, 0x4f, 0x63, 0x06, 0x31, 0x07, 0x35, 0xbb, 6629 0x59}; 6630 static const uint8_t test_vector_12_sig_or_mac_2_raw[] = { 6631 0x4f, 0x63, 0x06, 0x31, 0x07, 0x35, 0xbb, 0x59}; 6632 static const uint8_t test_vector_12_sig_or_mac_2[] = { 6633 0x48, 0x4f, 0x63, 0x06, 0x31, 0x07, 0x35, 0xbb, 6634 0x59}; 6635 static const uint8_t test_vector_12_plaintext_2[] = { 6636 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0xdd, 0xad, 6637 0xeb, 0x66, 0x0f, 0xe8, 0x90, 0x2c, 0x48, 0x4f, 6638 0x63, 0x06, 0x31, 0x07, 0x35, 0xbb, 0x59}; 6639 static const uint8_t test_vector_12_info_keystream_2[] = { 6640 0x58, 0x20, 0x00, 0x38, 0x1c, 0xd4, 0x16, 0xf9, 6641 0x66, 0x3c, 0xab, 0x74, 0xc6, 0xd8, 0x17, 0xf6, 6642 0xe2, 0x08, 0x43, 0xc1, 0x9e, 0xe2, 0x4a, 0xd0, 6643 0x62, 0xd6, 0x4a, 0x7d, 0x86, 0x21, 0xf8, 0x57, 6644 0x07, 0x96, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 6645 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x17}; 6646 static const uint8_t test_vector_12_keystream_2_raw[] = { 6647 0x77, 0xec, 0x41, 0x80, 0x0e, 0xfe, 0x4d, 0x69, 6648 0xf4, 0xbd, 0x46, 0x92, 0x87, 0xef, 0xba, 0x04, 6649 0x03, 0x8f, 0xa5, 0xca, 0xff, 0xa2, 0x29}; 6650 static const uint8_t test_vector_12_ciphertext_2_raw[] = { 6651 0xd6, 0xf4, 0x63, 0x02, 0x20, 0xb6, 0x90, 0xc4, 6652 0x1f, 0xdb, 0x49, 0x7a, 0x17, 0xc3, 0xf2, 0x4b, 6653 0x60, 0x89, 0x94, 0xcd, 0xca, 0x19, 0x70}; 6654 static const uint8_t test_vector_12_ciphertext_2[] = { 6655 0x57, 0xd6, 0xf4, 0x63, 0x02, 0x20, 0xb6, 0x90, 6656 0xc4, 0x1f, 0xdb, 0x49, 0x7a, 0x17, 0xc3, 0xf2, 6657 0x4b, 0x60, 0x89, 0x94, 0xcd, 0xca, 0x19, 0x70}; 6658 static const uint8_t test_vector_12_message_2[] = { 6659 0x58, 0x37, 0xd6, 0x2a, 0xdd, 0xfb, 0xd5, 0x1e, 6660 0x62, 0x93, 0xc1, 0x62, 0x71, 0x0c, 0x52, 0xa8, 6661 0xa5, 0xc6, 0x3b, 0x39, 0x0b, 0x6d, 0xa2, 0x04, 6662 0xb0, 0x62, 0xdf, 0x4b, 0x19, 0x25, 0xb4, 0x97, 6663 0x73, 0x1a, 0xd6, 0xf4, 0x63, 0x02, 0x20, 0xb6, 6664 0x90, 0xc4, 0x1f, 0xdb, 0x49, 0x7a, 0x17, 0xc3, 6665 0xf2, 0x4b, 0x60, 0x89, 0x94, 0xcd, 0xca, 0x19, 6666 0x70, 0x32}; 6667 static const uint8_t test_vector_12_i_raw[] = { 6668 0xf5, 0xe3, 0x07, 0x14, 0xcc, 0xb4, 0xfa, 0xf9, 6669 0xb9, 0xcd, 0x7d, 0xc4, 0x01, 0x20, 0x2a, 0x25, 6670 0xac, 0x78, 0x89, 0x47, 0xb3, 0x14, 0x37, 0x81, 6671 0xc6, 0x0c, 0x09, 0x9d, 0x2d, 0x4b, 0xe3, 0x75}; 6672 static const uint8_t test_vector_12_g_i_raw[] = { 6673 0x5d, 0x6f, 0x9b, 0x54, 0x6d, 0x4b, 0x1c, 0xc7, 6674 0xa5, 0xc9, 0x6f, 0xe6, 0xfc, 0xdd, 0xd8, 0x17, 6675 0xad, 0x24, 0x2a, 0x7a, 0x49, 0x80, 0xc6, 0xd6, 6676 0xd4, 0x2b, 0x39, 0x9d, 0x9c, 0xad, 0x31, 0x58}; 6677 static const uint8_t test_vector_12_g_iy_raw[] = { 6678 0x50, 0xe5, 0x9b, 0x2b, 0xc5, 0x22, 0x3b, 0x8f, 6679 0x8b, 0x91, 0x08, 0xb3, 0x9b, 0x12, 0x64, 0x24, 6680 0x0d, 0x1c, 0x40, 0xe6, 0x7b, 0xec, 0x67, 0xdf, 6681 0x02, 0xa5, 0x64, 0xbf, 0x12, 0x6c, 0xfa, 0x7c}; 6682 static const uint8_t test_vector_12_prk_4x3m_raw[] = { 6683 0xc4, 0xb5, 0x7a, 0x51, 0x86, 0x04, 0x5d, 0x34, 6684 0xc5, 0x3d, 0x36, 0xcb, 0x74, 0x2b, 0x9b, 0xee, 6685 0x02, 0x26, 0xd6, 0xa2, 0xdc, 0x42, 0x94, 0xa2, 6686 0x5b, 0x44, 0x34, 0x1b, 0x39, 0xb8, 0xef, 0x3c}; 6687 static const uint8_t test_vector_12_input_TH_3[] = { 6688 0x58, 0x20, 0x00, 0x38, 0x1c, 0xd4, 0x16, 0xf9, 6689 0x66, 0x3c, 0xab, 0x74, 0xc6, 0xd8, 0x17, 0xf6, 6690 0xe2, 0x08, 0x43, 0xc1, 0x9e, 0xe2, 0x4a, 0xd0, 6691 0x62, 0xd6, 0x4a, 0x7d, 0x86, 0x21, 0xf8, 0x57, 6692 0x07, 0x96, 0x57, 0xd6, 0xf4, 0x63, 0x02, 0x20, 6693 0xb6, 0x90, 0xc4, 0x1f, 0xdb, 0x49, 0x7a, 0x17, 6694 0xc3, 0xf2, 0x4b, 0x60, 0x89, 0x94, 0xcd, 0xca, 6695 0x19, 0x70}; 6696 static const uint8_t test_vector_12_th_3_raw[] = { 6697 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 0x9e, 0x24, 6698 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 0x0f, 0x1a, 6699 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 0x3e, 0x27, 6700 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 0x7d, 0xa0}; 6701 static const uint8_t test_vector_12_th_3[] = { 6702 0x58, 0x20, 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 6703 0x9e, 0x24, 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 6704 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 6705 0x3e, 0x27, 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 6706 0x7d, 0xa0}; 6707 static const uint8_t test_vector_12_id_cred_i[] = { 6708 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x92, 0xca, 6709 0x0f, 0xa6, 0x65, 0x1e, 0xe2, 0xf9}; 6710 static const uint8_t test_vector_12_cred_i[] = { 6711 0x58, 0x7f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6712 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6713 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6714 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6715 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6716 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6717 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6718 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6719 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6720 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6721 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6722 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6723 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 6724 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 6725 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 6726 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 6727 0x7e}; 6728 static const uint8_t test_vector_12_ead_3[] = { 6729 }; 6730 static const uint8_t test_vector_12_info_mac_3[] = { 6731 0x58, 0x20, 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 6732 0x9e, 0x24, 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 6733 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 6734 0x3e, 0x27, 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 6735 0x7d, 0xa0, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 6736 0x58, 0x8f, 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 6737 0x92, 0xca, 0x0f, 0xa6, 0x65, 0x1e, 0xe2, 0xf9, 6738 0x58, 0x7f, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 6739 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 6740 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 6741 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 6742 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 6743 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 6744 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 6745 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 6746 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 6747 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 6748 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 6749 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 6750 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 6751 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 6752 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 6753 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 6754 0x7e, 0x08}; 6755 static const uint8_t test_vector_12_mac_3_raw[] = { 6756 0x13, 0x10, 0x09, 0x2c, 0xc7, 0x1d, 0xe6, 0x47}; 6757 static const uint8_t test_vector_12_mac_3[] = { 6758 0x48, 0x13, 0x10, 0x09, 0x2c, 0xc7, 0x1d, 0xe6, 6759 0x47}; 6760 static const uint8_t test_vector_12_sig_or_mac_3_raw[] = { 6761 0x13, 0x10, 0x09, 0x2c, 0xc7, 0x1d, 0xe6, 0x47}; 6762 static const uint8_t test_vector_12_sig_or_mac_3[] = { 6763 0x48, 0x13, 0x10, 0x09, 0x2c, 0xc7, 0x1d, 0xe6, 6764 0x47}; 6765 static const uint8_t test_vector_12_p_3[] = { 6766 0xa1, 0x18, 0x22, 0x82, 0x2e, 0x48, 0x92, 0xca, 6767 0x0f, 0xa6, 0x65, 0x1e, 0xe2, 0xf9, 0x48, 0x13, 6768 0x10, 0x09, 0x2c, 0xc7, 0x1d, 0xe6, 0x47}; 6769 static const uint8_t test_vector_12_a_3[] = { 6770 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6771 0x74, 0x30, 0x40, 0x58, 0x20, 0x48, 0x59, 0xbc, 6772 0x01, 0x35, 0xf6, 0x9e, 0x24, 0x34, 0xe9, 0x55, 6773 0xfe, 0x9e, 0x51, 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 6774 0xbc, 0x1b, 0xf8, 0x3e, 0x27, 0x05, 0x3c, 0x59, 6775 0x98, 0x21, 0xe9, 0x7d, 0xa0}; 6776 static const uint8_t test_vector_12_info_k_3[] = { 6777 0x58, 0x20, 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 6778 0x9e, 0x24, 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 6779 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 6780 0x3e, 0x27, 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 6781 0x7d, 0xa0, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 6782 static const uint8_t test_vector_12_k_3_raw[] = { 6783 0xd8, 0xb2, 0xc8, 0x22, 0x3f, 0x91, 0x32, 0xc1, 6784 0x16, 0x99, 0x29, 0x14, 0x20, 0x8a, 0x1a, 0xfb}; 6785 static const uint8_t test_vector_12_info_iv_3[] = { 6786 0x58, 0x20, 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 6787 0x9e, 0x24, 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 6788 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 6789 0x3e, 0x27, 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 6790 0x7d, 0xa0, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 6791 0x0d}; 6792 static const uint8_t test_vector_12_iv_3_raw[] = { 6793 0xf6, 0x35, 0x15, 0xac, 0xae, 0xdf, 0xaf, 0x05, 6794 0xa6, 0xb4, 0xe2, 0x05, 0xe2}; 6795 static const uint8_t test_vector_12_ciphertext_3_raw[] = { 6796 0x40, 0x62, 0x4d, 0xd0, 0x2a, 0xbb, 0xd6, 0x87, 6797 0x90, 0xdd, 0xd7, 0x36, 0xa7, 0xb8, 0x66, 0xaa, 6798 0x84, 0x21, 0x3f, 0xc6, 0xeb, 0x44, 0x0a, 0xfc, 6799 0xf6, 0xe0, 0x9d, 0x29, 0xd2, 0xbb, 0x4d}; 6800 static const uint8_t test_vector_12_ciphertext_3[] = { 6801 0x58, 0x1f, 0x40, 0x62, 0x4d, 0xd0, 0x2a, 0xbb, 6802 0xd6, 0x87, 0x90, 0xdd, 0xd7, 0x36, 0xa7, 0xb8, 6803 0x66, 0xaa, 0x84, 0x21, 0x3f, 0xc6, 0xeb, 0x44, 6804 0x0a, 0xfc, 0xf6, 0xe0, 0x9d, 0x29, 0xd2, 0xbb, 6805 0x4d}; 6806 static const uint8_t test_vector_12_message_3[] = { 6807 0x58, 0x1f, 0x40, 0x62, 0x4d, 0xd0, 0x2a, 0xbb, 6808 0xd6, 0x87, 0x90, 0xdd, 0xd7, 0x36, 0xa7, 0xb8, 6809 0x66, 0xaa, 0x84, 0x21, 0x3f, 0xc6, 0xeb, 0x44, 6810 0x0a, 0xfc, 0xf6, 0xe0, 0x9d, 0x29, 0xd2, 0xbb, 6811 0x4d}; 6812 static const uint8_t test_vector_12_input_th_4[] = { 6813 0x58, 0x20, 0x48, 0x59, 0xbc, 0x01, 0x35, 0xf6, 6814 0x9e, 0x24, 0x34, 0xe9, 0x55, 0xfe, 0x9e, 0x51, 6815 0x0f, 0x1a, 0x02, 0x4d, 0xbc, 0xbc, 0x1b, 0xf8, 6816 0x3e, 0x27, 0x05, 0x3c, 0x59, 0x98, 0x21, 0xe9, 6817 0x7d, 0xa0, 0x58, 0x1f, 0x40, 0x62, 0x4d, 0xd0, 6818 0x2a, 0xbb, 0xd6, 0x87, 0x90, 0xdd, 0xd7, 0x36, 6819 0xa7, 0xb8, 0x66, 0xaa, 0x84, 0x21, 0x3f, 0xc6, 6820 0xeb, 0x44, 0x0a, 0xfc, 0xf6, 0xe0, 0x9d, 0x29, 6821 0xd2, 0xbb, 0x4d}; 6822 static const uint8_t test_vector_12_th_4_raw[] = { 6823 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 0x57, 0x74, 6824 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 0x0a, 0x6b, 6825 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 0x91, 0x35, 6826 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 0xbe, 0x7d}; 6827 static const uint8_t test_vector_12_th_4[] = { 6828 0x58, 0x20, 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 6829 0x57, 0x74, 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 6830 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 6831 0x91, 0x35, 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 6832 0xbe, 0x7d}; 6833 static const uint8_t test_vector_12_ead_4[] = { 6834 }; 6835 static const uint8_t test_vector_12_p_4[] = { 6836 }; 6837 static const uint8_t test_vector_12_a_4[] = { 6838 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 6839 0x74, 0x30, 0x40, 0x58, 0x20, 0x0f, 0xea, 0x2d, 6840 0xe0, 0xef, 0xc3, 0x57, 0x74, 0x45, 0x02, 0x3f, 6841 0xb7, 0x30, 0xd0, 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 6842 0x27, 0xda, 0xf5, 0x91, 0x35, 0x75, 0x33, 0x67, 6843 0x1a, 0xe9, 0xcc, 0xbe, 0x7d}; 6844 static const uint8_t test_vector_12_info_k_4[] = { 6845 0x58, 0x20, 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 6846 0x57, 0x74, 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 6847 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 6848 0x91, 0x35, 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 6849 0xbe, 0x7d, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 6850 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 6851 static const uint8_t test_vector_12_k_4_raw[] = { 6852 0x19, 0xd0, 0x37, 0x51, 0xa6, 0xbd, 0x88, 0xf0, 6853 0x7a, 0x21, 0x32, 0x74, 0xc0, 0xf4, 0xf2, 0xbb}; 6854 static const uint8_t test_vector_12_info_iv_4[] = { 6855 0x58, 0x20, 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 6856 0x57, 0x74, 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 6857 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 6858 0x91, 0x35, 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 6859 0xbe, 0x7d, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 6860 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 6861 static const uint8_t test_vector_12_iv_4_raw[] = { 6862 0x2c, 0x92, 0x34, 0xda, 0x0c, 0x91, 0x93, 0x89, 6863 0x36, 0xfc, 0x82, 0x20, 0x76}; 6864 static const uint8_t test_vector_12_ciphertext_4_raw[] = { 6865 0x4c, 0xb8, 0x96, 0x75, 0x05, 0x5e, 0xf3, 0x53}; 6866 static const uint8_t test_vector_12_ciphertext_4[] = { 6867 0x48, 0x4c, 0xb8, 0x96, 0x75, 0x05, 0x5e, 0xf3, 6868 0x53}; 6869 static const uint8_t test_vector_12_message_4[] = { 6870 0x48, 0x4c, 0xb8, 0x96, 0x75, 0x05, 0x5e, 0xf3, 6871 0x53}; 6872 int32_t test_vector_12_oscore_aead_alg = 10; 6873 int32_t test_vector_12_oscore_hash_alg = -16; 6874 static const uint8_t test_vector_12_client_sender_id_raw[] = { 6875 0x32}; 6876 static const uint8_t test_vector_12_server_sender_id_raw[] = { 6877 0x29}; 6878 static const uint8_t test_vector_12_info_oscore_secret[] = { 6879 0x58, 0x20, 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 6880 0x57, 0x74, 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 6881 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 6882 0x91, 0x35, 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 6883 0xbe, 0x7d, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 6884 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 6885 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 6886 0x10}; 6887 static const uint8_t test_vector_12_oscore_secret_raw[] = { 6888 0x04, 0xa3, 0xbf, 0x1c, 0x2e, 0x55, 0xe0, 0x69, 6889 0x41, 0x46, 0xdb, 0x6e, 0x82, 0xfd, 0xd9, 0x31}; 6890 static const uint8_t test_vector_12_info_oscore_salt[] = { 6891 0x58, 0x20, 0x0f, 0xea, 0x2d, 0xe0, 0xef, 0xc3, 6892 0x57, 0x74, 0x45, 0x02, 0x3f, 0xb7, 0x30, 0xd0, 6893 0x0a, 0x6b, 0x3e, 0x3e, 0xd4, 0x27, 0xda, 0xf5, 6894 0x91, 0x35, 0x75, 0x33, 0x67, 0x1a, 0xe9, 0xcc, 6895 0xbe, 0x7d, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 6896 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 6897 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 6898 static const uint8_t test_vector_12_oscore_salt_raw[] = { 6899 0xb7, 0x29, 0x4f, 0xe8, 0x50, 0x72, 0x85, 0x02}; 6900 static const uint8_t test_vector_12_key_update_nonce_raw[] = { 6901 0x7d, 0xfa, 0x26, 0x6e, 0x22, 0x8e, 0x1f, 0xa2, 6902 0x64, 0x68, 0xee, 0x5a, 0x0e, 0x38, 0x56, 0xdb}; 6903 static const uint8_t test_vector_12_prk_4x3m_key_update_raw[] = { 6904 0x17, 0x98, 0x2b, 0x42, 0x76, 0x33, 0xf9, 0x28, 6905 0x3d, 0x84, 0x10, 0xd6, 0xc0, 0xc5, 0x89, 0x5f, 6906 0xe4, 0x38, 0x0b, 0xca, 0x72, 0x56, 0xc3, 0x27, 6907 0x7e, 0xa1, 0xae, 0x21, 0xd6, 0x8f, 0xd2, 0x83}; 6908 static const uint8_t test_vector_12_oscore_secret_key_update_raw[] = { 6909 0x6b, 0x06, 0x78, 0x18, 0x1a, 0xf8, 0xdb, 0x3b, 6910 0xf8, 0xa3, 0x37, 0x6e, 0x7d, 0x04, 0x59, 0x5e}; 6911 static const uint8_t test_vector_12_oscore_salt_key_update_raw[] = { 6912 0x42, 0x9d, 0x2d, 0x0c, 0x0e, 0xbe, 0x60, 0xb7}; 6913 6914 /***************** test_vector_13 ************/ 6915 6916 static const uint8_t test_vector_13_method[] = { 6917 0x00}; 6918 static const uint8_t test_vector_13_suites_i[] = { 6919 0x00}; 6920 static const uint8_t test_vector_13_suites_r[] = { 6921 0x00}; 6922 static const uint8_t test_vector_13_x_raw[] = { 6923 0xfc, 0x51, 0x92, 0x73, 0xc0, 0x1d, 0xca, 0xc0, 6924 0x94, 0xde, 0x78, 0xa0, 0x53, 0x9d, 0x45, 0xfe, 6925 0x36, 0xa9, 0x44, 0xa2, 0x4d, 0x11, 0xce, 0x8c, 6926 0x87, 0x81, 0x99, 0x42, 0x02, 0xbf, 0x8a, 0x46}; 6927 static const uint8_t test_vector_13_g_x_raw[] = { 6928 0x9f, 0x38, 0xd3, 0xec, 0x37, 0x3c, 0xa0, 0xd3, 6929 0x88, 0x8b, 0x4e, 0x1b, 0xf3, 0x20, 0x1d, 0x00, 6930 0xc6, 0xd8, 0xfa, 0x9b, 0x01, 0xcd, 0x86, 0x6d, 6931 0xd0, 0x66, 0x23, 0x51, 0xae, 0xaf, 0xd7, 0x12}; 6932 static const uint8_t test_vector_13_g_x[] = { 6933 0x58, 0x20, 0x9f, 0x38, 0xd3, 0xec, 0x37, 0x3c, 6934 0xa0, 0xd3, 0x88, 0x8b, 0x4e, 0x1b, 0xf3, 0x20, 6935 0x1d, 0x00, 0xc6, 0xd8, 0xfa, 0x9b, 0x01, 0xcd, 6936 0x86, 0x6d, 0xd0, 0x66, 0x23, 0x51, 0xae, 0xaf, 6937 0xd7, 0x12}; 6938 int32_t test_vector_13_c_i_raw = -20; 6939 static const uint8_t test_vector_13_c_i[] = { 6940 0x33}; 6941 static const uint8_t test_vector_13_ead_1[] = { 6942 }; 6943 static const uint8_t test_vector_13_message_1[] = { 6944 0x00, 0x00, 0x58, 0x20, 0x9f, 0x38, 0xd3, 0xec, 6945 0x37, 0x3c, 0xa0, 0xd3, 0x88, 0x8b, 0x4e, 0x1b, 6946 0xf3, 0x20, 0x1d, 0x00, 0xc6, 0xd8, 0xfa, 0x9b, 6947 0x01, 0xcd, 0x86, 0x6d, 0xd0, 0x66, 0x23, 0x51, 6948 0xae, 0xaf, 0xd7, 0x12, 0x33}; 6949 static const uint8_t test_vector_13_y_raw[] = { 6950 0x90, 0x59, 0xc6, 0x98, 0xa4, 0x9b, 0x90, 0xa3, 6951 0x4f, 0x42, 0x2c, 0x6f, 0xb6, 0x37, 0xf3, 0x7f, 6952 0xb5, 0x29, 0xf2, 0x88, 0xca, 0x70, 0x78, 0xb2, 6953 0x63, 0x88, 0x66, 0x16, 0xba, 0x1e, 0xc2, 0xe7}; 6954 static const uint8_t test_vector_13_g_y_raw[] = { 6955 0x59, 0x0b, 0x2b, 0xb6, 0x5d, 0x00, 0x11, 0x76, 6956 0x34, 0x0c, 0xb4, 0xab, 0x8d, 0x37, 0x97, 0x37, 6957 0x04, 0x14, 0x7c, 0xb4, 0xe5, 0x2b, 0xee, 0x25, 6958 0x3e, 0x7d, 0x3f, 0xbb, 0x47, 0x64, 0x26, 0x2c}; 6959 static const uint8_t test_vector_13_g_y[] = { 6960 0x58, 0x20, 0x59, 0x0b, 0x2b, 0xb6, 0x5d, 0x00, 6961 0x11, 0x76, 0x34, 0x0c, 0xb4, 0xab, 0x8d, 0x37, 6962 0x97, 0x37, 0x04, 0x14, 0x7c, 0xb4, 0xe5, 0x2b, 6963 0xee, 0x25, 0x3e, 0x7d, 0x3f, 0xbb, 0x47, 0x64, 6964 0x26, 0x2c}; 6965 static const uint8_t test_vector_13_g_xy_raw[] = { 6966 0xb1, 0xa3, 0xff, 0x1a, 0x19, 0xc2, 0x63, 0x40, 6967 0x1d, 0xca, 0x87, 0x12, 0xb2, 0xe5, 0xd8, 0x9f, 6968 0x59, 0xd5, 0xfd, 0xa5, 0x3e, 0xee, 0xbc, 0xde, 6969 0x9a, 0xc5, 0x13, 0xa3, 0xf0, 0x58, 0xc4, 0x5a}; 6970 static const uint8_t test_vector_13_salt_raw[] = { 6971 }; 6972 static const uint8_t test_vector_13_prk_2e_raw[] = { 6973 0xe3, 0xd3, 0x78, 0x8f, 0xa9, 0x18, 0x12, 0x28, 6974 0xe5, 0xa2, 0xb9, 0x43, 0xca, 0x15, 0x23, 0x8b, 6975 0x6e, 0xb3, 0x1d, 0xf0, 0x8d, 0xc7, 0x91, 0x12, 6976 0x3e, 0xd3, 0xe2, 0xf3, 0x0a, 0x8a, 0xb7, 0xad}; 6977 static const uint8_t test_vector_13_sk_r_raw[] = { 6978 0xe8, 0xc3, 0xde, 0x7d, 0xfb, 0xdd, 0xd6, 0x03, 6979 0x62, 0x06, 0x85, 0xb5, 0x4e, 0x77, 0xd0, 0x33, 6980 0xf6, 0x5d, 0xc5, 0xa6, 0xe9, 0xda, 0x89, 0xeb, 6981 0xa3, 0x4c, 0x91, 0xf5, 0x5f, 0xd1, 0x15, 0x6c}; 6982 static const uint8_t test_vector_13_pk_r_raw[] = { 6983 0x23, 0x02, 0x1d, 0x83, 0xfb, 0xb2, 0x84, 0x65, 6984 0x97, 0x1c, 0xf9, 0x53, 0x7a, 0x42, 0x64, 0xf8, 6985 0x08, 0x9c, 0xd9, 0x0e, 0x65, 0x9d, 0x99, 0xcf, 6986 0x2e, 0xed, 0x74, 0xd0, 0xa2, 0x88, 0x07, 0xb9}; 6987 static const uint8_t test_vector_13_prk_3e2m_raw[] = { 6988 0xe3, 0xd3, 0x78, 0x8f, 0xa9, 0x18, 0x12, 0x28, 6989 0xe5, 0xa2, 0xb9, 0x43, 0xca, 0x15, 0x23, 0x8b, 6990 0x6e, 0xb3, 0x1d, 0xf0, 0x8d, 0xc7, 0x91, 0x12, 6991 0x3e, 0xd3, 0xe2, 0xf3, 0x0a, 0x8a, 0xb7, 0xad}; 6992 int32_t test_vector_13_c_r_raw = -15; 6993 static const uint8_t test_vector_13_c_r[] = { 6994 0x2e}; 6995 static const uint8_t test_vector_13_h_message_1_raw[] = { 6996 0x38, 0x28, 0x3a, 0x89, 0xdd, 0x39, 0x73, 0x21, 6997 0x48, 0xe1, 0x65, 0x4f, 0x94, 0xbd, 0xdf, 0x7c, 6998 0xef, 0x79, 0x14, 0xc1, 0xaf, 0x0d, 0xfe, 0xc7, 6999 0xd7, 0x01, 0x50, 0x6f, 0x88, 0x8d, 0x2f, 0xc0}; 7000 static const uint8_t test_vector_13_h_message_1[] = { 7001 0x58, 0x20, 0x38, 0x28, 0x3a, 0x89, 0xdd, 0x39, 7002 0x73, 0x21, 0x48, 0xe1, 0x65, 0x4f, 0x94, 0xbd, 7003 0xdf, 0x7c, 0xef, 0x79, 0x14, 0xc1, 0xaf, 0x0d, 7004 0xfe, 0xc7, 0xd7, 0x01, 0x50, 0x6f, 0x88, 0x8d, 7005 0x2f, 0xc0}; 7006 static const uint8_t test_vector_13_input_th_2[] = { 7007 0x58, 0x20, 0x38, 0x28, 0x3a, 0x89, 0xdd, 0x39, 7008 0x73, 0x21, 0x48, 0xe1, 0x65, 0x4f, 0x94, 0xbd, 7009 0xdf, 0x7c, 0xef, 0x79, 0x14, 0xc1, 0xaf, 0x0d, 7010 0xfe, 0xc7, 0xd7, 0x01, 0x50, 0x6f, 0x88, 0x8d, 7011 0x2f, 0xc0, 0x58, 0x20, 0x59, 0x0b, 0x2b, 0xb6, 7012 0x5d, 0x00, 0x11, 0x76, 0x34, 0x0c, 0xb4, 0xab, 7013 0x8d, 0x37, 0x97, 0x37, 0x04, 0x14, 0x7c, 0xb4, 7014 0xe5, 0x2b, 0xee, 0x25, 0x3e, 0x7d, 0x3f, 0xbb, 7015 0x47, 0x64, 0x26, 0x2c, 0x2e}; 7016 static const uint8_t test_vector_13_th_2_raw[] = { 7017 0x19, 0xff, 0xb4, 0x85, 0x1d, 0x4c, 0x84, 0xc1, 7018 0x75, 0x20, 0x85, 0x72, 0xe6, 0x98, 0x4d, 0xd4, 7019 0x10, 0x1c, 0x92, 0xd1, 0xfa, 0x0b, 0xe9, 0xd8, 7020 0x70, 0xb5, 0xc3, 0xb7, 0x45, 0x62, 0xd6, 0xaf}; 7021 static const uint8_t test_vector_13_th_2[] = { 7022 0x58, 0x20, 0x19, 0xff, 0xb4, 0x85, 0x1d, 0x4c, 7023 0x84, 0xc1, 0x75, 0x20, 0x85, 0x72, 0xe6, 0x98, 7024 0x4d, 0xd4, 0x10, 0x1c, 0x92, 0xd1, 0xfa, 0x0b, 7025 0xe9, 0xd8, 0x70, 0xb5, 0xc3, 0xb7, 0x45, 0x62, 7026 0xd6, 0xaf}; 7027 static const uint8_t test_vector_13_id_cred_r[] = { 7028 0xa1, 0x04, 0x2e}; 7029 static const uint8_t test_vector_13_cred_r[] = { 7030 0xa2, 0x02, 0x6b, 0x65, 0x78, 0x61, 0x6d, 0x70, 7031 0x6c, 0x65, 0x2e, 0x65, 0x64, 0x75, 0x08, 0xa1, 7032 0x01, 0xa4, 0x01, 0x01, 0x02, 0x2e, 0x20, 0x06, 7033 0x21, 0x58, 0x20, 0x23, 0x02, 0x1d, 0x83, 0xfb, 7034 0xb2, 0x84, 0x65, 0x97, 0x1c, 0xf9, 0x53, 0x7a, 7035 0x42, 0x64, 0xf8, 0x08, 0x9c, 0xd9, 0x0e, 0x65, 7036 0x9d, 0x99, 0xcf, 0x2e, 0xed, 0x74, 0xd0, 0xa2, 7037 0x88, 0x07, 0xb9}; 7038 static const uint8_t test_vector_13_ead_2[] = { 7039 }; 7040 static const uint8_t test_vector_13_info_mac_2[] = { 7041 0x58, 0x20, 0x19, 0xff, 0xb4, 0x85, 0x1d, 0x4c, 7042 0x84, 0xc1, 0x75, 0x20, 0x85, 0x72, 0xe6, 0x98, 7043 0x4d, 0xd4, 0x10, 0x1c, 0x92, 0xd1, 0xfa, 0x0b, 7044 0xe9, 0xd8, 0x70, 0xb5, 0xc3, 0xb7, 0x45, 0x62, 7045 0xd6, 0xaf, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x32, 7046 0x58, 0x3e, 0xa1, 0x04, 0x2e, 0xa2, 0x02, 0x6b, 7047 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 7048 0x65, 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 7049 0x01, 0x02, 0x2e, 0x20, 0x06, 0x21, 0x58, 0x20, 7050 0x23, 0x02, 0x1d, 0x83, 0xfb, 0xb2, 0x84, 0x65, 7051 0x97, 0x1c, 0xf9, 0x53, 0x7a, 0x42, 0x64, 0xf8, 7052 0x08, 0x9c, 0xd9, 0x0e, 0x65, 0x9d, 0x99, 0xcf, 7053 0x2e, 0xed, 0x74, 0xd0, 0xa2, 0x88, 0x07, 0xb9, 7054 0x18, 0x20}; 7055 static const uint8_t test_vector_13_mac_2_raw[] = { 7056 0xc8, 0xb3, 0x08, 0xb8, 0xe6, 0xac, 0xbc, 0xe4, 7057 0x56, 0xb9, 0xb2, 0x1d, 0x05, 0xfc, 0x90, 0xc6, 7058 0x60, 0x75, 0x2c, 0x1c, 0x73, 0x95, 0x34, 0x70, 7059 0x55, 0x63, 0x8b, 0xb4, 0x59, 0x9a, 0x6b, 0xa2}; 7060 static const uint8_t test_vector_13_mac_2[] = { 7061 0x58, 0x20, 0xc8, 0xb3, 0x08, 0xb8, 0xe6, 0xac, 7062 0xbc, 0xe4, 0x56, 0xb9, 0xb2, 0x1d, 0x05, 0xfc, 7063 0x90, 0xc6, 0x60, 0x75, 0x2c, 0x1c, 0x73, 0x95, 7064 0x34, 0x70, 0x55, 0x63, 0x8b, 0xb4, 0x59, 0x9a, 7065 0x6b, 0xa2}; 7066 static const uint8_t test_vector_13_m_2[] = { 7067 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 7068 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x2e, 7069 0x58, 0x5d, 0x58, 0x20, 0x19, 0xff, 0xb4, 0x85, 7070 0x1d, 0x4c, 0x84, 0xc1, 0x75, 0x20, 0x85, 0x72, 7071 0xe6, 0x98, 0x4d, 0xd4, 0x10, 0x1c, 0x92, 0xd1, 7072 0xfa, 0x0b, 0xe9, 0xd8, 0x70, 0xb5, 0xc3, 0xb7, 7073 0x45, 0x62, 0xd6, 0xaf, 0xa2, 0x02, 0x6b, 0x65, 7074 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x65, 7075 0x64, 0x75, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 7076 0x02, 0x2e, 0x20, 0x06, 0x21, 0x58, 0x20, 0x23, 7077 0x02, 0x1d, 0x83, 0xfb, 0xb2, 0x84, 0x65, 0x97, 7078 0x1c, 0xf9, 0x53, 0x7a, 0x42, 0x64, 0xf8, 0x08, 7079 0x9c, 0xd9, 0x0e, 0x65, 0x9d, 0x99, 0xcf, 0x2e, 7080 0xed, 0x74, 0xd0, 0xa2, 0x88, 0x07, 0xb9, 0x58, 7081 0x20, 0xc8, 0xb3, 0x08, 0xb8, 0xe6, 0xac, 0xbc, 7082 0xe4, 0x56, 0xb9, 0xb2, 0x1d, 0x05, 0xfc, 0x90, 7083 0xc6, 0x60, 0x75, 0x2c, 0x1c, 0x73, 0x95, 0x34, 7084 0x70, 0x55, 0x63, 0x8b, 0xb4, 0x59, 0x9a, 0x6b, 7085 0xa2}; 7086 static const uint8_t test_vector_13_sig_or_mac_2_raw[] = { 7087 0xd6, 0xe8, 0x44, 0xbe, 0x86, 0x76, 0x52, 0x36, 7088 0x5b, 0xb0, 0xdb, 0x50, 0xcc, 0x5e, 0xb0, 0xfe, 7089 0x4c, 0x36, 0x42, 0x1f, 0xa6, 0xbb, 0x48, 0xab, 7090 0x75, 0x69, 0x74, 0xc4, 0x13, 0xb6, 0xeb, 0x17, 7091 0xd2, 0x9c, 0x75, 0x23, 0x09, 0xc9, 0x6b, 0xa5, 7092 0x71, 0xd8, 0x53, 0x3b, 0x9a, 0x36, 0x5a, 0x31, 7093 0xb1, 0x22, 0x95, 0x4b, 0x5d, 0x45, 0xe1, 0x6f, 7094 0xf9, 0x49, 0xaa, 0xa3, 0x0c, 0x88, 0x62, 0x03}; 7095 static const uint8_t test_vector_13_sig_or_mac_2[] = { 7096 0x58, 0x40, 0xd6, 0xe8, 0x44, 0xbe, 0x86, 0x76, 7097 0x52, 0x36, 0x5b, 0xb0, 0xdb, 0x50, 0xcc, 0x5e, 7098 0xb0, 0xfe, 0x4c, 0x36, 0x42, 0x1f, 0xa6, 0xbb, 7099 0x48, 0xab, 0x75, 0x69, 0x74, 0xc4, 0x13, 0xb6, 7100 0xeb, 0x17, 0xd2, 0x9c, 0x75, 0x23, 0x09, 0xc9, 7101 0x6b, 0xa5, 0x71, 0xd8, 0x53, 0x3b, 0x9a, 0x36, 7102 0x5a, 0x31, 0xb1, 0x22, 0x95, 0x4b, 0x5d, 0x45, 7103 0xe1, 0x6f, 0xf9, 0x49, 0xaa, 0xa3, 0x0c, 0x88, 7104 0x62, 0x03}; 7105 static const uint8_t test_vector_13_plaintext_2[] = { 7106 0x2e, 0x58, 0x40, 0xd6, 0xe8, 0x44, 0xbe, 0x86, 7107 0x76, 0x52, 0x36, 0x5b, 0xb0, 0xdb, 0x50, 0xcc, 7108 0x5e, 0xb0, 0xfe, 0x4c, 0x36, 0x42, 0x1f, 0xa6, 7109 0xbb, 0x48, 0xab, 0x75, 0x69, 0x74, 0xc4, 0x13, 7110 0xb6, 0xeb, 0x17, 0xd2, 0x9c, 0x75, 0x23, 0x09, 7111 0xc9, 0x6b, 0xa5, 0x71, 0xd8, 0x53, 0x3b, 0x9a, 7112 0x36, 0x5a, 0x31, 0xb1, 0x22, 0x95, 0x4b, 0x5d, 7113 0x45, 0xe1, 0x6f, 0xf9, 0x49, 0xaa, 0xa3, 0x0c, 7114 0x88, 0x62, 0x03}; 7115 static const uint8_t test_vector_13_info_keystream_2[] = { 7116 0x58, 0x20, 0x19, 0xff, 0xb4, 0x85, 0x1d, 0x4c, 7117 0x84, 0xc1, 0x75, 0x20, 0x85, 0x72, 0xe6, 0x98, 7118 0x4d, 0xd4, 0x10, 0x1c, 0x92, 0xd1, 0xfa, 0x0b, 7119 0xe9, 0xd8, 0x70, 0xb5, 0xc3, 0xb7, 0x45, 0x62, 7120 0xd6, 0xaf, 0x6b, 0x4b, 0x45, 0x59, 0x53, 0x54, 7121 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x40, 0x18, 7122 0x43}; 7123 static const uint8_t test_vector_13_keystream_2_raw[] = { 7124 0xe7, 0x39, 0x91, 0xef, 0xec, 0x2a, 0x0c, 0x89, 7125 0x87, 0xbe, 0x5b, 0x83, 0xd5, 0xc2, 0x05, 0x3e, 7126 0xd2, 0x98, 0xef, 0x7c, 0x37, 0x13, 0x17, 0x26, 7127 0xaa, 0xd7, 0x5e, 0x9c, 0xff, 0x52, 0xc3, 0x3b, 7128 0xc1, 0x01, 0xcd, 0x3c, 0x46, 0xc7, 0x89, 0xa0, 7129 0xd9, 0xb1, 0x66, 0x15, 0x75, 0x2a, 0xe0, 0xcf, 7130 0x2b, 0x27, 0x19, 0x8c, 0xf6, 0xd4, 0x7f, 0x46, 7131 0xe8, 0xe4, 0x7b, 0x60, 0x05, 0x34, 0x66, 0xc7, 7132 0xcc, 0xc7, 0x37}; 7133 static const uint8_t test_vector_13_ciphertext_2_raw[] = { 7134 0xc9, 0x61, 0xd1, 0x39, 0x04, 0x6e, 0xb2, 0x0f, 7135 0xf1, 0xec, 0x6d, 0xd8, 0x65, 0x19, 0x55, 0xf2, 7136 0x8c, 0x28, 0x11, 0x30, 0x01, 0x51, 0x08, 0x80, 7137 0x11, 0x9f, 0xf5, 0xe9, 0x96, 0x26, 0x07, 0x28, 7138 0x77, 0xea, 0xda, 0xee, 0xda, 0xb2, 0xaa, 0xa9, 7139 0x10, 0xda, 0xc3, 0x64, 0xad, 0x79, 0xdb, 0x55, 7140 0x1d, 0x7d, 0x28, 0x3d, 0xd4, 0x41, 0x34, 0x1b, 7141 0xad, 0x05, 0x14, 0x99, 0x4c, 0x9e, 0xc5, 0xcb, 7142 0x44, 0xa5, 0x34}; 7143 static const uint8_t test_vector_13_ciphertext_2[] = { 7144 0x58, 0x43, 0xc9, 0x61, 0xd1, 0x39, 0x04, 0x6e, 7145 0xb2, 0x0f, 0xf1, 0xec, 0x6d, 0xd8, 0x65, 0x19, 7146 0x55, 0xf2, 0x8c, 0x28, 0x11, 0x30, 0x01, 0x51, 7147 0x08, 0x80, 0x11, 0x9f, 0xf5, 0xe9, 0x96, 0x26, 7148 0x07, 0x28, 0x77, 0xea, 0xda, 0xee, 0xda, 0xb2, 7149 0xaa, 0xa9, 0x10, 0xda, 0xc3, 0x64, 0xad, 0x79, 7150 0xdb, 0x55, 0x1d, 0x7d, 0x28, 0x3d, 0xd4, 0x41, 7151 0x34, 0x1b, 0xad, 0x05, 0x14, 0x99, 0x4c, 0x9e, 7152 0xc5, 0xcb, 0x44, 0xa5, 0x34}; 7153 static const uint8_t test_vector_13_message_2[] = { 7154 0x58, 0x63, 0x59, 0x0b, 0x2b, 0xb6, 0x5d, 0x00, 7155 0x11, 0x76, 0x34, 0x0c, 0xb4, 0xab, 0x8d, 0x37, 7156 0x97, 0x37, 0x04, 0x14, 0x7c, 0xb4, 0xe5, 0x2b, 7157 0xee, 0x25, 0x3e, 0x7d, 0x3f, 0xbb, 0x47, 0x64, 7158 0x26, 0x2c, 0xc9, 0x61, 0xd1, 0x39, 0x04, 0x6e, 7159 0xb2, 0x0f, 0xf1, 0xec, 0x6d, 0xd8, 0x65, 0x19, 7160 0x55, 0xf2, 0x8c, 0x28, 0x11, 0x30, 0x01, 0x51, 7161 0x08, 0x80, 0x11, 0x9f, 0xf5, 0xe9, 0x96, 0x26, 7162 0x07, 0x28, 0x77, 0xea, 0xda, 0xee, 0xda, 0xb2, 7163 0xaa, 0xa9, 0x10, 0xda, 0xc3, 0x64, 0xad, 0x79, 7164 0xdb, 0x55, 0x1d, 0x7d, 0x28, 0x3d, 0xd4, 0x41, 7165 0x34, 0x1b, 0xad, 0x05, 0x14, 0x99, 0x4c, 0x9e, 7166 0xc5, 0xcb, 0x44, 0xa5, 0x34, 0x2e}; 7167 static const uint8_t test_vector_13_sk_i_raw[] = { 7168 0x2d, 0x0b, 0xc2, 0x9a, 0x44, 0x20, 0xb0, 0x88, 7169 0x99, 0x05, 0x93, 0x64, 0xb1, 0xfd, 0x35, 0x26, 7170 0xb3, 0x5c, 0x24, 0x74, 0xc1, 0x91, 0xa7, 0xc2, 7171 0x88, 0x63, 0xf7, 0xbd, 0x16, 0x7b, 0xac, 0xea}; 7172 static const uint8_t test_vector_13_pk_i_raw[] = { 7173 0x1a, 0xde, 0xfd, 0x11, 0x70, 0x47, 0x2d, 0xe7, 7174 0xe9, 0x0d, 0x73, 0xe1, 0x4c, 0x5e, 0xcf, 0xca, 7175 0x67, 0x30, 0x0b, 0x7b, 0xd0, 0xb0, 0x5f, 0x99, 7176 0x73, 0xfd, 0x1e, 0xb3, 0x70, 0x3a, 0x1a, 0xbf}; 7177 static const uint8_t test_vector_13_prk_4x3m_raw[] = { 7178 0xe3, 0xd3, 0x78, 0x8f, 0xa9, 0x18, 0x12, 0x28, 7179 0xe5, 0xa2, 0xb9, 0x43, 0xca, 0x15, 0x23, 0x8b, 7180 0x6e, 0xb3, 0x1d, 0xf0, 0x8d, 0xc7, 0x91, 0x12, 7181 0x3e, 0xd3, 0xe2, 0xf3, 0x0a, 0x8a, 0xb7, 0xad}; 7182 static const uint8_t test_vector_13_input_TH_3[] = { 7183 0x58, 0x20, 0x19, 0xff, 0xb4, 0x85, 0x1d, 0x4c, 7184 0x84, 0xc1, 0x75, 0x20, 0x85, 0x72, 0xe6, 0x98, 7185 0x4d, 0xd4, 0x10, 0x1c, 0x92, 0xd1, 0xfa, 0x0b, 7186 0xe9, 0xd8, 0x70, 0xb5, 0xc3, 0xb7, 0x45, 0x62, 7187 0xd6, 0xaf, 0x58, 0x43, 0xc9, 0x61, 0xd1, 0x39, 7188 0x04, 0x6e, 0xb2, 0x0f, 0xf1, 0xec, 0x6d, 0xd8, 7189 0x65, 0x19, 0x55, 0xf2, 0x8c, 0x28, 0x11, 0x30, 7190 0x01, 0x51, 0x08, 0x80, 0x11, 0x9f, 0xf5, 0xe9, 7191 0x96, 0x26, 0x07, 0x28, 0x77, 0xea, 0xda, 0xee, 7192 0xda, 0xb2, 0xaa, 0xa9, 0x10, 0xda, 0xc3, 0x64, 7193 0xad, 0x79, 0xdb, 0x55, 0x1d, 0x7d, 0x28, 0x3d, 7194 0xd4, 0x41, 0x34, 0x1b, 0xad, 0x05, 0x14, 0x99, 7195 0x4c, 0x9e, 0xc5, 0xcb, 0x44, 0xa5, 0x34}; 7196 static const uint8_t test_vector_13_th_3_raw[] = { 7197 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 0x72, 0xeb, 7198 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 0x83, 0x5f, 7199 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 0x46, 0x44, 7200 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 0x79, 0xd8}; 7201 static const uint8_t test_vector_13_th_3[] = { 7202 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 7203 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 7204 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 7205 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 7206 0x79, 0xd8}; 7207 static const uint8_t test_vector_13_id_cred_i[] = { 7208 0xa1, 0x04, 0x15}; 7209 static const uint8_t test_vector_13_cred_i[] = { 7210 0xa2, 0x02, 0x77, 0x34, 0x32, 0x2d, 0x35, 0x30, 7211 0x2d, 0x33, 0x31, 0x2d, 0x46, 0x46, 0x2d, 0x45, 7212 0x46, 0x2d, 0x33, 0x37, 0x2d, 0x33, 0x32, 0x2d, 7213 0x33, 0x39, 0x08, 0xa1, 0x01, 0xa4, 0x01, 0x01, 7214 0x02, 0x15, 0x20, 0x06, 0x21, 0x58, 0x20, 0x1a, 7215 0xde, 0xfd, 0x11, 0x70, 0x47, 0x2d, 0xe7, 0xe9, 7216 0x0d, 0x73, 0xe1, 0x4c, 0x5e, 0xcf, 0xca, 0x67, 7217 0x30, 0x0b, 0x7b, 0xd0, 0xb0, 0x5f, 0x99, 0x73, 7218 0xfd, 0x1e, 0xb3, 0x70, 0x3a, 0x1a, 0xbf}; 7219 static const uint8_t test_vector_13_ead_3[] = { 7220 }; 7221 static const uint8_t test_vector_13_info_mac_3[] = { 7222 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 7223 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 7224 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 7225 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 7226 0x79, 0xd8, 0x65, 0x4d, 0x41, 0x43, 0x5f, 0x33, 7227 0x58, 0x4a, 0xa1, 0x04, 0x15, 0xa2, 0x02, 0x77, 7228 0x34, 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 7229 0x2d, 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 7230 0x37, 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 7231 0xa1, 0x01, 0xa4, 0x01, 0x01, 0x02, 0x15, 0x20, 7232 0x06, 0x21, 0x58, 0x20, 0x1a, 0xde, 0xfd, 0x11, 7233 0x70, 0x47, 0x2d, 0xe7, 0xe9, 0x0d, 0x73, 0xe1, 7234 0x4c, 0x5e, 0xcf, 0xca, 0x67, 0x30, 0x0b, 0x7b, 7235 0xd0, 0xb0, 0x5f, 0x99, 0x73, 0xfd, 0x1e, 0xb3, 7236 0x70, 0x3a, 0x1a, 0xbf, 0x18, 0x20}; 7237 static const uint8_t test_vector_13_mac_3_raw[] = { 7238 0x9e, 0x68, 0x37, 0x9d, 0x33, 0xf1, 0xa5, 0x45, 7239 0x8e, 0x4a, 0x59, 0xd4, 0xcb, 0x3f, 0x08, 0x3b, 7240 0xa7, 0x31, 0x09, 0xd3, 0x55, 0x5d, 0x35, 0xb2, 7241 0x9a, 0x33, 0x8f, 0x66, 0x00, 0x31, 0x98, 0x9d}; 7242 static const uint8_t test_vector_13_mac_3[] = { 7243 0x58, 0x20, 0x9e, 0x68, 0x37, 0x9d, 0x33, 0xf1, 7244 0xa5, 0x45, 0x8e, 0x4a, 0x59, 0xd4, 0xcb, 0x3f, 7245 0x08, 0x3b, 0xa7, 0x31, 0x09, 0xd3, 0x55, 0x5d, 7246 0x35, 0xb2, 0x9a, 0x33, 0x8f, 0x66, 0x00, 0x31, 7247 0x98, 0x9d}; 7248 static const uint8_t test_vector_13_m_3[] = { 7249 0x84, 0x6a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 7250 0x75, 0x72, 0x65, 0x31, 0x43, 0xa1, 0x04, 0x15, 7251 0x58, 0x69, 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 7252 0xa3, 0xe7, 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 7253 0xce, 0x72, 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 7254 0x2b, 0x2a, 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 7255 0xdc, 0x1e, 0x79, 0xd8, 0xa2, 0x02, 0x77, 0x34, 7256 0x32, 0x2d, 0x35, 0x30, 0x2d, 0x33, 0x31, 0x2d, 7257 0x46, 0x46, 0x2d, 0x45, 0x46, 0x2d, 0x33, 0x37, 7258 0x2d, 0x33, 0x32, 0x2d, 0x33, 0x39, 0x08, 0xa1, 7259 0x01, 0xa4, 0x01, 0x01, 0x02, 0x15, 0x20, 0x06, 7260 0x21, 0x58, 0x20, 0x1a, 0xde, 0xfd, 0x11, 0x70, 7261 0x47, 0x2d, 0xe7, 0xe9, 0x0d, 0x73, 0xe1, 0x4c, 7262 0x5e, 0xcf, 0xca, 0x67, 0x30, 0x0b, 0x7b, 0xd0, 7263 0xb0, 0x5f, 0x99, 0x73, 0xfd, 0x1e, 0xb3, 0x70, 7264 0x3a, 0x1a, 0xbf, 0x58, 0x20, 0x9e, 0x68, 0x37, 7265 0x9d, 0x33, 0xf1, 0xa5, 0x45, 0x8e, 0x4a, 0x59, 7266 0xd4, 0xcb, 0x3f, 0x08, 0x3b, 0xa7, 0x31, 0x09, 7267 0xd3, 0x55, 0x5d, 0x35, 0xb2, 0x9a, 0x33, 0x8f, 7268 0x66, 0x00, 0x31, 0x98, 0x9d}; 7269 static const uint8_t test_vector_13_sig_or_mac_3_raw[] = { 7270 0x2e, 0xf6, 0x01, 0xf6, 0x9a, 0x1b, 0xc8, 0xb4, 7271 0x6b, 0x53, 0x1c, 0x23, 0x3f, 0xe4, 0x50, 0xd3, 7272 0xfe, 0x13, 0xcc, 0xf1, 0xf5, 0x74, 0x4f, 0x51, 7273 0x19, 0xb1, 0x2e, 0x49, 0xc3, 0x17, 0x14, 0x0d, 7274 0xed, 0xf7, 0xb3, 0xce, 0xae, 0x75, 0x9b, 0xe4, 7275 0xd3, 0xbd, 0xd2, 0x18, 0xd9, 0x68, 0xb8, 0x93, 7276 0x6c, 0x46, 0x17, 0x1e, 0xc9, 0x5e, 0xd3, 0xd5, 7277 0x7b, 0x8e, 0x15, 0x13, 0xcf, 0xe0, 0x39, 0x09}; 7278 static const uint8_t test_vector_13_sig_or_mac_3[] = { 7279 0x58, 0x40, 0x2e, 0xf6, 0x01, 0xf6, 0x9a, 0x1b, 7280 0xc8, 0xb4, 0x6b, 0x53, 0x1c, 0x23, 0x3f, 0xe4, 7281 0x50, 0xd3, 0xfe, 0x13, 0xcc, 0xf1, 0xf5, 0x74, 7282 0x4f, 0x51, 0x19, 0xb1, 0x2e, 0x49, 0xc3, 0x17, 7283 0x14, 0x0d, 0xed, 0xf7, 0xb3, 0xce, 0xae, 0x75, 7284 0x9b, 0xe4, 0xd3, 0xbd, 0xd2, 0x18, 0xd9, 0x68, 7285 0xb8, 0x93, 0x6c, 0x46, 0x17, 0x1e, 0xc9, 0x5e, 7286 0xd3, 0xd5, 0x7b, 0x8e, 0x15, 0x13, 0xcf, 0xe0, 7287 0x39, 0x09}; 7288 static const uint8_t test_vector_13_p_3[] = { 7289 0x15, 0x58, 0x40, 0x2e, 0xf6, 0x01, 0xf6, 0x9a, 7290 0x1b, 0xc8, 0xb4, 0x6b, 0x53, 0x1c, 0x23, 0x3f, 7291 0xe4, 0x50, 0xd3, 0xfe, 0x13, 0xcc, 0xf1, 0xf5, 7292 0x74, 0x4f, 0x51, 0x19, 0xb1, 0x2e, 0x49, 0xc3, 7293 0x17, 0x14, 0x0d, 0xed, 0xf7, 0xb3, 0xce, 0xae, 7294 0x75, 0x9b, 0xe4, 0xd3, 0xbd, 0xd2, 0x18, 0xd9, 7295 0x68, 0xb8, 0x93, 0x6c, 0x46, 0x17, 0x1e, 0xc9, 7296 0x5e, 0xd3, 0xd5, 0x7b, 0x8e, 0x15, 0x13, 0xcf, 7297 0xe0, 0x39, 0x09}; 7298 static const uint8_t test_vector_13_a_3[] = { 7299 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 7300 0x74, 0x30, 0x40, 0x58, 0x20, 0xd5, 0x38, 0x78, 7301 0xee, 0xa3, 0xe7, 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 7302 0xba, 0xce, 0x72, 0x83, 0x5f, 0xaf, 0x25, 0x1f, 7303 0x66, 0x2b, 0x2a, 0x46, 0x44, 0x66, 0xe9, 0xda, 7304 0x36, 0xdc, 0x1e, 0x79, 0xd8}; 7305 static const uint8_t test_vector_13_info_k_3[] = { 7306 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 7307 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 7308 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 7309 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 7310 0x79, 0xd8, 0x63, 0x4b, 0x5f, 0x33, 0x40, 0x10}; 7311 static const uint8_t test_vector_13_k_3_raw[] = { 7312 0xd6, 0xf1, 0xe6, 0xb8, 0x62, 0x08, 0x9b, 0x96, 7313 0xde, 0x17, 0x63, 0x68, 0x85, 0x5a, 0x25, 0x8f}; 7314 static const uint8_t test_vector_13_info_iv_3[] = { 7315 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 7316 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 7317 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 7318 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 7319 0x79, 0xd8, 0x64, 0x49, 0x56, 0x5f, 0x33, 0x40, 7320 0x0d}; 7321 static const uint8_t test_vector_13_iv_3_raw[] = { 7322 0x83, 0x25, 0x3c, 0xd3, 0x5e, 0xcb, 0x9f, 0x50, 7323 0x94, 0xd3, 0xf9, 0x4d, 0x7d}; 7324 static const uint8_t test_vector_13_ciphertext_3_raw[] = { 7325 0xd3, 0xa4, 0x4a, 0xad, 0x6f, 0x28, 0xad, 0x16, 7326 0x02, 0xd8, 0x1d, 0x96, 0x96, 0x06, 0x64, 0x0a, 7327 0x06, 0x19, 0x41, 0x85, 0xe3, 0x8b, 0xc5, 0x26, 7328 0xdc, 0x43, 0xc8, 0xec, 0x7e, 0x22, 0x52, 0x55, 7329 0xfb, 0x48, 0x5a, 0xd9, 0xc7, 0xb9, 0x76, 0xf6, 7330 0xaf, 0x72, 0x2c, 0x0f, 0xe8, 0x08, 0xef, 0xbc, 7331 0x20, 0x9e, 0x32, 0x86, 0x7f, 0xe1, 0xc0, 0x8e, 7332 0x44, 0x6c, 0xc2, 0x28, 0xe2, 0xd1, 0xea, 0x0a, 7333 0xf7, 0x58, 0xf0, 0x10, 0x98, 0x90, 0xe4, 0xa5, 7334 0xf1, 0x5e, 0x14}; 7335 static const uint8_t test_vector_13_ciphertext_3[] = { 7336 0x58, 0x4b, 0xd3, 0xa4, 0x4a, 0xad, 0x6f, 0x28, 7337 0xad, 0x16, 0x02, 0xd8, 0x1d, 0x96, 0x96, 0x06, 7338 0x64, 0x0a, 0x06, 0x19, 0x41, 0x85, 0xe3, 0x8b, 7339 0xc5, 0x26, 0xdc, 0x43, 0xc8, 0xec, 0x7e, 0x22, 7340 0x52, 0x55, 0xfb, 0x48, 0x5a, 0xd9, 0xc7, 0xb9, 7341 0x76, 0xf6, 0xaf, 0x72, 0x2c, 0x0f, 0xe8, 0x08, 7342 0xef, 0xbc, 0x20, 0x9e, 0x32, 0x86, 0x7f, 0xe1, 7343 0xc0, 0x8e, 0x44, 0x6c, 0xc2, 0x28, 0xe2, 0xd1, 7344 0xea, 0x0a, 0xf7, 0x58, 0xf0, 0x10, 0x98, 0x90, 7345 0xe4, 0xa5, 0xf1, 0x5e, 0x14}; 7346 static const uint8_t test_vector_13_message_3[] = { 7347 0x58, 0x4b, 0xd3, 0xa4, 0x4a, 0xad, 0x6f, 0x28, 7348 0xad, 0x16, 0x02, 0xd8, 0x1d, 0x96, 0x96, 0x06, 7349 0x64, 0x0a, 0x06, 0x19, 0x41, 0x85, 0xe3, 0x8b, 7350 0xc5, 0x26, 0xdc, 0x43, 0xc8, 0xec, 0x7e, 0x22, 7351 0x52, 0x55, 0xfb, 0x48, 0x5a, 0xd9, 0xc7, 0xb9, 7352 0x76, 0xf6, 0xaf, 0x72, 0x2c, 0x0f, 0xe8, 0x08, 7353 0xef, 0xbc, 0x20, 0x9e, 0x32, 0x86, 0x7f, 0xe1, 7354 0xc0, 0x8e, 0x44, 0x6c, 0xc2, 0x28, 0xe2, 0xd1, 7355 0xea, 0x0a, 0xf7, 0x58, 0xf0, 0x10, 0x98, 0x90, 7356 0xe4, 0xa5, 0xf1, 0x5e, 0x14}; 7357 static const uint8_t test_vector_13_input_th_4[] = { 7358 0x58, 0x20, 0xd5, 0x38, 0x78, 0xee, 0xa3, 0xe7, 7359 0x72, 0xeb, 0xf8, 0xfb, 0xcc, 0xba, 0xce, 0x72, 7360 0x83, 0x5f, 0xaf, 0x25, 0x1f, 0x66, 0x2b, 0x2a, 7361 0x46, 0x44, 0x66, 0xe9, 0xda, 0x36, 0xdc, 0x1e, 7362 0x79, 0xd8, 0x58, 0x4b, 0xd3, 0xa4, 0x4a, 0xad, 7363 0x6f, 0x28, 0xad, 0x16, 0x02, 0xd8, 0x1d, 0x96, 7364 0x96, 0x06, 0x64, 0x0a, 0x06, 0x19, 0x41, 0x85, 7365 0xe3, 0x8b, 0xc5, 0x26, 0xdc, 0x43, 0xc8, 0xec, 7366 0x7e, 0x22, 0x52, 0x55, 0xfb, 0x48, 0x5a, 0xd9, 7367 0xc7, 0xb9, 0x76, 0xf6, 0xaf, 0x72, 0x2c, 0x0f, 7368 0xe8, 0x08, 0xef, 0xbc, 0x20, 0x9e, 0x32, 0x86, 7369 0x7f, 0xe1, 0xc0, 0x8e, 0x44, 0x6c, 0xc2, 0x28, 7370 0xe2, 0xd1, 0xea, 0x0a, 0xf7, 0x58, 0xf0, 0x10, 7371 0x98, 0x90, 0xe4, 0xa5, 0xf1, 0x5e, 0x14}; 7372 static const uint8_t test_vector_13_th_4_raw[] = { 7373 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 0x07, 0x2a, 7374 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 0x09, 0xe1, 7375 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 0x79, 0xa6, 7376 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 0xdc, 0xb1}; 7377 static const uint8_t test_vector_13_th_4[] = { 7378 0x58, 0x20, 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 7379 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 7380 0x09, 0xe1, 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 7381 0x79, 0xa6, 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 7382 0xdc, 0xb1}; 7383 static const uint8_t test_vector_13_ead_4[] = { 7384 }; 7385 static const uint8_t test_vector_13_p_4[] = { 7386 }; 7387 static const uint8_t test_vector_13_a_4[] = { 7388 0x83, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 7389 0x74, 0x30, 0x40, 0x58, 0x20, 0x57, 0xca, 0xdd, 7390 0xdb, 0x9c, 0x92, 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 7391 0x49, 0x20, 0xa4, 0x09, 0xe1, 0x55, 0x35, 0x41, 7392 0x08, 0x61, 0xe6, 0x79, 0xa6, 0x4e, 0x44, 0x2b, 7393 0xfd, 0xda, 0x1f, 0xdc, 0xb1}; 7394 static const uint8_t test_vector_13_info_k_4[] = { 7395 0x58, 0x20, 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 7396 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 7397 0x09, 0xe1, 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 7398 0x79, 0xa6, 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 7399 0xdc, 0xb1, 0x69, 0x45, 0x44, 0x48, 0x4f, 0x43, 7400 0x5f, 0x4b, 0x5f, 0x34, 0x40, 0x10}; 7401 static const uint8_t test_vector_13_k_4_raw[] = { 7402 0x12, 0x24, 0x8d, 0x79, 0x4d, 0xda, 0xb5, 0xb5, 7403 0xa6, 0xb4, 0x88, 0xa5, 0xf4, 0xe8, 0x4c, 0x7b}; 7404 static const uint8_t test_vector_13_info_iv_4[] = { 7405 0x58, 0x20, 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 7406 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 7407 0x09, 0xe1, 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 7408 0x79, 0xa6, 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 7409 0xdc, 0xb1, 0x6a, 0x45, 0x44, 0x48, 0x4f, 0x43, 7410 0x5f, 0x49, 0x56, 0x5f, 0x34, 0x40, 0x0d}; 7411 static const uint8_t test_vector_13_iv_4_raw[] = { 7412 0x9d, 0x29, 0x51, 0x98, 0xd8, 0x3f, 0xea, 0x75, 7413 0x91, 0x1e, 0xc2, 0x78, 0x88}; 7414 static const uint8_t test_vector_13_ciphertext_4_raw[] = { 7415 0x48, 0x14, 0xbd, 0x9b, 0x34, 0x0d, 0xe8, 0xaa}; 7416 static const uint8_t test_vector_13_ciphertext_4[] = { 7417 0x48, 0x48, 0x14, 0xbd, 0x9b, 0x34, 0x0d, 0xe8, 7418 0xaa}; 7419 static const uint8_t test_vector_13_message_4[] = { 7420 0x48, 0x48, 0x14, 0xbd, 0x9b, 0x34, 0x0d, 0xe8, 7421 0xaa}; 7422 int32_t test_vector_13_oscore_aead_alg = 10; 7423 int32_t test_vector_13_oscore_hash_alg = -16; 7424 static const uint8_t test_vector_13_client_sender_id_raw[] = { 7425 0x2e}; 7426 static const uint8_t test_vector_13_server_sender_id_raw[] = { 7427 0x33}; 7428 static const uint8_t test_vector_13_info_oscore_secret[] = { 7429 0x58, 0x20, 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 7430 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 7431 0x09, 0xe1, 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 7432 0x79, 0xa6, 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 7433 0xdc, 0xb1, 0x74, 0x4f, 0x53, 0x43, 0x4f, 0x52, 7434 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 7435 0x5f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x40, 7436 0x10}; 7437 static const uint8_t test_vector_13_oscore_secret_raw[] = { 7438 0xb7, 0x0c, 0x59, 0x5d, 0xe7, 0x9e, 0xae, 0x0c, 7439 0x4c, 0x03, 0xad, 0x32, 0xe7, 0x34, 0xf2, 0x25}; 7440 static const uint8_t test_vector_13_info_oscore_salt[] = { 7441 0x58, 0x20, 0x57, 0xca, 0xdd, 0xdb, 0x9c, 0x92, 7442 0x07, 0x2a, 0xfd, 0x2c, 0xbd, 0x49, 0x20, 0xa4, 7443 0x09, 0xe1, 0x55, 0x35, 0x41, 0x08, 0x61, 0xe6, 7444 0x79, 0xa6, 0x4e, 0x44, 0x2b, 0xfd, 0xda, 0x1f, 7445 0xdc, 0xb1, 0x72, 0x4f, 0x53, 0x43, 0x4f, 0x52, 7446 0x45, 0x5f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 7447 0x5f, 0x53, 0x61, 0x6c, 0x74, 0x40, 0x08}; 7448 static const uint8_t test_vector_13_oscore_salt_raw[] = { 7449 0x7b, 0xcf, 0x5e, 0xcf, 0xe3, 0xa0, 0x52, 0x32}; 7450 static const uint8_t test_vector_13_key_update_nonce_raw[] = { 7451 0x55, 0x4d, 0x0d, 0xc2, 0xf6, 0xd7, 0x6b, 0xf8, 7452 0xa5, 0x0d, 0x38, 0x80, 0x7f, 0x70, 0x86, 0x78}; 7453 static const uint8_t test_vector_13_prk_4x3m_key_update_raw[] = { 7454 0x7d, 0x1c, 0x33, 0x7f, 0x82, 0x2e, 0xdc, 0x87, 7455 0x2b, 0xc8, 0x2b, 0x0d, 0x54, 0x12, 0xb0, 0x1e, 7456 0xae, 0x35, 0x17, 0x6a, 0xb7, 0xfe, 0x47, 0x57, 7457 0xc8, 0x80, 0x76, 0x77, 0xe0, 0x6a, 0x7b, 0x78}; 7458 static const uint8_t test_vector_13_oscore_secret_key_update_raw[] = { 7459 0x42, 0x88, 0x34, 0x2b, 0xc2, 0x63, 0x48, 0x76, 7460 0x36, 0xaf, 0xe9, 0x4a, 0xde, 0xe0, 0x14, 0x28}; 7461 static const uint8_t test_vector_13_oscore_salt_key_update_raw[] = { 7462 0xb1, 0x67, 0x98, 0x59, 0x2f, 0x93, 0xa7, 0xad}; 7463 7464 7465 struct test_vector test_vectors[] = { 7466 7467 /*--------------- test_vector_1 ------------*/ 7468 7469 { 7470 .method = test_vector_1_method, 7471 .method_len = sizeof(test_vector_1_method), 7472 7473 .suites_i = test_vector_1_suites_i, 7474 .suites_i_len = sizeof(test_vector_1_suites_i), 7475 7476 .suites_r = test_vector_1_suites_r, 7477 .suites_r_len = sizeof(test_vector_1_suites_r), 7478 7479 .x_raw = test_vector_1_x_raw, 7480 .x_raw_len = sizeof(test_vector_1_x_raw), 7481 7482 .g_x_raw = test_vector_1_g_x_raw, 7483 .g_x_raw_len = sizeof(test_vector_1_g_x_raw), 7484 7485 .g_x = test_vector_1_g_x, 7486 .g_x_len = sizeof(test_vector_1_g_x), 7487 7488 .c_i = test_vector_1_c_i, 7489 .c_i_len = sizeof(test_vector_1_c_i), 7490 7491 .ead_1 = test_vector_1_ead_1, 7492 .ead_1_len = sizeof(test_vector_1_ead_1), 7493 7494 .message_1 = test_vector_1_message_1, 7495 .message_1_len = sizeof(test_vector_1_message_1), 7496 7497 .y_raw = test_vector_1_y_raw, 7498 .y_raw_len = sizeof(test_vector_1_y_raw), 7499 7500 .g_y_raw = test_vector_1_g_y_raw, 7501 .g_y_raw_len = sizeof(test_vector_1_g_y_raw), 7502 7503 .g_y = test_vector_1_g_y, 7504 .g_y_len = sizeof(test_vector_1_g_y), 7505 7506 .g_xy_raw = test_vector_1_g_xy_raw, 7507 .g_xy_raw_len = sizeof(test_vector_1_g_xy_raw), 7508 7509 .salt_raw = test_vector_1_salt_raw, 7510 .salt_raw_len = sizeof(test_vector_1_salt_raw), 7511 7512 .prk_2e_raw = test_vector_1_prk_2e_raw, 7513 .prk_2e_raw_len = sizeof(test_vector_1_prk_2e_raw), 7514 7515 .sk_r_raw = NULL, 7516 .sk_r_raw_len = 0, 7517 7518 .pk_r_raw = NULL, 7519 .pk_r_raw_len = 0, 7520 7521 .prk_3e2m_raw = test_vector_1_prk_3e2m_raw, 7522 .prk_3e2m_raw_len = sizeof(test_vector_1_prk_3e2m_raw), 7523 7524 .c_r = test_vector_1_c_r, 7525 .c_r_len = sizeof(test_vector_1_c_r), 7526 7527 .h_message_1_raw = test_vector_1_h_message_1_raw, 7528 .h_message_1_raw_len = sizeof(test_vector_1_h_message_1_raw), 7529 7530 .h_message_1 = test_vector_1_h_message_1, 7531 .h_message_1_len = sizeof(test_vector_1_h_message_1), 7532 7533 .input_th_2 = test_vector_1_input_th_2, 7534 .input_th_2_len = sizeof(test_vector_1_input_th_2), 7535 7536 .th_2_raw = test_vector_1_th_2_raw, 7537 .th_2_raw_len = sizeof(test_vector_1_th_2_raw), 7538 7539 .th_2 = test_vector_1_th_2, 7540 .th_2_len = sizeof(test_vector_1_th_2), 7541 7542 .id_cred_r = test_vector_1_id_cred_r, 7543 .id_cred_r_len = sizeof(test_vector_1_id_cred_r), 7544 7545 .cred_r = test_vector_1_cred_r, 7546 .cred_r_len = sizeof(test_vector_1_cred_r), 7547 7548 .ead_2 = test_vector_1_ead_2, 7549 .ead_2_len = sizeof(test_vector_1_ead_2), 7550 7551 .info_mac_2 = test_vector_1_info_mac_2, 7552 .info_mac_2_len = sizeof(test_vector_1_info_mac_2), 7553 7554 .mac_2_raw = test_vector_1_mac_2_raw, 7555 .mac_2_raw_len = sizeof(test_vector_1_mac_2_raw), 7556 7557 .mac_2 = test_vector_1_mac_2, 7558 .mac_2_len = sizeof(test_vector_1_mac_2), 7559 7560 .m_2 = NULL, 7561 .m_2_len = 0, 7562 7563 .sig_or_mac_2_raw = test_vector_1_sig_or_mac_2_raw, 7564 .sig_or_mac_2_raw_len = sizeof(test_vector_1_sig_or_mac_2_raw), 7565 7566 .sig_or_mac_2 = test_vector_1_sig_or_mac_2, 7567 .sig_or_mac_2_len = sizeof(test_vector_1_sig_or_mac_2), 7568 7569 .plaintext_2 = test_vector_1_plaintext_2, 7570 .plaintext_2_len = sizeof(test_vector_1_plaintext_2), 7571 7572 .info_keystream_2 = test_vector_1_info_keystream_2, 7573 .info_keystream_2_len = sizeof(test_vector_1_info_keystream_2), 7574 7575 .keystream_2_raw = test_vector_1_keystream_2_raw, 7576 .keystream_2_raw_len = sizeof(test_vector_1_keystream_2_raw), 7577 7578 .ciphertext_2_raw = test_vector_1_ciphertext_2_raw, 7579 .ciphertext_2_raw_len = sizeof(test_vector_1_ciphertext_2_raw), 7580 7581 .ciphertext_2 = test_vector_1_ciphertext_2, 7582 .ciphertext_2_len = sizeof(test_vector_1_ciphertext_2), 7583 7584 .message_2 = test_vector_1_message_2, 7585 .message_2_len = sizeof(test_vector_1_message_2), 7586 7587 .sk_i_raw = NULL, 7588 .sk_i_raw_len = 0, 7589 7590 .pk_i_raw = NULL, 7591 .pk_i_raw_len = 0, 7592 7593 .prk_4x3m_raw = test_vector_1_prk_4x3m_raw, 7594 .prk_4x3m_raw_len = sizeof(test_vector_1_prk_4x3m_raw), 7595 7596 .input_TH_3 = test_vector_1_input_TH_3, 7597 .input_TH_3_len = sizeof(test_vector_1_input_TH_3), 7598 7599 .th_3_raw = test_vector_1_th_3_raw, 7600 .th_3_raw_len = sizeof(test_vector_1_th_3_raw), 7601 7602 .th_3 = test_vector_1_th_3, 7603 .th_3_len = sizeof(test_vector_1_th_3), 7604 7605 .id_cred_i = test_vector_1_id_cred_i, 7606 .id_cred_i_len = sizeof(test_vector_1_id_cred_i), 7607 7608 .cred_i = test_vector_1_cred_i, 7609 .cred_i_len = sizeof(test_vector_1_cred_i), 7610 7611 .ead_3 = test_vector_1_ead_3, 7612 .ead_3_len = sizeof(test_vector_1_ead_3), 7613 7614 .info_mac_3 = test_vector_1_info_mac_3, 7615 .info_mac_3_len = sizeof(test_vector_1_info_mac_3), 7616 7617 .mac_3_raw = test_vector_1_mac_3_raw, 7618 .mac_3_raw_len = sizeof(test_vector_1_mac_3_raw), 7619 7620 .mac_3 = test_vector_1_mac_3, 7621 .mac_3_len = sizeof(test_vector_1_mac_3), 7622 7623 .m_3 = NULL, 7624 .m_3_len = 0, 7625 7626 .sig_or_mac_3_raw = test_vector_1_sig_or_mac_3_raw, 7627 .sig_or_mac_3_raw_len = sizeof(test_vector_1_sig_or_mac_3_raw), 7628 7629 .sig_or_mac_3 = test_vector_1_sig_or_mac_3, 7630 .sig_or_mac_3_len = sizeof(test_vector_1_sig_or_mac_3), 7631 7632 .p_3 = test_vector_1_p_3, 7633 .p_3_len = sizeof(test_vector_1_p_3), 7634 7635 .a_3 = test_vector_1_a_3, 7636 .a_3_len = sizeof(test_vector_1_a_3), 7637 7638 .info_k_3 = test_vector_1_info_k_3, 7639 .info_k_3_len = sizeof(test_vector_1_info_k_3), 7640 7641 .k_3_raw = test_vector_1_k_3_raw, 7642 .k_3_raw_len = sizeof(test_vector_1_k_3_raw), 7643 7644 .info_iv_3 = test_vector_1_info_iv_3, 7645 .info_iv_3_len = sizeof(test_vector_1_info_iv_3), 7646 7647 .iv_3_raw = test_vector_1_iv_3_raw, 7648 .iv_3_raw_len = sizeof(test_vector_1_iv_3_raw), 7649 7650 .ciphertext_3_raw = test_vector_1_ciphertext_3_raw, 7651 .ciphertext_3_raw_len = sizeof(test_vector_1_ciphertext_3_raw), 7652 7653 .ciphertext_3 = test_vector_1_ciphertext_3, 7654 .ciphertext_3_len = sizeof(test_vector_1_ciphertext_3), 7655 7656 .message_3 = test_vector_1_message_3, 7657 .message_3_len = sizeof(test_vector_1_message_3), 7658 7659 .input_th_4 = test_vector_1_input_th_4, 7660 .input_th_4_len = sizeof(test_vector_1_input_th_4), 7661 7662 .th_4_raw = test_vector_1_th_4_raw, 7663 .th_4_raw_len = sizeof(test_vector_1_th_4_raw), 7664 7665 .th_4 = test_vector_1_th_4, 7666 .th_4_len = sizeof(test_vector_1_th_4), 7667 7668 .ead_4 = test_vector_1_ead_4, 7669 .ead_4_len = sizeof(test_vector_1_ead_4), 7670 7671 .p_4 = test_vector_1_p_4, 7672 .p_4_len = sizeof(test_vector_1_p_4), 7673 7674 .a_4 = test_vector_1_a_4, 7675 .a_4_len = sizeof(test_vector_1_a_4), 7676 7677 .info_k_4 = test_vector_1_info_k_4, 7678 .info_k_4_len = sizeof(test_vector_1_info_k_4), 7679 7680 .k_4_raw = test_vector_1_k_4_raw, 7681 .k_4_raw_len = sizeof(test_vector_1_k_4_raw), 7682 7683 .info_iv_4 = test_vector_1_info_iv_4, 7684 .info_iv_4_len = sizeof(test_vector_1_info_iv_4), 7685 7686 .iv_4_raw = test_vector_1_iv_4_raw, 7687 .iv_4_raw_len = sizeof(test_vector_1_iv_4_raw), 7688 7689 .ciphertext_4_raw = test_vector_1_ciphertext_4_raw, 7690 .ciphertext_4_raw_len = sizeof(test_vector_1_ciphertext_4_raw), 7691 7692 .ciphertext_4 = test_vector_1_ciphertext_4, 7693 .ciphertext_4_len = sizeof(test_vector_1_ciphertext_4), 7694 7695 .message_4 = test_vector_1_message_4, 7696 .message_4_len = sizeof(test_vector_1_message_4), 7697 7698 .oscore_aead_alg = &test_vector_1_oscore_aead_alg, 7699 7700 .oscore_hash_alg = &test_vector_1_oscore_hash_alg, 7701 7702 .client_sender_id_raw = test_vector_1_client_sender_id_raw, 7703 .client_sender_id_raw_len = sizeof(test_vector_1_client_sender_id_raw), 7704 7705 .server_sender_id_raw = test_vector_1_server_sender_id_raw, 7706 .server_sender_id_raw_len = sizeof(test_vector_1_server_sender_id_raw), 7707 7708 .info_oscore_secret = test_vector_1_info_oscore_secret, 7709 .info_oscore_secret_len = sizeof(test_vector_1_info_oscore_secret), 7710 7711 .oscore_secret_raw = test_vector_1_oscore_secret_raw, 7712 .oscore_secret_raw_len = sizeof(test_vector_1_oscore_secret_raw), 7713 7714 .info_oscore_salt = test_vector_1_info_oscore_salt, 7715 .info_oscore_salt_len = sizeof(test_vector_1_info_oscore_salt), 7716 7717 .oscore_salt_raw = test_vector_1_oscore_salt_raw, 7718 .oscore_salt_raw_len = sizeof(test_vector_1_oscore_salt_raw), 7719 7720 .key_update_nonce_raw = test_vector_1_key_update_nonce_raw, 7721 .key_update_nonce_raw_len = sizeof(test_vector_1_key_update_nonce_raw), 7722 7723 .prk_4x3m_key_update_raw = test_vector_1_prk_4x3m_key_update_raw, 7724 .prk_4x3m_key_update_raw_len = sizeof(test_vector_1_prk_4x3m_key_update_raw), 7725 7726 .oscore_secret_key_update_raw = test_vector_1_oscore_secret_key_update_raw, 7727 .oscore_secret_key_update_raw_len = sizeof(test_vector_1_oscore_secret_key_update_raw), 7728 7729 .oscore_salt_key_update_raw = test_vector_1_oscore_salt_key_update_raw, 7730 .oscore_salt_key_update_raw_len = sizeof(test_vector_1_oscore_salt_key_update_raw), 7731 7732 .ca = NULL, 7733 .ca_len = 0, 7734 7735 .ca_pk = NULL, 7736 .ca_pk_len = 0, 7737 7738 .i_raw = test_vector_1_i_raw, 7739 .i_raw_len = sizeof(test_vector_1_i_raw), 7740 7741 .g_i_raw = test_vector_1_g_i_raw, 7742 .g_i_raw_len = sizeof(test_vector_1_g_i_raw), 7743 7744 .r_raw = test_vector_1_r_raw, 7745 .r_raw_len = sizeof(test_vector_1_r_raw), 7746 7747 .g_r_raw = test_vector_1_g_r_raw, 7748 .g_r_raw_len = sizeof(test_vector_1_g_r_raw), 7749 7750 .c_i_raw = NULL, 7751 .c_i_raw_len = 0, 7752 .c_i_raw_int = &test_vector_1_c_i_raw, 7753 7754 .c_r_raw = test_vector_1_c_r_raw, 7755 .c_r_raw_len = sizeof(test_vector_1_c_r_raw), 7756 .c_r_raw_int = NULL, 7757 }, 7758 /*--------------- test_vector_2 ------------*/ 7759 7760 { 7761 .method = test_vector_2_method, 7762 .method_len = sizeof(test_vector_2_method), 7763 7764 .suites_i = test_vector_2_suites_i, 7765 .suites_i_len = sizeof(test_vector_2_suites_i), 7766 7767 .suites_r = test_vector_2_suites_r, 7768 .suites_r_len = sizeof(test_vector_2_suites_r), 7769 7770 .x_raw = test_vector_2_x_raw, 7771 .x_raw_len = sizeof(test_vector_2_x_raw), 7772 7773 .g_x_raw = test_vector_2_g_x_raw, 7774 .g_x_raw_len = sizeof(test_vector_2_g_x_raw), 7775 7776 .g_x = test_vector_2_g_x, 7777 .g_x_len = sizeof(test_vector_2_g_x), 7778 7779 .c_i = test_vector_2_c_i, 7780 .c_i_len = sizeof(test_vector_2_c_i), 7781 7782 .ead_1 = test_vector_2_ead_1, 7783 .ead_1_len = sizeof(test_vector_2_ead_1), 7784 7785 .message_1 = test_vector_2_message_1, 7786 .message_1_len = sizeof(test_vector_2_message_1), 7787 7788 .y_raw = test_vector_2_y_raw, 7789 .y_raw_len = sizeof(test_vector_2_y_raw), 7790 7791 .g_y_raw = test_vector_2_g_y_raw, 7792 .g_y_raw_len = sizeof(test_vector_2_g_y_raw), 7793 7794 .g_y = test_vector_2_g_y, 7795 .g_y_len = sizeof(test_vector_2_g_y), 7796 7797 .g_xy_raw = test_vector_2_g_xy_raw, 7798 .g_xy_raw_len = sizeof(test_vector_2_g_xy_raw), 7799 7800 .salt_raw = test_vector_2_salt_raw, 7801 .salt_raw_len = sizeof(test_vector_2_salt_raw), 7802 7803 .prk_2e_raw = test_vector_2_prk_2e_raw, 7804 .prk_2e_raw_len = sizeof(test_vector_2_prk_2e_raw), 7805 7806 .sk_r_raw = test_vector_2_sk_r_raw, 7807 .sk_r_raw_len = sizeof(test_vector_2_sk_r_raw), 7808 7809 .pk_r_raw = test_vector_2_pk_r_raw, 7810 .pk_r_raw_len = sizeof(test_vector_2_pk_r_raw), 7811 7812 .prk_3e2m_raw = test_vector_2_prk_3e2m_raw, 7813 .prk_3e2m_raw_len = sizeof(test_vector_2_prk_3e2m_raw), 7814 7815 .c_r = test_vector_2_c_r, 7816 .c_r_len = sizeof(test_vector_2_c_r), 7817 7818 .h_message_1_raw = test_vector_2_h_message_1_raw, 7819 .h_message_1_raw_len = sizeof(test_vector_2_h_message_1_raw), 7820 7821 .h_message_1 = test_vector_2_h_message_1, 7822 .h_message_1_len = sizeof(test_vector_2_h_message_1), 7823 7824 .input_th_2 = test_vector_2_input_th_2, 7825 .input_th_2_len = sizeof(test_vector_2_input_th_2), 7826 7827 .th_2_raw = test_vector_2_th_2_raw, 7828 .th_2_raw_len = sizeof(test_vector_2_th_2_raw), 7829 7830 .th_2 = test_vector_2_th_2, 7831 .th_2_len = sizeof(test_vector_2_th_2), 7832 7833 .id_cred_r = test_vector_2_id_cred_r, 7834 .id_cred_r_len = sizeof(test_vector_2_id_cred_r), 7835 7836 .cred_r = test_vector_2_cred_r, 7837 .cred_r_len = sizeof(test_vector_2_cred_r), 7838 7839 .ead_2 = test_vector_2_ead_2, 7840 .ead_2_len = sizeof(test_vector_2_ead_2), 7841 7842 .info_mac_2 = test_vector_2_info_mac_2, 7843 .info_mac_2_len = sizeof(test_vector_2_info_mac_2), 7844 7845 .mac_2_raw = test_vector_2_mac_2_raw, 7846 .mac_2_raw_len = sizeof(test_vector_2_mac_2_raw), 7847 7848 .mac_2 = test_vector_2_mac_2, 7849 .mac_2_len = sizeof(test_vector_2_mac_2), 7850 7851 .m_2 = test_vector_2_m_2, 7852 .m_2_len = sizeof(test_vector_2_m_2), 7853 7854 .sig_or_mac_2_raw = test_vector_2_sig_or_mac_2_raw, 7855 .sig_or_mac_2_raw_len = sizeof(test_vector_2_sig_or_mac_2_raw), 7856 7857 .sig_or_mac_2 = test_vector_2_sig_or_mac_2, 7858 .sig_or_mac_2_len = sizeof(test_vector_2_sig_or_mac_2), 7859 7860 .plaintext_2 = test_vector_2_plaintext_2, 7861 .plaintext_2_len = sizeof(test_vector_2_plaintext_2), 7862 7863 .info_keystream_2 = test_vector_2_info_keystream_2, 7864 .info_keystream_2_len = sizeof(test_vector_2_info_keystream_2), 7865 7866 .keystream_2_raw = test_vector_2_keystream_2_raw, 7867 .keystream_2_raw_len = sizeof(test_vector_2_keystream_2_raw), 7868 7869 .ciphertext_2_raw = test_vector_2_ciphertext_2_raw, 7870 .ciphertext_2_raw_len = sizeof(test_vector_2_ciphertext_2_raw), 7871 7872 .ciphertext_2 = test_vector_2_ciphertext_2, 7873 .ciphertext_2_len = sizeof(test_vector_2_ciphertext_2), 7874 7875 .message_2 = test_vector_2_message_2, 7876 .message_2_len = sizeof(test_vector_2_message_2), 7877 7878 .sk_i_raw = NULL, 7879 .sk_i_raw_len = 0, 7880 7881 .pk_i_raw = NULL, 7882 .pk_i_raw_len = 0, 7883 7884 .prk_4x3m_raw = test_vector_2_prk_4x3m_raw, 7885 .prk_4x3m_raw_len = sizeof(test_vector_2_prk_4x3m_raw), 7886 7887 .input_TH_3 = test_vector_2_input_TH_3, 7888 .input_TH_3_len = sizeof(test_vector_2_input_TH_3), 7889 7890 .th_3_raw = test_vector_2_th_3_raw, 7891 .th_3_raw_len = sizeof(test_vector_2_th_3_raw), 7892 7893 .th_3 = test_vector_2_th_3, 7894 .th_3_len = sizeof(test_vector_2_th_3), 7895 7896 .id_cred_i = test_vector_2_id_cred_i, 7897 .id_cred_i_len = sizeof(test_vector_2_id_cred_i), 7898 7899 .cred_i = test_vector_2_cred_i, 7900 .cred_i_len = sizeof(test_vector_2_cred_i), 7901 7902 .ead_3 = test_vector_2_ead_3, 7903 .ead_3_len = sizeof(test_vector_2_ead_3), 7904 7905 .info_mac_3 = test_vector_2_info_mac_3, 7906 .info_mac_3_len = sizeof(test_vector_2_info_mac_3), 7907 7908 .mac_3_raw = test_vector_2_mac_3_raw, 7909 .mac_3_raw_len = sizeof(test_vector_2_mac_3_raw), 7910 7911 .mac_3 = test_vector_2_mac_3, 7912 .mac_3_len = sizeof(test_vector_2_mac_3), 7913 7914 .m_3 = NULL, 7915 .m_3_len = 0, 7916 7917 .sig_or_mac_3_raw = test_vector_2_sig_or_mac_3_raw, 7918 .sig_or_mac_3_raw_len = sizeof(test_vector_2_sig_or_mac_3_raw), 7919 7920 .sig_or_mac_3 = test_vector_2_sig_or_mac_3, 7921 .sig_or_mac_3_len = sizeof(test_vector_2_sig_or_mac_3), 7922 7923 .p_3 = test_vector_2_p_3, 7924 .p_3_len = sizeof(test_vector_2_p_3), 7925 7926 .a_3 = test_vector_2_a_3, 7927 .a_3_len = sizeof(test_vector_2_a_3), 7928 7929 .info_k_3 = test_vector_2_info_k_3, 7930 .info_k_3_len = sizeof(test_vector_2_info_k_3), 7931 7932 .k_3_raw = test_vector_2_k_3_raw, 7933 .k_3_raw_len = sizeof(test_vector_2_k_3_raw), 7934 7935 .info_iv_3 = test_vector_2_info_iv_3, 7936 .info_iv_3_len = sizeof(test_vector_2_info_iv_3), 7937 7938 .iv_3_raw = test_vector_2_iv_3_raw, 7939 .iv_3_raw_len = sizeof(test_vector_2_iv_3_raw), 7940 7941 .ciphertext_3_raw = test_vector_2_ciphertext_3_raw, 7942 .ciphertext_3_raw_len = sizeof(test_vector_2_ciphertext_3_raw), 7943 7944 .ciphertext_3 = test_vector_2_ciphertext_3, 7945 .ciphertext_3_len = sizeof(test_vector_2_ciphertext_3), 7946 7947 .message_3 = test_vector_2_message_3, 7948 .message_3_len = sizeof(test_vector_2_message_3), 7949 7950 .input_th_4 = test_vector_2_input_th_4, 7951 .input_th_4_len = sizeof(test_vector_2_input_th_4), 7952 7953 .th_4_raw = test_vector_2_th_4_raw, 7954 .th_4_raw_len = sizeof(test_vector_2_th_4_raw), 7955 7956 .th_4 = test_vector_2_th_4, 7957 .th_4_len = sizeof(test_vector_2_th_4), 7958 7959 .ead_4 = test_vector_2_ead_4, 7960 .ead_4_len = sizeof(test_vector_2_ead_4), 7961 7962 .p_4 = test_vector_2_p_4, 7963 .p_4_len = sizeof(test_vector_2_p_4), 7964 7965 .a_4 = test_vector_2_a_4, 7966 .a_4_len = sizeof(test_vector_2_a_4), 7967 7968 .info_k_4 = test_vector_2_info_k_4, 7969 .info_k_4_len = sizeof(test_vector_2_info_k_4), 7970 7971 .k_4_raw = test_vector_2_k_4_raw, 7972 .k_4_raw_len = sizeof(test_vector_2_k_4_raw), 7973 7974 .info_iv_4 = test_vector_2_info_iv_4, 7975 .info_iv_4_len = sizeof(test_vector_2_info_iv_4), 7976 7977 .iv_4_raw = test_vector_2_iv_4_raw, 7978 .iv_4_raw_len = sizeof(test_vector_2_iv_4_raw), 7979 7980 .ciphertext_4_raw = test_vector_2_ciphertext_4_raw, 7981 .ciphertext_4_raw_len = sizeof(test_vector_2_ciphertext_4_raw), 7982 7983 .ciphertext_4 = test_vector_2_ciphertext_4, 7984 .ciphertext_4_len = sizeof(test_vector_2_ciphertext_4), 7985 7986 .message_4 = test_vector_2_message_4, 7987 .message_4_len = sizeof(test_vector_2_message_4), 7988 7989 .oscore_aead_alg = &test_vector_2_oscore_aead_alg, 7990 7991 .oscore_hash_alg = &test_vector_2_oscore_hash_alg, 7992 7993 .client_sender_id_raw = test_vector_2_client_sender_id_raw, 7994 .client_sender_id_raw_len = sizeof(test_vector_2_client_sender_id_raw), 7995 7996 .server_sender_id_raw = test_vector_2_server_sender_id_raw, 7997 .server_sender_id_raw_len = sizeof(test_vector_2_server_sender_id_raw), 7998 7999 .info_oscore_secret = test_vector_2_info_oscore_secret, 8000 .info_oscore_secret_len = sizeof(test_vector_2_info_oscore_secret), 8001 8002 .oscore_secret_raw = test_vector_2_oscore_secret_raw, 8003 .oscore_secret_raw_len = sizeof(test_vector_2_oscore_secret_raw), 8004 8005 .info_oscore_salt = test_vector_2_info_oscore_salt, 8006 .info_oscore_salt_len = sizeof(test_vector_2_info_oscore_salt), 8007 8008 .oscore_salt_raw = test_vector_2_oscore_salt_raw, 8009 .oscore_salt_raw_len = sizeof(test_vector_2_oscore_salt_raw), 8010 8011 .key_update_nonce_raw = test_vector_2_key_update_nonce_raw, 8012 .key_update_nonce_raw_len = sizeof(test_vector_2_key_update_nonce_raw), 8013 8014 .prk_4x3m_key_update_raw = test_vector_2_prk_4x3m_key_update_raw, 8015 .prk_4x3m_key_update_raw_len = sizeof(test_vector_2_prk_4x3m_key_update_raw), 8016 8017 .oscore_secret_key_update_raw = test_vector_2_oscore_secret_key_update_raw, 8018 .oscore_secret_key_update_raw_len = sizeof(test_vector_2_oscore_secret_key_update_raw), 8019 8020 .oscore_salt_key_update_raw = test_vector_2_oscore_salt_key_update_raw, 8021 .oscore_salt_key_update_raw_len = sizeof(test_vector_2_oscore_salt_key_update_raw), 8022 8023 .ca = NULL, 8024 .ca_len = 0, 8025 8026 .ca_pk = NULL, 8027 .ca_pk_len = 0, 8028 8029 .i_raw = test_vector_2_i_raw, 8030 .i_raw_len = sizeof(test_vector_2_i_raw), 8031 8032 .g_i_raw = test_vector_2_g_i_raw, 8033 .g_i_raw_len = sizeof(test_vector_2_g_i_raw), 8034 8035 .r_raw = NULL, 8036 .r_raw_len = 0, 8037 8038 .g_r_raw = NULL, 8039 .g_r_raw_len = 0, 8040 8041 .c_i_raw = NULL, 8042 .c_i_raw_len = 0, 8043 .c_i_raw_int = &test_vector_2_c_i_raw, 8044 8045 .c_r_raw = NULL, 8046 .c_r_raw_len = 0, 8047 .c_r_raw_int = &test_vector_2_c_r_raw, 8048 }, 8049 /*--------------- test_vector_3 ------------*/ 8050 8051 { 8052 .method = test_vector_3_method, 8053 .method_len = sizeof(test_vector_3_method), 8054 8055 .suites_i = test_vector_3_suites_i, 8056 .suites_i_len = sizeof(test_vector_3_suites_i), 8057 8058 .suites_r = test_vector_3_suites_r, 8059 .suites_r_len = sizeof(test_vector_3_suites_r), 8060 8061 .x_raw = test_vector_3_x_raw, 8062 .x_raw_len = sizeof(test_vector_3_x_raw), 8063 8064 .g_x_raw = test_vector_3_g_x_raw, 8065 .g_x_raw_len = sizeof(test_vector_3_g_x_raw), 8066 8067 .g_x = test_vector_3_g_x, 8068 .g_x_len = sizeof(test_vector_3_g_x), 8069 8070 .c_i = test_vector_3_c_i, 8071 .c_i_len = sizeof(test_vector_3_c_i), 8072 8073 .ead_1 = test_vector_3_ead_1, 8074 .ead_1_len = sizeof(test_vector_3_ead_1), 8075 8076 .message_1 = test_vector_3_message_1, 8077 .message_1_len = sizeof(test_vector_3_message_1), 8078 8079 .y_raw = test_vector_3_y_raw, 8080 .y_raw_len = sizeof(test_vector_3_y_raw), 8081 8082 .g_y_raw = test_vector_3_g_y_raw, 8083 .g_y_raw_len = sizeof(test_vector_3_g_y_raw), 8084 8085 .g_y = test_vector_3_g_y, 8086 .g_y_len = sizeof(test_vector_3_g_y), 8087 8088 .g_xy_raw = test_vector_3_g_xy_raw, 8089 .g_xy_raw_len = sizeof(test_vector_3_g_xy_raw), 8090 8091 .salt_raw = test_vector_3_salt_raw, 8092 .salt_raw_len = sizeof(test_vector_3_salt_raw), 8093 8094 .prk_2e_raw = test_vector_3_prk_2e_raw, 8095 .prk_2e_raw_len = sizeof(test_vector_3_prk_2e_raw), 8096 8097 .sk_r_raw = NULL, 8098 .sk_r_raw_len = 0, 8099 8100 .pk_r_raw = NULL, 8101 .pk_r_raw_len = 0, 8102 8103 .prk_3e2m_raw = test_vector_3_prk_3e2m_raw, 8104 .prk_3e2m_raw_len = sizeof(test_vector_3_prk_3e2m_raw), 8105 8106 .c_r = test_vector_3_c_r, 8107 .c_r_len = sizeof(test_vector_3_c_r), 8108 8109 .h_message_1_raw = test_vector_3_h_message_1_raw, 8110 .h_message_1_raw_len = sizeof(test_vector_3_h_message_1_raw), 8111 8112 .h_message_1 = test_vector_3_h_message_1, 8113 .h_message_1_len = sizeof(test_vector_3_h_message_1), 8114 8115 .input_th_2 = test_vector_3_input_th_2, 8116 .input_th_2_len = sizeof(test_vector_3_input_th_2), 8117 8118 .th_2_raw = test_vector_3_th_2_raw, 8119 .th_2_raw_len = sizeof(test_vector_3_th_2_raw), 8120 8121 .th_2 = test_vector_3_th_2, 8122 .th_2_len = sizeof(test_vector_3_th_2), 8123 8124 .id_cred_r = test_vector_3_id_cred_r, 8125 .id_cred_r_len = sizeof(test_vector_3_id_cred_r), 8126 8127 .cred_r = test_vector_3_cred_r, 8128 .cred_r_len = sizeof(test_vector_3_cred_r), 8129 8130 .ead_2 = test_vector_3_ead_2, 8131 .ead_2_len = sizeof(test_vector_3_ead_2), 8132 8133 .info_mac_2 = test_vector_3_info_mac_2, 8134 .info_mac_2_len = sizeof(test_vector_3_info_mac_2), 8135 8136 .mac_2_raw = test_vector_3_mac_2_raw, 8137 .mac_2_raw_len = sizeof(test_vector_3_mac_2_raw), 8138 8139 .mac_2 = test_vector_3_mac_2, 8140 .mac_2_len = sizeof(test_vector_3_mac_2), 8141 8142 .m_2 = NULL, 8143 .m_2_len = 0, 8144 8145 .sig_or_mac_2_raw = test_vector_3_sig_or_mac_2_raw, 8146 .sig_or_mac_2_raw_len = sizeof(test_vector_3_sig_or_mac_2_raw), 8147 8148 .sig_or_mac_2 = test_vector_3_sig_or_mac_2, 8149 .sig_or_mac_2_len = sizeof(test_vector_3_sig_or_mac_2), 8150 8151 .plaintext_2 = test_vector_3_plaintext_2, 8152 .plaintext_2_len = sizeof(test_vector_3_plaintext_2), 8153 8154 .info_keystream_2 = test_vector_3_info_keystream_2, 8155 .info_keystream_2_len = sizeof(test_vector_3_info_keystream_2), 8156 8157 .keystream_2_raw = test_vector_3_keystream_2_raw, 8158 .keystream_2_raw_len = sizeof(test_vector_3_keystream_2_raw), 8159 8160 .ciphertext_2_raw = test_vector_3_ciphertext_2_raw, 8161 .ciphertext_2_raw_len = sizeof(test_vector_3_ciphertext_2_raw), 8162 8163 .ciphertext_2 = test_vector_3_ciphertext_2, 8164 .ciphertext_2_len = sizeof(test_vector_3_ciphertext_2), 8165 8166 .message_2 = test_vector_3_message_2, 8167 .message_2_len = sizeof(test_vector_3_message_2), 8168 8169 .sk_i_raw = test_vector_3_sk_i_raw, 8170 .sk_i_raw_len = sizeof(test_vector_3_sk_i_raw), 8171 8172 .pk_i_raw = test_vector_3_pk_i_raw, 8173 .pk_i_raw_len = sizeof(test_vector_3_pk_i_raw), 8174 8175 .prk_4x3m_raw = test_vector_3_prk_4x3m_raw, 8176 .prk_4x3m_raw_len = sizeof(test_vector_3_prk_4x3m_raw), 8177 8178 .input_TH_3 = test_vector_3_input_TH_3, 8179 .input_TH_3_len = sizeof(test_vector_3_input_TH_3), 8180 8181 .th_3_raw = test_vector_3_th_3_raw, 8182 .th_3_raw_len = sizeof(test_vector_3_th_3_raw), 8183 8184 .th_3 = test_vector_3_th_3, 8185 .th_3_len = sizeof(test_vector_3_th_3), 8186 8187 .id_cred_i = test_vector_3_id_cred_i, 8188 .id_cred_i_len = sizeof(test_vector_3_id_cred_i), 8189 8190 .cred_i = test_vector_3_cred_i, 8191 .cred_i_len = sizeof(test_vector_3_cred_i), 8192 8193 .ead_3 = test_vector_3_ead_3, 8194 .ead_3_len = sizeof(test_vector_3_ead_3), 8195 8196 .info_mac_3 = test_vector_3_info_mac_3, 8197 .info_mac_3_len = sizeof(test_vector_3_info_mac_3), 8198 8199 .mac_3_raw = test_vector_3_mac_3_raw, 8200 .mac_3_raw_len = sizeof(test_vector_3_mac_3_raw), 8201 8202 .mac_3 = test_vector_3_mac_3, 8203 .mac_3_len = sizeof(test_vector_3_mac_3), 8204 8205 .m_3 = test_vector_3_m_3, 8206 .m_3_len = sizeof(test_vector_3_m_3), 8207 8208 .sig_or_mac_3_raw = test_vector_3_sig_or_mac_3_raw, 8209 .sig_or_mac_3_raw_len = sizeof(test_vector_3_sig_or_mac_3_raw), 8210 8211 .sig_or_mac_3 = test_vector_3_sig_or_mac_3, 8212 .sig_or_mac_3_len = sizeof(test_vector_3_sig_or_mac_3), 8213 8214 .p_3 = test_vector_3_p_3, 8215 .p_3_len = sizeof(test_vector_3_p_3), 8216 8217 .a_3 = test_vector_3_a_3, 8218 .a_3_len = sizeof(test_vector_3_a_3), 8219 8220 .info_k_3 = test_vector_3_info_k_3, 8221 .info_k_3_len = sizeof(test_vector_3_info_k_3), 8222 8223 .k_3_raw = test_vector_3_k_3_raw, 8224 .k_3_raw_len = sizeof(test_vector_3_k_3_raw), 8225 8226 .info_iv_3 = test_vector_3_info_iv_3, 8227 .info_iv_3_len = sizeof(test_vector_3_info_iv_3), 8228 8229 .iv_3_raw = test_vector_3_iv_3_raw, 8230 .iv_3_raw_len = sizeof(test_vector_3_iv_3_raw), 8231 8232 .ciphertext_3_raw = test_vector_3_ciphertext_3_raw, 8233 .ciphertext_3_raw_len = sizeof(test_vector_3_ciphertext_3_raw), 8234 8235 .ciphertext_3 = test_vector_3_ciphertext_3, 8236 .ciphertext_3_len = sizeof(test_vector_3_ciphertext_3), 8237 8238 .message_3 = test_vector_3_message_3, 8239 .message_3_len = sizeof(test_vector_3_message_3), 8240 8241 .input_th_4 = test_vector_3_input_th_4, 8242 .input_th_4_len = sizeof(test_vector_3_input_th_4), 8243 8244 .th_4_raw = test_vector_3_th_4_raw, 8245 .th_4_raw_len = sizeof(test_vector_3_th_4_raw), 8246 8247 .th_4 = test_vector_3_th_4, 8248 .th_4_len = sizeof(test_vector_3_th_4), 8249 8250 .ead_4 = test_vector_3_ead_4, 8251 .ead_4_len = sizeof(test_vector_3_ead_4), 8252 8253 .p_4 = test_vector_3_p_4, 8254 .p_4_len = sizeof(test_vector_3_p_4), 8255 8256 .a_4 = test_vector_3_a_4, 8257 .a_4_len = sizeof(test_vector_3_a_4), 8258 8259 .info_k_4 = test_vector_3_info_k_4, 8260 .info_k_4_len = sizeof(test_vector_3_info_k_4), 8261 8262 .k_4_raw = test_vector_3_k_4_raw, 8263 .k_4_raw_len = sizeof(test_vector_3_k_4_raw), 8264 8265 .info_iv_4 = test_vector_3_info_iv_4, 8266 .info_iv_4_len = sizeof(test_vector_3_info_iv_4), 8267 8268 .iv_4_raw = test_vector_3_iv_4_raw, 8269 .iv_4_raw_len = sizeof(test_vector_3_iv_4_raw), 8270 8271 .ciphertext_4_raw = test_vector_3_ciphertext_4_raw, 8272 .ciphertext_4_raw_len = sizeof(test_vector_3_ciphertext_4_raw), 8273 8274 .ciphertext_4 = test_vector_3_ciphertext_4, 8275 .ciphertext_4_len = sizeof(test_vector_3_ciphertext_4), 8276 8277 .message_4 = test_vector_3_message_4, 8278 .message_4_len = sizeof(test_vector_3_message_4), 8279 8280 .oscore_aead_alg = &test_vector_3_oscore_aead_alg, 8281 8282 .oscore_hash_alg = &test_vector_3_oscore_hash_alg, 8283 8284 .client_sender_id_raw = test_vector_3_client_sender_id_raw, 8285 .client_sender_id_raw_len = sizeof(test_vector_3_client_sender_id_raw), 8286 8287 .server_sender_id_raw = test_vector_3_server_sender_id_raw, 8288 .server_sender_id_raw_len = sizeof(test_vector_3_server_sender_id_raw), 8289 8290 .info_oscore_secret = test_vector_3_info_oscore_secret, 8291 .info_oscore_secret_len = sizeof(test_vector_3_info_oscore_secret), 8292 8293 .oscore_secret_raw = test_vector_3_oscore_secret_raw, 8294 .oscore_secret_raw_len = sizeof(test_vector_3_oscore_secret_raw), 8295 8296 .info_oscore_salt = test_vector_3_info_oscore_salt, 8297 .info_oscore_salt_len = sizeof(test_vector_3_info_oscore_salt), 8298 8299 .oscore_salt_raw = test_vector_3_oscore_salt_raw, 8300 .oscore_salt_raw_len = sizeof(test_vector_3_oscore_salt_raw), 8301 8302 .key_update_nonce_raw = test_vector_3_key_update_nonce_raw, 8303 .key_update_nonce_raw_len = sizeof(test_vector_3_key_update_nonce_raw), 8304 8305 .prk_4x3m_key_update_raw = test_vector_3_prk_4x3m_key_update_raw, 8306 .prk_4x3m_key_update_raw_len = sizeof(test_vector_3_prk_4x3m_key_update_raw), 8307 8308 .oscore_secret_key_update_raw = test_vector_3_oscore_secret_key_update_raw, 8309 .oscore_secret_key_update_raw_len = sizeof(test_vector_3_oscore_secret_key_update_raw), 8310 8311 .oscore_salt_key_update_raw = test_vector_3_oscore_salt_key_update_raw, 8312 .oscore_salt_key_update_raw_len = sizeof(test_vector_3_oscore_salt_key_update_raw), 8313 8314 .ca = NULL, 8315 .ca_len = 0, 8316 8317 .ca_pk = NULL, 8318 .ca_pk_len = 0, 8319 8320 .i_raw = NULL, 8321 .i_raw_len = 0, 8322 8323 .g_i_raw = NULL, 8324 .g_i_raw_len = 0, 8325 8326 .r_raw = test_vector_3_r_raw, 8327 .r_raw_len = sizeof(test_vector_3_r_raw), 8328 8329 .g_r_raw = test_vector_3_g_r_raw, 8330 .g_r_raw_len = sizeof(test_vector_3_g_r_raw), 8331 8332 .c_i_raw = NULL, 8333 .c_i_raw_len = 0, 8334 .c_i_raw_int = &test_vector_3_c_i_raw, 8335 8336 .c_r_raw = NULL, 8337 .c_r_raw_len = 0, 8338 .c_r_raw_int = &test_vector_3_c_r_raw, 8339 }, 8340 /*--------------- test_vector_4 ------------*/ 8341 8342 { 8343 .method = test_vector_4_method, 8344 .method_len = sizeof(test_vector_4_method), 8345 8346 .suites_i = test_vector_4_suites_i, 8347 .suites_i_len = sizeof(test_vector_4_suites_i), 8348 8349 .suites_r = test_vector_4_suites_r, 8350 .suites_r_len = sizeof(test_vector_4_suites_r), 8351 8352 .x_raw = test_vector_4_x_raw, 8353 .x_raw_len = sizeof(test_vector_4_x_raw), 8354 8355 .g_x_raw = test_vector_4_g_x_raw, 8356 .g_x_raw_len = sizeof(test_vector_4_g_x_raw), 8357 8358 .g_x = test_vector_4_g_x, 8359 .g_x_len = sizeof(test_vector_4_g_x), 8360 8361 .c_i = test_vector_4_c_i, 8362 .c_i_len = sizeof(test_vector_4_c_i), 8363 8364 .ead_1 = test_vector_4_ead_1, 8365 .ead_1_len = sizeof(test_vector_4_ead_1), 8366 8367 .message_1 = test_vector_4_message_1, 8368 .message_1_len = sizeof(test_vector_4_message_1), 8369 8370 .y_raw = test_vector_4_y_raw, 8371 .y_raw_len = sizeof(test_vector_4_y_raw), 8372 8373 .g_y_raw = test_vector_4_g_y_raw, 8374 .g_y_raw_len = sizeof(test_vector_4_g_y_raw), 8375 8376 .g_y = test_vector_4_g_y, 8377 .g_y_len = sizeof(test_vector_4_g_y), 8378 8379 .g_xy_raw = test_vector_4_g_xy_raw, 8380 .g_xy_raw_len = sizeof(test_vector_4_g_xy_raw), 8381 8382 .salt_raw = test_vector_4_salt_raw, 8383 .salt_raw_len = sizeof(test_vector_4_salt_raw), 8384 8385 .prk_2e_raw = test_vector_4_prk_2e_raw, 8386 .prk_2e_raw_len = sizeof(test_vector_4_prk_2e_raw), 8387 8388 .sk_r_raw = test_vector_4_sk_r_raw, 8389 .sk_r_raw_len = sizeof(test_vector_4_sk_r_raw), 8390 8391 .pk_r_raw = test_vector_4_pk_r_raw, 8392 .pk_r_raw_len = sizeof(test_vector_4_pk_r_raw), 8393 8394 .prk_3e2m_raw = test_vector_4_prk_3e2m_raw, 8395 .prk_3e2m_raw_len = sizeof(test_vector_4_prk_3e2m_raw), 8396 8397 .c_r = test_vector_4_c_r, 8398 .c_r_len = sizeof(test_vector_4_c_r), 8399 8400 .h_message_1_raw = test_vector_4_h_message_1_raw, 8401 .h_message_1_raw_len = sizeof(test_vector_4_h_message_1_raw), 8402 8403 .h_message_1 = test_vector_4_h_message_1, 8404 .h_message_1_len = sizeof(test_vector_4_h_message_1), 8405 8406 .input_th_2 = test_vector_4_input_th_2, 8407 .input_th_2_len = sizeof(test_vector_4_input_th_2), 8408 8409 .th_2_raw = test_vector_4_th_2_raw, 8410 .th_2_raw_len = sizeof(test_vector_4_th_2_raw), 8411 8412 .th_2 = test_vector_4_th_2, 8413 .th_2_len = sizeof(test_vector_4_th_2), 8414 8415 .id_cred_r = test_vector_4_id_cred_r, 8416 .id_cred_r_len = sizeof(test_vector_4_id_cred_r), 8417 8418 .cred_r = test_vector_4_cred_r, 8419 .cred_r_len = sizeof(test_vector_4_cred_r), 8420 8421 .ead_2 = test_vector_4_ead_2, 8422 .ead_2_len = sizeof(test_vector_4_ead_2), 8423 8424 .info_mac_2 = test_vector_4_info_mac_2, 8425 .info_mac_2_len = sizeof(test_vector_4_info_mac_2), 8426 8427 .mac_2_raw = test_vector_4_mac_2_raw, 8428 .mac_2_raw_len = sizeof(test_vector_4_mac_2_raw), 8429 8430 .mac_2 = test_vector_4_mac_2, 8431 .mac_2_len = sizeof(test_vector_4_mac_2), 8432 8433 .m_2 = test_vector_4_m_2, 8434 .m_2_len = sizeof(test_vector_4_m_2), 8435 8436 .sig_or_mac_2_raw = test_vector_4_sig_or_mac_2_raw, 8437 .sig_or_mac_2_raw_len = sizeof(test_vector_4_sig_or_mac_2_raw), 8438 8439 .sig_or_mac_2 = test_vector_4_sig_or_mac_2, 8440 .sig_or_mac_2_len = sizeof(test_vector_4_sig_or_mac_2), 8441 8442 .plaintext_2 = test_vector_4_plaintext_2, 8443 .plaintext_2_len = sizeof(test_vector_4_plaintext_2), 8444 8445 .info_keystream_2 = test_vector_4_info_keystream_2, 8446 .info_keystream_2_len = sizeof(test_vector_4_info_keystream_2), 8447 8448 .keystream_2_raw = test_vector_4_keystream_2_raw, 8449 .keystream_2_raw_len = sizeof(test_vector_4_keystream_2_raw), 8450 8451 .ciphertext_2_raw = test_vector_4_ciphertext_2_raw, 8452 .ciphertext_2_raw_len = sizeof(test_vector_4_ciphertext_2_raw), 8453 8454 .ciphertext_2 = test_vector_4_ciphertext_2, 8455 .ciphertext_2_len = sizeof(test_vector_4_ciphertext_2), 8456 8457 .message_2 = test_vector_4_message_2, 8458 .message_2_len = sizeof(test_vector_4_message_2), 8459 8460 .sk_i_raw = test_vector_4_sk_i_raw, 8461 .sk_i_raw_len = sizeof(test_vector_4_sk_i_raw), 8462 8463 .pk_i_raw = test_vector_4_pk_i_raw, 8464 .pk_i_raw_len = sizeof(test_vector_4_pk_i_raw), 8465 8466 .prk_4x3m_raw = test_vector_4_prk_4x3m_raw, 8467 .prk_4x3m_raw_len = sizeof(test_vector_4_prk_4x3m_raw), 8468 8469 .input_TH_3 = test_vector_4_input_TH_3, 8470 .input_TH_3_len = sizeof(test_vector_4_input_TH_3), 8471 8472 .th_3_raw = test_vector_4_th_3_raw, 8473 .th_3_raw_len = sizeof(test_vector_4_th_3_raw), 8474 8475 .th_3 = test_vector_4_th_3, 8476 .th_3_len = sizeof(test_vector_4_th_3), 8477 8478 .id_cred_i = test_vector_4_id_cred_i, 8479 .id_cred_i_len = sizeof(test_vector_4_id_cred_i), 8480 8481 .cred_i = test_vector_4_cred_i, 8482 .cred_i_len = sizeof(test_vector_4_cred_i), 8483 8484 .ead_3 = test_vector_4_ead_3, 8485 .ead_3_len = sizeof(test_vector_4_ead_3), 8486 8487 .info_mac_3 = test_vector_4_info_mac_3, 8488 .info_mac_3_len = sizeof(test_vector_4_info_mac_3), 8489 8490 .mac_3_raw = test_vector_4_mac_3_raw, 8491 .mac_3_raw_len = sizeof(test_vector_4_mac_3_raw), 8492 8493 .mac_3 = test_vector_4_mac_3, 8494 .mac_3_len = sizeof(test_vector_4_mac_3), 8495 8496 .m_3 = test_vector_4_m_3, 8497 .m_3_len = sizeof(test_vector_4_m_3), 8498 8499 .sig_or_mac_3_raw = test_vector_4_sig_or_mac_3_raw, 8500 .sig_or_mac_3_raw_len = sizeof(test_vector_4_sig_or_mac_3_raw), 8501 8502 .sig_or_mac_3 = test_vector_4_sig_or_mac_3, 8503 .sig_or_mac_3_len = sizeof(test_vector_4_sig_or_mac_3), 8504 8505 .p_3 = test_vector_4_p_3, 8506 .p_3_len = sizeof(test_vector_4_p_3), 8507 8508 .a_3 = test_vector_4_a_3, 8509 .a_3_len = sizeof(test_vector_4_a_3), 8510 8511 .info_k_3 = test_vector_4_info_k_3, 8512 .info_k_3_len = sizeof(test_vector_4_info_k_3), 8513 8514 .k_3_raw = test_vector_4_k_3_raw, 8515 .k_3_raw_len = sizeof(test_vector_4_k_3_raw), 8516 8517 .info_iv_3 = test_vector_4_info_iv_3, 8518 .info_iv_3_len = sizeof(test_vector_4_info_iv_3), 8519 8520 .iv_3_raw = test_vector_4_iv_3_raw, 8521 .iv_3_raw_len = sizeof(test_vector_4_iv_3_raw), 8522 8523 .ciphertext_3_raw = test_vector_4_ciphertext_3_raw, 8524 .ciphertext_3_raw_len = sizeof(test_vector_4_ciphertext_3_raw), 8525 8526 .ciphertext_3 = test_vector_4_ciphertext_3, 8527 .ciphertext_3_len = sizeof(test_vector_4_ciphertext_3), 8528 8529 .message_3 = test_vector_4_message_3, 8530 .message_3_len = sizeof(test_vector_4_message_3), 8531 8532 .input_th_4 = test_vector_4_input_th_4, 8533 .input_th_4_len = sizeof(test_vector_4_input_th_4), 8534 8535 .th_4_raw = test_vector_4_th_4_raw, 8536 .th_4_raw_len = sizeof(test_vector_4_th_4_raw), 8537 8538 .th_4 = test_vector_4_th_4, 8539 .th_4_len = sizeof(test_vector_4_th_4), 8540 8541 .ead_4 = test_vector_4_ead_4, 8542 .ead_4_len = sizeof(test_vector_4_ead_4), 8543 8544 .p_4 = test_vector_4_p_4, 8545 .p_4_len = sizeof(test_vector_4_p_4), 8546 8547 .a_4 = test_vector_4_a_4, 8548 .a_4_len = sizeof(test_vector_4_a_4), 8549 8550 .info_k_4 = test_vector_4_info_k_4, 8551 .info_k_4_len = sizeof(test_vector_4_info_k_4), 8552 8553 .k_4_raw = test_vector_4_k_4_raw, 8554 .k_4_raw_len = sizeof(test_vector_4_k_4_raw), 8555 8556 .info_iv_4 = test_vector_4_info_iv_4, 8557 .info_iv_4_len = sizeof(test_vector_4_info_iv_4), 8558 8559 .iv_4_raw = test_vector_4_iv_4_raw, 8560 .iv_4_raw_len = sizeof(test_vector_4_iv_4_raw), 8561 8562 .ciphertext_4_raw = test_vector_4_ciphertext_4_raw, 8563 .ciphertext_4_raw_len = sizeof(test_vector_4_ciphertext_4_raw), 8564 8565 .ciphertext_4 = test_vector_4_ciphertext_4, 8566 .ciphertext_4_len = sizeof(test_vector_4_ciphertext_4), 8567 8568 .message_4 = test_vector_4_message_4, 8569 .message_4_len = sizeof(test_vector_4_message_4), 8570 8571 .oscore_aead_alg = &test_vector_4_oscore_aead_alg, 8572 8573 .oscore_hash_alg = &test_vector_4_oscore_hash_alg, 8574 8575 .client_sender_id_raw = test_vector_4_client_sender_id_raw, 8576 .client_sender_id_raw_len = sizeof(test_vector_4_client_sender_id_raw), 8577 8578 .server_sender_id_raw = test_vector_4_server_sender_id_raw, 8579 .server_sender_id_raw_len = sizeof(test_vector_4_server_sender_id_raw), 8580 8581 .info_oscore_secret = test_vector_4_info_oscore_secret, 8582 .info_oscore_secret_len = sizeof(test_vector_4_info_oscore_secret), 8583 8584 .oscore_secret_raw = test_vector_4_oscore_secret_raw, 8585 .oscore_secret_raw_len = sizeof(test_vector_4_oscore_secret_raw), 8586 8587 .info_oscore_salt = test_vector_4_info_oscore_salt, 8588 .info_oscore_salt_len = sizeof(test_vector_4_info_oscore_salt), 8589 8590 .oscore_salt_raw = test_vector_4_oscore_salt_raw, 8591 .oscore_salt_raw_len = sizeof(test_vector_4_oscore_salt_raw), 8592 8593 .key_update_nonce_raw = test_vector_4_key_update_nonce_raw, 8594 .key_update_nonce_raw_len = sizeof(test_vector_4_key_update_nonce_raw), 8595 8596 .prk_4x3m_key_update_raw = test_vector_4_prk_4x3m_key_update_raw, 8597 .prk_4x3m_key_update_raw_len = sizeof(test_vector_4_prk_4x3m_key_update_raw), 8598 8599 .oscore_secret_key_update_raw = test_vector_4_oscore_secret_key_update_raw, 8600 .oscore_secret_key_update_raw_len = sizeof(test_vector_4_oscore_secret_key_update_raw), 8601 8602 .oscore_salt_key_update_raw = test_vector_4_oscore_salt_key_update_raw, 8603 .oscore_salt_key_update_raw_len = sizeof(test_vector_4_oscore_salt_key_update_raw), 8604 8605 .ca = NULL, 8606 .ca_len = 0, 8607 8608 .ca_pk = NULL, 8609 .ca_pk_len = 0, 8610 8611 .i_raw = NULL, 8612 .i_raw_len = 0, 8613 8614 .g_i_raw = NULL, 8615 .g_i_raw_len = 0, 8616 8617 .r_raw = NULL, 8618 .r_raw_len = 0, 8619 8620 .g_r_raw = NULL, 8621 .g_r_raw_len = 0, 8622 8623 .c_i_raw = NULL, 8624 .c_i_raw_len = 0, 8625 .c_i_raw_int = &test_vector_4_c_i_raw, 8626 8627 .c_r_raw = NULL, 8628 .c_r_raw_len = 0, 8629 .c_r_raw_int = &test_vector_4_c_r_raw, 8630 }, 8631 /*--------------- test_vector_5 ------------*/ 8632 8633 { 8634 .method = test_vector_5_method, 8635 .method_len = sizeof(test_vector_5_method), 8636 8637 .suites_i = test_vector_5_suites_i, 8638 .suites_i_len = sizeof(test_vector_5_suites_i), 8639 8640 .suites_r = test_vector_5_suites_r, 8641 .suites_r_len = sizeof(test_vector_5_suites_r), 8642 8643 .x_raw = test_vector_5_x_raw, 8644 .x_raw_len = sizeof(test_vector_5_x_raw), 8645 8646 .g_x_raw = test_vector_5_g_x_raw, 8647 .g_x_raw_len = sizeof(test_vector_5_g_x_raw), 8648 8649 .g_x = test_vector_5_g_x, 8650 .g_x_len = sizeof(test_vector_5_g_x), 8651 8652 .c_i = test_vector_5_c_i, 8653 .c_i_len = sizeof(test_vector_5_c_i), 8654 8655 .ead_1 = test_vector_5_ead_1, 8656 .ead_1_len = sizeof(test_vector_5_ead_1), 8657 8658 .message_1 = test_vector_5_message_1, 8659 .message_1_len = sizeof(test_vector_5_message_1), 8660 8661 .y_raw = test_vector_5_y_raw, 8662 .y_raw_len = sizeof(test_vector_5_y_raw), 8663 8664 .g_y_raw = test_vector_5_g_y_raw, 8665 .g_y_raw_len = sizeof(test_vector_5_g_y_raw), 8666 8667 .g_y = test_vector_5_g_y, 8668 .g_y_len = sizeof(test_vector_5_g_y), 8669 8670 .g_xy_raw = test_vector_5_g_xy_raw, 8671 .g_xy_raw_len = sizeof(test_vector_5_g_xy_raw), 8672 8673 .salt_raw = test_vector_5_salt_raw, 8674 .salt_raw_len = sizeof(test_vector_5_salt_raw), 8675 8676 .prk_2e_raw = test_vector_5_prk_2e_raw, 8677 .prk_2e_raw_len = sizeof(test_vector_5_prk_2e_raw), 8678 8679 .sk_r_raw = NULL, 8680 .sk_r_raw_len = 0, 8681 8682 .pk_r_raw = NULL, 8683 .pk_r_raw_len = 0, 8684 8685 .prk_3e2m_raw = test_vector_5_prk_3e2m_raw, 8686 .prk_3e2m_raw_len = sizeof(test_vector_5_prk_3e2m_raw), 8687 8688 .c_r = test_vector_5_c_r, 8689 .c_r_len = sizeof(test_vector_5_c_r), 8690 8691 .h_message_1_raw = test_vector_5_h_message_1_raw, 8692 .h_message_1_raw_len = sizeof(test_vector_5_h_message_1_raw), 8693 8694 .h_message_1 = test_vector_5_h_message_1, 8695 .h_message_1_len = sizeof(test_vector_5_h_message_1), 8696 8697 .input_th_2 = test_vector_5_input_th_2, 8698 .input_th_2_len = sizeof(test_vector_5_input_th_2), 8699 8700 .th_2_raw = test_vector_5_th_2_raw, 8701 .th_2_raw_len = sizeof(test_vector_5_th_2_raw), 8702 8703 .th_2 = test_vector_5_th_2, 8704 .th_2_len = sizeof(test_vector_5_th_2), 8705 8706 .id_cred_r = test_vector_5_id_cred_r, 8707 .id_cred_r_len = sizeof(test_vector_5_id_cred_r), 8708 8709 .cred_r = test_vector_5_cred_r, 8710 .cred_r_len = sizeof(test_vector_5_cred_r), 8711 8712 .ead_2 = test_vector_5_ead_2, 8713 .ead_2_len = sizeof(test_vector_5_ead_2), 8714 8715 .info_mac_2 = test_vector_5_info_mac_2, 8716 .info_mac_2_len = sizeof(test_vector_5_info_mac_2), 8717 8718 .mac_2_raw = test_vector_5_mac_2_raw, 8719 .mac_2_raw_len = sizeof(test_vector_5_mac_2_raw), 8720 8721 .mac_2 = test_vector_5_mac_2, 8722 .mac_2_len = sizeof(test_vector_5_mac_2), 8723 8724 .m_2 = NULL, 8725 .m_2_len = 0, 8726 8727 .sig_or_mac_2_raw = test_vector_5_sig_or_mac_2_raw, 8728 .sig_or_mac_2_raw_len = sizeof(test_vector_5_sig_or_mac_2_raw), 8729 8730 .sig_or_mac_2 = test_vector_5_sig_or_mac_2, 8731 .sig_or_mac_2_len = sizeof(test_vector_5_sig_or_mac_2), 8732 8733 .plaintext_2 = test_vector_5_plaintext_2, 8734 .plaintext_2_len = sizeof(test_vector_5_plaintext_2), 8735 8736 .info_keystream_2 = test_vector_5_info_keystream_2, 8737 .info_keystream_2_len = sizeof(test_vector_5_info_keystream_2), 8738 8739 .keystream_2_raw = test_vector_5_keystream_2_raw, 8740 .keystream_2_raw_len = sizeof(test_vector_5_keystream_2_raw), 8741 8742 .ciphertext_2_raw = test_vector_5_ciphertext_2_raw, 8743 .ciphertext_2_raw_len = sizeof(test_vector_5_ciphertext_2_raw), 8744 8745 .ciphertext_2 = test_vector_5_ciphertext_2, 8746 .ciphertext_2_len = sizeof(test_vector_5_ciphertext_2), 8747 8748 .message_2 = test_vector_5_message_2, 8749 .message_2_len = sizeof(test_vector_5_message_2), 8750 8751 .sk_i_raw = NULL, 8752 .sk_i_raw_len = 0, 8753 8754 .pk_i_raw = NULL, 8755 .pk_i_raw_len = 0, 8756 8757 .prk_4x3m_raw = test_vector_5_prk_4x3m_raw, 8758 .prk_4x3m_raw_len = sizeof(test_vector_5_prk_4x3m_raw), 8759 8760 .input_TH_3 = test_vector_5_input_TH_3, 8761 .input_TH_3_len = sizeof(test_vector_5_input_TH_3), 8762 8763 .th_3_raw = test_vector_5_th_3_raw, 8764 .th_3_raw_len = sizeof(test_vector_5_th_3_raw), 8765 8766 .th_3 = test_vector_5_th_3, 8767 .th_3_len = sizeof(test_vector_5_th_3), 8768 8769 .id_cred_i = test_vector_5_id_cred_i, 8770 .id_cred_i_len = sizeof(test_vector_5_id_cred_i), 8771 8772 .cred_i = test_vector_5_cred_i, 8773 .cred_i_len = sizeof(test_vector_5_cred_i), 8774 8775 .ead_3 = test_vector_5_ead_3, 8776 .ead_3_len = sizeof(test_vector_5_ead_3), 8777 8778 .info_mac_3 = test_vector_5_info_mac_3, 8779 .info_mac_3_len = sizeof(test_vector_5_info_mac_3), 8780 8781 .mac_3_raw = test_vector_5_mac_3_raw, 8782 .mac_3_raw_len = sizeof(test_vector_5_mac_3_raw), 8783 8784 .mac_3 = test_vector_5_mac_3, 8785 .mac_3_len = sizeof(test_vector_5_mac_3), 8786 8787 .m_3 = NULL, 8788 .m_3_len = 0, 8789 8790 .sig_or_mac_3_raw = test_vector_5_sig_or_mac_3_raw, 8791 .sig_or_mac_3_raw_len = sizeof(test_vector_5_sig_or_mac_3_raw), 8792 8793 .sig_or_mac_3 = test_vector_5_sig_or_mac_3, 8794 .sig_or_mac_3_len = sizeof(test_vector_5_sig_or_mac_3), 8795 8796 .p_3 = test_vector_5_p_3, 8797 .p_3_len = sizeof(test_vector_5_p_3), 8798 8799 .a_3 = test_vector_5_a_3, 8800 .a_3_len = sizeof(test_vector_5_a_3), 8801 8802 .info_k_3 = test_vector_5_info_k_3, 8803 .info_k_3_len = sizeof(test_vector_5_info_k_3), 8804 8805 .k_3_raw = test_vector_5_k_3_raw, 8806 .k_3_raw_len = sizeof(test_vector_5_k_3_raw), 8807 8808 .info_iv_3 = test_vector_5_info_iv_3, 8809 .info_iv_3_len = sizeof(test_vector_5_info_iv_3), 8810 8811 .iv_3_raw = test_vector_5_iv_3_raw, 8812 .iv_3_raw_len = sizeof(test_vector_5_iv_3_raw), 8813 8814 .ciphertext_3_raw = test_vector_5_ciphertext_3_raw, 8815 .ciphertext_3_raw_len = sizeof(test_vector_5_ciphertext_3_raw), 8816 8817 .ciphertext_3 = test_vector_5_ciphertext_3, 8818 .ciphertext_3_len = sizeof(test_vector_5_ciphertext_3), 8819 8820 .message_3 = test_vector_5_message_3, 8821 .message_3_len = sizeof(test_vector_5_message_3), 8822 8823 .input_th_4 = test_vector_5_input_th_4, 8824 .input_th_4_len = sizeof(test_vector_5_input_th_4), 8825 8826 .th_4_raw = test_vector_5_th_4_raw, 8827 .th_4_raw_len = sizeof(test_vector_5_th_4_raw), 8828 8829 .th_4 = test_vector_5_th_4, 8830 .th_4_len = sizeof(test_vector_5_th_4), 8831 8832 .ead_4 = test_vector_5_ead_4, 8833 .ead_4_len = sizeof(test_vector_5_ead_4), 8834 8835 .p_4 = test_vector_5_p_4, 8836 .p_4_len = sizeof(test_vector_5_p_4), 8837 8838 .a_4 = test_vector_5_a_4, 8839 .a_4_len = sizeof(test_vector_5_a_4), 8840 8841 .info_k_4 = test_vector_5_info_k_4, 8842 .info_k_4_len = sizeof(test_vector_5_info_k_4), 8843 8844 .k_4_raw = test_vector_5_k_4_raw, 8845 .k_4_raw_len = sizeof(test_vector_5_k_4_raw), 8846 8847 .info_iv_4 = test_vector_5_info_iv_4, 8848 .info_iv_4_len = sizeof(test_vector_5_info_iv_4), 8849 8850 .iv_4_raw = test_vector_5_iv_4_raw, 8851 .iv_4_raw_len = sizeof(test_vector_5_iv_4_raw), 8852 8853 .ciphertext_4_raw = test_vector_5_ciphertext_4_raw, 8854 .ciphertext_4_raw_len = sizeof(test_vector_5_ciphertext_4_raw), 8855 8856 .ciphertext_4 = test_vector_5_ciphertext_4, 8857 .ciphertext_4_len = sizeof(test_vector_5_ciphertext_4), 8858 8859 .message_4 = test_vector_5_message_4, 8860 .message_4_len = sizeof(test_vector_5_message_4), 8861 8862 .oscore_aead_alg = &test_vector_5_oscore_aead_alg, 8863 8864 .oscore_hash_alg = &test_vector_5_oscore_hash_alg, 8865 8866 .client_sender_id_raw = test_vector_5_client_sender_id_raw, 8867 .client_sender_id_raw_len = sizeof(test_vector_5_client_sender_id_raw), 8868 8869 .server_sender_id_raw = test_vector_5_server_sender_id_raw, 8870 .server_sender_id_raw_len = sizeof(test_vector_5_server_sender_id_raw), 8871 8872 .info_oscore_secret = test_vector_5_info_oscore_secret, 8873 .info_oscore_secret_len = sizeof(test_vector_5_info_oscore_secret), 8874 8875 .oscore_secret_raw = test_vector_5_oscore_secret_raw, 8876 .oscore_secret_raw_len = sizeof(test_vector_5_oscore_secret_raw), 8877 8878 .info_oscore_salt = test_vector_5_info_oscore_salt, 8879 .info_oscore_salt_len = sizeof(test_vector_5_info_oscore_salt), 8880 8881 .oscore_salt_raw = test_vector_5_oscore_salt_raw, 8882 .oscore_salt_raw_len = sizeof(test_vector_5_oscore_salt_raw), 8883 8884 .key_update_nonce_raw = test_vector_5_key_update_nonce_raw, 8885 .key_update_nonce_raw_len = sizeof(test_vector_5_key_update_nonce_raw), 8886 8887 .prk_4x3m_key_update_raw = test_vector_5_prk_4x3m_key_update_raw, 8888 .prk_4x3m_key_update_raw_len = sizeof(test_vector_5_prk_4x3m_key_update_raw), 8889 8890 .oscore_secret_key_update_raw = test_vector_5_oscore_secret_key_update_raw, 8891 .oscore_secret_key_update_raw_len = sizeof(test_vector_5_oscore_secret_key_update_raw), 8892 8893 .oscore_salt_key_update_raw = test_vector_5_oscore_salt_key_update_raw, 8894 .oscore_salt_key_update_raw_len = sizeof(test_vector_5_oscore_salt_key_update_raw), 8895 8896 .ca = NULL, 8897 .ca_len = 0, 8898 8899 .ca_pk = NULL, 8900 .ca_pk_len = 0, 8901 8902 .i_raw = test_vector_5_i_raw, 8903 .i_raw_len = sizeof(test_vector_5_i_raw), 8904 8905 .g_i_raw = test_vector_5_g_i_raw, 8906 .g_i_raw_len = sizeof(test_vector_5_g_i_raw), 8907 8908 .r_raw = test_vector_5_r_raw, 8909 .r_raw_len = sizeof(test_vector_5_r_raw), 8910 8911 .g_r_raw = test_vector_5_g_r_raw, 8912 .g_r_raw_len = sizeof(test_vector_5_g_r_raw), 8913 8914 .c_i_raw = NULL, 8915 .c_i_raw_len = 0, 8916 .c_i_raw_int = &test_vector_5_c_i_raw, 8917 8918 .c_r_raw = NULL, 8919 .c_r_raw_len = 0, 8920 .c_r_raw_int = &test_vector_5_c_r_raw, 8921 }, 8922 /*--------------- test_vector_6 ------------*/ 8923 8924 { 8925 .method = test_vector_6_method, 8926 .method_len = sizeof(test_vector_6_method), 8927 8928 .suites_i = test_vector_6_suites_i, 8929 .suites_i_len = sizeof(test_vector_6_suites_i), 8930 8931 .suites_r = test_vector_6_suites_r, 8932 .suites_r_len = sizeof(test_vector_6_suites_r), 8933 8934 .x_raw = test_vector_6_x_raw, 8935 .x_raw_len = sizeof(test_vector_6_x_raw), 8936 8937 .g_x_raw = test_vector_6_g_x_raw, 8938 .g_x_raw_len = sizeof(test_vector_6_g_x_raw), 8939 8940 .g_x = test_vector_6_g_x, 8941 .g_x_len = sizeof(test_vector_6_g_x), 8942 8943 .c_i = test_vector_6_c_i, 8944 .c_i_len = sizeof(test_vector_6_c_i), 8945 8946 .ead_1 = test_vector_6_ead_1, 8947 .ead_1_len = sizeof(test_vector_6_ead_1), 8948 8949 .message_1 = test_vector_6_message_1, 8950 .message_1_len = sizeof(test_vector_6_message_1), 8951 8952 .y_raw = test_vector_6_y_raw, 8953 .y_raw_len = sizeof(test_vector_6_y_raw), 8954 8955 .g_y_raw = test_vector_6_g_y_raw, 8956 .g_y_raw_len = sizeof(test_vector_6_g_y_raw), 8957 8958 .g_y = test_vector_6_g_y, 8959 .g_y_len = sizeof(test_vector_6_g_y), 8960 8961 .g_xy_raw = test_vector_6_g_xy_raw, 8962 .g_xy_raw_len = sizeof(test_vector_6_g_xy_raw), 8963 8964 .salt_raw = test_vector_6_salt_raw, 8965 .salt_raw_len = sizeof(test_vector_6_salt_raw), 8966 8967 .prk_2e_raw = test_vector_6_prk_2e_raw, 8968 .prk_2e_raw_len = sizeof(test_vector_6_prk_2e_raw), 8969 8970 .sk_r_raw = test_vector_6_sk_r_raw, 8971 .sk_r_raw_len = sizeof(test_vector_6_sk_r_raw), 8972 8973 .pk_r_raw = test_vector_6_pk_r_raw, 8974 .pk_r_raw_len = sizeof(test_vector_6_pk_r_raw), 8975 8976 .prk_3e2m_raw = test_vector_6_prk_3e2m_raw, 8977 .prk_3e2m_raw_len = sizeof(test_vector_6_prk_3e2m_raw), 8978 8979 .c_r = test_vector_6_c_r, 8980 .c_r_len = sizeof(test_vector_6_c_r), 8981 8982 .h_message_1_raw = test_vector_6_h_message_1_raw, 8983 .h_message_1_raw_len = sizeof(test_vector_6_h_message_1_raw), 8984 8985 .h_message_1 = test_vector_6_h_message_1, 8986 .h_message_1_len = sizeof(test_vector_6_h_message_1), 8987 8988 .input_th_2 = test_vector_6_input_th_2, 8989 .input_th_2_len = sizeof(test_vector_6_input_th_2), 8990 8991 .th_2_raw = test_vector_6_th_2_raw, 8992 .th_2_raw_len = sizeof(test_vector_6_th_2_raw), 8993 8994 .th_2 = test_vector_6_th_2, 8995 .th_2_len = sizeof(test_vector_6_th_2), 8996 8997 .id_cred_r = test_vector_6_id_cred_r, 8998 .id_cred_r_len = sizeof(test_vector_6_id_cred_r), 8999 9000 .cred_r = test_vector_6_cred_r, 9001 .cred_r_len = sizeof(test_vector_6_cred_r), 9002 9003 .ead_2 = test_vector_6_ead_2, 9004 .ead_2_len = sizeof(test_vector_6_ead_2), 9005 9006 .info_mac_2 = test_vector_6_info_mac_2, 9007 .info_mac_2_len = sizeof(test_vector_6_info_mac_2), 9008 9009 .mac_2_raw = test_vector_6_mac_2_raw, 9010 .mac_2_raw_len = sizeof(test_vector_6_mac_2_raw), 9011 9012 .mac_2 = test_vector_6_mac_2, 9013 .mac_2_len = sizeof(test_vector_6_mac_2), 9014 9015 .m_2 = test_vector_6_m_2, 9016 .m_2_len = sizeof(test_vector_6_m_2), 9017 9018 .sig_or_mac_2_raw = test_vector_6_sig_or_mac_2_raw, 9019 .sig_or_mac_2_raw_len = sizeof(test_vector_6_sig_or_mac_2_raw), 9020 9021 .sig_or_mac_2 = test_vector_6_sig_or_mac_2, 9022 .sig_or_mac_2_len = sizeof(test_vector_6_sig_or_mac_2), 9023 9024 .plaintext_2 = test_vector_6_plaintext_2, 9025 .plaintext_2_len = sizeof(test_vector_6_plaintext_2), 9026 9027 .info_keystream_2 = test_vector_6_info_keystream_2, 9028 .info_keystream_2_len = sizeof(test_vector_6_info_keystream_2), 9029 9030 .keystream_2_raw = test_vector_6_keystream_2_raw, 9031 .keystream_2_raw_len = sizeof(test_vector_6_keystream_2_raw), 9032 9033 .ciphertext_2_raw = test_vector_6_ciphertext_2_raw, 9034 .ciphertext_2_raw_len = sizeof(test_vector_6_ciphertext_2_raw), 9035 9036 .ciphertext_2 = test_vector_6_ciphertext_2, 9037 .ciphertext_2_len = sizeof(test_vector_6_ciphertext_2), 9038 9039 .message_2 = test_vector_6_message_2, 9040 .message_2_len = sizeof(test_vector_6_message_2), 9041 9042 .sk_i_raw = NULL, 9043 .sk_i_raw_len = 0, 9044 9045 .pk_i_raw = NULL, 9046 .pk_i_raw_len = 0, 9047 9048 .prk_4x3m_raw = test_vector_6_prk_4x3m_raw, 9049 .prk_4x3m_raw_len = sizeof(test_vector_6_prk_4x3m_raw), 9050 9051 .input_TH_3 = test_vector_6_input_TH_3, 9052 .input_TH_3_len = sizeof(test_vector_6_input_TH_3), 9053 9054 .th_3_raw = test_vector_6_th_3_raw, 9055 .th_3_raw_len = sizeof(test_vector_6_th_3_raw), 9056 9057 .th_3 = test_vector_6_th_3, 9058 .th_3_len = sizeof(test_vector_6_th_3), 9059 9060 .id_cred_i = test_vector_6_id_cred_i, 9061 .id_cred_i_len = sizeof(test_vector_6_id_cred_i), 9062 9063 .cred_i = test_vector_6_cred_i, 9064 .cred_i_len = sizeof(test_vector_6_cred_i), 9065 9066 .ead_3 = test_vector_6_ead_3, 9067 .ead_3_len = sizeof(test_vector_6_ead_3), 9068 9069 .info_mac_3 = test_vector_6_info_mac_3, 9070 .info_mac_3_len = sizeof(test_vector_6_info_mac_3), 9071 9072 .mac_3_raw = test_vector_6_mac_3_raw, 9073 .mac_3_raw_len = sizeof(test_vector_6_mac_3_raw), 9074 9075 .mac_3 = test_vector_6_mac_3, 9076 .mac_3_len = sizeof(test_vector_6_mac_3), 9077 9078 .m_3 = NULL, 9079 .m_3_len = 0, 9080 9081 .sig_or_mac_3_raw = test_vector_6_sig_or_mac_3_raw, 9082 .sig_or_mac_3_raw_len = sizeof(test_vector_6_sig_or_mac_3_raw), 9083 9084 .sig_or_mac_3 = test_vector_6_sig_or_mac_3, 9085 .sig_or_mac_3_len = sizeof(test_vector_6_sig_or_mac_3), 9086 9087 .p_3 = test_vector_6_p_3, 9088 .p_3_len = sizeof(test_vector_6_p_3), 9089 9090 .a_3 = test_vector_6_a_3, 9091 .a_3_len = sizeof(test_vector_6_a_3), 9092 9093 .info_k_3 = test_vector_6_info_k_3, 9094 .info_k_3_len = sizeof(test_vector_6_info_k_3), 9095 9096 .k_3_raw = test_vector_6_k_3_raw, 9097 .k_3_raw_len = sizeof(test_vector_6_k_3_raw), 9098 9099 .info_iv_3 = test_vector_6_info_iv_3, 9100 .info_iv_3_len = sizeof(test_vector_6_info_iv_3), 9101 9102 .iv_3_raw = test_vector_6_iv_3_raw, 9103 .iv_3_raw_len = sizeof(test_vector_6_iv_3_raw), 9104 9105 .ciphertext_3_raw = test_vector_6_ciphertext_3_raw, 9106 .ciphertext_3_raw_len = sizeof(test_vector_6_ciphertext_3_raw), 9107 9108 .ciphertext_3 = test_vector_6_ciphertext_3, 9109 .ciphertext_3_len = sizeof(test_vector_6_ciphertext_3), 9110 9111 .message_3 = test_vector_6_message_3, 9112 .message_3_len = sizeof(test_vector_6_message_3), 9113 9114 .input_th_4 = test_vector_6_input_th_4, 9115 .input_th_4_len = sizeof(test_vector_6_input_th_4), 9116 9117 .th_4_raw = test_vector_6_th_4_raw, 9118 .th_4_raw_len = sizeof(test_vector_6_th_4_raw), 9119 9120 .th_4 = test_vector_6_th_4, 9121 .th_4_len = sizeof(test_vector_6_th_4), 9122 9123 .ead_4 = test_vector_6_ead_4, 9124 .ead_4_len = sizeof(test_vector_6_ead_4), 9125 9126 .p_4 = test_vector_6_p_4, 9127 .p_4_len = sizeof(test_vector_6_p_4), 9128 9129 .a_4 = test_vector_6_a_4, 9130 .a_4_len = sizeof(test_vector_6_a_4), 9131 9132 .info_k_4 = test_vector_6_info_k_4, 9133 .info_k_4_len = sizeof(test_vector_6_info_k_4), 9134 9135 .k_4_raw = test_vector_6_k_4_raw, 9136 .k_4_raw_len = sizeof(test_vector_6_k_4_raw), 9137 9138 .info_iv_4 = test_vector_6_info_iv_4, 9139 .info_iv_4_len = sizeof(test_vector_6_info_iv_4), 9140 9141 .iv_4_raw = test_vector_6_iv_4_raw, 9142 .iv_4_raw_len = sizeof(test_vector_6_iv_4_raw), 9143 9144 .ciphertext_4_raw = test_vector_6_ciphertext_4_raw, 9145 .ciphertext_4_raw_len = sizeof(test_vector_6_ciphertext_4_raw), 9146 9147 .ciphertext_4 = test_vector_6_ciphertext_4, 9148 .ciphertext_4_len = sizeof(test_vector_6_ciphertext_4), 9149 9150 .message_4 = test_vector_6_message_4, 9151 .message_4_len = sizeof(test_vector_6_message_4), 9152 9153 .oscore_aead_alg = &test_vector_6_oscore_aead_alg, 9154 9155 .oscore_hash_alg = &test_vector_6_oscore_hash_alg, 9156 9157 .client_sender_id_raw = test_vector_6_client_sender_id_raw, 9158 .client_sender_id_raw_len = sizeof(test_vector_6_client_sender_id_raw), 9159 9160 .server_sender_id_raw = test_vector_6_server_sender_id_raw, 9161 .server_sender_id_raw_len = sizeof(test_vector_6_server_sender_id_raw), 9162 9163 .info_oscore_secret = test_vector_6_info_oscore_secret, 9164 .info_oscore_secret_len = sizeof(test_vector_6_info_oscore_secret), 9165 9166 .oscore_secret_raw = test_vector_6_oscore_secret_raw, 9167 .oscore_secret_raw_len = sizeof(test_vector_6_oscore_secret_raw), 9168 9169 .info_oscore_salt = test_vector_6_info_oscore_salt, 9170 .info_oscore_salt_len = sizeof(test_vector_6_info_oscore_salt), 9171 9172 .oscore_salt_raw = test_vector_6_oscore_salt_raw, 9173 .oscore_salt_raw_len = sizeof(test_vector_6_oscore_salt_raw), 9174 9175 .key_update_nonce_raw = test_vector_6_key_update_nonce_raw, 9176 .key_update_nonce_raw_len = sizeof(test_vector_6_key_update_nonce_raw), 9177 9178 .prk_4x3m_key_update_raw = test_vector_6_prk_4x3m_key_update_raw, 9179 .prk_4x3m_key_update_raw_len = sizeof(test_vector_6_prk_4x3m_key_update_raw), 9180 9181 .oscore_secret_key_update_raw = test_vector_6_oscore_secret_key_update_raw, 9182 .oscore_secret_key_update_raw_len = sizeof(test_vector_6_oscore_secret_key_update_raw), 9183 9184 .oscore_salt_key_update_raw = test_vector_6_oscore_salt_key_update_raw, 9185 .oscore_salt_key_update_raw_len = sizeof(test_vector_6_oscore_salt_key_update_raw), 9186 9187 .ca = NULL, 9188 .ca_len = 0, 9189 9190 .ca_pk = NULL, 9191 .ca_pk_len = 0, 9192 9193 .i_raw = test_vector_6_i_raw, 9194 .i_raw_len = sizeof(test_vector_6_i_raw), 9195 9196 .g_i_raw = test_vector_6_g_i_raw, 9197 .g_i_raw_len = sizeof(test_vector_6_g_i_raw), 9198 9199 .r_raw = NULL, 9200 .r_raw_len = 0, 9201 9202 .g_r_raw = NULL, 9203 .g_r_raw_len = 0, 9204 9205 .c_i_raw = NULL, 9206 .c_i_raw_len = 0, 9207 .c_i_raw_int = &test_vector_6_c_i_raw, 9208 9209 .c_r_raw = NULL, 9210 .c_r_raw_len = 0, 9211 .c_r_raw_int = &test_vector_6_c_r_raw, 9212 }, 9213 /*--------------- test_vector_7 ------------*/ 9214 9215 { 9216 .method = test_vector_7_method, 9217 .method_len = sizeof(test_vector_7_method), 9218 9219 .suites_i = test_vector_7_suites_i, 9220 .suites_i_len = sizeof(test_vector_7_suites_i), 9221 9222 .suites_r = test_vector_7_suites_r, 9223 .suites_r_len = sizeof(test_vector_7_suites_r), 9224 9225 .x_raw = test_vector_7_x_raw, 9226 .x_raw_len = sizeof(test_vector_7_x_raw), 9227 9228 .g_x_raw = test_vector_7_g_x_raw, 9229 .g_x_raw_len = sizeof(test_vector_7_g_x_raw), 9230 9231 .g_x = test_vector_7_g_x, 9232 .g_x_len = sizeof(test_vector_7_g_x), 9233 9234 .c_i = test_vector_7_c_i, 9235 .c_i_len = sizeof(test_vector_7_c_i), 9236 9237 .ead_1 = test_vector_7_ead_1, 9238 .ead_1_len = sizeof(test_vector_7_ead_1), 9239 9240 .message_1 = test_vector_7_message_1, 9241 .message_1_len = sizeof(test_vector_7_message_1), 9242 9243 .y_raw = test_vector_7_y_raw, 9244 .y_raw_len = sizeof(test_vector_7_y_raw), 9245 9246 .g_y_raw = test_vector_7_g_y_raw, 9247 .g_y_raw_len = sizeof(test_vector_7_g_y_raw), 9248 9249 .g_y = test_vector_7_g_y, 9250 .g_y_len = sizeof(test_vector_7_g_y), 9251 9252 .g_xy_raw = test_vector_7_g_xy_raw, 9253 .g_xy_raw_len = sizeof(test_vector_7_g_xy_raw), 9254 9255 .salt_raw = test_vector_7_salt_raw, 9256 .salt_raw_len = sizeof(test_vector_7_salt_raw), 9257 9258 .prk_2e_raw = test_vector_7_prk_2e_raw, 9259 .prk_2e_raw_len = sizeof(test_vector_7_prk_2e_raw), 9260 9261 .sk_r_raw = test_vector_7_sk_r_raw, 9262 .sk_r_raw_len = sizeof(test_vector_7_sk_r_raw), 9263 9264 .pk_r_raw = test_vector_7_pk_r_raw, 9265 .pk_r_raw_len = sizeof(test_vector_7_pk_r_raw), 9266 9267 .prk_3e2m_raw = test_vector_7_prk_3e2m_raw, 9268 .prk_3e2m_raw_len = sizeof(test_vector_7_prk_3e2m_raw), 9269 9270 .c_r = test_vector_7_c_r, 9271 .c_r_len = sizeof(test_vector_7_c_r), 9272 9273 .h_message_1_raw = test_vector_7_h_message_1_raw, 9274 .h_message_1_raw_len = sizeof(test_vector_7_h_message_1_raw), 9275 9276 .h_message_1 = test_vector_7_h_message_1, 9277 .h_message_1_len = sizeof(test_vector_7_h_message_1), 9278 9279 .input_th_2 = test_vector_7_input_th_2, 9280 .input_th_2_len = sizeof(test_vector_7_input_th_2), 9281 9282 .th_2_raw = test_vector_7_th_2_raw, 9283 .th_2_raw_len = sizeof(test_vector_7_th_2_raw), 9284 9285 .th_2 = test_vector_7_th_2, 9286 .th_2_len = sizeof(test_vector_7_th_2), 9287 9288 .id_cred_r = test_vector_7_id_cred_r, 9289 .id_cred_r_len = sizeof(test_vector_7_id_cred_r), 9290 9291 .cred_r = test_vector_7_cred_r, 9292 .cred_r_len = sizeof(test_vector_7_cred_r), 9293 9294 .ead_2 = test_vector_7_ead_2, 9295 .ead_2_len = sizeof(test_vector_7_ead_2), 9296 9297 .info_mac_2 = test_vector_7_info_mac_2, 9298 .info_mac_2_len = sizeof(test_vector_7_info_mac_2), 9299 9300 .mac_2_raw = test_vector_7_mac_2_raw, 9301 .mac_2_raw_len = sizeof(test_vector_7_mac_2_raw), 9302 9303 .mac_2 = test_vector_7_mac_2, 9304 .mac_2_len = sizeof(test_vector_7_mac_2), 9305 9306 .m_2 = test_vector_7_m_2, 9307 .m_2_len = sizeof(test_vector_7_m_2), 9308 9309 .sig_or_mac_2_raw = test_vector_7_sig_or_mac_2_raw, 9310 .sig_or_mac_2_raw_len = sizeof(test_vector_7_sig_or_mac_2_raw), 9311 9312 .sig_or_mac_2 = test_vector_7_sig_or_mac_2, 9313 .sig_or_mac_2_len = sizeof(test_vector_7_sig_or_mac_2), 9314 9315 .plaintext_2 = test_vector_7_plaintext_2, 9316 .plaintext_2_len = sizeof(test_vector_7_plaintext_2), 9317 9318 .info_keystream_2 = test_vector_7_info_keystream_2, 9319 .info_keystream_2_len = sizeof(test_vector_7_info_keystream_2), 9320 9321 .keystream_2_raw = test_vector_7_keystream_2_raw, 9322 .keystream_2_raw_len = sizeof(test_vector_7_keystream_2_raw), 9323 9324 .ciphertext_2_raw = test_vector_7_ciphertext_2_raw, 9325 .ciphertext_2_raw_len = sizeof(test_vector_7_ciphertext_2_raw), 9326 9327 .ciphertext_2 = test_vector_7_ciphertext_2, 9328 .ciphertext_2_len = sizeof(test_vector_7_ciphertext_2), 9329 9330 .message_2 = test_vector_7_message_2, 9331 .message_2_len = sizeof(test_vector_7_message_2), 9332 9333 .sk_i_raw = NULL, 9334 .sk_i_raw_len = 0, 9335 9336 .pk_i_raw = NULL, 9337 .pk_i_raw_len = 0, 9338 9339 .prk_4x3m_raw = test_vector_7_prk_4x3m_raw, 9340 .prk_4x3m_raw_len = sizeof(test_vector_7_prk_4x3m_raw), 9341 9342 .input_TH_3 = test_vector_7_input_TH_3, 9343 .input_TH_3_len = sizeof(test_vector_7_input_TH_3), 9344 9345 .th_3_raw = test_vector_7_th_3_raw, 9346 .th_3_raw_len = sizeof(test_vector_7_th_3_raw), 9347 9348 .th_3 = test_vector_7_th_3, 9349 .th_3_len = sizeof(test_vector_7_th_3), 9350 9351 .id_cred_i = test_vector_7_id_cred_i, 9352 .id_cred_i_len = sizeof(test_vector_7_id_cred_i), 9353 9354 .cred_i = test_vector_7_cred_i, 9355 .cred_i_len = sizeof(test_vector_7_cred_i), 9356 9357 .ead_3 = test_vector_7_ead_3, 9358 .ead_3_len = sizeof(test_vector_7_ead_3), 9359 9360 .info_mac_3 = test_vector_7_info_mac_3, 9361 .info_mac_3_len = sizeof(test_vector_7_info_mac_3), 9362 9363 .mac_3_raw = test_vector_7_mac_3_raw, 9364 .mac_3_raw_len = sizeof(test_vector_7_mac_3_raw), 9365 9366 .mac_3 = test_vector_7_mac_3, 9367 .mac_3_len = sizeof(test_vector_7_mac_3), 9368 9369 .m_3 = NULL, 9370 .m_3_len = 0, 9371 9372 .sig_or_mac_3_raw = test_vector_7_sig_or_mac_3_raw, 9373 .sig_or_mac_3_raw_len = sizeof(test_vector_7_sig_or_mac_3_raw), 9374 9375 .sig_or_mac_3 = test_vector_7_sig_or_mac_3, 9376 .sig_or_mac_3_len = sizeof(test_vector_7_sig_or_mac_3), 9377 9378 .p_3 = test_vector_7_p_3, 9379 .p_3_len = sizeof(test_vector_7_p_3), 9380 9381 .a_3 = test_vector_7_a_3, 9382 .a_3_len = sizeof(test_vector_7_a_3), 9383 9384 .info_k_3 = test_vector_7_info_k_3, 9385 .info_k_3_len = sizeof(test_vector_7_info_k_3), 9386 9387 .k_3_raw = test_vector_7_k_3_raw, 9388 .k_3_raw_len = sizeof(test_vector_7_k_3_raw), 9389 9390 .info_iv_3 = test_vector_7_info_iv_3, 9391 .info_iv_3_len = sizeof(test_vector_7_info_iv_3), 9392 9393 .iv_3_raw = test_vector_7_iv_3_raw, 9394 .iv_3_raw_len = sizeof(test_vector_7_iv_3_raw), 9395 9396 .ciphertext_3_raw = test_vector_7_ciphertext_3_raw, 9397 .ciphertext_3_raw_len = sizeof(test_vector_7_ciphertext_3_raw), 9398 9399 .ciphertext_3 = test_vector_7_ciphertext_3, 9400 .ciphertext_3_len = sizeof(test_vector_7_ciphertext_3), 9401 9402 .message_3 = test_vector_7_message_3, 9403 .message_3_len = sizeof(test_vector_7_message_3), 9404 9405 .input_th_4 = test_vector_7_input_th_4, 9406 .input_th_4_len = sizeof(test_vector_7_input_th_4), 9407 9408 .th_4_raw = test_vector_7_th_4_raw, 9409 .th_4_raw_len = sizeof(test_vector_7_th_4_raw), 9410 9411 .th_4 = test_vector_7_th_4, 9412 .th_4_len = sizeof(test_vector_7_th_4), 9413 9414 .ead_4 = test_vector_7_ead_4, 9415 .ead_4_len = sizeof(test_vector_7_ead_4), 9416 9417 .p_4 = test_vector_7_p_4, 9418 .p_4_len = sizeof(test_vector_7_p_4), 9419 9420 .a_4 = test_vector_7_a_4, 9421 .a_4_len = sizeof(test_vector_7_a_4), 9422 9423 .info_k_4 = test_vector_7_info_k_4, 9424 .info_k_4_len = sizeof(test_vector_7_info_k_4), 9425 9426 .k_4_raw = test_vector_7_k_4_raw, 9427 .k_4_raw_len = sizeof(test_vector_7_k_4_raw), 9428 9429 .info_iv_4 = test_vector_7_info_iv_4, 9430 .info_iv_4_len = sizeof(test_vector_7_info_iv_4), 9431 9432 .iv_4_raw = test_vector_7_iv_4_raw, 9433 .iv_4_raw_len = sizeof(test_vector_7_iv_4_raw), 9434 9435 .ciphertext_4_raw = test_vector_7_ciphertext_4_raw, 9436 .ciphertext_4_raw_len = sizeof(test_vector_7_ciphertext_4_raw), 9437 9438 .ciphertext_4 = test_vector_7_ciphertext_4, 9439 .ciphertext_4_len = sizeof(test_vector_7_ciphertext_4), 9440 9441 .message_4 = test_vector_7_message_4, 9442 .message_4_len = sizeof(test_vector_7_message_4), 9443 9444 .oscore_aead_alg = &test_vector_7_oscore_aead_alg, 9445 9446 .oscore_hash_alg = &test_vector_7_oscore_hash_alg, 9447 9448 .client_sender_id_raw = test_vector_7_client_sender_id_raw, 9449 .client_sender_id_raw_len = sizeof(test_vector_7_client_sender_id_raw), 9450 9451 .server_sender_id_raw = test_vector_7_server_sender_id_raw, 9452 .server_sender_id_raw_len = sizeof(test_vector_7_server_sender_id_raw), 9453 9454 .info_oscore_secret = test_vector_7_info_oscore_secret, 9455 .info_oscore_secret_len = sizeof(test_vector_7_info_oscore_secret), 9456 9457 .oscore_secret_raw = test_vector_7_oscore_secret_raw, 9458 .oscore_secret_raw_len = sizeof(test_vector_7_oscore_secret_raw), 9459 9460 .info_oscore_salt = test_vector_7_info_oscore_salt, 9461 .info_oscore_salt_len = sizeof(test_vector_7_info_oscore_salt), 9462 9463 .oscore_salt_raw = test_vector_7_oscore_salt_raw, 9464 .oscore_salt_raw_len = sizeof(test_vector_7_oscore_salt_raw), 9465 9466 .key_update_nonce_raw = test_vector_7_key_update_nonce_raw, 9467 .key_update_nonce_raw_len = sizeof(test_vector_7_key_update_nonce_raw), 9468 9469 .prk_4x3m_key_update_raw = test_vector_7_prk_4x3m_key_update_raw, 9470 .prk_4x3m_key_update_raw_len = sizeof(test_vector_7_prk_4x3m_key_update_raw), 9471 9472 .oscore_secret_key_update_raw = test_vector_7_oscore_secret_key_update_raw, 9473 .oscore_secret_key_update_raw_len = sizeof(test_vector_7_oscore_secret_key_update_raw), 9474 9475 .oscore_salt_key_update_raw = test_vector_7_oscore_salt_key_update_raw, 9476 .oscore_salt_key_update_raw_len = sizeof(test_vector_7_oscore_salt_key_update_raw), 9477 9478 .ca = NULL, 9479 .ca_len = 0, 9480 9481 .ca_pk = NULL, 9482 .ca_pk_len = 0, 9483 9484 .i_raw = test_vector_7_i_raw, 9485 .i_raw_len = sizeof(test_vector_7_i_raw), 9486 9487 .g_i_raw = test_vector_7_g_i_raw, 9488 .g_i_raw_len = sizeof(test_vector_7_g_i_raw), 9489 9490 .r_raw = NULL, 9491 .r_raw_len = 0, 9492 9493 .g_r_raw = NULL, 9494 .g_r_raw_len = 0, 9495 9496 .c_i_raw = NULL, 9497 .c_i_raw_len = 0, 9498 .c_i_raw_int = &test_vector_7_c_i_raw, 9499 9500 .c_r_raw = NULL, 9501 .c_r_raw_len = 0, 9502 .c_r_raw_int = &test_vector_7_c_r_raw, 9503 }, 9504 /*--------------- test_vector_8 ------------*/ 9505 9506 { 9507 .method = test_vector_8_method, 9508 .method_len = sizeof(test_vector_8_method), 9509 9510 .suites_i = test_vector_8_suites_i, 9511 .suites_i_len = sizeof(test_vector_8_suites_i), 9512 9513 .suites_r = test_vector_8_suites_r, 9514 .suites_r_len = sizeof(test_vector_8_suites_r), 9515 9516 .x_raw = test_vector_8_x_raw, 9517 .x_raw_len = sizeof(test_vector_8_x_raw), 9518 9519 .g_x_raw = test_vector_8_g_x_raw, 9520 .g_x_raw_len = sizeof(test_vector_8_g_x_raw), 9521 9522 .g_x = test_vector_8_g_x, 9523 .g_x_len = sizeof(test_vector_8_g_x), 9524 9525 .c_i = test_vector_8_c_i, 9526 .c_i_len = sizeof(test_vector_8_c_i), 9527 9528 .ead_1 = test_vector_8_ead_1, 9529 .ead_1_len = sizeof(test_vector_8_ead_1), 9530 9531 .message_1 = test_vector_8_message_1, 9532 .message_1_len = sizeof(test_vector_8_message_1), 9533 9534 .y_raw = test_vector_8_y_raw, 9535 .y_raw_len = sizeof(test_vector_8_y_raw), 9536 9537 .g_y_raw = test_vector_8_g_y_raw, 9538 .g_y_raw_len = sizeof(test_vector_8_g_y_raw), 9539 9540 .g_y = test_vector_8_g_y, 9541 .g_y_len = sizeof(test_vector_8_g_y), 9542 9543 .g_xy_raw = test_vector_8_g_xy_raw, 9544 .g_xy_raw_len = sizeof(test_vector_8_g_xy_raw), 9545 9546 .salt_raw = test_vector_8_salt_raw, 9547 .salt_raw_len = sizeof(test_vector_8_salt_raw), 9548 9549 .prk_2e_raw = test_vector_8_prk_2e_raw, 9550 .prk_2e_raw_len = sizeof(test_vector_8_prk_2e_raw), 9551 9552 .sk_r_raw = NULL, 9553 .sk_r_raw_len = 0, 9554 9555 .pk_r_raw = NULL, 9556 .pk_r_raw_len = 0, 9557 9558 .prk_3e2m_raw = test_vector_8_prk_3e2m_raw, 9559 .prk_3e2m_raw_len = sizeof(test_vector_8_prk_3e2m_raw), 9560 9561 .c_r = test_vector_8_c_r, 9562 .c_r_len = sizeof(test_vector_8_c_r), 9563 9564 .h_message_1_raw = test_vector_8_h_message_1_raw, 9565 .h_message_1_raw_len = sizeof(test_vector_8_h_message_1_raw), 9566 9567 .h_message_1 = test_vector_8_h_message_1, 9568 .h_message_1_len = sizeof(test_vector_8_h_message_1), 9569 9570 .input_th_2 = test_vector_8_input_th_2, 9571 .input_th_2_len = sizeof(test_vector_8_input_th_2), 9572 9573 .th_2_raw = test_vector_8_th_2_raw, 9574 .th_2_raw_len = sizeof(test_vector_8_th_2_raw), 9575 9576 .th_2 = test_vector_8_th_2, 9577 .th_2_len = sizeof(test_vector_8_th_2), 9578 9579 .id_cred_r = test_vector_8_id_cred_r, 9580 .id_cred_r_len = sizeof(test_vector_8_id_cred_r), 9581 9582 .cred_r = test_vector_8_cred_r, 9583 .cred_r_len = sizeof(test_vector_8_cred_r), 9584 9585 .ead_2 = test_vector_8_ead_2, 9586 .ead_2_len = sizeof(test_vector_8_ead_2), 9587 9588 .info_mac_2 = test_vector_8_info_mac_2, 9589 .info_mac_2_len = sizeof(test_vector_8_info_mac_2), 9590 9591 .mac_2_raw = test_vector_8_mac_2_raw, 9592 .mac_2_raw_len = sizeof(test_vector_8_mac_2_raw), 9593 9594 .mac_2 = test_vector_8_mac_2, 9595 .mac_2_len = sizeof(test_vector_8_mac_2), 9596 9597 .m_2 = NULL, 9598 .m_2_len = 0, 9599 9600 .sig_or_mac_2_raw = test_vector_8_sig_or_mac_2_raw, 9601 .sig_or_mac_2_raw_len = sizeof(test_vector_8_sig_or_mac_2_raw), 9602 9603 .sig_or_mac_2 = test_vector_8_sig_or_mac_2, 9604 .sig_or_mac_2_len = sizeof(test_vector_8_sig_or_mac_2), 9605 9606 .plaintext_2 = test_vector_8_plaintext_2, 9607 .plaintext_2_len = sizeof(test_vector_8_plaintext_2), 9608 9609 .info_keystream_2 = test_vector_8_info_keystream_2, 9610 .info_keystream_2_len = sizeof(test_vector_8_info_keystream_2), 9611 9612 .keystream_2_raw = test_vector_8_keystream_2_raw, 9613 .keystream_2_raw_len = sizeof(test_vector_8_keystream_2_raw), 9614 9615 .ciphertext_2_raw = test_vector_8_ciphertext_2_raw, 9616 .ciphertext_2_raw_len = sizeof(test_vector_8_ciphertext_2_raw), 9617 9618 .ciphertext_2 = test_vector_8_ciphertext_2, 9619 .ciphertext_2_len = sizeof(test_vector_8_ciphertext_2), 9620 9621 .message_2 = test_vector_8_message_2, 9622 .message_2_len = sizeof(test_vector_8_message_2), 9623 9624 .sk_i_raw = NULL, 9625 .sk_i_raw_len = 0, 9626 9627 .pk_i_raw = NULL, 9628 .pk_i_raw_len = 0, 9629 9630 .prk_4x3m_raw = test_vector_8_prk_4x3m_raw, 9631 .prk_4x3m_raw_len = sizeof(test_vector_8_prk_4x3m_raw), 9632 9633 .input_TH_3 = test_vector_8_input_TH_3, 9634 .input_TH_3_len = sizeof(test_vector_8_input_TH_3), 9635 9636 .th_3_raw = test_vector_8_th_3_raw, 9637 .th_3_raw_len = sizeof(test_vector_8_th_3_raw), 9638 9639 .th_3 = test_vector_8_th_3, 9640 .th_3_len = sizeof(test_vector_8_th_3), 9641 9642 .id_cred_i = test_vector_8_id_cred_i, 9643 .id_cred_i_len = sizeof(test_vector_8_id_cred_i), 9644 9645 .cred_i = test_vector_8_cred_i, 9646 .cred_i_len = sizeof(test_vector_8_cred_i), 9647 9648 .ead_3 = test_vector_8_ead_3, 9649 .ead_3_len = sizeof(test_vector_8_ead_3), 9650 9651 .info_mac_3 = test_vector_8_info_mac_3, 9652 .info_mac_3_len = sizeof(test_vector_8_info_mac_3), 9653 9654 .mac_3_raw = test_vector_8_mac_3_raw, 9655 .mac_3_raw_len = sizeof(test_vector_8_mac_3_raw), 9656 9657 .mac_3 = test_vector_8_mac_3, 9658 .mac_3_len = sizeof(test_vector_8_mac_3), 9659 9660 .m_3 = NULL, 9661 .m_3_len = 0, 9662 9663 .sig_or_mac_3_raw = test_vector_8_sig_or_mac_3_raw, 9664 .sig_or_mac_3_raw_len = sizeof(test_vector_8_sig_or_mac_3_raw), 9665 9666 .sig_or_mac_3 = test_vector_8_sig_or_mac_3, 9667 .sig_or_mac_3_len = sizeof(test_vector_8_sig_or_mac_3), 9668 9669 .p_3 = test_vector_8_p_3, 9670 .p_3_len = sizeof(test_vector_8_p_3), 9671 9672 .a_3 = test_vector_8_a_3, 9673 .a_3_len = sizeof(test_vector_8_a_3), 9674 9675 .info_k_3 = test_vector_8_info_k_3, 9676 .info_k_3_len = sizeof(test_vector_8_info_k_3), 9677 9678 .k_3_raw = test_vector_8_k_3_raw, 9679 .k_3_raw_len = sizeof(test_vector_8_k_3_raw), 9680 9681 .info_iv_3 = test_vector_8_info_iv_3, 9682 .info_iv_3_len = sizeof(test_vector_8_info_iv_3), 9683 9684 .iv_3_raw = test_vector_8_iv_3_raw, 9685 .iv_3_raw_len = sizeof(test_vector_8_iv_3_raw), 9686 9687 .ciphertext_3_raw = test_vector_8_ciphertext_3_raw, 9688 .ciphertext_3_raw_len = sizeof(test_vector_8_ciphertext_3_raw), 9689 9690 .ciphertext_3 = test_vector_8_ciphertext_3, 9691 .ciphertext_3_len = sizeof(test_vector_8_ciphertext_3), 9692 9693 .message_3 = test_vector_8_message_3, 9694 .message_3_len = sizeof(test_vector_8_message_3), 9695 9696 .input_th_4 = test_vector_8_input_th_4, 9697 .input_th_4_len = sizeof(test_vector_8_input_th_4), 9698 9699 .th_4_raw = test_vector_8_th_4_raw, 9700 .th_4_raw_len = sizeof(test_vector_8_th_4_raw), 9701 9702 .th_4 = test_vector_8_th_4, 9703 .th_4_len = sizeof(test_vector_8_th_4), 9704 9705 .ead_4 = test_vector_8_ead_4, 9706 .ead_4_len = sizeof(test_vector_8_ead_4), 9707 9708 .p_4 = test_vector_8_p_4, 9709 .p_4_len = sizeof(test_vector_8_p_4), 9710 9711 .a_4 = test_vector_8_a_4, 9712 .a_4_len = sizeof(test_vector_8_a_4), 9713 9714 .info_k_4 = test_vector_8_info_k_4, 9715 .info_k_4_len = sizeof(test_vector_8_info_k_4), 9716 9717 .k_4_raw = test_vector_8_k_4_raw, 9718 .k_4_raw_len = sizeof(test_vector_8_k_4_raw), 9719 9720 .info_iv_4 = test_vector_8_info_iv_4, 9721 .info_iv_4_len = sizeof(test_vector_8_info_iv_4), 9722 9723 .iv_4_raw = test_vector_8_iv_4_raw, 9724 .iv_4_raw_len = sizeof(test_vector_8_iv_4_raw), 9725 9726 .ciphertext_4_raw = test_vector_8_ciphertext_4_raw, 9727 .ciphertext_4_raw_len = sizeof(test_vector_8_ciphertext_4_raw), 9728 9729 .ciphertext_4 = test_vector_8_ciphertext_4, 9730 .ciphertext_4_len = sizeof(test_vector_8_ciphertext_4), 9731 9732 .message_4 = test_vector_8_message_4, 9733 .message_4_len = sizeof(test_vector_8_message_4), 9734 9735 .oscore_aead_alg = &test_vector_8_oscore_aead_alg, 9736 9737 .oscore_hash_alg = &test_vector_8_oscore_hash_alg, 9738 9739 .client_sender_id_raw = test_vector_8_client_sender_id_raw, 9740 .client_sender_id_raw_len = sizeof(test_vector_8_client_sender_id_raw), 9741 9742 .server_sender_id_raw = test_vector_8_server_sender_id_raw, 9743 .server_sender_id_raw_len = sizeof(test_vector_8_server_sender_id_raw), 9744 9745 .info_oscore_secret = test_vector_8_info_oscore_secret, 9746 .info_oscore_secret_len = sizeof(test_vector_8_info_oscore_secret), 9747 9748 .oscore_secret_raw = test_vector_8_oscore_secret_raw, 9749 .oscore_secret_raw_len = sizeof(test_vector_8_oscore_secret_raw), 9750 9751 .info_oscore_salt = test_vector_8_info_oscore_salt, 9752 .info_oscore_salt_len = sizeof(test_vector_8_info_oscore_salt), 9753 9754 .oscore_salt_raw = test_vector_8_oscore_salt_raw, 9755 .oscore_salt_raw_len = sizeof(test_vector_8_oscore_salt_raw), 9756 9757 .key_update_nonce_raw = test_vector_8_key_update_nonce_raw, 9758 .key_update_nonce_raw_len = sizeof(test_vector_8_key_update_nonce_raw), 9759 9760 .prk_4x3m_key_update_raw = test_vector_8_prk_4x3m_key_update_raw, 9761 .prk_4x3m_key_update_raw_len = sizeof(test_vector_8_prk_4x3m_key_update_raw), 9762 9763 .oscore_secret_key_update_raw = test_vector_8_oscore_secret_key_update_raw, 9764 .oscore_secret_key_update_raw_len = sizeof(test_vector_8_oscore_secret_key_update_raw), 9765 9766 .oscore_salt_key_update_raw = test_vector_8_oscore_salt_key_update_raw, 9767 .oscore_salt_key_update_raw_len = sizeof(test_vector_8_oscore_salt_key_update_raw), 9768 9769 .ca = NULL, 9770 .ca_len = 0, 9771 9772 .ca_pk = NULL, 9773 .ca_pk_len = 0, 9774 9775 .i_raw = test_vector_8_i_raw, 9776 .i_raw_len = sizeof(test_vector_8_i_raw), 9777 9778 .g_i_raw = test_vector_8_g_i_raw, 9779 .g_i_raw_len = sizeof(test_vector_8_g_i_raw), 9780 9781 .r_raw = test_vector_8_r_raw, 9782 .r_raw_len = sizeof(test_vector_8_r_raw), 9783 9784 .g_r_raw = test_vector_8_g_r_raw, 9785 .g_r_raw_len = sizeof(test_vector_8_g_r_raw), 9786 9787 .c_i_raw = NULL, 9788 .c_i_raw_len = 0, 9789 .c_i_raw_int = &test_vector_8_c_i_raw, 9790 9791 .c_r_raw = NULL, 9792 .c_r_raw_len = 0, 9793 .c_r_raw_int = &test_vector_8_c_r_raw, 9794 }, 9795 /*--------------- test_vector_9 ------------*/ 9796 9797 { 9798 .method = test_vector_9_method, 9799 .method_len = sizeof(test_vector_9_method), 9800 9801 .suites_i = test_vector_9_suites_i, 9802 .suites_i_len = sizeof(test_vector_9_suites_i), 9803 9804 .suites_r = test_vector_9_suites_r, 9805 .suites_r_len = sizeof(test_vector_9_suites_r), 9806 9807 .x_raw = test_vector_9_x_raw, 9808 .x_raw_len = sizeof(test_vector_9_x_raw), 9809 9810 .g_x_raw = test_vector_9_g_x_raw, 9811 .g_x_raw_len = sizeof(test_vector_9_g_x_raw), 9812 9813 .g_x = test_vector_9_g_x, 9814 .g_x_len = sizeof(test_vector_9_g_x), 9815 9816 .c_i = test_vector_9_c_i, 9817 .c_i_len = sizeof(test_vector_9_c_i), 9818 9819 .ead_1 = test_vector_9_ead_1, 9820 .ead_1_len = sizeof(test_vector_9_ead_1), 9821 9822 .message_1 = test_vector_9_message_1, 9823 .message_1_len = sizeof(test_vector_9_message_1), 9824 9825 .y_raw = test_vector_9_y_raw, 9826 .y_raw_len = sizeof(test_vector_9_y_raw), 9827 9828 .g_y_raw = test_vector_9_g_y_raw, 9829 .g_y_raw_len = sizeof(test_vector_9_g_y_raw), 9830 9831 .g_y = test_vector_9_g_y, 9832 .g_y_len = sizeof(test_vector_9_g_y), 9833 9834 .g_xy_raw = test_vector_9_g_xy_raw, 9835 .g_xy_raw_len = sizeof(test_vector_9_g_xy_raw), 9836 9837 .salt_raw = test_vector_9_salt_raw, 9838 .salt_raw_len = sizeof(test_vector_9_salt_raw), 9839 9840 .prk_2e_raw = test_vector_9_prk_2e_raw, 9841 .prk_2e_raw_len = sizeof(test_vector_9_prk_2e_raw), 9842 9843 .sk_r_raw = test_vector_9_sk_r_raw, 9844 .sk_r_raw_len = sizeof(test_vector_9_sk_r_raw), 9845 9846 .pk_r_raw = test_vector_9_pk_r_raw, 9847 .pk_r_raw_len = sizeof(test_vector_9_pk_r_raw), 9848 9849 .prk_3e2m_raw = test_vector_9_prk_3e2m_raw, 9850 .prk_3e2m_raw_len = sizeof(test_vector_9_prk_3e2m_raw), 9851 9852 .c_r = test_vector_9_c_r, 9853 .c_r_len = sizeof(test_vector_9_c_r), 9854 9855 .h_message_1_raw = test_vector_9_h_message_1_raw, 9856 .h_message_1_raw_len = sizeof(test_vector_9_h_message_1_raw), 9857 9858 .h_message_1 = test_vector_9_h_message_1, 9859 .h_message_1_len = sizeof(test_vector_9_h_message_1), 9860 9861 .input_th_2 = test_vector_9_input_th_2, 9862 .input_th_2_len = sizeof(test_vector_9_input_th_2), 9863 9864 .th_2_raw = test_vector_9_th_2_raw, 9865 .th_2_raw_len = sizeof(test_vector_9_th_2_raw), 9866 9867 .th_2 = test_vector_9_th_2, 9868 .th_2_len = sizeof(test_vector_9_th_2), 9869 9870 .id_cred_r = test_vector_9_id_cred_r, 9871 .id_cred_r_len = sizeof(test_vector_9_id_cred_r), 9872 9873 .cred_r = test_vector_9_cred_r, 9874 .cred_r_len = sizeof(test_vector_9_cred_r), 9875 9876 .ead_2 = test_vector_9_ead_2, 9877 .ead_2_len = sizeof(test_vector_9_ead_2), 9878 9879 .info_mac_2 = test_vector_9_info_mac_2, 9880 .info_mac_2_len = sizeof(test_vector_9_info_mac_2), 9881 9882 .mac_2_raw = test_vector_9_mac_2_raw, 9883 .mac_2_raw_len = sizeof(test_vector_9_mac_2_raw), 9884 9885 .mac_2 = test_vector_9_mac_2, 9886 .mac_2_len = sizeof(test_vector_9_mac_2), 9887 9888 .m_2 = test_vector_9_m_2, 9889 .m_2_len = sizeof(test_vector_9_m_2), 9890 9891 .sig_or_mac_2_raw = test_vector_9_sig_or_mac_2_raw, 9892 .sig_or_mac_2_raw_len = sizeof(test_vector_9_sig_or_mac_2_raw), 9893 9894 .sig_or_mac_2 = test_vector_9_sig_or_mac_2, 9895 .sig_or_mac_2_len = sizeof(test_vector_9_sig_or_mac_2), 9896 9897 .plaintext_2 = test_vector_9_plaintext_2, 9898 .plaintext_2_len = sizeof(test_vector_9_plaintext_2), 9899 9900 .info_keystream_2 = test_vector_9_info_keystream_2, 9901 .info_keystream_2_len = sizeof(test_vector_9_info_keystream_2), 9902 9903 .keystream_2_raw = test_vector_9_keystream_2_raw, 9904 .keystream_2_raw_len = sizeof(test_vector_9_keystream_2_raw), 9905 9906 .ciphertext_2_raw = test_vector_9_ciphertext_2_raw, 9907 .ciphertext_2_raw_len = sizeof(test_vector_9_ciphertext_2_raw), 9908 9909 .ciphertext_2 = test_vector_9_ciphertext_2, 9910 .ciphertext_2_len = sizeof(test_vector_9_ciphertext_2), 9911 9912 .message_2 = test_vector_9_message_2, 9913 .message_2_len = sizeof(test_vector_9_message_2), 9914 9915 .sk_i_raw = test_vector_9_sk_i_raw, 9916 .sk_i_raw_len = sizeof(test_vector_9_sk_i_raw), 9917 9918 .pk_i_raw = test_vector_9_pk_i_raw, 9919 .pk_i_raw_len = sizeof(test_vector_9_pk_i_raw), 9920 9921 .prk_4x3m_raw = test_vector_9_prk_4x3m_raw, 9922 .prk_4x3m_raw_len = sizeof(test_vector_9_prk_4x3m_raw), 9923 9924 .input_TH_3 = test_vector_9_input_TH_3, 9925 .input_TH_3_len = sizeof(test_vector_9_input_TH_3), 9926 9927 .th_3_raw = test_vector_9_th_3_raw, 9928 .th_3_raw_len = sizeof(test_vector_9_th_3_raw), 9929 9930 .th_3 = test_vector_9_th_3, 9931 .th_3_len = sizeof(test_vector_9_th_3), 9932 9933 .id_cred_i = test_vector_9_id_cred_i, 9934 .id_cred_i_len = sizeof(test_vector_9_id_cred_i), 9935 9936 .cred_i = test_vector_9_cred_i, 9937 .cred_i_len = sizeof(test_vector_9_cred_i), 9938 9939 .ead_3 = test_vector_9_ead_3, 9940 .ead_3_len = sizeof(test_vector_9_ead_3), 9941 9942 .info_mac_3 = test_vector_9_info_mac_3, 9943 .info_mac_3_len = sizeof(test_vector_9_info_mac_3), 9944 9945 .mac_3_raw = test_vector_9_mac_3_raw, 9946 .mac_3_raw_len = sizeof(test_vector_9_mac_3_raw), 9947 9948 .mac_3 = test_vector_9_mac_3, 9949 .mac_3_len = sizeof(test_vector_9_mac_3), 9950 9951 .m_3 = test_vector_9_m_3, 9952 .m_3_len = sizeof(test_vector_9_m_3), 9953 9954 .sig_or_mac_3_raw = test_vector_9_sig_or_mac_3_raw, 9955 .sig_or_mac_3_raw_len = sizeof(test_vector_9_sig_or_mac_3_raw), 9956 9957 .sig_or_mac_3 = test_vector_9_sig_or_mac_3, 9958 .sig_or_mac_3_len = sizeof(test_vector_9_sig_or_mac_3), 9959 9960 .p_3 = test_vector_9_p_3, 9961 .p_3_len = sizeof(test_vector_9_p_3), 9962 9963 .a_3 = test_vector_9_a_3, 9964 .a_3_len = sizeof(test_vector_9_a_3), 9965 9966 .info_k_3 = test_vector_9_info_k_3, 9967 .info_k_3_len = sizeof(test_vector_9_info_k_3), 9968 9969 .k_3_raw = test_vector_9_k_3_raw, 9970 .k_3_raw_len = sizeof(test_vector_9_k_3_raw), 9971 9972 .info_iv_3 = test_vector_9_info_iv_3, 9973 .info_iv_3_len = sizeof(test_vector_9_info_iv_3), 9974 9975 .iv_3_raw = test_vector_9_iv_3_raw, 9976 .iv_3_raw_len = sizeof(test_vector_9_iv_3_raw), 9977 9978 .ciphertext_3_raw = test_vector_9_ciphertext_3_raw, 9979 .ciphertext_3_raw_len = sizeof(test_vector_9_ciphertext_3_raw), 9980 9981 .ciphertext_3 = test_vector_9_ciphertext_3, 9982 .ciphertext_3_len = sizeof(test_vector_9_ciphertext_3), 9983 9984 .message_3 = test_vector_9_message_3, 9985 .message_3_len = sizeof(test_vector_9_message_3), 9986 9987 .input_th_4 = test_vector_9_input_th_4, 9988 .input_th_4_len = sizeof(test_vector_9_input_th_4), 9989 9990 .th_4_raw = test_vector_9_th_4_raw, 9991 .th_4_raw_len = sizeof(test_vector_9_th_4_raw), 9992 9993 .th_4 = test_vector_9_th_4, 9994 .th_4_len = sizeof(test_vector_9_th_4), 9995 9996 .ead_4 = test_vector_9_ead_4, 9997 .ead_4_len = sizeof(test_vector_9_ead_4), 9998 9999 .p_4 = test_vector_9_p_4, 10000 .p_4_len = sizeof(test_vector_9_p_4), 10001 10002 .a_4 = test_vector_9_a_4, 10003 .a_4_len = sizeof(test_vector_9_a_4), 10004 10005 .info_k_4 = test_vector_9_info_k_4, 10006 .info_k_4_len = sizeof(test_vector_9_info_k_4), 10007 10008 .k_4_raw = test_vector_9_k_4_raw, 10009 .k_4_raw_len = sizeof(test_vector_9_k_4_raw), 10010 10011 .info_iv_4 = test_vector_9_info_iv_4, 10012 .info_iv_4_len = sizeof(test_vector_9_info_iv_4), 10013 10014 .iv_4_raw = test_vector_9_iv_4_raw, 10015 .iv_4_raw_len = sizeof(test_vector_9_iv_4_raw), 10016 10017 .ciphertext_4_raw = test_vector_9_ciphertext_4_raw, 10018 .ciphertext_4_raw_len = sizeof(test_vector_9_ciphertext_4_raw), 10019 10020 .ciphertext_4 = test_vector_9_ciphertext_4, 10021 .ciphertext_4_len = sizeof(test_vector_9_ciphertext_4), 10022 10023 .message_4 = test_vector_9_message_4, 10024 .message_4_len = sizeof(test_vector_9_message_4), 10025 10026 .oscore_aead_alg = &test_vector_9_oscore_aead_alg, 10027 10028 .oscore_hash_alg = &test_vector_9_oscore_hash_alg, 10029 10030 .client_sender_id_raw = test_vector_9_client_sender_id_raw, 10031 .client_sender_id_raw_len = sizeof(test_vector_9_client_sender_id_raw), 10032 10033 .server_sender_id_raw = test_vector_9_server_sender_id_raw, 10034 .server_sender_id_raw_len = sizeof(test_vector_9_server_sender_id_raw), 10035 10036 .info_oscore_secret = test_vector_9_info_oscore_secret, 10037 .info_oscore_secret_len = sizeof(test_vector_9_info_oscore_secret), 10038 10039 .oscore_secret_raw = test_vector_9_oscore_secret_raw, 10040 .oscore_secret_raw_len = sizeof(test_vector_9_oscore_secret_raw), 10041 10042 .info_oscore_salt = test_vector_9_info_oscore_salt, 10043 .info_oscore_salt_len = sizeof(test_vector_9_info_oscore_salt), 10044 10045 .oscore_salt_raw = test_vector_9_oscore_salt_raw, 10046 .oscore_salt_raw_len = sizeof(test_vector_9_oscore_salt_raw), 10047 10048 .key_update_nonce_raw = test_vector_9_key_update_nonce_raw, 10049 .key_update_nonce_raw_len = sizeof(test_vector_9_key_update_nonce_raw), 10050 10051 .prk_4x3m_key_update_raw = test_vector_9_prk_4x3m_key_update_raw, 10052 .prk_4x3m_key_update_raw_len = sizeof(test_vector_9_prk_4x3m_key_update_raw), 10053 10054 .oscore_secret_key_update_raw = test_vector_9_oscore_secret_key_update_raw, 10055 .oscore_secret_key_update_raw_len = sizeof(test_vector_9_oscore_secret_key_update_raw), 10056 10057 .oscore_salt_key_update_raw = test_vector_9_oscore_salt_key_update_raw, 10058 .oscore_salt_key_update_raw_len = sizeof(test_vector_9_oscore_salt_key_update_raw), 10059 10060 .ca = NULL, 10061 .ca_len = 0, 10062 10063 .ca_pk = NULL, 10064 .ca_pk_len = 0, 10065 10066 .i_raw = NULL, 10067 .i_raw_len = 0, 10068 10069 .g_i_raw = NULL, 10070 .g_i_raw_len = 0, 10071 10072 .r_raw = NULL, 10073 .r_raw_len = 0, 10074 10075 .g_r_raw = NULL, 10076 .g_r_raw_len = 0, 10077 10078 .c_i_raw = NULL, 10079 .c_i_raw_len = 0, 10080 .c_i_raw_int = &test_vector_9_c_i_raw, 10081 10082 .c_r_raw = NULL, 10083 .c_r_raw_len = 0, 10084 .c_r_raw_int = &test_vector_9_c_r_raw, 10085 }, 10086 /*--------------- test_vector_10 ------------*/ 10087 10088 { 10089 .method = test_vector_10_method, 10090 .method_len = sizeof(test_vector_10_method), 10091 10092 .suites_i = test_vector_10_suites_i, 10093 .suites_i_len = sizeof(test_vector_10_suites_i), 10094 10095 .suites_r = test_vector_10_suites_r, 10096 .suites_r_len = sizeof(test_vector_10_suites_r), 10097 10098 .x_raw = test_vector_10_x_raw, 10099 .x_raw_len = sizeof(test_vector_10_x_raw), 10100 10101 .g_x_raw = test_vector_10_g_x_raw, 10102 .g_x_raw_len = sizeof(test_vector_10_g_x_raw), 10103 10104 .g_x = test_vector_10_g_x, 10105 .g_x_len = sizeof(test_vector_10_g_x), 10106 10107 .c_i = test_vector_10_c_i, 10108 .c_i_len = sizeof(test_vector_10_c_i), 10109 10110 .ead_1 = test_vector_10_ead_1, 10111 .ead_1_len = sizeof(test_vector_10_ead_1), 10112 10113 .message_1 = test_vector_10_message_1, 10114 .message_1_len = sizeof(test_vector_10_message_1), 10115 10116 .y_raw = test_vector_10_y_raw, 10117 .y_raw_len = sizeof(test_vector_10_y_raw), 10118 10119 .g_y_raw = test_vector_10_g_y_raw, 10120 .g_y_raw_len = sizeof(test_vector_10_g_y_raw), 10121 10122 .g_y = test_vector_10_g_y, 10123 .g_y_len = sizeof(test_vector_10_g_y), 10124 10125 .g_xy_raw = test_vector_10_g_xy_raw, 10126 .g_xy_raw_len = sizeof(test_vector_10_g_xy_raw), 10127 10128 .salt_raw = test_vector_10_salt_raw, 10129 .salt_raw_len = sizeof(test_vector_10_salt_raw), 10130 10131 .prk_2e_raw = test_vector_10_prk_2e_raw, 10132 .prk_2e_raw_len = sizeof(test_vector_10_prk_2e_raw), 10133 10134 .sk_r_raw = NULL, 10135 .sk_r_raw_len = 0, 10136 10137 .pk_r_raw = NULL, 10138 .pk_r_raw_len = 0, 10139 10140 .prk_3e2m_raw = test_vector_10_prk_3e2m_raw, 10141 .prk_3e2m_raw_len = sizeof(test_vector_10_prk_3e2m_raw), 10142 10143 .c_r = test_vector_10_c_r, 10144 .c_r_len = sizeof(test_vector_10_c_r), 10145 10146 .h_message_1_raw = test_vector_10_h_message_1_raw, 10147 .h_message_1_raw_len = sizeof(test_vector_10_h_message_1_raw), 10148 10149 .h_message_1 = test_vector_10_h_message_1, 10150 .h_message_1_len = sizeof(test_vector_10_h_message_1), 10151 10152 .input_th_2 = test_vector_10_input_th_2, 10153 .input_th_2_len = sizeof(test_vector_10_input_th_2), 10154 10155 .th_2_raw = test_vector_10_th_2_raw, 10156 .th_2_raw_len = sizeof(test_vector_10_th_2_raw), 10157 10158 .th_2 = test_vector_10_th_2, 10159 .th_2_len = sizeof(test_vector_10_th_2), 10160 10161 .id_cred_r = test_vector_10_id_cred_r, 10162 .id_cred_r_len = sizeof(test_vector_10_id_cred_r), 10163 10164 .cred_r = test_vector_10_cred_r, 10165 .cred_r_len = sizeof(test_vector_10_cred_r), 10166 10167 .ead_2 = test_vector_10_ead_2, 10168 .ead_2_len = sizeof(test_vector_10_ead_2), 10169 10170 .info_mac_2 = test_vector_10_info_mac_2, 10171 .info_mac_2_len = sizeof(test_vector_10_info_mac_2), 10172 10173 .mac_2_raw = test_vector_10_mac_2_raw, 10174 .mac_2_raw_len = sizeof(test_vector_10_mac_2_raw), 10175 10176 .mac_2 = test_vector_10_mac_2, 10177 .mac_2_len = sizeof(test_vector_10_mac_2), 10178 10179 .m_2 = NULL, 10180 .m_2_len = 0, 10181 10182 .sig_or_mac_2_raw = test_vector_10_sig_or_mac_2_raw, 10183 .sig_or_mac_2_raw_len = sizeof(test_vector_10_sig_or_mac_2_raw), 10184 10185 .sig_or_mac_2 = test_vector_10_sig_or_mac_2, 10186 .sig_or_mac_2_len = sizeof(test_vector_10_sig_or_mac_2), 10187 10188 .plaintext_2 = test_vector_10_plaintext_2, 10189 .plaintext_2_len = sizeof(test_vector_10_plaintext_2), 10190 10191 .info_keystream_2 = test_vector_10_info_keystream_2, 10192 .info_keystream_2_len = sizeof(test_vector_10_info_keystream_2), 10193 10194 .keystream_2_raw = test_vector_10_keystream_2_raw, 10195 .keystream_2_raw_len = sizeof(test_vector_10_keystream_2_raw), 10196 10197 .ciphertext_2_raw = test_vector_10_ciphertext_2_raw, 10198 .ciphertext_2_raw_len = sizeof(test_vector_10_ciphertext_2_raw), 10199 10200 .ciphertext_2 = test_vector_10_ciphertext_2, 10201 .ciphertext_2_len = sizeof(test_vector_10_ciphertext_2), 10202 10203 .message_2 = test_vector_10_message_2, 10204 .message_2_len = sizeof(test_vector_10_message_2), 10205 10206 .sk_i_raw = NULL, 10207 .sk_i_raw_len = 0, 10208 10209 .pk_i_raw = NULL, 10210 .pk_i_raw_len = 0, 10211 10212 .prk_4x3m_raw = test_vector_10_prk_4x3m_raw, 10213 .prk_4x3m_raw_len = sizeof(test_vector_10_prk_4x3m_raw), 10214 10215 .input_TH_3 = test_vector_10_input_TH_3, 10216 .input_TH_3_len = sizeof(test_vector_10_input_TH_3), 10217 10218 .th_3_raw = test_vector_10_th_3_raw, 10219 .th_3_raw_len = sizeof(test_vector_10_th_3_raw), 10220 10221 .th_3 = test_vector_10_th_3, 10222 .th_3_len = sizeof(test_vector_10_th_3), 10223 10224 .id_cred_i = test_vector_10_id_cred_i, 10225 .id_cred_i_len = sizeof(test_vector_10_id_cred_i), 10226 10227 .cred_i = test_vector_10_cred_i, 10228 .cred_i_len = sizeof(test_vector_10_cred_i), 10229 10230 .ead_3 = test_vector_10_ead_3, 10231 .ead_3_len = sizeof(test_vector_10_ead_3), 10232 10233 .info_mac_3 = test_vector_10_info_mac_3, 10234 .info_mac_3_len = sizeof(test_vector_10_info_mac_3), 10235 10236 .mac_3_raw = test_vector_10_mac_3_raw, 10237 .mac_3_raw_len = sizeof(test_vector_10_mac_3_raw), 10238 10239 .mac_3 = test_vector_10_mac_3, 10240 .mac_3_len = sizeof(test_vector_10_mac_3), 10241 10242 .m_3 = NULL, 10243 .m_3_len = 0, 10244 10245 .sig_or_mac_3_raw = test_vector_10_sig_or_mac_3_raw, 10246 .sig_or_mac_3_raw_len = sizeof(test_vector_10_sig_or_mac_3_raw), 10247 10248 .sig_or_mac_3 = test_vector_10_sig_or_mac_3, 10249 .sig_or_mac_3_len = sizeof(test_vector_10_sig_or_mac_3), 10250 10251 .p_3 = test_vector_10_p_3, 10252 .p_3_len = sizeof(test_vector_10_p_3), 10253 10254 .a_3 = test_vector_10_a_3, 10255 .a_3_len = sizeof(test_vector_10_a_3), 10256 10257 .info_k_3 = test_vector_10_info_k_3, 10258 .info_k_3_len = sizeof(test_vector_10_info_k_3), 10259 10260 .k_3_raw = test_vector_10_k_3_raw, 10261 .k_3_raw_len = sizeof(test_vector_10_k_3_raw), 10262 10263 .info_iv_3 = test_vector_10_info_iv_3, 10264 .info_iv_3_len = sizeof(test_vector_10_info_iv_3), 10265 10266 .iv_3_raw = test_vector_10_iv_3_raw, 10267 .iv_3_raw_len = sizeof(test_vector_10_iv_3_raw), 10268 10269 .ciphertext_3_raw = test_vector_10_ciphertext_3_raw, 10270 .ciphertext_3_raw_len = sizeof(test_vector_10_ciphertext_3_raw), 10271 10272 .ciphertext_3 = test_vector_10_ciphertext_3, 10273 .ciphertext_3_len = sizeof(test_vector_10_ciphertext_3), 10274 10275 .message_3 = test_vector_10_message_3, 10276 .message_3_len = sizeof(test_vector_10_message_3), 10277 10278 .input_th_4 = test_vector_10_input_th_4, 10279 .input_th_4_len = sizeof(test_vector_10_input_th_4), 10280 10281 .th_4_raw = test_vector_10_th_4_raw, 10282 .th_4_raw_len = sizeof(test_vector_10_th_4_raw), 10283 10284 .th_4 = test_vector_10_th_4, 10285 .th_4_len = sizeof(test_vector_10_th_4), 10286 10287 .ead_4 = test_vector_10_ead_4, 10288 .ead_4_len = sizeof(test_vector_10_ead_4), 10289 10290 .p_4 = test_vector_10_p_4, 10291 .p_4_len = sizeof(test_vector_10_p_4), 10292 10293 .a_4 = test_vector_10_a_4, 10294 .a_4_len = sizeof(test_vector_10_a_4), 10295 10296 .info_k_4 = test_vector_10_info_k_4, 10297 .info_k_4_len = sizeof(test_vector_10_info_k_4), 10298 10299 .k_4_raw = test_vector_10_k_4_raw, 10300 .k_4_raw_len = sizeof(test_vector_10_k_4_raw), 10301 10302 .info_iv_4 = test_vector_10_info_iv_4, 10303 .info_iv_4_len = sizeof(test_vector_10_info_iv_4), 10304 10305 .iv_4_raw = test_vector_10_iv_4_raw, 10306 .iv_4_raw_len = sizeof(test_vector_10_iv_4_raw), 10307 10308 .ciphertext_4_raw = test_vector_10_ciphertext_4_raw, 10309 .ciphertext_4_raw_len = sizeof(test_vector_10_ciphertext_4_raw), 10310 10311 .ciphertext_4 = test_vector_10_ciphertext_4, 10312 .ciphertext_4_len = sizeof(test_vector_10_ciphertext_4), 10313 10314 .message_4 = test_vector_10_message_4, 10315 .message_4_len = sizeof(test_vector_10_message_4), 10316 10317 .oscore_aead_alg = &test_vector_10_oscore_aead_alg, 10318 10319 .oscore_hash_alg = &test_vector_10_oscore_hash_alg, 10320 10321 .client_sender_id_raw = test_vector_10_client_sender_id_raw, 10322 .client_sender_id_raw_len = sizeof(test_vector_10_client_sender_id_raw), 10323 10324 .server_sender_id_raw = test_vector_10_server_sender_id_raw, 10325 .server_sender_id_raw_len = sizeof(test_vector_10_server_sender_id_raw), 10326 10327 .info_oscore_secret = test_vector_10_info_oscore_secret, 10328 .info_oscore_secret_len = sizeof(test_vector_10_info_oscore_secret), 10329 10330 .oscore_secret_raw = test_vector_10_oscore_secret_raw, 10331 .oscore_secret_raw_len = sizeof(test_vector_10_oscore_secret_raw), 10332 10333 .info_oscore_salt = test_vector_10_info_oscore_salt, 10334 .info_oscore_salt_len = sizeof(test_vector_10_info_oscore_salt), 10335 10336 .oscore_salt_raw = test_vector_10_oscore_salt_raw, 10337 .oscore_salt_raw_len = sizeof(test_vector_10_oscore_salt_raw), 10338 10339 .key_update_nonce_raw = test_vector_10_key_update_nonce_raw, 10340 .key_update_nonce_raw_len = sizeof(test_vector_10_key_update_nonce_raw), 10341 10342 .prk_4x3m_key_update_raw = test_vector_10_prk_4x3m_key_update_raw, 10343 .prk_4x3m_key_update_raw_len = sizeof(test_vector_10_prk_4x3m_key_update_raw), 10344 10345 .oscore_secret_key_update_raw = test_vector_10_oscore_secret_key_update_raw, 10346 .oscore_secret_key_update_raw_len = sizeof(test_vector_10_oscore_secret_key_update_raw), 10347 10348 .oscore_salt_key_update_raw = test_vector_10_oscore_salt_key_update_raw, 10349 .oscore_salt_key_update_raw_len = sizeof(test_vector_10_oscore_salt_key_update_raw), 10350 10351 .ca = NULL, 10352 .ca_len = 0, 10353 10354 .ca_pk = NULL, 10355 .ca_pk_len = 0, 10356 10357 .i_raw = test_vector_10_i_raw, 10358 .i_raw_len = sizeof(test_vector_10_i_raw), 10359 10360 .g_i_raw = test_vector_10_g_i_raw, 10361 .g_i_raw_len = sizeof(test_vector_10_g_i_raw), 10362 10363 .r_raw = test_vector_10_r_raw, 10364 .r_raw_len = sizeof(test_vector_10_r_raw), 10365 10366 .g_r_raw = test_vector_10_g_r_raw, 10367 .g_r_raw_len = sizeof(test_vector_10_g_r_raw), 10368 10369 .c_i_raw = test_vector_10_c_i_raw, 10370 .c_i_raw_len = sizeof(test_vector_10_c_i_raw), 10371 .c_i_raw_int = NULL, 10372 10373 .c_r_raw = test_vector_10_c_r_raw, 10374 .c_r_raw_len = sizeof(test_vector_10_c_r_raw), 10375 .c_r_raw_int = NULL, 10376 }, 10377 /*--------------- test_vector_11 ------------*/ 10378 10379 { 10380 .method = test_vector_11_method, 10381 .method_len = sizeof(test_vector_11_method), 10382 10383 .suites_i = test_vector_11_suites_i, 10384 .suites_i_len = sizeof(test_vector_11_suites_i), 10385 10386 .suites_r = test_vector_11_suites_r, 10387 .suites_r_len = sizeof(test_vector_11_suites_r), 10388 10389 .x_raw = test_vector_11_x_raw, 10390 .x_raw_len = sizeof(test_vector_11_x_raw), 10391 10392 .g_x_raw = test_vector_11_g_x_raw, 10393 .g_x_raw_len = sizeof(test_vector_11_g_x_raw), 10394 10395 .g_x = test_vector_11_g_x, 10396 .g_x_len = sizeof(test_vector_11_g_x), 10397 10398 .c_i = test_vector_11_c_i, 10399 .c_i_len = sizeof(test_vector_11_c_i), 10400 10401 .ead_1 = test_vector_11_ead_1, 10402 .ead_1_len = sizeof(test_vector_11_ead_1), 10403 10404 .message_1 = test_vector_11_message_1, 10405 .message_1_len = sizeof(test_vector_11_message_1), 10406 10407 .y_raw = test_vector_11_y_raw, 10408 .y_raw_len = sizeof(test_vector_11_y_raw), 10409 10410 .g_y_raw = test_vector_11_g_y_raw, 10411 .g_y_raw_len = sizeof(test_vector_11_g_y_raw), 10412 10413 .g_y = test_vector_11_g_y, 10414 .g_y_len = sizeof(test_vector_11_g_y), 10415 10416 .g_xy_raw = test_vector_11_g_xy_raw, 10417 .g_xy_raw_len = sizeof(test_vector_11_g_xy_raw), 10418 10419 .salt_raw = test_vector_11_salt_raw, 10420 .salt_raw_len = sizeof(test_vector_11_salt_raw), 10421 10422 .prk_2e_raw = test_vector_11_prk_2e_raw, 10423 .prk_2e_raw_len = sizeof(test_vector_11_prk_2e_raw), 10424 10425 .sk_r_raw = test_vector_11_sk_r_raw, 10426 .sk_r_raw_len = sizeof(test_vector_11_sk_r_raw), 10427 10428 .pk_r_raw = test_vector_11_pk_r_raw, 10429 .pk_r_raw_len = sizeof(test_vector_11_pk_r_raw), 10430 10431 .prk_3e2m_raw = test_vector_11_prk_3e2m_raw, 10432 .prk_3e2m_raw_len = sizeof(test_vector_11_prk_3e2m_raw), 10433 10434 .c_r = test_vector_11_c_r, 10435 .c_r_len = sizeof(test_vector_11_c_r), 10436 10437 .h_message_1_raw = test_vector_11_h_message_1_raw, 10438 .h_message_1_raw_len = sizeof(test_vector_11_h_message_1_raw), 10439 10440 .h_message_1 = test_vector_11_h_message_1, 10441 .h_message_1_len = sizeof(test_vector_11_h_message_1), 10442 10443 .input_th_2 = test_vector_11_input_th_2, 10444 .input_th_2_len = sizeof(test_vector_11_input_th_2), 10445 10446 .th_2_raw = test_vector_11_th_2_raw, 10447 .th_2_raw_len = sizeof(test_vector_11_th_2_raw), 10448 10449 .th_2 = test_vector_11_th_2, 10450 .th_2_len = sizeof(test_vector_11_th_2), 10451 10452 .id_cred_r = test_vector_11_id_cred_r, 10453 .id_cred_r_len = sizeof(test_vector_11_id_cred_r), 10454 10455 .cred_r = test_vector_11_cred_r, 10456 .cred_r_len = sizeof(test_vector_11_cred_r), 10457 10458 .ead_2 = test_vector_11_ead_2, 10459 .ead_2_len = sizeof(test_vector_11_ead_2), 10460 10461 .info_mac_2 = test_vector_11_info_mac_2, 10462 .info_mac_2_len = sizeof(test_vector_11_info_mac_2), 10463 10464 .mac_2_raw = test_vector_11_mac_2_raw, 10465 .mac_2_raw_len = sizeof(test_vector_11_mac_2_raw), 10466 10467 .mac_2 = test_vector_11_mac_2, 10468 .mac_2_len = sizeof(test_vector_11_mac_2), 10469 10470 .m_2 = test_vector_11_m_2, 10471 .m_2_len = sizeof(test_vector_11_m_2), 10472 10473 .sig_or_mac_2_raw = test_vector_11_sig_or_mac_2_raw, 10474 .sig_or_mac_2_raw_len = sizeof(test_vector_11_sig_or_mac_2_raw), 10475 10476 .sig_or_mac_2 = test_vector_11_sig_or_mac_2, 10477 .sig_or_mac_2_len = sizeof(test_vector_11_sig_or_mac_2), 10478 10479 .plaintext_2 = test_vector_11_plaintext_2, 10480 .plaintext_2_len = sizeof(test_vector_11_plaintext_2), 10481 10482 .info_keystream_2 = test_vector_11_info_keystream_2, 10483 .info_keystream_2_len = sizeof(test_vector_11_info_keystream_2), 10484 10485 .keystream_2_raw = test_vector_11_keystream_2_raw, 10486 .keystream_2_raw_len = sizeof(test_vector_11_keystream_2_raw), 10487 10488 .ciphertext_2_raw = test_vector_11_ciphertext_2_raw, 10489 .ciphertext_2_raw_len = sizeof(test_vector_11_ciphertext_2_raw), 10490 10491 .ciphertext_2 = test_vector_11_ciphertext_2, 10492 .ciphertext_2_len = sizeof(test_vector_11_ciphertext_2), 10493 10494 .message_2 = test_vector_11_message_2, 10495 .message_2_len = sizeof(test_vector_11_message_2), 10496 10497 .sk_i_raw = test_vector_11_sk_i_raw, 10498 .sk_i_raw_len = sizeof(test_vector_11_sk_i_raw), 10499 10500 .pk_i_raw = test_vector_11_pk_i_raw, 10501 .pk_i_raw_len = sizeof(test_vector_11_pk_i_raw), 10502 10503 .prk_4x3m_raw = test_vector_11_prk_4x3m_raw, 10504 .prk_4x3m_raw_len = sizeof(test_vector_11_prk_4x3m_raw), 10505 10506 .input_TH_3 = test_vector_11_input_TH_3, 10507 .input_TH_3_len = sizeof(test_vector_11_input_TH_3), 10508 10509 .th_3_raw = test_vector_11_th_3_raw, 10510 .th_3_raw_len = sizeof(test_vector_11_th_3_raw), 10511 10512 .th_3 = test_vector_11_th_3, 10513 .th_3_len = sizeof(test_vector_11_th_3), 10514 10515 .id_cred_i = test_vector_11_id_cred_i, 10516 .id_cred_i_len = sizeof(test_vector_11_id_cred_i), 10517 10518 .cred_i = test_vector_11_cred_i, 10519 .cred_i_len = sizeof(test_vector_11_cred_i), 10520 10521 .ead_3 = test_vector_11_ead_3, 10522 .ead_3_len = sizeof(test_vector_11_ead_3), 10523 10524 .info_mac_3 = test_vector_11_info_mac_3, 10525 .info_mac_3_len = sizeof(test_vector_11_info_mac_3), 10526 10527 .mac_3_raw = test_vector_11_mac_3_raw, 10528 .mac_3_raw_len = sizeof(test_vector_11_mac_3_raw), 10529 10530 .mac_3 = test_vector_11_mac_3, 10531 .mac_3_len = sizeof(test_vector_11_mac_3), 10532 10533 .m_3 = test_vector_11_m_3, 10534 .m_3_len = sizeof(test_vector_11_m_3), 10535 10536 .sig_or_mac_3_raw = test_vector_11_sig_or_mac_3_raw, 10537 .sig_or_mac_3_raw_len = sizeof(test_vector_11_sig_or_mac_3_raw), 10538 10539 .sig_or_mac_3 = test_vector_11_sig_or_mac_3, 10540 .sig_or_mac_3_len = sizeof(test_vector_11_sig_or_mac_3), 10541 10542 .p_3 = test_vector_11_p_3, 10543 .p_3_len = sizeof(test_vector_11_p_3), 10544 10545 .a_3 = test_vector_11_a_3, 10546 .a_3_len = sizeof(test_vector_11_a_3), 10547 10548 .info_k_3 = test_vector_11_info_k_3, 10549 .info_k_3_len = sizeof(test_vector_11_info_k_3), 10550 10551 .k_3_raw = test_vector_11_k_3_raw, 10552 .k_3_raw_len = sizeof(test_vector_11_k_3_raw), 10553 10554 .info_iv_3 = test_vector_11_info_iv_3, 10555 .info_iv_3_len = sizeof(test_vector_11_info_iv_3), 10556 10557 .iv_3_raw = test_vector_11_iv_3_raw, 10558 .iv_3_raw_len = sizeof(test_vector_11_iv_3_raw), 10559 10560 .ciphertext_3_raw = test_vector_11_ciphertext_3_raw, 10561 .ciphertext_3_raw_len = sizeof(test_vector_11_ciphertext_3_raw), 10562 10563 .ciphertext_3 = test_vector_11_ciphertext_3, 10564 .ciphertext_3_len = sizeof(test_vector_11_ciphertext_3), 10565 10566 .message_3 = test_vector_11_message_3, 10567 .message_3_len = sizeof(test_vector_11_message_3), 10568 10569 .input_th_4 = test_vector_11_input_th_4, 10570 .input_th_4_len = sizeof(test_vector_11_input_th_4), 10571 10572 .th_4_raw = test_vector_11_th_4_raw, 10573 .th_4_raw_len = sizeof(test_vector_11_th_4_raw), 10574 10575 .th_4 = test_vector_11_th_4, 10576 .th_4_len = sizeof(test_vector_11_th_4), 10577 10578 .ead_4 = test_vector_11_ead_4, 10579 .ead_4_len = sizeof(test_vector_11_ead_4), 10580 10581 .p_4 = test_vector_11_p_4, 10582 .p_4_len = sizeof(test_vector_11_p_4), 10583 10584 .a_4 = test_vector_11_a_4, 10585 .a_4_len = sizeof(test_vector_11_a_4), 10586 10587 .info_k_4 = test_vector_11_info_k_4, 10588 .info_k_4_len = sizeof(test_vector_11_info_k_4), 10589 10590 .k_4_raw = test_vector_11_k_4_raw, 10591 .k_4_raw_len = sizeof(test_vector_11_k_4_raw), 10592 10593 .info_iv_4 = test_vector_11_info_iv_4, 10594 .info_iv_4_len = sizeof(test_vector_11_info_iv_4), 10595 10596 .iv_4_raw = test_vector_11_iv_4_raw, 10597 .iv_4_raw_len = sizeof(test_vector_11_iv_4_raw), 10598 10599 .ciphertext_4_raw = test_vector_11_ciphertext_4_raw, 10600 .ciphertext_4_raw_len = sizeof(test_vector_11_ciphertext_4_raw), 10601 10602 .ciphertext_4 = test_vector_11_ciphertext_4, 10603 .ciphertext_4_len = sizeof(test_vector_11_ciphertext_4), 10604 10605 .message_4 = test_vector_11_message_4, 10606 .message_4_len = sizeof(test_vector_11_message_4), 10607 10608 .oscore_aead_alg = &test_vector_11_oscore_aead_alg, 10609 10610 .oscore_hash_alg = &test_vector_11_oscore_hash_alg, 10611 10612 .client_sender_id_raw = test_vector_11_client_sender_id_raw, 10613 .client_sender_id_raw_len = sizeof(test_vector_11_client_sender_id_raw), 10614 10615 .server_sender_id_raw = test_vector_11_server_sender_id_raw, 10616 .server_sender_id_raw_len = sizeof(test_vector_11_server_sender_id_raw), 10617 10618 .info_oscore_secret = test_vector_11_info_oscore_secret, 10619 .info_oscore_secret_len = sizeof(test_vector_11_info_oscore_secret), 10620 10621 .oscore_secret_raw = test_vector_11_oscore_secret_raw, 10622 .oscore_secret_raw_len = sizeof(test_vector_11_oscore_secret_raw), 10623 10624 .info_oscore_salt = test_vector_11_info_oscore_salt, 10625 .info_oscore_salt_len = sizeof(test_vector_11_info_oscore_salt), 10626 10627 .oscore_salt_raw = test_vector_11_oscore_salt_raw, 10628 .oscore_salt_raw_len = sizeof(test_vector_11_oscore_salt_raw), 10629 10630 .key_update_nonce_raw = test_vector_11_key_update_nonce_raw, 10631 .key_update_nonce_raw_len = sizeof(test_vector_11_key_update_nonce_raw), 10632 10633 .prk_4x3m_key_update_raw = test_vector_11_prk_4x3m_key_update_raw, 10634 .prk_4x3m_key_update_raw_len = sizeof(test_vector_11_prk_4x3m_key_update_raw), 10635 10636 .oscore_secret_key_update_raw = test_vector_11_oscore_secret_key_update_raw, 10637 .oscore_secret_key_update_raw_len = sizeof(test_vector_11_oscore_secret_key_update_raw), 10638 10639 .oscore_salt_key_update_raw = test_vector_11_oscore_salt_key_update_raw, 10640 .oscore_salt_key_update_raw_len = sizeof(test_vector_11_oscore_salt_key_update_raw), 10641 10642 .ca = NULL, 10643 .ca_len = 0, 10644 10645 .ca_pk = NULL, 10646 .ca_pk_len = 0, 10647 10648 .i_raw = NULL, 10649 .i_raw_len = 0, 10650 10651 .g_i_raw = NULL, 10652 .g_i_raw_len = 0, 10653 10654 .r_raw = NULL, 10655 .r_raw_len = 0, 10656 10657 .g_r_raw = NULL, 10658 .g_r_raw_len = 0, 10659 10660 .c_i_raw = NULL, 10661 .c_i_raw_len = 0, 10662 .c_i_raw_int = &test_vector_11_c_i_raw, 10663 10664 .c_r_raw = test_vector_11_c_r_raw, 10665 .c_r_raw_len = sizeof(test_vector_11_c_r_raw), 10666 .c_r_raw_int = NULL, 10667 }, 10668 /*--------------- test_vector_12 ------------*/ 10669 10670 { 10671 .method = test_vector_12_method, 10672 .method_len = sizeof(test_vector_12_method), 10673 10674 .suites_i = test_vector_12_suites_i, 10675 .suites_i_len = sizeof(test_vector_12_suites_i), 10676 10677 .suites_r = test_vector_12_suites_r, 10678 .suites_r_len = sizeof(test_vector_12_suites_r), 10679 10680 .x_raw = test_vector_12_x_raw, 10681 .x_raw_len = sizeof(test_vector_12_x_raw), 10682 10683 .g_x_raw = test_vector_12_g_x_raw, 10684 .g_x_raw_len = sizeof(test_vector_12_g_x_raw), 10685 10686 .g_x = test_vector_12_g_x, 10687 .g_x_len = sizeof(test_vector_12_g_x), 10688 10689 .c_i = test_vector_12_c_i, 10690 .c_i_len = sizeof(test_vector_12_c_i), 10691 10692 .ead_1 = test_vector_12_ead_1, 10693 .ead_1_len = sizeof(test_vector_12_ead_1), 10694 10695 .message_1 = test_vector_12_message_1, 10696 .message_1_len = sizeof(test_vector_12_message_1), 10697 10698 .y_raw = test_vector_12_y_raw, 10699 .y_raw_len = sizeof(test_vector_12_y_raw), 10700 10701 .g_y_raw = test_vector_12_g_y_raw, 10702 .g_y_raw_len = sizeof(test_vector_12_g_y_raw), 10703 10704 .g_y = test_vector_12_g_y, 10705 .g_y_len = sizeof(test_vector_12_g_y), 10706 10707 .g_xy_raw = test_vector_12_g_xy_raw, 10708 .g_xy_raw_len = sizeof(test_vector_12_g_xy_raw), 10709 10710 .salt_raw = test_vector_12_salt_raw, 10711 .salt_raw_len = sizeof(test_vector_12_salt_raw), 10712 10713 .prk_2e_raw = test_vector_12_prk_2e_raw, 10714 .prk_2e_raw_len = sizeof(test_vector_12_prk_2e_raw), 10715 10716 .sk_r_raw = NULL, 10717 .sk_r_raw_len = 0, 10718 10719 .pk_r_raw = NULL, 10720 .pk_r_raw_len = 0, 10721 10722 .prk_3e2m_raw = test_vector_12_prk_3e2m_raw, 10723 .prk_3e2m_raw_len = sizeof(test_vector_12_prk_3e2m_raw), 10724 10725 .c_r = test_vector_12_c_r, 10726 .c_r_len = sizeof(test_vector_12_c_r), 10727 10728 .h_message_1_raw = test_vector_12_h_message_1_raw, 10729 .h_message_1_raw_len = sizeof(test_vector_12_h_message_1_raw), 10730 10731 .h_message_1 = test_vector_12_h_message_1, 10732 .h_message_1_len = sizeof(test_vector_12_h_message_1), 10733 10734 .input_th_2 = test_vector_12_input_th_2, 10735 .input_th_2_len = sizeof(test_vector_12_input_th_2), 10736 10737 .th_2_raw = test_vector_12_th_2_raw, 10738 .th_2_raw_len = sizeof(test_vector_12_th_2_raw), 10739 10740 .th_2 = test_vector_12_th_2, 10741 .th_2_len = sizeof(test_vector_12_th_2), 10742 10743 .id_cred_r = test_vector_12_id_cred_r, 10744 .id_cred_r_len = sizeof(test_vector_12_id_cred_r), 10745 10746 .cred_r = test_vector_12_cred_r, 10747 .cred_r_len = sizeof(test_vector_12_cred_r), 10748 10749 .ead_2 = test_vector_12_ead_2, 10750 .ead_2_len = sizeof(test_vector_12_ead_2), 10751 10752 .info_mac_2 = test_vector_12_info_mac_2, 10753 .info_mac_2_len = sizeof(test_vector_12_info_mac_2), 10754 10755 .mac_2_raw = test_vector_12_mac_2_raw, 10756 .mac_2_raw_len = sizeof(test_vector_12_mac_2_raw), 10757 10758 .mac_2 = test_vector_12_mac_2, 10759 .mac_2_len = sizeof(test_vector_12_mac_2), 10760 10761 .m_2 = NULL, 10762 .m_2_len = 0, 10763 10764 .sig_or_mac_2_raw = test_vector_12_sig_or_mac_2_raw, 10765 .sig_or_mac_2_raw_len = sizeof(test_vector_12_sig_or_mac_2_raw), 10766 10767 .sig_or_mac_2 = test_vector_12_sig_or_mac_2, 10768 .sig_or_mac_2_len = sizeof(test_vector_12_sig_or_mac_2), 10769 10770 .plaintext_2 = test_vector_12_plaintext_2, 10771 .plaintext_2_len = sizeof(test_vector_12_plaintext_2), 10772 10773 .info_keystream_2 = test_vector_12_info_keystream_2, 10774 .info_keystream_2_len = sizeof(test_vector_12_info_keystream_2), 10775 10776 .keystream_2_raw = test_vector_12_keystream_2_raw, 10777 .keystream_2_raw_len = sizeof(test_vector_12_keystream_2_raw), 10778 10779 .ciphertext_2_raw = test_vector_12_ciphertext_2_raw, 10780 .ciphertext_2_raw_len = sizeof(test_vector_12_ciphertext_2_raw), 10781 10782 .ciphertext_2 = test_vector_12_ciphertext_2, 10783 .ciphertext_2_len = sizeof(test_vector_12_ciphertext_2), 10784 10785 .message_2 = test_vector_12_message_2, 10786 .message_2_len = sizeof(test_vector_12_message_2), 10787 10788 .sk_i_raw = NULL, 10789 .sk_i_raw_len = 0, 10790 10791 .pk_i_raw = NULL, 10792 .pk_i_raw_len = 0, 10793 10794 .prk_4x3m_raw = test_vector_12_prk_4x3m_raw, 10795 .prk_4x3m_raw_len = sizeof(test_vector_12_prk_4x3m_raw), 10796 10797 .input_TH_3 = test_vector_12_input_TH_3, 10798 .input_TH_3_len = sizeof(test_vector_12_input_TH_3), 10799 10800 .th_3_raw = test_vector_12_th_3_raw, 10801 .th_3_raw_len = sizeof(test_vector_12_th_3_raw), 10802 10803 .th_3 = test_vector_12_th_3, 10804 .th_3_len = sizeof(test_vector_12_th_3), 10805 10806 .id_cred_i = test_vector_12_id_cred_i, 10807 .id_cred_i_len = sizeof(test_vector_12_id_cred_i), 10808 10809 .cred_i = test_vector_12_cred_i, 10810 .cred_i_len = sizeof(test_vector_12_cred_i), 10811 10812 .ead_3 = test_vector_12_ead_3, 10813 .ead_3_len = sizeof(test_vector_12_ead_3), 10814 10815 .info_mac_3 = test_vector_12_info_mac_3, 10816 .info_mac_3_len = sizeof(test_vector_12_info_mac_3), 10817 10818 .mac_3_raw = test_vector_12_mac_3_raw, 10819 .mac_3_raw_len = sizeof(test_vector_12_mac_3_raw), 10820 10821 .mac_3 = test_vector_12_mac_3, 10822 .mac_3_len = sizeof(test_vector_12_mac_3), 10823 10824 .m_3 = NULL, 10825 .m_3_len = 0, 10826 10827 .sig_or_mac_3_raw = test_vector_12_sig_or_mac_3_raw, 10828 .sig_or_mac_3_raw_len = sizeof(test_vector_12_sig_or_mac_3_raw), 10829 10830 .sig_or_mac_3 = test_vector_12_sig_or_mac_3, 10831 .sig_or_mac_3_len = sizeof(test_vector_12_sig_or_mac_3), 10832 10833 .p_3 = test_vector_12_p_3, 10834 .p_3_len = sizeof(test_vector_12_p_3), 10835 10836 .a_3 = test_vector_12_a_3, 10837 .a_3_len = sizeof(test_vector_12_a_3), 10838 10839 .info_k_3 = test_vector_12_info_k_3, 10840 .info_k_3_len = sizeof(test_vector_12_info_k_3), 10841 10842 .k_3_raw = test_vector_12_k_3_raw, 10843 .k_3_raw_len = sizeof(test_vector_12_k_3_raw), 10844 10845 .info_iv_3 = test_vector_12_info_iv_3, 10846 .info_iv_3_len = sizeof(test_vector_12_info_iv_3), 10847 10848 .iv_3_raw = test_vector_12_iv_3_raw, 10849 .iv_3_raw_len = sizeof(test_vector_12_iv_3_raw), 10850 10851 .ciphertext_3_raw = test_vector_12_ciphertext_3_raw, 10852 .ciphertext_3_raw_len = sizeof(test_vector_12_ciphertext_3_raw), 10853 10854 .ciphertext_3 = test_vector_12_ciphertext_3, 10855 .ciphertext_3_len = sizeof(test_vector_12_ciphertext_3), 10856 10857 .message_3 = test_vector_12_message_3, 10858 .message_3_len = sizeof(test_vector_12_message_3), 10859 10860 .input_th_4 = test_vector_12_input_th_4, 10861 .input_th_4_len = sizeof(test_vector_12_input_th_4), 10862 10863 .th_4_raw = test_vector_12_th_4_raw, 10864 .th_4_raw_len = sizeof(test_vector_12_th_4_raw), 10865 10866 .th_4 = test_vector_12_th_4, 10867 .th_4_len = sizeof(test_vector_12_th_4), 10868 10869 .ead_4 = test_vector_12_ead_4, 10870 .ead_4_len = sizeof(test_vector_12_ead_4), 10871 10872 .p_4 = test_vector_12_p_4, 10873 .p_4_len = sizeof(test_vector_12_p_4), 10874 10875 .a_4 = test_vector_12_a_4, 10876 .a_4_len = sizeof(test_vector_12_a_4), 10877 10878 .info_k_4 = test_vector_12_info_k_4, 10879 .info_k_4_len = sizeof(test_vector_12_info_k_4), 10880 10881 .k_4_raw = test_vector_12_k_4_raw, 10882 .k_4_raw_len = sizeof(test_vector_12_k_4_raw), 10883 10884 .info_iv_4 = test_vector_12_info_iv_4, 10885 .info_iv_4_len = sizeof(test_vector_12_info_iv_4), 10886 10887 .iv_4_raw = test_vector_12_iv_4_raw, 10888 .iv_4_raw_len = sizeof(test_vector_12_iv_4_raw), 10889 10890 .ciphertext_4_raw = test_vector_12_ciphertext_4_raw, 10891 .ciphertext_4_raw_len = sizeof(test_vector_12_ciphertext_4_raw), 10892 10893 .ciphertext_4 = test_vector_12_ciphertext_4, 10894 .ciphertext_4_len = sizeof(test_vector_12_ciphertext_4), 10895 10896 .message_4 = test_vector_12_message_4, 10897 .message_4_len = sizeof(test_vector_12_message_4), 10898 10899 .oscore_aead_alg = &test_vector_12_oscore_aead_alg, 10900 10901 .oscore_hash_alg = &test_vector_12_oscore_hash_alg, 10902 10903 .client_sender_id_raw = test_vector_12_client_sender_id_raw, 10904 .client_sender_id_raw_len = sizeof(test_vector_12_client_sender_id_raw), 10905 10906 .server_sender_id_raw = test_vector_12_server_sender_id_raw, 10907 .server_sender_id_raw_len = sizeof(test_vector_12_server_sender_id_raw), 10908 10909 .info_oscore_secret = test_vector_12_info_oscore_secret, 10910 .info_oscore_secret_len = sizeof(test_vector_12_info_oscore_secret), 10911 10912 .oscore_secret_raw = test_vector_12_oscore_secret_raw, 10913 .oscore_secret_raw_len = sizeof(test_vector_12_oscore_secret_raw), 10914 10915 .info_oscore_salt = test_vector_12_info_oscore_salt, 10916 .info_oscore_salt_len = sizeof(test_vector_12_info_oscore_salt), 10917 10918 .oscore_salt_raw = test_vector_12_oscore_salt_raw, 10919 .oscore_salt_raw_len = sizeof(test_vector_12_oscore_salt_raw), 10920 10921 .key_update_nonce_raw = test_vector_12_key_update_nonce_raw, 10922 .key_update_nonce_raw_len = sizeof(test_vector_12_key_update_nonce_raw), 10923 10924 .prk_4x3m_key_update_raw = test_vector_12_prk_4x3m_key_update_raw, 10925 .prk_4x3m_key_update_raw_len = sizeof(test_vector_12_prk_4x3m_key_update_raw), 10926 10927 .oscore_secret_key_update_raw = test_vector_12_oscore_secret_key_update_raw, 10928 .oscore_secret_key_update_raw_len = sizeof(test_vector_12_oscore_secret_key_update_raw), 10929 10930 .oscore_salt_key_update_raw = test_vector_12_oscore_salt_key_update_raw, 10931 .oscore_salt_key_update_raw_len = sizeof(test_vector_12_oscore_salt_key_update_raw), 10932 10933 .ca = NULL, 10934 .ca_len = 0, 10935 10936 .ca_pk = NULL, 10937 .ca_pk_len = 0, 10938 10939 .i_raw = test_vector_12_i_raw, 10940 .i_raw_len = sizeof(test_vector_12_i_raw), 10941 10942 .g_i_raw = test_vector_12_g_i_raw, 10943 .g_i_raw_len = sizeof(test_vector_12_g_i_raw), 10944 10945 .r_raw = test_vector_12_r_raw, 10946 .r_raw_len = sizeof(test_vector_12_r_raw), 10947 10948 .g_r_raw = test_vector_12_g_r_raw, 10949 .g_r_raw_len = sizeof(test_vector_12_g_r_raw), 10950 10951 .c_i_raw = NULL, 10952 .c_i_raw_len = 0, 10953 .c_i_raw_int = &test_vector_12_c_i_raw, 10954 10955 .c_r_raw = NULL, 10956 .c_r_raw_len = 0, 10957 .c_r_raw_int = &test_vector_12_c_r_raw, 10958 }, 10959 /*--------------- test_vector_13 ------------*/ 10960 10961 { 10962 .method = test_vector_13_method, 10963 .method_len = sizeof(test_vector_13_method), 10964 10965 .suites_i = test_vector_13_suites_i, 10966 .suites_i_len = sizeof(test_vector_13_suites_i), 10967 10968 .suites_r = test_vector_13_suites_r, 10969 .suites_r_len = sizeof(test_vector_13_suites_r), 10970 10971 .x_raw = test_vector_13_x_raw, 10972 .x_raw_len = sizeof(test_vector_13_x_raw), 10973 10974 .g_x_raw = test_vector_13_g_x_raw, 10975 .g_x_raw_len = sizeof(test_vector_13_g_x_raw), 10976 10977 .g_x = test_vector_13_g_x, 10978 .g_x_len = sizeof(test_vector_13_g_x), 10979 10980 .c_i = test_vector_13_c_i, 10981 .c_i_len = sizeof(test_vector_13_c_i), 10982 10983 .ead_1 = test_vector_13_ead_1, 10984 .ead_1_len = sizeof(test_vector_13_ead_1), 10985 10986 .message_1 = test_vector_13_message_1, 10987 .message_1_len = sizeof(test_vector_13_message_1), 10988 10989 .y_raw = test_vector_13_y_raw, 10990 .y_raw_len = sizeof(test_vector_13_y_raw), 10991 10992 .g_y_raw = test_vector_13_g_y_raw, 10993 .g_y_raw_len = sizeof(test_vector_13_g_y_raw), 10994 10995 .g_y = test_vector_13_g_y, 10996 .g_y_len = sizeof(test_vector_13_g_y), 10997 10998 .g_xy_raw = test_vector_13_g_xy_raw, 10999 .g_xy_raw_len = sizeof(test_vector_13_g_xy_raw), 11000 11001 .salt_raw = test_vector_13_salt_raw, 11002 .salt_raw_len = sizeof(test_vector_13_salt_raw), 11003 11004 .prk_2e_raw = test_vector_13_prk_2e_raw, 11005 .prk_2e_raw_len = sizeof(test_vector_13_prk_2e_raw), 11006 11007 .sk_r_raw = test_vector_13_sk_r_raw, 11008 .sk_r_raw_len = sizeof(test_vector_13_sk_r_raw), 11009 11010 .pk_r_raw = test_vector_13_pk_r_raw, 11011 .pk_r_raw_len = sizeof(test_vector_13_pk_r_raw), 11012 11013 .prk_3e2m_raw = test_vector_13_prk_3e2m_raw, 11014 .prk_3e2m_raw_len = sizeof(test_vector_13_prk_3e2m_raw), 11015 11016 .c_r = test_vector_13_c_r, 11017 .c_r_len = sizeof(test_vector_13_c_r), 11018 11019 .h_message_1_raw = test_vector_13_h_message_1_raw, 11020 .h_message_1_raw_len = sizeof(test_vector_13_h_message_1_raw), 11021 11022 .h_message_1 = test_vector_13_h_message_1, 11023 .h_message_1_len = sizeof(test_vector_13_h_message_1), 11024 11025 .input_th_2 = test_vector_13_input_th_2, 11026 .input_th_2_len = sizeof(test_vector_13_input_th_2), 11027 11028 .th_2_raw = test_vector_13_th_2_raw, 11029 .th_2_raw_len = sizeof(test_vector_13_th_2_raw), 11030 11031 .th_2 = test_vector_13_th_2, 11032 .th_2_len = sizeof(test_vector_13_th_2), 11033 11034 .id_cred_r = test_vector_13_id_cred_r, 11035 .id_cred_r_len = sizeof(test_vector_13_id_cred_r), 11036 11037 .cred_r = test_vector_13_cred_r, 11038 .cred_r_len = sizeof(test_vector_13_cred_r), 11039 11040 .ead_2 = test_vector_13_ead_2, 11041 .ead_2_len = sizeof(test_vector_13_ead_2), 11042 11043 .info_mac_2 = test_vector_13_info_mac_2, 11044 .info_mac_2_len = sizeof(test_vector_13_info_mac_2), 11045 11046 .mac_2_raw = test_vector_13_mac_2_raw, 11047 .mac_2_raw_len = sizeof(test_vector_13_mac_2_raw), 11048 11049 .mac_2 = test_vector_13_mac_2, 11050 .mac_2_len = sizeof(test_vector_13_mac_2), 11051 11052 .m_2 = test_vector_13_m_2, 11053 .m_2_len = sizeof(test_vector_13_m_2), 11054 11055 .sig_or_mac_2_raw = test_vector_13_sig_or_mac_2_raw, 11056 .sig_or_mac_2_raw_len = sizeof(test_vector_13_sig_or_mac_2_raw), 11057 11058 .sig_or_mac_2 = test_vector_13_sig_or_mac_2, 11059 .sig_or_mac_2_len = sizeof(test_vector_13_sig_or_mac_2), 11060 11061 .plaintext_2 = test_vector_13_plaintext_2, 11062 .plaintext_2_len = sizeof(test_vector_13_plaintext_2), 11063 11064 .info_keystream_2 = test_vector_13_info_keystream_2, 11065 .info_keystream_2_len = sizeof(test_vector_13_info_keystream_2), 11066 11067 .keystream_2_raw = test_vector_13_keystream_2_raw, 11068 .keystream_2_raw_len = sizeof(test_vector_13_keystream_2_raw), 11069 11070 .ciphertext_2_raw = test_vector_13_ciphertext_2_raw, 11071 .ciphertext_2_raw_len = sizeof(test_vector_13_ciphertext_2_raw), 11072 11073 .ciphertext_2 = test_vector_13_ciphertext_2, 11074 .ciphertext_2_len = sizeof(test_vector_13_ciphertext_2), 11075 11076 .message_2 = test_vector_13_message_2, 11077 .message_2_len = sizeof(test_vector_13_message_2), 11078 11079 .sk_i_raw = test_vector_13_sk_i_raw, 11080 .sk_i_raw_len = sizeof(test_vector_13_sk_i_raw), 11081 11082 .pk_i_raw = test_vector_13_pk_i_raw, 11083 .pk_i_raw_len = sizeof(test_vector_13_pk_i_raw), 11084 11085 .prk_4x3m_raw = test_vector_13_prk_4x3m_raw, 11086 .prk_4x3m_raw_len = sizeof(test_vector_13_prk_4x3m_raw), 11087 11088 .input_TH_3 = test_vector_13_input_TH_3, 11089 .input_TH_3_len = sizeof(test_vector_13_input_TH_3), 11090 11091 .th_3_raw = test_vector_13_th_3_raw, 11092 .th_3_raw_len = sizeof(test_vector_13_th_3_raw), 11093 11094 .th_3 = test_vector_13_th_3, 11095 .th_3_len = sizeof(test_vector_13_th_3), 11096 11097 .id_cred_i = test_vector_13_id_cred_i, 11098 .id_cred_i_len = sizeof(test_vector_13_id_cred_i), 11099 11100 .cred_i = test_vector_13_cred_i, 11101 .cred_i_len = sizeof(test_vector_13_cred_i), 11102 11103 .ead_3 = test_vector_13_ead_3, 11104 .ead_3_len = sizeof(test_vector_13_ead_3), 11105 11106 .info_mac_3 = test_vector_13_info_mac_3, 11107 .info_mac_3_len = sizeof(test_vector_13_info_mac_3), 11108 11109 .mac_3_raw = test_vector_13_mac_3_raw, 11110 .mac_3_raw_len = sizeof(test_vector_13_mac_3_raw), 11111 11112 .mac_3 = test_vector_13_mac_3, 11113 .mac_3_len = sizeof(test_vector_13_mac_3), 11114 11115 .m_3 = test_vector_13_m_3, 11116 .m_3_len = sizeof(test_vector_13_m_3), 11117 11118 .sig_or_mac_3_raw = test_vector_13_sig_or_mac_3_raw, 11119 .sig_or_mac_3_raw_len = sizeof(test_vector_13_sig_or_mac_3_raw), 11120 11121 .sig_or_mac_3 = test_vector_13_sig_or_mac_3, 11122 .sig_or_mac_3_len = sizeof(test_vector_13_sig_or_mac_3), 11123 11124 .p_3 = test_vector_13_p_3, 11125 .p_3_len = sizeof(test_vector_13_p_3), 11126 11127 .a_3 = test_vector_13_a_3, 11128 .a_3_len = sizeof(test_vector_13_a_3), 11129 11130 .info_k_3 = test_vector_13_info_k_3, 11131 .info_k_3_len = sizeof(test_vector_13_info_k_3), 11132 11133 .k_3_raw = test_vector_13_k_3_raw, 11134 .k_3_raw_len = sizeof(test_vector_13_k_3_raw), 11135 11136 .info_iv_3 = test_vector_13_info_iv_3, 11137 .info_iv_3_len = sizeof(test_vector_13_info_iv_3), 11138 11139 .iv_3_raw = test_vector_13_iv_3_raw, 11140 .iv_3_raw_len = sizeof(test_vector_13_iv_3_raw), 11141 11142 .ciphertext_3_raw = test_vector_13_ciphertext_3_raw, 11143 .ciphertext_3_raw_len = sizeof(test_vector_13_ciphertext_3_raw), 11144 11145 .ciphertext_3 = test_vector_13_ciphertext_3, 11146 .ciphertext_3_len = sizeof(test_vector_13_ciphertext_3), 11147 11148 .message_3 = test_vector_13_message_3, 11149 .message_3_len = sizeof(test_vector_13_message_3), 11150 11151 .input_th_4 = test_vector_13_input_th_4, 11152 .input_th_4_len = sizeof(test_vector_13_input_th_4), 11153 11154 .th_4_raw = test_vector_13_th_4_raw, 11155 .th_4_raw_len = sizeof(test_vector_13_th_4_raw), 11156 11157 .th_4 = test_vector_13_th_4, 11158 .th_4_len = sizeof(test_vector_13_th_4), 11159 11160 .ead_4 = test_vector_13_ead_4, 11161 .ead_4_len = sizeof(test_vector_13_ead_4), 11162 11163 .p_4 = test_vector_13_p_4, 11164 .p_4_len = sizeof(test_vector_13_p_4), 11165 11166 .a_4 = test_vector_13_a_4, 11167 .a_4_len = sizeof(test_vector_13_a_4), 11168 11169 .info_k_4 = test_vector_13_info_k_4, 11170 .info_k_4_len = sizeof(test_vector_13_info_k_4), 11171 11172 .k_4_raw = test_vector_13_k_4_raw, 11173 .k_4_raw_len = sizeof(test_vector_13_k_4_raw), 11174 11175 .info_iv_4 = test_vector_13_info_iv_4, 11176 .info_iv_4_len = sizeof(test_vector_13_info_iv_4), 11177 11178 .iv_4_raw = test_vector_13_iv_4_raw, 11179 .iv_4_raw_len = sizeof(test_vector_13_iv_4_raw), 11180 11181 .ciphertext_4_raw = test_vector_13_ciphertext_4_raw, 11182 .ciphertext_4_raw_len = sizeof(test_vector_13_ciphertext_4_raw), 11183 11184 .ciphertext_4 = test_vector_13_ciphertext_4, 11185 .ciphertext_4_len = sizeof(test_vector_13_ciphertext_4), 11186 11187 .message_4 = test_vector_13_message_4, 11188 .message_4_len = sizeof(test_vector_13_message_4), 11189 11190 .oscore_aead_alg = &test_vector_13_oscore_aead_alg, 11191 11192 .oscore_hash_alg = &test_vector_13_oscore_hash_alg, 11193 11194 .client_sender_id_raw = test_vector_13_client_sender_id_raw, 11195 .client_sender_id_raw_len = sizeof(test_vector_13_client_sender_id_raw), 11196 11197 .server_sender_id_raw = test_vector_13_server_sender_id_raw, 11198 .server_sender_id_raw_len = sizeof(test_vector_13_server_sender_id_raw), 11199 11200 .info_oscore_secret = test_vector_13_info_oscore_secret, 11201 .info_oscore_secret_len = sizeof(test_vector_13_info_oscore_secret), 11202 11203 .oscore_secret_raw = test_vector_13_oscore_secret_raw, 11204 .oscore_secret_raw_len = sizeof(test_vector_13_oscore_secret_raw), 11205 11206 .info_oscore_salt = test_vector_13_info_oscore_salt, 11207 .info_oscore_salt_len = sizeof(test_vector_13_info_oscore_salt), 11208 11209 .oscore_salt_raw = test_vector_13_oscore_salt_raw, 11210 .oscore_salt_raw_len = sizeof(test_vector_13_oscore_salt_raw), 11211 11212 .key_update_nonce_raw = test_vector_13_key_update_nonce_raw, 11213 .key_update_nonce_raw_len = sizeof(test_vector_13_key_update_nonce_raw), 11214 11215 .prk_4x3m_key_update_raw = test_vector_13_prk_4x3m_key_update_raw, 11216 .prk_4x3m_key_update_raw_len = sizeof(test_vector_13_prk_4x3m_key_update_raw), 11217 11218 .oscore_secret_key_update_raw = test_vector_13_oscore_secret_key_update_raw, 11219 .oscore_secret_key_update_raw_len = sizeof(test_vector_13_oscore_secret_key_update_raw), 11220 11221 .oscore_salt_key_update_raw = test_vector_13_oscore_salt_key_update_raw, 11222 .oscore_salt_key_update_raw_len = sizeof(test_vector_13_oscore_salt_key_update_raw), 11223 11224 .ca = NULL, 11225 .ca_len = 0, 11226 11227 .ca_pk = NULL, 11228 .ca_pk_len = 0, 11229 11230 .i_raw = NULL, 11231 .i_raw_len = 0, 11232 11233 .g_i_raw = NULL, 11234 .g_i_raw_len = 0, 11235 11236 .r_raw = NULL, 11237 .r_raw_len = 0, 11238 11239 .g_r_raw = NULL, 11240 .g_r_raw_len = 0, 11241 11242 .c_i_raw = NULL, 11243 .c_i_raw_len = 0, 11244 .c_i_raw_int = &test_vector_13_c_i_raw, 11245 11246 .c_r_raw = NULL, 11247 .c_r_raw_len = 0, 11248 .c_r_raw_int = &test_vector_13_c_r_raw, 11249 }, 11250 };