1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016-2017 Intel Corporation 3 */ 4 5 #ifndef TEST_CRYPTODEV_HASH_TEST_VECTORS_H_ 6 #define TEST_CRYPTODEV_HASH_TEST_VECTORS_H_ 7 8 #ifdef RTE_CRYPTO_AESNI_MB 9 #include <intel-ipsec-mb.h> 10 #endif 11 12 static const uint8_t plaintext_hash[] = { 13 "What a lousy earth! He wondered how many people " 14 "were destitute that same night even in his own " 15 "prosperous country, how many homes were " 16 "shanties, how many husbands were drunk and " 17 "wives socked, and how many children were " 18 "bullied, abused, or abandoned. How many " 19 "families hungered for food they could not " 20 "afford to buy? How many hearts were broken? How " 21 "many suicides would take place that same night, " 22 "how many people would go insane? How many " 23 "cockroaches and landlords would triumph? How " 24 "many winners were losers, successes failures, " 25 "and rich men poor men? How many wise guys were " 26 "stupid? How many happy endings were unhappy " 27 "endings? How many honest men were liars, brave " 28 "men cowards, loyal men traitors, how many " 29 "sainted men were corrupt, how many people in " 30 "positions of trust had sold their souls to " 31 "bodyguards, how many had never had souls? How " 32 "many straight-and-narrow paths were crooked " 33 "paths? How many best families were worst " 34 "families and how many good people were bad " 35 "people? When you added them all up and then " 36 "subtracted, you might be left with only the " 37 "children, and perhaps with Albert Einstein and " 38 "an old violinist or sculptor somewhere." 39 }; 40 41 static const struct blockcipher_test_data 42 md5_test_vector = { 43 .auth_algo = RTE_CRYPTO_AUTH_MD5, 44 .ciphertext = { 45 .data = plaintext_hash, 46 .len = 512 47 }, 48 .digest = { 49 .data = { 50 0xB3, 0xE6, 0xBB, 0x50, 0x41, 0x35, 0x3C, 0x6B, 51 0x7A, 0xFF, 0xD2, 0x64, 0xAF, 0xD5, 0x1C, 0xB2 52 }, 53 .len = 16 54 } 55 }; 56 57 static const struct blockcipher_test_data 58 hmac_md5_test_vector = { 59 .auth_algo = RTE_CRYPTO_AUTH_MD5_HMAC, 60 .ciphertext = { 61 .data = plaintext_hash, 62 .len = 512 63 }, 64 .auth_key = { 65 .data = { 66 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 67 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD 68 }, 69 .len = 16 70 }, 71 .digest = { 72 .data = { 73 0x50, 0xE8, 0xDE, 0xC5, 0xC1, 0x76, 0xAC, 0xAE, 74 0x15, 0x4A, 0xF1, 0x7F, 0x7E, 0x04, 0x42, 0x9B 75 }, 76 .len = 16, 77 .truncated_len = 12 78 } 79 }; 80 81 static const struct blockcipher_test_data 82 sha1_test_vector = { 83 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 84 .ciphertext = { 85 .data = plaintext_hash, 86 .len = 512 87 }, 88 .digest = { 89 .data = { 90 0xA2, 0x8D, 0x40, 0x78, 0xDD, 0x9F, 0xBB, 0xD5, 91 0x35, 0x62, 0xFB, 0xFA, 0x93, 0xFD, 0x7D, 0x70, 92 0xA6, 0x7D, 0x45, 0xCA 93 }, 94 .len = 20, 95 .truncated_len = 20 96 } 97 }; 98 99 static const struct blockcipher_test_data 100 hmac_sha1_test_vector = { 101 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 102 .ciphertext = { 103 .data = plaintext_hash, 104 .len = 512 105 }, 106 .auth_key = { 107 .data = { 108 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 109 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 110 0xDE, 0xF4, 0xDE, 0xAD 111 }, 112 .len = 20 113 }, 114 .digest = { 115 .data = { 116 0xC4, 0xB7, 0x0E, 0x6B, 0xDE, 0xD1, 0xE7, 0x77, 117 0x7E, 0x2E, 0x8F, 0xFC, 0x48, 0x39, 0x46, 0x17, 118 0x3F, 0x91, 0x64, 0x59 119 }, 120 .len = 20, 121 .truncated_len = 12 122 } 123 }; 124 125 static const struct blockcipher_test_data 126 sha224_test_vector = { 127 .auth_algo = RTE_CRYPTO_AUTH_SHA224, 128 .ciphertext = { 129 .data = plaintext_hash, 130 .len = 512 131 }, 132 .digest = { 133 .data = { 134 0x91, 0xE7, 0xCD, 0x75, 0x14, 0x9C, 0xA9, 0xE9, 135 0x2E, 0x46, 0x12, 0x20, 0x22, 0xF9, 0x68, 0x28, 136 0x39, 0x26, 0xDF, 0xB5, 0x78, 0x62, 0xB2, 0x6E, 137 0x5E, 0x8F, 0x25, 0x84 138 }, 139 .len = 28, 140 .truncated_len = 28 141 } 142 }; 143 144 static const struct blockcipher_test_data 145 hmac_sha224_test_vector = { 146 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC, 147 .ciphertext = { 148 .data = plaintext_hash, 149 .len = 512 150 }, 151 .auth_key = { 152 .data = { 153 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 154 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 155 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 156 0xFB, 0xBF, 0xB0, 0x8C 157 }, 158 .len = 28 159 }, 160 .digest = { 161 .data = { 162 0x70, 0x0F, 0x04, 0x4D, 0x22, 0x02, 0x7D, 0x31, 163 0x36, 0xDA, 0x77, 0x19, 0xB9, 0x66, 0x37, 0x7B, 164 0xF1, 0x8A, 0x63, 0xBB, 0x5D, 0x1D, 0xE3, 0x9F, 165 0x92, 0xF6, 0xAA, 0x19 166 }, 167 .len = 28, 168 .truncated_len = 14 169 } 170 }; 171 172 static const struct blockcipher_test_data 173 sha256_test_vector = { 174 .auth_algo = RTE_CRYPTO_AUTH_SHA256, 175 .ciphertext = { 176 .data = plaintext_hash, 177 .len = 512 178 }, 179 .digest = { 180 .data = { 181 0x7F, 0xF1, 0x0C, 0xF5, 0x90, 0x97, 0x19, 0x0F, 182 0x00, 0xE4, 0x83, 0x01, 0xCA, 0x59, 0x00, 0x2E, 183 0x1F, 0xC7, 0x84, 0xEE, 0x76, 0xA6, 0x39, 0x15, 184 0x76, 0x2F, 0x87, 0xF9, 0x01, 0x06, 0xF3, 0xB7 185 }, 186 .len = 32, 187 .truncated_len = 32 188 } 189 }; 190 191 static const struct blockcipher_test_data 192 hmac_sha256_test_vector = { 193 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 194 .ciphertext = { 195 .data = plaintext_hash, 196 .len = 512 197 }, 198 .auth_key = { 199 .data = { 200 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 201 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 202 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 203 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC 204 }, 205 .len = 32 206 }, 207 .digest = { 208 .data = { 209 0xAF, 0x8F, 0x70, 0x1B, 0x4B, 0xAF, 0x34, 0xCB, 210 0x02, 0x24, 0x48, 0x45, 0x83, 0x52, 0x8F, 0x22, 211 0x06, 0x4D, 0x64, 0x09, 0x0A, 0xCC, 0x02, 0x77, 212 0x71, 0x83, 0x48, 0x71, 0x07, 0x02, 0x25, 0x17 213 }, 214 .len = 32, 215 .truncated_len = 16 216 } 217 }; 218 219 static const struct blockcipher_test_data 220 sha384_test_vector = { 221 .auth_algo = RTE_CRYPTO_AUTH_SHA384, 222 .ciphertext = { 223 .data = plaintext_hash, 224 .len = 512 225 }, 226 .digest = { 227 .data = { 228 0x1D, 0xE7, 0x3F, 0x55, 0x86, 0xFE, 0x48, 0x9F, 229 0xAC, 0xC6, 0x85, 0x32, 0xFA, 0x8E, 0xA6, 0x77, 230 0x25, 0x84, 0xA5, 0x98, 0x8D, 0x0B, 0x80, 0xF4, 231 0xEB, 0x2C, 0xFB, 0x6C, 0xEA, 0x7B, 0xFD, 0xD5, 232 0xAD, 0x41, 0xAB, 0x15, 0xB0, 0x03, 0x15, 0xEC, 233 0x9E, 0x3D, 0xED, 0xCB, 0x80, 0x7B, 0xF4, 0xB6 234 }, 235 .len = 48, 236 .truncated_len = 48 237 } 238 }; 239 240 static const struct blockcipher_test_data 241 hmac_sha384_test_vector = { 242 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC, 243 .ciphertext = { 244 .data = plaintext_hash, 245 .len = 512 246 }, 247 .auth_key = { 248 .data = { 249 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 250 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 251 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 252 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC, 253 0x39, 0x8B, 0x5C, 0x49, 0x68, 0x1E, 0x3A, 0x05, 254 0xCC, 0x68, 0x5C, 0x76, 0xCB, 0x3C, 0x71, 0x89 255 }, 256 .len = 48 257 }, 258 .digest = { 259 .data = { 260 0xE2, 0x83, 0x18, 0x55, 0xB5, 0x8D, 0x94, 0x9B, 261 0x01, 0xB6, 0xE2, 0x57, 0x7A, 0x62, 0xF5, 0xF4, 262 0xAB, 0x39, 0xF3, 0x3C, 0x28, 0xA0, 0x0F, 0xCC, 263 0xEE, 0x1C, 0xF1, 0xF8, 0x69, 0xF1, 0x24, 0x3B, 264 0x10, 0x90, 0x0A, 0xE3, 0xF0, 0x59, 0xDD, 0xC0, 265 0x6F, 0xE6, 0x8C, 0x84, 0xD5, 0x03, 0xF8, 0x9E 266 }, 267 .len = 48, 268 .truncated_len = 24 269 } 270 }; 271 272 static const struct blockcipher_test_data 273 sha512_test_vector = { 274 .auth_algo = RTE_CRYPTO_AUTH_SHA512, 275 .ciphertext = { 276 .data = plaintext_hash, 277 .len = 512 278 }, 279 .digest = { 280 .data = { 281 0xB9, 0xBA, 0x28, 0x48, 0x3C, 0xC2, 0xD3, 0x65, 282 0x4A, 0xD6, 0x00, 0x1D, 0xCE, 0x61, 0x64, 0x54, 283 0x45, 0x8C, 0x64, 0x0E, 0xED, 0x0E, 0xD8, 0x1C, 284 0x72, 0xCE, 0xD2, 0x44, 0x91, 0xC8, 0xEB, 0xC7, 285 0x99, 0xC5, 0xCA, 0x89, 0x72, 0x64, 0x96, 0x41, 286 0xC8, 0xEA, 0xB2, 0x4E, 0xD1, 0x21, 0x13, 0x49, 287 0x64, 0x4E, 0x15, 0x68, 0x12, 0x67, 0x26, 0x0F, 288 0x2C, 0x3C, 0x83, 0x25, 0x27, 0x86, 0xF0, 0xDB 289 }, 290 .len = 64, 291 .truncated_len = 64 292 } 293 }; 294 295 static const struct blockcipher_test_data 296 hmac_sha512_test_vector = { 297 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC, 298 .ciphertext = { 299 .data = plaintext_hash, 300 .len = 512 301 }, 302 .auth_key = { 303 .data = { 304 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 305 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 306 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 307 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC, 308 0x39, 0x8B, 0x5C, 0x49, 0x68, 0x1E, 0x3A, 0x05, 309 0xCC, 0x68, 0x5C, 0x76, 0xCB, 0x3C, 0x71, 0x89, 310 0xDE, 0xAA, 0x36, 0x44, 0x98, 0x93, 0x97, 0x1E, 311 0x6D, 0x53, 0x83, 0x87, 0xB3, 0xB7, 0x56, 0x41 312 }, 313 .len = 64 314 }, 315 .digest = { 316 .data = { 317 0xB8, 0x0B, 0x35, 0x97, 0x3F, 0x24, 0x3F, 0x05, 318 0x2A, 0x7F, 0x2F, 0xD8, 0xD7, 0x56, 0x58, 0xAD, 319 0x6F, 0x8D, 0x1F, 0x4C, 0x30, 0xF9, 0xA8, 0x29, 320 0x7A, 0xE0, 0x8D, 0x88, 0xF5, 0x2E, 0x94, 0xF5, 321 0x06, 0xF7, 0x5D, 0x57, 0x32, 0xA8, 0x49, 0x29, 322 0xEA, 0x6B, 0x6D, 0x95, 0xBD, 0x76, 0xF5, 0x79, 323 0x97, 0x37, 0x0F, 0xBE, 0xC2, 0x45, 0xA0, 0x87, 324 0xAF, 0x24, 0x27, 0x0C, 0x78, 0xBA, 0xBE, 0x20 325 }, 326 .len = 64, 327 .truncated_len = 32 328 } 329 }; 330 331 static const struct blockcipher_test_data 332 cmac_test_vector = { 333 .auth_algo = RTE_CRYPTO_AUTH_AES_CMAC, 334 .ciphertext = { 335 .data = plaintext_hash, 336 .len = 512 337 }, 338 .auth_key = { 339 .data = { 340 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 341 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 342 }, 343 .len = 16 344 }, 345 .digest = { 346 .data = { 347 0x4C, 0x77, 0x87, 0xA0, 0x78, 0x8E, 0xEA, 0x96, 348 0xC1, 0xEB, 0x1E, 0x4E, 0x95, 0x8F, 0xED, 0x27 349 }, 350 .len = 16, 351 .truncated_len = 16 352 } 353 }; 354 355 static const struct blockcipher_test_data 356 aes_xcbc_mac_test_vector = { 357 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 358 .ciphertext = { 359 .data = plaintext_hash, 360 .len = 512 361 }, 362 .auth_key = { 363 .data = { 364 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 365 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f 366 }, 367 .len = 16 368 }, 369 .digest = { 370 .data = { 371 0x07, 0xf1, 0xf5, 0x80, 0x5a, 0xbc, 0x1d, 0x1c, 372 0x58, 0x43, 0x99, 0xbe 373 374 }, 375 .len = 12, 376 .truncated_len = 12 377 } 378 }; 379 380 static const struct blockcipher_test_data 381 null_auth_test_vector = { 382 .auth_algo = RTE_CRYPTO_AUTH_NULL, 383 .ciphertext = { /* arbitrary data - shouldn't be used */ 384 .data = plaintext_hash, 385 .len = 512 386 }, 387 .auth_key = { /* arbitrary data - shouldn't be used */ 388 .data = { 389 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 390 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 391 }, 392 .len = 16 393 }, 394 .digest = { 395 .data = { 396 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 397 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 398 0x00, 0x00, 0x00, 0x00 399 }, 400 .len = 20, 401 .truncated_len = 12 402 } 403 }; 404 405 static const struct blockcipher_test_data 406 cmac_test_vector_12 = { 407 .auth_algo = RTE_CRYPTO_AUTH_AES_CMAC, 408 .ciphertext = { 409 .data = plaintext_hash, 410 .len = 512 411 }, 412 .auth_key = { 413 .data = { 414 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 415 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 416 }, 417 .len = 16 418 }, 419 .digest = { 420 .data = { 421 0x4C, 0x77, 0x87, 0xA0, 0x78, 0x8E, 0xEA, 0x96, 422 0xC1, 0xEB, 0x1E, 0x4E, 0x95, 0x8F, 0xED, 0x27 423 }, 424 .len = 12, 425 .truncated_len = 12 426 } 427 }; 428 429 static const struct blockcipher_test_case hash_test_cases[] = { 430 { 431 .test_descr = "MD5 Digest", 432 .test_data = &md5_test_vector, 433 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 434 }, 435 { 436 .test_descr = "MD5 Digest Verify", 437 .test_data = &md5_test_vector, 438 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 439 }, 440 { 441 .test_descr = "HMAC-MD5 Digest", 442 .test_data = &hmac_md5_test_vector, 443 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 444 }, 445 { 446 .test_descr = "HMAC-MD5 Digest Verify", 447 .test_data = &hmac_md5_test_vector, 448 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 449 }, 450 { 451 .test_descr = "SHA1 Digest", 452 .test_data = &sha1_test_vector, 453 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 454 }, 455 { 456 .test_descr = "SHA1 Digest Verify", 457 .test_data = &sha1_test_vector, 458 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 459 }, 460 { 461 .test_descr = "HMAC-SHA1 Digest", 462 .test_data = &hmac_sha1_test_vector, 463 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 464 }, 465 { 466 .test_descr = "HMAC-SHA1 Digest Scatter Gather", 467 .test_data = &hmac_sha1_test_vector, 468 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 469 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 470 }, 471 { 472 .test_descr = "HMAC-SHA1 Digest Verify", 473 .test_data = &hmac_sha1_test_vector, 474 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 475 }, 476 { 477 .test_descr = "HMAC-SHA1 Digest Verify Scatter Gather", 478 .test_data = &hmac_sha1_test_vector, 479 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 480 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 481 }, 482 { 483 .test_descr = "SHA224 Digest", 484 .test_data = &sha224_test_vector, 485 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 486 }, 487 { 488 .test_descr = "SHA224 Digest Verify", 489 .test_data = &sha224_test_vector, 490 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 491 }, 492 { 493 .test_descr = "HMAC-SHA224 Digest", 494 .test_data = &hmac_sha224_test_vector, 495 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 496 }, 497 { 498 .test_descr = "HMAC-SHA224 Digest Verify", 499 .test_data = &hmac_sha224_test_vector, 500 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 501 }, 502 { 503 .test_descr = "SHA256 Digest", 504 .test_data = &sha256_test_vector, 505 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 506 }, 507 { 508 .test_descr = "SHA256 Digest Verify", 509 .test_data = &sha256_test_vector, 510 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 511 }, 512 { 513 .test_descr = "HMAC-SHA256 Digest", 514 .test_data = &hmac_sha256_test_vector, 515 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 516 }, 517 { 518 .test_descr = "HMAC-SHA256 Digest Verify", 519 .test_data = &hmac_sha256_test_vector, 520 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 521 }, 522 { 523 .test_descr = "SHA384 Digest", 524 .test_data = &sha384_test_vector, 525 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 526 }, 527 { 528 .test_descr = "SHA384 Digest Verify", 529 .test_data = &sha384_test_vector, 530 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 531 }, 532 { 533 .test_descr = "HMAC-SHA384 Digest", 534 .test_data = &hmac_sha384_test_vector, 535 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 536 }, 537 { 538 .test_descr = "HMAC-SHA384 Digest Verify", 539 .test_data = &hmac_sha384_test_vector, 540 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 541 }, 542 { 543 .test_descr = "SHA512 Digest", 544 .test_data = &sha512_test_vector, 545 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 546 }, 547 { 548 .test_descr = "SHA512 Digest Verify", 549 .test_data = &sha512_test_vector, 550 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 551 }, 552 { 553 .test_descr = "HMAC-SHA512 Digest", 554 .test_data = &hmac_sha512_test_vector, 555 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 556 }, 557 { 558 .test_descr = "HMAC-SHA512 Digest Verify", 559 .test_data = &hmac_sha512_test_vector, 560 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 561 }, 562 { 563 .test_descr = "CMAC Digest 12B", 564 .test_data = &cmac_test_vector_12, 565 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 566 }, 567 { 568 .test_descr = "CMAC Digest Verify 12B", 569 .test_data = &cmac_test_vector_12, 570 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 571 }, 572 { 573 .test_descr = "CMAC Digest 16B", 574 .test_data = &cmac_test_vector, 575 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 576 }, 577 { 578 .test_descr = "CMAC Digest Verify 16B", 579 .test_data = &cmac_test_vector, 580 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 581 }, 582 { 583 .test_descr = "NULL algo - auth generate", 584 .test_data = &null_auth_test_vector, 585 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 586 }, 587 { 588 .test_descr = "NULL algo - auth verify", 589 .test_data = &null_auth_test_vector, 590 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 591 }, 592 { 593 .test_descr = "NULL algo - auth generate - OOP", 594 .test_data = &null_auth_test_vector, 595 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 596 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 597 }, 598 { 599 .test_descr = "NULL algo - auth verify - OOP", 600 .test_data = &null_auth_test_vector, 601 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 602 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 603 }, 604 { 605 .test_descr = "AES-XCBC-MAC Digest 16B", 606 .test_data = &aes_xcbc_mac_test_vector, 607 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 608 }, 609 { 610 .test_descr = "AES-XCBC-MAC Digest Verify 16B", 611 .test_data = &aes_xcbc_mac_test_vector, 612 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 613 }, 614 615 }; 616 617 #endif /* TEST_CRYPTODEV_HASH_TEST_VECTORS_H_ */ 618