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_LIBRTE_PMD_AESNI_MB 9 #include <intel-ipsec-mb.h> 10 #endif 11 12 #if !defined(IMB_VERSION_NUM) 13 #define IMB_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c)) 14 #define IMB_VERSION_NUM IMB_VERSION(0, 49, 0) 15 #endif 16 17 static const uint8_t plaintext_hash[] = { 18 "What a lousy earth! He wondered how many people " 19 "were destitute that same night even in his own " 20 "prosperous country, how many homes were " 21 "shanties, how many husbands were drunk and " 22 "wives socked, and how many children were " 23 "bullied, abused, or abandoned. How many " 24 "families hungered for food they could not " 25 "afford to buy? How many hearts were broken? How " 26 "many suicides would take place that same night, " 27 "how many people would go insane? How many " 28 "cockroaches and landlords would triumph? How " 29 "many winners were losers, successes failures, " 30 "and rich men poor men? How many wise guys were " 31 "stupid? How many happy endings were unhappy " 32 "endings? How many honest men were liars, brave " 33 "men cowards, loyal men traitors, how many " 34 "sainted men were corrupt, how many people in " 35 "positions of trust had sold their souls to " 36 "bodyguards, how many had never had souls? How " 37 "many straight-and-narrow paths were crooked " 38 "paths? How many best families were worst " 39 "families and how many good people were bad " 40 "people? When you added them all up and then " 41 "subtracted, you might be left with only the " 42 "children, and perhaps with Albert Einstein and " 43 "an old violinist or sculptor somewhere." 44 }; 45 46 static const struct blockcipher_test_data 47 md5_test_vector = { 48 .auth_algo = RTE_CRYPTO_AUTH_MD5, 49 .ciphertext = { 50 .data = plaintext_hash, 51 .len = 512 52 }, 53 .digest = { 54 .data = { 55 0xB3, 0xE6, 0xBB, 0x50, 0x41, 0x35, 0x3C, 0x6B, 56 0x7A, 0xFF, 0xD2, 0x64, 0xAF, 0xD5, 0x1C, 0xB2 57 }, 58 .len = 16 59 } 60 }; 61 62 static const struct blockcipher_test_data 63 hmac_md5_test_vector = { 64 .auth_algo = RTE_CRYPTO_AUTH_MD5_HMAC, 65 .ciphertext = { 66 .data = plaintext_hash, 67 .len = 512 68 }, 69 .auth_key = { 70 .data = { 71 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 72 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD 73 }, 74 .len = 16 75 }, 76 .digest = { 77 .data = { 78 0x50, 0xE8, 0xDE, 0xC5, 0xC1, 0x76, 0xAC, 0xAE, 79 0x15, 0x4A, 0xF1, 0x7F, 0x7E, 0x04, 0x42, 0x9B 80 }, 81 .len = 16, 82 .truncated_len = 12 83 } 84 }; 85 86 static const struct blockcipher_test_data 87 sha1_test_vector = { 88 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 89 .ciphertext = { 90 .data = plaintext_hash, 91 .len = 512 92 }, 93 .digest = { 94 .data = { 95 0xA2, 0x8D, 0x40, 0x78, 0xDD, 0x9F, 0xBB, 0xD5, 96 0x35, 0x62, 0xFB, 0xFA, 0x93, 0xFD, 0x7D, 0x70, 97 0xA6, 0x7D, 0x45, 0xCA 98 }, 99 .len = 20, 100 .truncated_len = 20 101 } 102 }; 103 104 static const struct blockcipher_test_data 105 hmac_sha1_test_vector = { 106 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 107 .ciphertext = { 108 .data = plaintext_hash, 109 .len = 512 110 }, 111 .auth_key = { 112 .data = { 113 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 114 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 115 0xDE, 0xF4, 0xDE, 0xAD 116 }, 117 .len = 20 118 }, 119 .digest = { 120 .data = { 121 0xC4, 0xB7, 0x0E, 0x6B, 0xDE, 0xD1, 0xE7, 0x77, 122 0x7E, 0x2E, 0x8F, 0xFC, 0x48, 0x39, 0x46, 0x17, 123 0x3F, 0x91, 0x64, 0x59 124 }, 125 .len = 20, 126 .truncated_len = 12 127 } 128 }; 129 130 static const struct blockcipher_test_data 131 sha224_test_vector = { 132 .auth_algo = RTE_CRYPTO_AUTH_SHA224, 133 .ciphertext = { 134 .data = plaintext_hash, 135 .len = 512 136 }, 137 .digest = { 138 .data = { 139 0x91, 0xE7, 0xCD, 0x75, 0x14, 0x9C, 0xA9, 0xE9, 140 0x2E, 0x46, 0x12, 0x20, 0x22, 0xF9, 0x68, 0x28, 141 0x39, 0x26, 0xDF, 0xB5, 0x78, 0x62, 0xB2, 0x6E, 142 0x5E, 0x8F, 0x25, 0x84 143 }, 144 .len = 28, 145 .truncated_len = 28 146 } 147 }; 148 149 static const struct blockcipher_test_data 150 hmac_sha224_test_vector = { 151 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC, 152 .ciphertext = { 153 .data = plaintext_hash, 154 .len = 512 155 }, 156 .auth_key = { 157 .data = { 158 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 159 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 160 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 161 0xFB, 0xBF, 0xB0, 0x8C 162 }, 163 .len = 28 164 }, 165 .digest = { 166 .data = { 167 0x70, 0x0F, 0x04, 0x4D, 0x22, 0x02, 0x7D, 0x31, 168 0x36, 0xDA, 0x77, 0x19, 0xB9, 0x66, 0x37, 0x7B, 169 0xF1, 0x8A, 0x63, 0xBB, 0x5D, 0x1D, 0xE3, 0x9F, 170 0x92, 0xF6, 0xAA, 0x19 171 }, 172 .len = 28, 173 .truncated_len = 14 174 } 175 }; 176 177 static const struct blockcipher_test_data 178 sha256_test_vector = { 179 .auth_algo = RTE_CRYPTO_AUTH_SHA256, 180 .ciphertext = { 181 .data = plaintext_hash, 182 .len = 512 183 }, 184 .digest = { 185 .data = { 186 0x7F, 0xF1, 0x0C, 0xF5, 0x90, 0x97, 0x19, 0x0F, 187 0x00, 0xE4, 0x83, 0x01, 0xCA, 0x59, 0x00, 0x2E, 188 0x1F, 0xC7, 0x84, 0xEE, 0x76, 0xA6, 0x39, 0x15, 189 0x76, 0x2F, 0x87, 0xF9, 0x01, 0x06, 0xF3, 0xB7 190 }, 191 .len = 32, 192 .truncated_len = 32 193 } 194 }; 195 196 static const struct blockcipher_test_data 197 hmac_sha256_test_vector = { 198 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 199 .ciphertext = { 200 .data = plaintext_hash, 201 .len = 512 202 }, 203 .auth_key = { 204 .data = { 205 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 206 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 207 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 208 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC 209 }, 210 .len = 32 211 }, 212 .digest = { 213 .data = { 214 0xAF, 0x8F, 0x70, 0x1B, 0x4B, 0xAF, 0x34, 0xCB, 215 0x02, 0x24, 0x48, 0x45, 0x83, 0x52, 0x8F, 0x22, 216 0x06, 0x4D, 0x64, 0x09, 0x0A, 0xCC, 0x02, 0x77, 217 0x71, 0x83, 0x48, 0x71, 0x07, 0x02, 0x25, 0x17 218 }, 219 .len = 32, 220 .truncated_len = 16 221 } 222 }; 223 224 static const struct blockcipher_test_data 225 sha384_test_vector = { 226 .auth_algo = RTE_CRYPTO_AUTH_SHA384, 227 .ciphertext = { 228 .data = plaintext_hash, 229 .len = 512 230 }, 231 .digest = { 232 .data = { 233 0x1D, 0xE7, 0x3F, 0x55, 0x86, 0xFE, 0x48, 0x9F, 234 0xAC, 0xC6, 0x85, 0x32, 0xFA, 0x8E, 0xA6, 0x77, 235 0x25, 0x84, 0xA5, 0x98, 0x8D, 0x0B, 0x80, 0xF4, 236 0xEB, 0x2C, 0xFB, 0x6C, 0xEA, 0x7B, 0xFD, 0xD5, 237 0xAD, 0x41, 0xAB, 0x15, 0xB0, 0x03, 0x15, 0xEC, 238 0x9E, 0x3D, 0xED, 0xCB, 0x80, 0x7B, 0xF4, 0xB6 239 }, 240 .len = 48, 241 .truncated_len = 48 242 } 243 }; 244 245 static const struct blockcipher_test_data 246 hmac_sha384_test_vector = { 247 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC, 248 .ciphertext = { 249 .data = plaintext_hash, 250 .len = 512 251 }, 252 .auth_key = { 253 .data = { 254 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 255 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 256 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 257 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC, 258 0x39, 0x8B, 0x5C, 0x49, 0x68, 0x1E, 0x3A, 0x05, 259 0xCC, 0x68, 0x5C, 0x76, 0xCB, 0x3C, 0x71, 0x89 260 }, 261 .len = 48 262 }, 263 .digest = { 264 .data = { 265 0xE2, 0x83, 0x18, 0x55, 0xB5, 0x8D, 0x94, 0x9B, 266 0x01, 0xB6, 0xE2, 0x57, 0x7A, 0x62, 0xF5, 0xF4, 267 0xAB, 0x39, 0xF3, 0x3C, 0x28, 0xA0, 0x0F, 0xCC, 268 0xEE, 0x1C, 0xF1, 0xF8, 0x69, 0xF1, 0x24, 0x3B, 269 0x10, 0x90, 0x0A, 0xE3, 0xF0, 0x59, 0xDD, 0xC0, 270 0x6F, 0xE6, 0x8C, 0x84, 0xD5, 0x03, 0xF8, 0x9E 271 }, 272 .len = 48, 273 .truncated_len = 24 274 } 275 }; 276 277 static const struct blockcipher_test_data 278 sha512_test_vector = { 279 .auth_algo = RTE_CRYPTO_AUTH_SHA512, 280 .ciphertext = { 281 .data = plaintext_hash, 282 .len = 512 283 }, 284 .digest = { 285 .data = { 286 0xB9, 0xBA, 0x28, 0x48, 0x3C, 0xC2, 0xD3, 0x65, 287 0x4A, 0xD6, 0x00, 0x1D, 0xCE, 0x61, 0x64, 0x54, 288 0x45, 0x8C, 0x64, 0x0E, 0xED, 0x0E, 0xD8, 0x1C, 289 0x72, 0xCE, 0xD2, 0x44, 0x91, 0xC8, 0xEB, 0xC7, 290 0x99, 0xC5, 0xCA, 0x89, 0x72, 0x64, 0x96, 0x41, 291 0xC8, 0xEA, 0xB2, 0x4E, 0xD1, 0x21, 0x13, 0x49, 292 0x64, 0x4E, 0x15, 0x68, 0x12, 0x67, 0x26, 0x0F, 293 0x2C, 0x3C, 0x83, 0x25, 0x27, 0x86, 0xF0, 0xDB 294 }, 295 .len = 64, 296 .truncated_len = 64 297 } 298 }; 299 300 static const struct blockcipher_test_data 301 hmac_sha512_test_vector = { 302 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC, 303 .ciphertext = { 304 .data = plaintext_hash, 305 .len = 512 306 }, 307 .auth_key = { 308 .data = { 309 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 310 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 311 0xDE, 0xF4, 0xDE, 0xAD, 0x26, 0xEB, 0xAB, 0x92, 312 0xFB, 0xBF, 0xB0, 0x8C, 0x29, 0x87, 0x90, 0xAC, 313 0x39, 0x8B, 0x5C, 0x49, 0x68, 0x1E, 0x3A, 0x05, 314 0xCC, 0x68, 0x5C, 0x76, 0xCB, 0x3C, 0x71, 0x89, 315 0xDE, 0xAA, 0x36, 0x44, 0x98, 0x93, 0x97, 0x1E, 316 0x6D, 0x53, 0x83, 0x87, 0xB3, 0xB7, 0x56, 0x41 317 }, 318 .len = 64 319 }, 320 .digest = { 321 .data = { 322 0xB8, 0x0B, 0x35, 0x97, 0x3F, 0x24, 0x3F, 0x05, 323 0x2A, 0x7F, 0x2F, 0xD8, 0xD7, 0x56, 0x58, 0xAD, 324 0x6F, 0x8D, 0x1F, 0x4C, 0x30, 0xF9, 0xA8, 0x29, 325 0x7A, 0xE0, 0x8D, 0x88, 0xF5, 0x2E, 0x94, 0xF5, 326 0x06, 0xF7, 0x5D, 0x57, 0x32, 0xA8, 0x49, 0x29, 327 0xEA, 0x6B, 0x6D, 0x95, 0xBD, 0x76, 0xF5, 0x79, 328 0x97, 0x37, 0x0F, 0xBE, 0xC2, 0x45, 0xA0, 0x87, 329 0xAF, 0x24, 0x27, 0x0C, 0x78, 0xBA, 0xBE, 0x20 330 }, 331 .len = 64, 332 .truncated_len = 32 333 } 334 }; 335 336 static const struct blockcipher_test_data 337 cmac_test_vector = { 338 .auth_algo = RTE_CRYPTO_AUTH_AES_CMAC, 339 .ciphertext = { 340 .data = plaintext_hash, 341 .len = 512 342 }, 343 .auth_key = { 344 .data = { 345 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 346 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 347 }, 348 .len = 16 349 }, 350 .digest = { 351 .data = { 352 0x4C, 0x77, 0x87, 0xA0, 0x78, 0x8E, 0xEA, 0x96, 353 0xC1, 0xEB, 0x1E, 0x4E, 0x95, 0x8F, 0xED, 0x27 354 }, 355 .len = 16, 356 .truncated_len = 16 357 } 358 }; 359 360 static const struct blockcipher_test_data 361 null_auth_test_vector = { 362 .auth_algo = RTE_CRYPTO_AUTH_NULL, 363 .ciphertext = { /* arbitrary data - shouldn't be used */ 364 .data = plaintext_hash, 365 .len = 512 366 }, 367 .auth_key = { /* arbitrary data - shouldn't be used */ 368 .data = { 369 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 370 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 371 }, 372 .len = 16 373 }, 374 .digest = { 375 .data = { 376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 377 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 378 0x00, 0x00, 0x00, 0x00 379 }, 380 .len = 20, 381 .truncated_len = 12 382 } 383 }; 384 385 static const struct blockcipher_test_data 386 cmac_test_vector_12 = { 387 .auth_algo = RTE_CRYPTO_AUTH_AES_CMAC, 388 .ciphertext = { 389 .data = plaintext_hash, 390 .len = 512 391 }, 392 .auth_key = { 393 .data = { 394 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 395 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 396 }, 397 .len = 16 398 }, 399 .digest = { 400 .data = { 401 0x4C, 0x77, 0x87, 0xA0, 0x78, 0x8E, 0xEA, 0x96, 402 0xC1, 0xEB, 0x1E, 0x4E, 0x95, 0x8F, 0xED, 0x27 403 }, 404 .len = 12, 405 .truncated_len = 12 406 } 407 }; 408 409 static const struct blockcipher_test_case hash_test_cases[] = { 410 { 411 .test_descr = "MD5 Digest", 412 .test_data = &md5_test_vector, 413 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 414 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 415 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 416 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 417 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 418 }, 419 { 420 .test_descr = "MD5 Digest Verify", 421 .test_data = &md5_test_vector, 422 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 423 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 424 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 425 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 426 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 427 }, 428 { 429 .test_descr = "HMAC-MD5 Digest", 430 .test_data = &hmac_md5_test_vector, 431 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 432 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 433 BLOCKCIPHER_TEST_TARGET_PMD_MB | 434 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 435 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 436 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 437 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 438 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 439 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 440 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 441 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 442 }, 443 { 444 .test_descr = "HMAC-MD5 Digest Verify", 445 .test_data = &hmac_md5_test_vector, 446 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 447 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 448 BLOCKCIPHER_TEST_TARGET_PMD_MB | 449 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 450 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 451 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 452 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 453 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 454 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 455 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 456 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 457 }, 458 { 459 .test_descr = "SHA1 Digest", 460 .test_data = &sha1_test_vector, 461 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 462 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 463 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 464 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 465 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 466 BLOCKCIPHER_TEST_TARGET_PMD_MB | 467 #endif 468 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 469 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 470 }, 471 { 472 .test_descr = "SHA1 Digest Verify", 473 .test_data = &sha1_test_vector, 474 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 475 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 476 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 477 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 478 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 479 BLOCKCIPHER_TEST_TARGET_PMD_MB | 480 #endif 481 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 482 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 483 }, 484 { 485 .test_descr = "HMAC-SHA1 Digest", 486 .test_data = &hmac_sha1_test_vector, 487 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 488 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 489 BLOCKCIPHER_TEST_TARGET_PMD_MB | 490 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 491 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 492 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 493 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 494 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 495 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 496 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 497 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 498 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 499 }, 500 { 501 .test_descr = "HMAC-SHA1 Digest Scatter Gather", 502 .test_data = &hmac_sha1_test_vector, 503 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 504 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 505 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 506 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 507 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 508 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 509 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 510 }, 511 { 512 .test_descr = "HMAC-SHA1 Digest Verify", 513 .test_data = &hmac_sha1_test_vector, 514 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 515 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 516 BLOCKCIPHER_TEST_TARGET_PMD_MB | 517 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 518 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 519 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 520 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 521 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 522 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 523 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 524 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 525 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 526 }, 527 { 528 .test_descr = "HMAC-SHA1 Digest Verify Scatter Gather", 529 .test_data = &hmac_sha1_test_vector, 530 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 531 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 532 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 533 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 534 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 535 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 536 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 537 }, 538 { 539 .test_descr = "SHA224 Digest", 540 .test_data = &sha224_test_vector, 541 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 542 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 543 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 544 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 545 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 546 BLOCKCIPHER_TEST_TARGET_PMD_MB | 547 #endif 548 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 549 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 550 }, 551 { 552 .test_descr = "SHA224 Digest Verify", 553 .test_data = &sha224_test_vector, 554 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 555 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 556 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 557 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 558 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 559 BLOCKCIPHER_TEST_TARGET_PMD_MB | 560 #endif 561 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 562 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 563 }, 564 { 565 .test_descr = "HMAC-SHA224 Digest", 566 .test_data = &hmac_sha224_test_vector, 567 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 568 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 569 BLOCKCIPHER_TEST_TARGET_PMD_MB | 570 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 571 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 572 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 573 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 574 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 575 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 576 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 577 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 578 }, 579 { 580 .test_descr = "HMAC-SHA224 Digest Verify", 581 .test_data = &hmac_sha224_test_vector, 582 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 583 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 584 BLOCKCIPHER_TEST_TARGET_PMD_MB | 585 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 586 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 587 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 588 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 589 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 590 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 591 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 592 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 593 }, 594 { 595 .test_descr = "SHA256 Digest", 596 .test_data = &sha256_test_vector, 597 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 598 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 599 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 600 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 601 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 602 BLOCKCIPHER_TEST_TARGET_PMD_MB | 603 #endif 604 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 605 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 606 }, 607 { 608 .test_descr = "SHA256 Digest Verify", 609 .test_data = &sha256_test_vector, 610 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 611 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 612 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 613 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 614 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 615 BLOCKCIPHER_TEST_TARGET_PMD_MB | 616 #endif 617 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 618 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 619 }, 620 { 621 .test_descr = "HMAC-SHA256 Digest", 622 .test_data = &hmac_sha256_test_vector, 623 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 624 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 625 BLOCKCIPHER_TEST_TARGET_PMD_MB | 626 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 627 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 628 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 629 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 630 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 631 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 632 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 633 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 634 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 635 }, 636 { 637 .test_descr = "HMAC-SHA256 Digest Verify", 638 .test_data = &hmac_sha256_test_vector, 639 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 640 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 641 BLOCKCIPHER_TEST_TARGET_PMD_MB | 642 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 643 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 644 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 645 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 646 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 647 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 648 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 649 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 650 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 651 }, 652 { 653 .test_descr = "SHA384 Digest", 654 .test_data = &sha384_test_vector, 655 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 656 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 657 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 658 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 659 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 660 BLOCKCIPHER_TEST_TARGET_PMD_MB | 661 #endif 662 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 663 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 664 }, 665 { 666 .test_descr = "SHA384 Digest Verify", 667 .test_data = &sha384_test_vector, 668 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 669 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 670 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 671 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 672 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 673 BLOCKCIPHER_TEST_TARGET_PMD_MB | 674 #endif 675 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 676 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 677 }, 678 { 679 .test_descr = "HMAC-SHA384 Digest", 680 .test_data = &hmac_sha384_test_vector, 681 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 682 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 683 BLOCKCIPHER_TEST_TARGET_PMD_MB | 684 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 685 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 686 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 687 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 688 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 689 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 690 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 691 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 692 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 693 }, 694 { 695 .test_descr = "HMAC-SHA384 Digest Verify", 696 .test_data = &hmac_sha384_test_vector, 697 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 698 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 699 BLOCKCIPHER_TEST_TARGET_PMD_MB | 700 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 701 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 702 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 703 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 704 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 705 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 706 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 707 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 708 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 709 }, 710 { 711 .test_descr = "SHA512 Digest", 712 .test_data = &sha512_test_vector, 713 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 714 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 715 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 716 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 717 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 718 BLOCKCIPHER_TEST_TARGET_PMD_MB | 719 #endif 720 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 721 }, 722 { 723 .test_descr = "SHA512 Digest Verify", 724 .test_data = &sha512_test_vector, 725 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 726 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 727 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 728 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 729 #if IMB_VERSION_NUM >= IMB_VERSION(0, 52, 0) 730 BLOCKCIPHER_TEST_TARGET_PMD_MB | 731 #endif 732 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 733 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 734 }, 735 { 736 .test_descr = "HMAC-SHA512 Digest", 737 .test_data = &hmac_sha512_test_vector, 738 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 739 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 740 BLOCKCIPHER_TEST_TARGET_PMD_MB | 741 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 742 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 743 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 744 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 745 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 746 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 747 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 748 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 749 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 750 }, 751 { 752 .test_descr = "HMAC-SHA512 Digest Verify", 753 .test_data = &hmac_sha512_test_vector, 754 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 755 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 756 BLOCKCIPHER_TEST_TARGET_PMD_MB | 757 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 758 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 759 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 760 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 761 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 762 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 763 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 764 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 765 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 766 }, 767 { 768 .test_descr = "CMAC Digest 12B", 769 .test_data = &cmac_test_vector_12, 770 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 771 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 772 BLOCKCIPHER_TEST_TARGET_PMD_QAT 773 }, 774 { 775 .test_descr = "CMAC Digest Verify 12B", 776 .test_data = &cmac_test_vector_12, 777 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 778 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 779 BLOCKCIPHER_TEST_TARGET_PMD_QAT 780 }, 781 { 782 .test_descr = "CMAC Digest 16B", 783 .test_data = &cmac_test_vector, 784 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 785 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 786 BLOCKCIPHER_TEST_TARGET_PMD_QAT 787 }, 788 { 789 .test_descr = "CMAC Digest Verify 16B", 790 .test_data = &cmac_test_vector, 791 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 792 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 793 BLOCKCIPHER_TEST_TARGET_PMD_QAT 794 }, 795 { 796 .test_descr = "NULL algo - auth generate", 797 .test_data = &null_auth_test_vector, 798 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 799 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 800 BLOCKCIPHER_TEST_TARGET_PMD_QAT 801 }, 802 { 803 .test_descr = "NULL algo - auth verify", 804 .test_data = &null_auth_test_vector, 805 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 806 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 807 BLOCKCIPHER_TEST_TARGET_PMD_QAT 808 }, 809 { 810 .test_descr = "NULL algo - auth generate - OOP", 811 .test_data = &null_auth_test_vector, 812 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN, 813 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 814 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 815 }, 816 { 817 .test_descr = "NULL algo - auth verify - OOP", 818 .test_data = &null_auth_test_vector, 819 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY, 820 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 821 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 822 }, 823 824 }; 825 826 #endif /* TEST_CRYPTODEV_HASH_TEST_VECTORS_H_ */ 827