1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016-2019 Intel Corporation 3 */ 4 5 #ifndef TEST_CRYPTODEV_AES_TEST_VECTORS_H_ 6 #define TEST_CRYPTODEV_AES_TEST_VECTORS_H_ 7 8 /* test vectors */ 9 static const uint8_t plaintext_aes128ctr[] = { 10 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, 11 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, 12 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, 13 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, 14 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, 15 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, 16 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, 17 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 18 }; 19 20 static const uint8_t ciphertext64_aes128ctr[] = { 21 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26, 22 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE, 23 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF, 24 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF, 25 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E, 26 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB, 27 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1, 28 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE 29 }; 30 31 static const uint8_t ciphertext64_aes128ctr_IV_12bytes[] = { 32 0x28, 0x80, 0x28, 0xC7, 0x15, 0x99, 0xC5, 0xA8, 33 0xDD, 0x53, 0xC2, 0x67, 0x1B, 0x86, 0xB8, 0x13, 34 0xAB, 0x25, 0x39, 0x7A, 0xD2, 0x1F, 0x8B, 0x4B, 35 0x94, 0x89, 0x2B, 0x65, 0xCF, 0x89, 0x1E, 0xDD, 36 0xD4, 0x7C, 0xFD, 0x8D, 0x0E, 0xCD, 0x23, 0xA4, 37 0xEB, 0x8C, 0x05, 0x58, 0x45, 0x4A, 0x63, 0x44, 38 0x11, 0x42, 0x07, 0x17, 0xB4, 0xD2, 0xCC, 0x75, 39 0xB7, 0x23, 0x99, 0xA9, 0xC5, 0x89, 0x7F, 0x66 40 }; 41 42 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = { 43 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E 44 }; 45 46 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = { 47 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC 48 }; 49 50 static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = { 51 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 52 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91, 53 0xD2, 0xD1, 0x9F 54 }; 55 56 static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = { 57 0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B, 58 0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D, 59 0x44, 0xD4, 0x73 60 }; 61 62 static const uint8_t plaintext_aes192ctr[] = { 63 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8, 64 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B, 65 0x95, 0x03, 0x74, 0x99, 0x49, 0xE7, 0x62, 0x55, 66 0xDA, 0xEA, 0x13, 0x20, 0x1D, 0xC6, 0xCC, 0xCC, 67 0xD1, 0x70, 0x75, 0x47, 0x02, 0x2F, 0xFB, 0x86, 68 0xBB, 0x6B, 0x23, 0xD2, 0xC9, 0x74, 0xD7, 0x7B, 69 0x08, 0x03, 0x3B, 0x79, 0x39, 0xBB, 0x91, 0x29, 70 0xDA, 0x14, 0x39, 0x8D, 0xFF, 0x81, 0x50, 0x96, 71 }; 72 73 static const uint8_t ciphertext64_aes192ctr[] = { 74 0x4A, 0x6C, 0xC8, 0xCC, 0x96, 0x2A, 0x13, 0x84, 75 0x1C, 0x36, 0x88, 0xE9, 0xE5, 0x94, 0x70, 0xB2, 76 0x14, 0x5B, 0x13, 0x80, 0xEA, 0xD8, 0x8D, 0x37, 77 0xFD, 0x70, 0xA8, 0x83, 0xE8, 0x2B, 0x88, 0x1E, 78 0xBA, 0x94, 0x3F, 0xF6, 0xB3, 0x1F, 0xDE, 0x34, 79 0xF3, 0x5B, 0x80, 0xE9, 0xAB, 0xF5, 0x1C, 0x29, 80 0xB6, 0xD9, 0x76, 0x2B, 0x06, 0xC6, 0x74, 0xF1, 81 0x59, 0x5E, 0x9E, 0xA5, 0x7B, 0x2D, 0xD7, 0xF0 82 }; 83 84 static const uint8_t ciphertext64_aes192ctr_IV_12bytes[] = { 85 0x67, 0x65, 0xa9, 0xee, 0xfd, 0x31, 0x62, 0xfc, 86 0xad, 0xfd, 0xc7, 0x25, 0xb7, 0x25, 0x16, 0xbe, 87 0x25, 0xce, 0xc0, 0x1d, 0xda, 0xa9, 0xd3, 0xda, 88 0x1b, 0x7d, 0x68, 0x6a, 0x6f, 0x06, 0xea, 0x47, 89 0xa0, 0xe0, 0x15, 0xf4, 0xbd, 0x1b, 0x70, 0x34, 90 0xd4, 0x6d, 0x1c, 0x84, 0x17, 0x91, 0x46, 0x0c, 91 0xe8, 0xbc, 0x7a, 0xfb, 0x9f, 0x2a, 0x8f, 0xb4, 92 0xd4, 0xf3, 0x6e, 0x5b, 0x75, 0xa0, 0xce, 0x32 93 }; 94 95 static const uint8_t plaintext_aes256ctr[] = { 96 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, 97 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, 98 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, 99 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, 100 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, 101 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, 102 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, 103 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 104 }; 105 106 static const uint8_t ciphertext64_aes256ctr[] = { 107 0x60, 0x1E, 0xC3, 0x13, 0x77, 0x57, 0x89, 0xA5, 108 0xB7, 0xA7, 0xF5, 0x04, 0xBB, 0xF3, 0xD2, 0x28, 109 0xF4, 0x43, 0xE3, 0xCA, 0x4D, 0x62, 0xB5, 0x9A, 110 0xCA, 0x84, 0xE9, 0x90, 0xCA, 0xCA, 0xF5, 0xC5, 111 0x2B, 0x09, 0x30, 0xDA, 0xA2, 0x3D, 0xE9, 0x4C, 112 0xE8, 0x70, 0x17, 0xBA, 0x2D, 0x84, 0x98, 0x8D, 113 0xDF, 0xC9, 0xC5, 0x8D, 0xB6, 0x7A, 0xAD, 0xA6, 114 0x13, 0xC2, 0xDD, 0x08, 0x45, 0x79, 0x41, 0xA6 115 }; 116 117 static const uint8_t ciphertext64_aes256ctr_IV_12bytes[] = { 118 0x7B, 0x7A, 0x7D, 0x83, 0x85, 0xF8, 0x81, 0xF3, 119 0x32, 0x33, 0xD9, 0xFB, 0x04, 0x73, 0xD4, 0x2F, 120 0x70, 0xDE, 0x90, 0x3E, 0xD0, 0xA9, 0x93, 0x8A, 121 0x91, 0xF3, 0xB5, 0x29, 0x4D, 0x2A, 0x74, 0xD0, 122 0xDC, 0x4E, 0x5C, 0x9B, 0x97, 0x24, 0xD8, 0x02, 123 0xFE, 0xAB, 0x38, 0xE8, 0x73, 0x51, 0x29, 0x7E, 124 0xF1, 0xF9, 0x40, 0x78, 0xB1, 0x04, 0x7A, 0x78, 125 0x61, 0x07, 0x47, 0xE6, 0x8C, 0x0F, 0xA8, 0x76 126 }; 127 128 static const uint8_t plaintext_aes_common[] = { 129 "What a lousy earth! He wondered how many people " 130 "were destitute that same night even in his own " 131 "prosperous country, how many homes were " 132 "shanties, how many husbands were drunk and " 133 "wives socked, and how many children were " 134 "bullied, abused, or abandoned. How many " 135 "families hungered for food they could not " 136 "afford to buy? How many hearts were broken? How " 137 "many suicides would take place that same night, " 138 "how many people would go insane? How many " 139 "cockroaches and landlords would triumph? How " 140 "many winners were losers, successes failures, " 141 "and rich men poor men? How many wise guys were " 142 "stupid? How many happy endings were unhappy " 143 "endings? How many honest men were liars, brave " 144 "men cowards, loyal men traitors, how many " 145 "sainted men were corrupt, how many people in " 146 "positions of trust had sold their souls to " 147 "bodyguards, how many had never had souls? How " 148 "many straight-and-narrow paths were crooked " 149 "paths? How many best families were worst " 150 "families and how many good people were bad " 151 "people? When you added them all up and then " 152 "subtracted, you might be left with only the " 153 "children, and perhaps with Albert Einstein and " 154 "an old violinist or sculptor somewhere." 155 }; 156 157 static const uint8_t ciphertext512_aes128cbc[] = { 158 0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31, 159 0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76, 160 0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E, 161 0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A, 162 0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E, 163 0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08, 164 0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0, 165 0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01, 166 0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57, 167 0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE, 168 0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9, 169 0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9, 170 0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D, 171 0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3, 172 0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46, 173 0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3, 174 0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80, 175 0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92, 176 0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5, 177 0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5, 178 0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2, 179 0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5, 180 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 181 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76, 182 0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4, 183 0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62, 184 0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4, 185 0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4, 186 0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54, 187 0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61, 188 0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91, 189 0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A, 190 0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF, 191 0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F, 192 0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28, 193 0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E, 194 0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7, 195 0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76, 196 0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6, 197 0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03, 198 0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C, 199 0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2, 200 0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6, 201 0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96, 202 0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6, 203 0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA, 204 0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87, 205 0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55, 206 0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B, 207 0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98, 208 0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53, 209 0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A, 210 0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26, 211 0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36, 212 0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36, 213 0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D, 214 0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E, 215 0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E, 216 0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A, 217 0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6, 218 0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4, 219 0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7, 220 0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1, 221 0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C 222 }; 223 224 /* NULL cipher NULL auth 8-byte multiple test vector */ 225 static const struct blockcipher_test_data null_test_data_chain_x8_multiple = { 226 .crypto_algo = RTE_CRYPTO_CIPHER_NULL, 227 .cipher_key = { /* arbitrary data - shouldn't be used */ 228 .data = { 229 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 230 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 231 }, 232 .len = 16 233 }, 234 .iv = { /* arbitrary data - shouldn't be used */ 235 .data = { 236 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 237 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 238 }, 239 .len = 16 240 }, 241 .plaintext = { 242 .data = plaintext_aes_common, 243 .len = 512 244 }, 245 .ciphertext = { 246 .data = plaintext_aes_common, 247 .len = 512 248 }, 249 .auth_algo = RTE_CRYPTO_AUTH_NULL, 250 .auth_key = { /* arbitrary data - shouldn't be used */ 251 .data = { 252 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 253 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 254 0xDE, 0xF4, 0xDE, 0xAD 255 }, 256 .len = 20 257 }, 258 .digest = { 259 .data = { 260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 262 0x00, 0x00, 0x00, 0x00 263 }, 264 .len = 20, 265 .truncated_len = 12 266 } 267 }; 268 269 /* NULL cipher NULL auth 4-byte multiple test vector */ 270 static const struct blockcipher_test_data null_test_data_chain_x4_multiple = { 271 .crypto_algo = RTE_CRYPTO_CIPHER_NULL, 272 .cipher_key = { /* arbitrary data - shouldn't be used */ 273 .data = { 274 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 275 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 276 }, 277 .len = 16 278 }, 279 .iv = { /* arbitrary data - shouldn't be used */ 280 .data = { 281 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 282 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 283 }, 284 .len = 16 285 }, 286 .plaintext = { 287 .data = plaintext_aes128ctr, 288 .len = 20 289 }, 290 .ciphertext = { 291 .data = plaintext_aes128ctr, 292 .len = 20 293 }, 294 .auth_algo = RTE_CRYPTO_AUTH_NULL, 295 .auth_key = { /* arbitrary data - shouldn't be used */ 296 .data = { 297 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 298 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 299 0xDE, 0xF4, 0xDE, 0xAD 300 }, 301 .len = 20 302 }, 303 .digest = { 304 .data = { 305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 307 0x00, 0x00, 0x00, 0x00 308 }, 309 .len = 20, 310 .truncated_len = 12 311 } 312 }; 313 314 /* NULL cipher NULL auth 1-byte multiple test vector */ 315 static const struct blockcipher_test_data null_test_data_chain_x1_multiple = { 316 .crypto_algo = RTE_CRYPTO_CIPHER_NULL, 317 .cipher_key = { /* arbitrary data - shouldn't be used */ 318 .data = { 319 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 320 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 321 }, 322 .len = 16 323 }, 324 .iv = { /* arbitrary data - shouldn't be used */ 325 .data = { 326 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 327 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 328 }, 329 .len = 16 330 }, 331 .plaintext = { 332 .data = plaintext_aes128ctr, 333 .len = 21 334 }, 335 .ciphertext = { 336 .data = plaintext_aes128ctr, 337 .len = 21 338 }, 339 .auth_algo = RTE_CRYPTO_AUTH_NULL, 340 .auth_key = { /* arbitrary data - shouldn't be used */ 341 .data = { 342 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 343 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 344 0xDE, 0xF4, 0xDE, 0xAD 345 }, 346 .len = 20 347 }, 348 .digest = { 349 .data = { 350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 352 0x00, 0x00, 0x00, 0x00 353 }, 354 .len = 20, 355 .truncated_len = 12 356 } 357 }; 358 359 /* AES128-CTR-SHA1 test vector */ 360 static const struct blockcipher_test_data aes_test_data_1 = { 361 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 362 .cipher_key = { 363 .data = { 364 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 365 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 366 }, 367 .len = 16 368 }, 369 .iv = { 370 .data = { 371 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 372 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 373 }, 374 .len = 16 375 }, 376 .plaintext = { 377 .data = plaintext_aes128ctr, 378 .len = 64 379 }, 380 .ciphertext = { 381 .data = ciphertext64_aes128ctr, 382 .len = 64 383 }, 384 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 385 .auth_key = { 386 .data = { 387 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 388 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 389 0xDE, 0xF4, 0xDE, 0xAD 390 }, 391 .len = 20 392 }, 393 .digest = { 394 .data = { 395 0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0, 396 0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2, 397 0x56, 0x20, 0xFB, 0xFE 398 }, 399 .len = 20, 400 .truncated_len = 12 401 } 402 }; 403 404 /** AES-192-CTR XCBC test vector */ 405 static const struct blockcipher_test_data aes_test_data_2 = { 406 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 407 .cipher_key = { 408 .data = { 409 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C, 410 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F, 411 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4 412 }, 413 .len = 24 414 }, 415 .iv = { 416 .data = { 417 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40, 418 0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57 419 }, 420 .len = 16 421 }, 422 .plaintext = { 423 .data = plaintext_aes192ctr, 424 .len = 64 425 }, 426 .ciphertext = { 427 .data = ciphertext64_aes192ctr, 428 .len = 64 429 }, 430 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 431 .auth_key = { 432 .data = { 433 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 434 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 435 }, 436 .len = 16 437 }, 438 .digest = { 439 .data = { 440 0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55, 441 0x36, 0x6B, 0x45, 0x46 442 }, 443 .len = 12, 444 .truncated_len = 12 445 } 446 }; 447 448 /** AES-256-CTR SHA1 test vector */ 449 static const struct blockcipher_test_data aes_test_data_3 = { 450 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 451 .cipher_key = { 452 .data = { 453 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, 454 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, 455 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, 456 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 457 }, 458 .len = 32 459 }, 460 .iv = { 461 .data = { 462 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 463 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 464 }, 465 .len = 16 466 }, 467 .plaintext = { 468 .data = plaintext_aes256ctr, 469 .len = 64 470 }, 471 .ciphertext = { 472 .data = ciphertext64_aes256ctr, 473 .len = 64 474 }, 475 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 476 .auth_key = { 477 .data = { 478 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 479 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 480 0xDE, 0xF4, 0xDE, 0xAD 481 }, 482 .len = 20 483 }, 484 .digest = { 485 .data = { 486 0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64, 487 0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16, 488 0xE7, 0x87, 0xA3, 0xEF 489 }, 490 .len = 20, 491 .truncated_len = 12 492 } 493 }; 494 495 /* AES128-CTR-SHA1 test vector (12-byte IV) */ 496 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = { 497 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 498 .cipher_key = { 499 .data = { 500 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 501 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 502 }, 503 .len = 16 504 }, 505 .iv = { 506 .data = { 507 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 508 0xF8, 0xF9, 0xFA, 0xFB 509 }, 510 .len = 12 511 }, 512 .plaintext = { 513 .data = plaintext_aes128ctr, 514 .len = 64 515 }, 516 .ciphertext = { 517 .data = ciphertext64_aes128ctr_IV_12bytes, 518 .len = 64 519 }, 520 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 521 .auth_key = { 522 .data = { 523 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 524 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 525 0xDE, 0xF4, 0xDE, 0xAD 526 }, 527 .len = 20 528 }, 529 .digest = { 530 .data = { 531 0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3, 532 0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA, 533 0xCF, 0xC8, 0x7F, 0x60 534 }, 535 .len = 20, 536 .truncated_len = 12 537 } 538 }; 539 540 /** AES-192-CTR XCBC test vector (12-byte IV) */ 541 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = { 542 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 543 .cipher_key = { 544 .data = { 545 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C, 546 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F, 547 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4 548 }, 549 .len = 24 550 }, 551 .iv = { 552 .data = { 553 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40, 554 0xB8, 0x7A, 0x4B, 0xED 555 }, 556 .len = 12 557 }, 558 .plaintext = { 559 .data = plaintext_aes192ctr, 560 .len = 64 561 }, 562 .ciphertext = { 563 .data = ciphertext64_aes192ctr_IV_12bytes, 564 .len = 64 565 }, 566 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 567 .auth_key = { 568 .data = { 569 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 570 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 571 }, 572 .len = 16 573 }, 574 .digest = { 575 .data = { 576 0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4, 577 0x4C, 0x4C, 0xAB, 0x13 578 }, 579 .len = 12, 580 .truncated_len = 12 581 } 582 }; 583 584 /** AES-256-CTR SHA1 test vector (12-byte IV) */ 585 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = { 586 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 587 .cipher_key = { 588 .data = { 589 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, 590 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, 591 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, 592 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 593 }, 594 .len = 32 595 }, 596 .iv = { 597 .data = { 598 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 599 0xF8, 0xF9, 0xFA, 0xFB 600 }, 601 .len = 12 602 }, 603 .plaintext = { 604 .data = plaintext_aes256ctr, 605 .len = 64 606 }, 607 .ciphertext = { 608 .data = ciphertext64_aes256ctr_IV_12bytes, 609 .len = 64 610 }, 611 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 612 .auth_key = { 613 .data = { 614 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 615 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 616 0xDE, 0xF4, 0xDE, 0xAD 617 }, 618 .len = 20 619 }, 620 .digest = { 621 .data = { 622 0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49, 623 0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63, 624 0x3F, 0x2D, 0xA3, 0xEF 625 }, 626 .len = 20, 627 .truncated_len = 12 628 } 629 }; 630 /** AES-128-CBC SHA1 test vector */ 631 static const struct blockcipher_test_data aes_test_data_4 = { 632 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 633 .cipher_key = { 634 .data = { 635 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 636 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 637 }, 638 .len = 16 639 }, 640 .iv = { 641 .data = { 642 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 643 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 644 }, 645 .len = 16 646 }, 647 .plaintext = { 648 .data = plaintext_aes_common, 649 .len = 512 650 }, 651 .ciphertext = { 652 .data = ciphertext512_aes128cbc, 653 .len = 512 654 }, 655 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 656 .auth_key = { 657 .data = { 658 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 659 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 660 0xDE, 0xF4, 0xDE, 0xAD 661 }, 662 .len = 20 663 }, 664 .digest = { 665 .data = { 666 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60, 667 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 668 0x18, 0x8C, 0x1D, 0x32 669 }, 670 .len = 20, 671 .truncated_len = 12 672 } 673 }; 674 675 /** AES-128-CBC SHA256 test vector */ 676 static const struct blockcipher_test_data aes_test_data_5 = { 677 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 678 .cipher_key = { 679 .data = { 680 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 681 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 682 }, 683 .len = 16 684 }, 685 .iv = { 686 .data = { 687 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 688 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 689 }, 690 .len = 16 691 }, 692 .plaintext = { 693 .data = plaintext_aes_common, 694 .len = 512 695 }, 696 .ciphertext = { 697 .data = ciphertext512_aes128cbc, 698 .len = 512 699 }, 700 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 701 .auth_key = { 702 .data = { 703 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 704 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 705 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76, 706 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60 707 }, 708 .len = 32 709 }, 710 .digest = { 711 .data = { 712 0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55, 713 0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A, 714 0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4, 715 0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15 716 }, 717 .len = 32, 718 .truncated_len = 16 719 } 720 }; 721 722 /** AES-128-CBC SHA512 test vector */ 723 static const struct blockcipher_test_data aes_test_data_6 = { 724 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 725 .cipher_key = { 726 .data = { 727 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 728 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 729 }, 730 .len = 16 731 }, 732 .iv = { 733 .data = { 734 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 735 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 736 }, 737 .len = 16 738 }, 739 .plaintext = { 740 .data = plaintext_aes_common, 741 .len = 512 742 }, 743 .ciphertext = { 744 .data = ciphertext512_aes128cbc, 745 .len = 512 746 }, 747 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC, 748 .auth_key = { 749 .data = { 750 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 751 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 752 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 753 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 754 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 755 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 756 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 757 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 758 }, 759 .len = 64 760 }, 761 .digest = { 762 .data = { 763 0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8, 764 0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48, 765 0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8, 766 0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70, 767 0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8, 768 0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E, 769 0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D, 770 0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A 771 }, 772 .len = 64, 773 .truncated_len = 32 774 } 775 }; 776 777 /** AES-128-CBC XCBC test vector */ 778 static const struct blockcipher_test_data aes_test_data_7 = { 779 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 780 .cipher_key = { 781 .data = { 782 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 783 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 784 }, 785 .len = 16 786 }, 787 .iv = { 788 .data = { 789 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 790 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 791 }, 792 .len = 16 793 }, 794 .plaintext = { 795 .data = plaintext_aes_common, 796 .len = 512 797 }, 798 .ciphertext = { 799 .data = ciphertext512_aes128cbc, 800 .len = 512 801 }, 802 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 803 .auth_key = { 804 .data = { 805 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 806 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 807 }, 808 .len = 16 809 }, 810 .digest = { 811 .data = { 812 0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89, 813 0x77, 0x1D, 0x8B, 0x75 814 }, 815 .len = 12, 816 .truncated_len = 12 817 } 818 }; 819 820 /** AES-128-CBC SHA224 test vector */ 821 static const struct blockcipher_test_data aes_test_data_8 = { 822 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 823 .cipher_key = { 824 .data = { 825 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 826 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 827 }, 828 .len = 16 829 }, 830 .iv = { 831 .data = { 832 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 833 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 834 }, 835 .len = 16 836 }, 837 .plaintext = { 838 .data = plaintext_aes_common, 839 .len = 512 840 }, 841 .ciphertext = { 842 .data = ciphertext512_aes128cbc, 843 .len = 512 844 }, 845 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC, 846 .auth_key = { 847 .data = { 848 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 849 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 850 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 851 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 852 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 853 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 854 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 855 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 856 }, 857 .len = 64 858 }, 859 .digest = { 860 .data = { 861 0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98, 862 0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34, 863 0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F, 864 0x63, 0x7C, 0xDD, 0xB7 865 }, 866 .len = 28, 867 .truncated_len = 14 868 } 869 }; 870 871 /** AES-128-CBC SHA384 test vector */ 872 static const struct blockcipher_test_data aes_test_data_9 = { 873 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 874 .cipher_key = { 875 .data = { 876 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 877 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 878 }, 879 .len = 16 880 }, 881 .iv = { 882 .data = { 883 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 884 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 885 }, 886 .len = 16 887 }, 888 .plaintext = { 889 .data = plaintext_aes_common, 890 .len = 512 891 }, 892 .ciphertext = { 893 .data = ciphertext512_aes128cbc, 894 .len = 512 895 }, 896 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC, 897 .auth_key = { 898 .data = { 899 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 900 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 901 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 902 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 903 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 904 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 905 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 906 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60, 907 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 908 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 909 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 910 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 911 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 912 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 913 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 914 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 915 }, 916 .len = 128 917 }, 918 .digest = { 919 .data = { 920 0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72, 921 0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C, 922 0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D, 923 0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D, 924 0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F, 925 0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B 926 }, 927 .len = 48, 928 .truncated_len = 24 929 } 930 }; 931 932 static const uint8_t ciphertext512_aes192cbc[] = { 933 0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C, 934 0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B, 935 0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8, 936 0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C, 937 0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03, 938 0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57, 939 0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89, 940 0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F, 941 0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64, 942 0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24, 943 0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E, 944 0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B, 945 0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3, 946 0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF, 947 0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C, 948 0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B, 949 0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3, 950 0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA, 951 0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B, 952 0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7, 953 0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB, 954 0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88, 955 0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86, 956 0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25, 957 0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7, 958 0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91, 959 0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14, 960 0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B, 961 0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B, 962 0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30, 963 0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4, 964 0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96, 965 0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD, 966 0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13, 967 0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6, 968 0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2, 969 0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F, 970 0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07, 971 0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC, 972 0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D, 973 0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C, 974 0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45, 975 0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA, 976 0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0, 977 0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97, 978 0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7, 979 0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D, 980 0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58, 981 0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4, 982 0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21, 983 0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6, 984 0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36, 985 0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64, 986 0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3, 987 0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87, 988 0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB, 989 0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47, 990 0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E, 991 0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29, 992 0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37, 993 0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43, 994 0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2, 995 0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43, 996 0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC 997 }; 998 999 /** AES-192-CBC test vector */ 1000 static const struct blockcipher_test_data aes_test_data_10 = { 1001 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1002 .cipher_key = { 1003 .data = { 1004 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1005 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 1006 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 1007 }, 1008 .len = 24 1009 }, 1010 .iv = { 1011 .data = { 1012 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1013 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1014 }, 1015 .len = 16 1016 }, 1017 .plaintext = { 1018 .data = plaintext_aes_common, 1019 .len = 512 1020 }, 1021 .ciphertext = { 1022 .data = ciphertext512_aes192cbc, 1023 .len = 512 1024 } 1025 }; 1026 1027 static const uint8_t ciphertext512_aes256cbc[] = { 1028 0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04, 1029 0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7, 1030 0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06, 1031 0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98, 1032 0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C, 1033 0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F, 1034 0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15, 1035 0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E, 1036 0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11, 1037 0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E, 1038 0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA, 1039 0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54, 1040 0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95, 1041 0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9, 1042 0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08, 1043 0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26, 1044 0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7, 1045 0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91, 1046 0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F, 1047 0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02, 1048 0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00, 1049 0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B, 1050 0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84, 1051 0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42, 1052 0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E, 1053 0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1, 1054 0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F, 1055 0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62, 1056 0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7, 1057 0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55, 1058 0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC, 1059 0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83, 1060 0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17, 1061 0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5, 1062 0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69, 1063 0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1, 1064 0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40, 1065 0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5, 1066 0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8, 1067 0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40, 1068 0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE, 1069 0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D, 1070 0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C, 1071 0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1, 1072 0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9, 1073 0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE, 1074 0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B, 1075 0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C, 1076 0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E, 1077 0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE, 1078 0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66, 1079 0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE, 1080 0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3, 1081 0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4, 1082 0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23, 1083 0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3, 1084 0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76, 1085 0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05, 1086 0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A, 1087 0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE, 1088 0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58, 1089 0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95, 1090 0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3, 1091 0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C 1092 }; 1093 1094 /** AES-256-CBC test vector */ 1095 static const struct blockcipher_test_data aes_test_data_11 = { 1096 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1097 .cipher_key = { 1098 .data = { 1099 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1100 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 1101 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0, 1102 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D 1103 }, 1104 .len = 32 1105 }, 1106 .iv = { 1107 .data = { 1108 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1109 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1110 }, 1111 .len = 16 1112 }, 1113 .plaintext = { 1114 .data = plaintext_aes_common, 1115 .len = 512 1116 }, 1117 .ciphertext = { 1118 .data = ciphertext512_aes256cbc, 1119 .len = 512 1120 } 1121 }; 1122 1123 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */ 1124 static const struct blockcipher_test_data aes_test_data_12 = { 1125 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1126 .cipher_key = { 1127 .data = { 1128 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1129 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1130 }, 1131 .len = 16 1132 }, 1133 .iv = { 1134 .data = { 1135 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1136 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1137 }, 1138 .len = 16 1139 }, 1140 .plaintext = { 1141 .data = plaintext_aes_common, 1142 .len = 160 1143 }, 1144 .ciphertext = { 1145 .data = ciphertext512_aes128cbc, 1146 .len = 160 1147 }, 1148 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 1149 .auth_key = { 1150 .data = { 1151 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 1152 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 1153 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76, 1154 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60 1155 }, 1156 .len = 32 1157 }, 1158 .digest = { 1159 .data = { 1160 0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5, 1161 0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04, 1162 0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62, 1163 0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B 1164 }, 1165 .len = 32, 1166 .truncated_len = 16 1167 } 1168 }; 1169 1170 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */ 1171 static const struct blockcipher_test_data aes_test_data_13 = { 1172 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1173 .cipher_key = { 1174 .data = { 1175 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1176 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1177 }, 1178 .len = 16 1179 }, 1180 .iv = { 1181 .data = { 1182 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1183 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1184 }, 1185 .len = 16 1186 }, 1187 .plaintext = { 1188 .data = plaintext_aes_common, 1189 .len = 160 1190 }, 1191 .ciphertext = { 1192 .data = ciphertext512_aes128cbc, 1193 .len = 160 1194 }, 1195 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 1196 .auth_key = { 1197 .data = { 1198 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 1199 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 1200 0xDE, 0xF4, 0xDE, 0xAD 1201 }, 1202 .len = 20 1203 }, 1204 .digest = { 1205 .data = { 1206 0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0, 1207 0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48, 1208 0x22, 0x43, 0x30, 0xA7 1209 }, 1210 .len = 20, 1211 .truncated_len = 12 1212 } 1213 }; 1214 1215 /** XTS-AES-128 test vector (2 keys * 128 bit) */ 1216 static const uint8_t plaintext_aes128xts_16bytes[] = { 1217 0xEB, 0xAB, 0xCE, 0x95, 0xB1, 0x4D, 0x3C, 0x8D, 1218 0x6F, 0xB3, 0x50, 0x39, 0x07, 0x90, 0x31, 0x1C 1219 }; 1220 static const uint8_t ciphertext_aes128xts_16bytes[] = { 1221 0x77, 0x8A, 0xE8, 0xB4, 0x3C, 0xB9, 0x8D, 0x5A, 1222 0x82, 0x50, 0x81, 0xD5, 0xBE, 0x47, 0x1C, 0x63 1223 }; 1224 static const struct 1225 blockcipher_test_data aes_test_data_xts_key_32_pt_16 = { 1226 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS, 1227 .cipher_key = { 1228 .data = { 1229 0xA1, 0xB9, 0x0C, 0xBA, 0x3F, 0x06, 0xAC, 0x35, 1230 0x3B, 0x2C, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62, 1231 0x09, 0x09, 0x23, 0x02, 0x6E, 0x91, 0x77, 0x18, 1232 0x15, 0xF2, 0x9D, 0xAB, 0x01, 0x93, 0x2F, 0x2F 1233 }, 1234 .len = 32 1235 }, 1236 .iv = { 1237 .data = { 1238 0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6, 1239 0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5 1240 }, 1241 .len = 16 1242 }, 1243 .plaintext = { 1244 .data = plaintext_aes128xts_16bytes, 1245 .len = 16 1246 }, 1247 .ciphertext = { 1248 .data = ciphertext_aes128xts_16bytes, 1249 .len = 16 1250 } 1251 }; 1252 static const uint8_t plaintext_aes128xts_32bytes[] = { 1253 0xB0, 0x4D, 0x84, 0xDA, 0x85, 0x6B, 0x9A, 0x59, 1254 0xCE, 0x2D, 0x62, 0x67, 0x46, 0xF6, 0x89, 0xA8, 1255 0x05, 0x1D, 0xAC, 0xD6, 0xBC, 0xE3, 0xB9, 0x90, 1256 0xAA, 0x90, 0x1E, 0x40, 0x30, 0x64, 0x88, 0x79 1257 }; 1258 static const uint8_t ciphertext_aes128xts_32bytes[] = { 1259 0xF9, 0x41, 0x03, 0x9E, 0xBA, 0xB8, 0xCA, 0xC3, 1260 0x9D, 0x59, 0x24, 0x7C, 0xBB, 0xCB, 0x4D, 0x81, 1261 0x6C, 0x72, 0x6D, 0xAE, 0xD1, 0x15, 0x77, 0x69, 1262 0x2C, 0x55, 0xE4, 0xAC, 0x6D, 0x3E, 0x68, 0x20 1263 }; 1264 static const struct 1265 blockcipher_test_data aes_test_data_xts_key_32_pt_32 = { 1266 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS, 1267 .cipher_key = { 1268 .data = { 1269 0x78, 0x3A, 0x83, 0xEC, 0x52, 0xA2, 0x74, 0x05, 1270 0xDF, 0xF9, 0xDE, 0x4C, 0x57, 0xF9, 0xC9, 0x79, 1271 0xB3, 0x60, 0xB6, 0xA5, 0xDF, 0x88, 0xD6, 0x7E, 1272 0xC1, 0xA0, 0x52, 0xE6, 0xF5, 0x82, 0xA7, 0x17 1273 }, 1274 .len = 32 1275 }, 1276 .iv = { 1277 .data = { 1278 0x88, 0x6E, 0x97, 0x5B, 0x29, 0xBD, 0xF6, 0xF0, 1279 0xC0, 0x1B, 0xB4, 0x7F, 0x61, 0xF6, 0xF0, 0xF5 1280 }, 1281 .len = 16 1282 }, 1283 .plaintext = { 1284 .data = plaintext_aes128xts_32bytes, 1285 .len = 32 1286 }, 1287 .ciphertext = { 1288 .data = ciphertext_aes128xts_32bytes, 1289 .len = 32 1290 } 1291 }; 1292 1293 /** XTS-AES-256 test vector (2 keys * 256 bit) */ 1294 /* Encryption */ 1295 static const uint8_t plaintext_aes256xts_32bytes[] = { 1296 0x2E, 0xED, 0xEA, 0x52, 0xCD, 0x82, 0x15, 0xE1, 1297 0xAC, 0xC6, 0x47, 0xE8, 0x10, 0xBB, 0xC3, 0x64, 1298 0x2E, 0x87, 0x28, 0x7F, 0x8D, 0x2E, 0x57, 0xE3, 1299 0x6C, 0x0A, 0x24, 0xFB, 0xC1, 0x2A, 0x20, 0x2E 1300 }; 1301 static const uint8_t ciphertext_aes256xts_32bytes[] = { 1302 0xCB, 0xAA, 0xD0, 0xE2, 0xF6, 0xCE, 0xA3, 0xF5, 1303 0x0B, 0x37, 0xF9, 0x34, 0xD4, 0x6A, 0x9B, 0x13, 1304 0x0B, 0x9D, 0x54, 0xF0, 0x7E, 0x34, 0xF3, 0x6A, 1305 0xF7, 0x93, 0xE8, 0x6F, 0x73, 0xC6, 0xD7, 0xDB 1306 }; 1307 static const struct 1308 blockcipher_test_data aes_test_data_xts_key_64_pt_32 = { 1309 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS, 1310 .cipher_key = { 1311 .data = { 1312 0x1E, 0xA6, 0x61, 0xC5, 0x8D, 0x94, 0x3A, 0x0E, 1313 0x48, 0x01, 0xE4, 0x2F, 0x4B, 0x09, 0x47, 0x14, 1314 0x9E, 0x7F, 0x9F, 0x8E, 0x3E, 0x68, 0xD0, 0xC7, 1315 0x50, 0x52, 0x10, 0xBD, 0x31, 0x1A, 0x0E, 0x7C, 1316 0xD6, 0xE1, 0x3F, 0xFD, 0xF2, 0x41, 0x8D, 0x8D, 1317 0x19, 0x11, 0xC0, 0x04, 0xCD, 0xA5, 0x8D, 0xA3, 1318 0xD6, 0x19, 0xB7, 0xE2, 0xB9, 0x14, 0x1E, 0x58, 1319 0x31, 0x8E, 0xEA, 0x39, 0x2C, 0xF4, 0x1B, 0x08 1320 }, 1321 .len = 64 1322 }, 1323 .iv = { 1324 .data = { 1325 0xAD, 0xF8, 0xD9, 0x26, 0x27, 0x46, 0x4A, 0xD2, 1326 0xF0, 0x42, 0x8E, 0x84, 0xA9, 0xF8, 0x75, 0x64 1327 }, 1328 .len = 16 1329 }, 1330 .plaintext = { 1331 .data = plaintext_aes256xts_32bytes, 1332 .len = 32 1333 }, 1334 .ciphertext = { 1335 .data = ciphertext_aes256xts_32bytes, 1336 .len = 32 1337 } 1338 }; 1339 static const uint8_t plaintext_aes256xts_48bytes[] = { 1340 0xBB, 0xB2, 0x34, 0xDB, 0x01, 0xBE, 0x79, 0xD3, 1341 0xDC, 0x7D, 0xCF, 0x49, 0xBC, 0x53, 0xB8, 0xEF, 1342 0xC6, 0x2F, 0xE7, 0x17, 0x94, 0x39, 0x06, 0x1D, 1343 0x73, 0xA6, 0xB2, 0x0E, 0xDB, 0x9B, 0x7D, 0xA0, 1344 0x45, 0x0B, 0x19, 0xF0, 0x20, 0x82, 0x02, 0x09, 1345 0xAF, 0xE0, 0x81, 0x12, 0xAE, 0x4A, 0xFD, 0xD3 1346 }; 1347 static const uint8_t ciphertext_aes256xts_48bytes[] = { 1348 0xCB, 0xF6, 0x88, 0x48, 0xC4, 0x20, 0x49, 0xEF, 1349 0xB1, 0x46, 0xE2, 0xD1, 0xE4, 0x11, 0x5F, 0x62, 1350 0xE4, 0xFA, 0xA4, 0xEF, 0xFF, 0x19, 0x8F, 0x1A, 1351 0x0A, 0xA0, 0xC9, 0x8B, 0xA0, 0x2C, 0xC4, 0x4D, 1352 0xA3, 0x76, 0xD7, 0x62, 0xD6, 0x15, 0x1F, 0x23, 1353 0x45, 0x87, 0xBF, 0x12, 0x8B, 0x6A, 0x7F, 0xFA 1354 }; 1355 static const struct 1356 blockcipher_test_data aes_test_data_xts_key_64_pt_48 = { 1357 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS, 1358 .cipher_key = { 1359 .data = { 1360 0x7F, 0xB0, 0x92, 0x2F, 0xCE, 0x09, 0xED, 0xDD, 1361 0x36, 0x65, 0xA1, 0x1F, 0x52, 0x35, 0xD5, 0x1E, 1362 0xF7, 0x72, 0x06, 0xA7, 0xDE, 0x45, 0x47, 0x75, 1363 0xB6, 0x9D, 0xCC, 0x54, 0x59, 0xAC, 0xDB, 0x24, 1364 0xCC, 0xF0, 0x5C, 0x41, 0x5A, 0xF5, 0xAB, 0x8A, 1365 0x06, 0x62, 0x3D, 0x19, 0x8D, 0x5B, 0x91, 0x85, 1366 0x95, 0xA9, 0xDC, 0xAA, 0xF5, 0x39, 0x2E, 0xE7, 1367 0x17, 0xC1, 0x04, 0x7F, 0x2F, 0x08, 0xF6, 0x2B 1368 }, 1369 .len = 64 1370 }, 1371 .iv = { 1372 .data = { 1373 0x8E, 0xA3, 0x63, 0x8B, 0x9D, 0x40, 0x62, 0xF1, 1374 0x69, 0x19, 0x6F, 0xF4, 0x55, 0x5A, 0xD0, 0xAF 1375 }, 1376 .len = 16 1377 }, 1378 .plaintext = { 1379 .data = plaintext_aes256xts_48bytes, 1380 .len = 48 1381 }, 1382 .ciphertext = { 1383 .data = ciphertext_aes256xts_48bytes, 1384 .len = 48 1385 } 1386 }; 1387 1388 /* AES-DOCSIS-BPI test vectors */ 1389 1390 /* Multiple of AES block size */ 1391 static const struct blockcipher_test_data aes_test_data_docsis_1 = { 1392 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1393 .cipher_key = { 1394 .data = { 1395 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1396 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1397 }, 1398 .len = 16 1399 }, 1400 .iv = { 1401 .data = { 1402 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1403 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1404 }, 1405 .len = 16 1406 }, 1407 .plaintext = { 1408 .data = plaintext_aes_common, 1409 .len = 512 1410 }, 1411 .ciphertext = { 1412 .data = ciphertext512_aes128cbc, 1413 .len = 512 1414 } 1415 }; 1416 1417 /* Less than AES block size */ 1418 static const struct blockcipher_test_data aes_test_data_docsis_2 = { 1419 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1420 .cipher_key = { 1421 .data = { 1422 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, 1423 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 1424 }, 1425 .len = 16 1426 }, 1427 .iv = { 1428 .data = { 1429 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, 1430 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 1431 }, 1432 .len = 16 1433 }, 1434 .plaintext = { 1435 .data = plaintext_aes_docsis_bpi_cfb, 1436 .len = 7 1437 }, 1438 .ciphertext = { 1439 .data = ciphertext_aes_docsis_bpi_cfb, 1440 .len = 7 1441 } 1442 }; 1443 1444 /* Not multiple of AES block size */ 1445 static const struct blockcipher_test_data aes_test_data_docsis_3 = { 1446 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1447 .cipher_key = { 1448 .data = { 1449 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, 1450 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 1451 }, 1452 .len = 16 1453 }, 1454 .iv = { 1455 .data = { 1456 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, 1457 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 1458 }, 1459 .len = 16 1460 }, 1461 .plaintext = { 1462 .data = plaintext_aes_docsis_bpi_cbc_cfb, 1463 .len = 19 1464 }, 1465 .ciphertext = { 1466 .data = ciphertext_aes_docsis_bpi_cbc_cfb, 1467 .len = 19 1468 } 1469 }; 1470 1471 static const uint8_t 1472 cipher_aescbc_offset_16[] = { 1473 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C, 1474 0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72, 1475 0x68, 0x2A, 0x6A, 0x82, 0xE0, 0x73, 0xC7, 0x51, 1476 0x81, 0xF4, 0x47, 0x27, 0x1A, 0xEF, 0x76, 0x15, 1477 0x1C, 0xE1, 0x38, 0x5F, 0xE1, 0x81, 0x77, 0xC7, 1478 0x8B, 0xF0, 0x69, 0xC3, 0x3C, 0x45, 0x1C, 0x0A, 1479 0xA3, 0x93, 0xBF, 0x60, 0x57, 0x88, 0xD2, 0xFF, 1480 0xE1, 0x8F, 0xC0, 0x64, 0x2C, 0x42, 0xC5, 0x22, 1481 0xE3, 0x5F, 0x71, 0x1F, 0xF7, 0x62, 0xA2, 0x7E, 1482 0x0D, 0x42, 0xD9, 0xE7, 0xF3, 0x10, 0xB0, 0xEE, 1483 }; 1484 1485 /** AES-128-CBC SHA1 OOP test vector for swapping src/dst */ 1486 static const struct blockcipher_test_data aes_test_data_14 = { 1487 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1488 .cipher_key = { 1489 .data = { 1490 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1491 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1492 }, 1493 .len = 16 1494 }, 1495 .iv = { 1496 .data = { 1497 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1498 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1499 }, 1500 .len = 16 1501 }, 1502 .plaintext = { 1503 .data = plaintext_aes_common, 1504 .len = 80 1505 }, 1506 .cipher_offset = 16, 1507 .auth_offset = 0, 1508 .ciphertext = { 1509 .data = cipher_aescbc_offset_16, 1510 .len = 80 1511 }, 1512 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 1513 .auth_key = { 1514 .data = { 1515 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 1516 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 1517 0xDE, 0xF4, 0xDE, 0xAD 1518 }, 1519 .len = 20 1520 }, 1521 .digest = { 1522 .data = { 1523 0xCC, 0x15, 0x83, 0xF7, 0x23, 0x87, 0x96, 0xA7, 1524 0x29, 0x34, 0x32, 0xE4, 0x4C, 0x06, 0xE8, 0xEB, 1525 0x70, 0x72, 0x4B, 0xAD 1526 }, 1527 .len = 20, 1528 .truncated_len = 12 1529 } 1530 }; 1531 1532 static const struct blockcipher_test_case aes_chain_test_cases[] = { 1533 { 1534 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1535 "Verify OOP Offset", 1536 .test_data = &aes_test_data_14, 1537 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1538 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1539 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1540 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1541 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1542 }, 1543 { 1544 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest", 1545 .test_data = &aes_test_data_1, 1546 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1547 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1548 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1549 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1550 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1551 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1552 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1553 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1554 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1555 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1556 }, 1557 { 1558 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest " 1559 "Verify", 1560 .test_data = &aes_test_data_1, 1561 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1562 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1563 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1564 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1565 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1566 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1567 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1568 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1569 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1570 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1571 }, 1572 { 1573 .test_descr = "AES-192-CTR XCBC Encryption Digest", 1574 .test_data = &aes_test_data_2, 1575 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1576 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1577 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1578 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1579 }, 1580 { 1581 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify", 1582 .test_data = &aes_test_data_2, 1583 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1584 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1585 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1586 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1587 }, 1588 { 1589 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify " 1590 "Scatter Gather", 1591 .test_data = &aes_test_data_2, 1592 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1593 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1594 BLOCKCIPHER_TEST_FEATURE_OOP, 1595 .pmd_mask = 1596 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1597 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1598 }, 1599 { 1600 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest", 1601 .test_data = &aes_test_data_3, 1602 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1603 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1604 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1605 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1606 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1607 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1608 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1609 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1610 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1611 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1612 }, 1613 { 1614 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest " 1615 "Verify", 1616 .test_data = &aes_test_data_3, 1617 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1618 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1619 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1620 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1621 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1622 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1623 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1624 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1625 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1626 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1627 }, 1628 { 1629 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest", 1630 .test_data = &aes_test_data_4, 1631 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1632 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1633 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1634 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1635 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1636 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1637 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1638 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1639 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1640 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1641 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1642 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1643 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1644 }, 1645 { 1646 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1647 "(short buffers)", 1648 .test_data = &aes_test_data_13, 1649 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1650 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1651 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1652 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1653 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1654 }, 1655 { 1656 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1657 "Scatter Gather", 1658 .test_data = &aes_test_data_4, 1659 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1660 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1661 BLOCKCIPHER_TEST_FEATURE_OOP, 1662 .pmd_mask = 1663 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1664 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1665 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1666 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1667 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1668 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1669 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1670 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1671 }, 1672 { 1673 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1674 "Verify", 1675 .test_data = &aes_test_data_4, 1676 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1677 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1678 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1679 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1680 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1681 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1682 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1683 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1684 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1685 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1686 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1687 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1688 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1689 }, 1690 { 1691 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1692 "Verify Scatter Gather", 1693 .test_data = &aes_test_data_4, 1694 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1695 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 1696 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1697 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1698 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1699 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1700 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1701 }, 1702 { 1703 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1704 "Verify (short buffers)", 1705 .test_data = &aes_test_data_13, 1706 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1707 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1708 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1709 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1710 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1711 }, 1712 { 1713 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest", 1714 .test_data = &aes_test_data_5, 1715 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1716 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1717 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1718 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1719 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1720 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1721 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1722 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1723 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1724 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1725 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1726 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1727 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1728 }, 1729 { 1730 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest " 1731 "(short buffers)", 1732 .test_data = &aes_test_data_12, 1733 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1734 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1735 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1736 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1737 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1738 }, 1739 { 1740 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1741 "Verify", 1742 .test_data = &aes_test_data_5, 1743 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1744 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1745 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1746 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1747 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1748 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1749 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1750 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1751 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1752 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1753 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1754 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1755 }, 1756 { 1757 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1758 "Verify (short buffers)", 1759 .test_data = &aes_test_data_12, 1760 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1761 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1762 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1763 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1764 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1765 }, 1766 { 1767 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest", 1768 .test_data = &aes_test_data_6, 1769 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1770 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1771 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1772 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1773 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1774 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1775 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1776 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1777 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1778 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1779 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1780 }, 1781 { 1782 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest " 1783 "Sessionless", 1784 .test_data = &aes_test_data_6, 1785 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1786 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1787 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1788 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1789 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1790 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1791 }, 1792 { 1793 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest " 1794 "Scatter Gather Sessionless", 1795 .test_data = &aes_test_data_6, 1796 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1797 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS | 1798 BLOCKCIPHER_TEST_FEATURE_SG | 1799 BLOCKCIPHER_TEST_FEATURE_OOP, 1800 .pmd_mask = 1801 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1802 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1803 }, 1804 { 1805 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1806 "Verify", 1807 .test_data = &aes_test_data_6, 1808 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1809 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1810 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1811 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1812 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1813 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1814 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1815 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1816 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1817 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1818 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1819 }, 1820 { 1821 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1822 "Verify Scatter Gather", 1823 .test_data = &aes_test_data_6, 1824 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1825 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1826 BLOCKCIPHER_TEST_FEATURE_OOP, 1827 .pmd_mask = 1828 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1829 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1830 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1831 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1832 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1833 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1834 }, 1835 { 1836 .test_descr = "AES-128-CBC XCBC Encryption Digest", 1837 .test_data = &aes_test_data_7, 1838 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1839 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1840 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1841 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1842 }, 1843 { 1844 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify", 1845 .test_data = &aes_test_data_7, 1846 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1847 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1848 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1849 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1850 }, 1851 { 1852 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1853 "OOP", 1854 .test_data = &aes_test_data_4, 1855 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1856 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1857 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1858 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1859 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1860 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1861 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1862 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1863 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1864 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1865 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1866 }, 1867 { 1868 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1869 "OOP Offset", 1870 .test_data = &aes_test_data_14, 1871 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1872 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1873 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1874 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1875 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1876 }, 1877 { 1878 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1879 "Verify OOP", 1880 .test_data = &aes_test_data_4, 1881 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1882 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1883 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1884 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1885 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1886 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1887 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1888 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1889 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1890 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1891 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1892 }, 1893 { 1894 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest", 1895 .test_data = &aes_test_data_8, 1896 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1897 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1898 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1899 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1900 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1901 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1902 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1903 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1904 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1905 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1906 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1907 }, 1908 { 1909 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest " 1910 "Verify", 1911 .test_data = &aes_test_data_8, 1912 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1913 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1914 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1915 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1916 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1917 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1918 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1919 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1920 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1921 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1922 BLOCKCIPHER_TEST_TARGET_PMD_NITROX 1923 }, 1924 { 1925 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest", 1926 .test_data = &aes_test_data_9, 1927 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1928 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1929 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1930 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1931 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1932 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1933 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1934 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1935 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1936 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1937 }, 1938 { 1939 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest " 1940 "Verify", 1941 .test_data = &aes_test_data_9, 1942 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1943 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1944 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1945 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1946 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1947 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1948 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1949 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1950 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1951 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1952 }, 1953 { 1954 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1955 "Sessionless", 1956 .test_data = &aes_test_data_4, 1957 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1958 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1959 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1960 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1961 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1962 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1963 }, 1964 { 1965 .test_descr = 1966 "AES-128-CBC HMAC-SHA1 Decryption Digest " 1967 "Verify Sessionless", 1968 .test_data = &aes_test_data_4, 1969 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1970 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1971 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1972 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1973 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1974 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1975 }, 1976 { 1977 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte", 1978 .test_data = &null_test_data_chain_x8_multiple, 1979 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1980 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 1981 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1982 }, 1983 { 1984 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte", 1985 .test_data = &null_test_data_chain_x8_multiple, 1986 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1987 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 1988 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1989 }, 1990 { 1991 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP", 1992 .test_data = &null_test_data_chain_x8_multiple, 1993 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1994 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1995 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1996 }, 1997 { 1998 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP", 1999 .test_data = &null_test_data_chain_x8_multiple, 2000 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2001 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2002 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2003 }, 2004 { 2005 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte", 2006 .test_data = &null_test_data_chain_x4_multiple, 2007 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2008 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2009 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2010 }, 2011 { 2012 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte", 2013 .test_data = &null_test_data_chain_x4_multiple, 2014 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2015 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2016 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2017 }, 2018 { 2019 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP", 2020 .test_data = &null_test_data_chain_x4_multiple, 2021 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2022 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2023 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2024 }, 2025 { 2026 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP", 2027 .test_data = &null_test_data_chain_x4_multiple, 2028 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2029 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2030 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2031 }, 2032 { 2033 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte", 2034 .test_data = &null_test_data_chain_x1_multiple, 2035 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2036 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2037 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2038 }, 2039 { 2040 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte", 2041 .test_data = &null_test_data_chain_x1_multiple, 2042 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2043 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2044 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2045 }, 2046 { 2047 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP", 2048 .test_data = &null_test_data_chain_x1_multiple, 2049 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2050 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2051 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2052 }, 2053 { 2054 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP", 2055 .test_data = &null_test_data_chain_x1_multiple, 2056 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2057 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2058 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2059 }, 2060 }; 2061 2062 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = { 2063 { 2064 .test_descr = "AES-128-CBC Encryption", 2065 .test_data = &aes_test_data_4, 2066 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2067 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2068 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2069 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2070 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2071 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2072 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2073 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2074 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2075 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2076 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2077 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2078 }, 2079 { 2080 .test_descr = "AES-128-CBC Decryption", 2081 .test_data = &aes_test_data_4, 2082 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2083 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2084 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2085 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2086 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2087 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2088 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2089 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2090 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2091 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2092 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2093 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2094 }, 2095 { 2096 .test_descr = "AES-192-CBC Encryption", 2097 .test_data = &aes_test_data_10, 2098 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2099 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2100 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2101 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2102 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2103 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2104 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2105 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2106 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2107 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2108 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2109 }, 2110 { 2111 .test_descr = "AES-192-CBC Encryption Scater gather", 2112 .test_data = &aes_test_data_10, 2113 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2114 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 2115 BLOCKCIPHER_TEST_FEATURE_OOP, 2116 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2117 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2118 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2119 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2120 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2121 }, 2122 { 2123 .test_descr = "AES-192-CBC Decryption", 2124 .test_data = &aes_test_data_10, 2125 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2126 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2127 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2128 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2129 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2130 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2131 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2132 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2133 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2134 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2135 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2136 }, 2137 { 2138 .test_descr = "AES-192-CBC Decryption Scatter Gather", 2139 .test_data = &aes_test_data_10, 2140 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2141 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 2142 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2143 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2144 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2145 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2146 }, 2147 { 2148 .test_descr = "AES-256-CBC Encryption", 2149 .test_data = &aes_test_data_11, 2150 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2151 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2152 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2153 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2154 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2155 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2156 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2157 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2158 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2159 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2160 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2161 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2162 }, 2163 { 2164 .test_descr = "AES-256-CBC Decryption", 2165 .test_data = &aes_test_data_11, 2166 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2167 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2168 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2169 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2170 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2171 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2172 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2173 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2174 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2175 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2176 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2177 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2178 }, 2179 { 2180 .test_descr = "AES-256-CBC OOP Encryption", 2181 .test_data = &aes_test_data_11, 2182 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2183 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2184 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2185 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2186 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2187 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2188 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2189 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2190 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2191 BLOCKCIPHER_TEST_TARGET_PMD_MB 2192 }, 2193 { 2194 .test_descr = "AES-256-CBC OOP Decryption", 2195 .test_data = &aes_test_data_11, 2196 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2197 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2198 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2199 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2200 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2201 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2202 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2203 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2204 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2205 BLOCKCIPHER_TEST_TARGET_PMD_MB 2206 }, 2207 { 2208 .test_descr = "AES-128-CTR Encryption", 2209 .test_data = &aes_test_data_1, 2210 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2211 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2212 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2213 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2214 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2215 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2216 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2217 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2218 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2219 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2220 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2221 }, 2222 { 2223 .test_descr = "AES-128-CTR Decryption", 2224 .test_data = &aes_test_data_1, 2225 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2226 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2227 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2228 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2229 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2230 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2231 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2232 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2233 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2234 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2235 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2236 }, 2237 { 2238 .test_descr = "AES-192-CTR Encryption", 2239 .test_data = &aes_test_data_2, 2240 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2241 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2242 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2243 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2244 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2245 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2246 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2247 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2248 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2249 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2250 }, 2251 { 2252 .test_descr = "AES-192-CTR Decryption", 2253 .test_data = &aes_test_data_2, 2254 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2255 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2256 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2257 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2258 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2259 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2260 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2261 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2262 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2263 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2264 }, 2265 { 2266 .test_descr = "AES-256-CTR Encryption", 2267 .test_data = &aes_test_data_3, 2268 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2269 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2270 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2271 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2272 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2273 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2274 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2275 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2276 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2277 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2278 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2279 }, 2280 { 2281 .test_descr = "AES-256-CTR Decryption", 2282 .test_data = &aes_test_data_3, 2283 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2284 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2285 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2286 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2287 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2288 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2289 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2290 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2291 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2292 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2293 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2294 }, 2295 { 2296 .test_descr = "AES-128-CTR Encryption (12-byte IV)", 2297 .test_data = &aes_test_data_1_IV_12_bytes, 2298 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2299 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2300 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2301 }, 2302 { 2303 .test_descr = "AES-192-CTR Encryption (12-byte IV)", 2304 .test_data = &aes_test_data_2_IV_12_bytes, 2305 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2306 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2307 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2308 }, 2309 { 2310 .test_descr = "AES-256-CTR Encryption (12-byte IV)", 2311 .test_data = &aes_test_data_3_IV_12_bytes, 2312 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2313 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2314 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2315 }, 2316 { 2317 .test_descr = "AES-128-XTS Encryption (16-byte plaintext)", 2318 .test_data = &aes_test_data_xts_key_32_pt_16, 2319 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2320 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2321 }, 2322 { 2323 .test_descr = "AES-128-XTS Decryption (16-byte plaintext)", 2324 .test_data = &aes_test_data_xts_key_32_pt_16, 2325 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2326 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2327 }, 2328 { 2329 .test_descr = "AES-128-XTS Encryption (32-byte plaintext)", 2330 .test_data = &aes_test_data_xts_key_32_pt_32, 2331 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2332 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2333 }, 2334 { 2335 .test_descr = "AES-128-XTS Decryption (32-byte plaintext)", 2336 .test_data = &aes_test_data_xts_key_32_pt_32, 2337 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2338 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2339 }, 2340 { 2341 .test_descr = "AES-256-XTS Encryption (32-byte plaintext)", 2342 .test_data = &aes_test_data_xts_key_64_pt_32, 2343 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2344 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2345 }, 2346 { 2347 .test_descr = "AES-256-XTS Decryption (32-byte plaintext)", 2348 .test_data = &aes_test_data_xts_key_64_pt_32, 2349 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2350 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2351 }, 2352 { 2353 .test_descr = "AES-256-XTS Encryption (48-byte plaintext)", 2354 .test_data = &aes_test_data_xts_key_64_pt_48, 2355 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2356 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2357 }, 2358 { 2359 .test_descr = "AES-256-XTS Decryption (48-byte plaintext)", 2360 .test_data = &aes_test_data_xts_key_64_pt_48, 2361 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2362 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2363 }, 2364 { 2365 .test_descr = "cipher-only - NULL algo - x8 - encryption", 2366 .test_data = &null_test_data_chain_x8_multiple, 2367 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2368 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2369 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2370 }, 2371 { 2372 .test_descr = "cipher-only - NULL algo - x8 - decryption", 2373 .test_data = &null_test_data_chain_x8_multiple, 2374 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2375 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2376 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2377 }, 2378 { 2379 .test_descr = "cipher-only - NULL algo - x4 - encryption", 2380 .test_data = &null_test_data_chain_x4_multiple, 2381 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2382 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2383 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2384 }, 2385 { 2386 .test_descr = "cipher-only - NULL algo - x4 - decryption", 2387 .test_data = &null_test_data_chain_x4_multiple, 2388 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2389 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2390 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2391 }, 2392 { 2393 .test_descr = "cipher-only - NULL algo - x4 - encryption - OOP", 2394 .test_data = &null_test_data_chain_x4_multiple, 2395 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2396 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2397 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2398 }, 2399 { 2400 .test_descr = "cipher-only - NULL algo - x4 - decryption - OOP", 2401 .test_data = &null_test_data_chain_x4_multiple, 2402 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2403 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2404 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2405 }, 2406 { 2407 .test_descr = "cipher-only - NULL algo - x1 - encryption", 2408 .test_data = &null_test_data_chain_x1_multiple, 2409 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2410 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2411 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2412 }, 2413 { 2414 .test_descr = "cipher-only - NULL algo - x1 - decryption", 2415 .test_data = &null_test_data_chain_x1_multiple, 2416 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2417 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2418 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2419 }, 2420 }; 2421 2422 static const struct blockcipher_test_case aes_docsis_test_cases[] = { 2423 2424 { 2425 .test_descr = "AES-DOCSIS-BPI Full Block Encryption", 2426 .test_data = &aes_test_data_docsis_1, 2427 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2428 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2429 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2430 }, 2431 { 2432 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption", 2433 .test_data = &aes_test_data_docsis_2, 2434 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2435 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2436 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2437 }, 2438 { 2439 .test_descr = "AES-DOCSIS-BPI Uneven Encryption", 2440 .test_data = &aes_test_data_docsis_3, 2441 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2442 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2443 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2444 }, 2445 { 2446 .test_descr = "AES-DOCSIS-BPI Full Block Decryption", 2447 .test_data = &aes_test_data_docsis_1, 2448 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2449 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2450 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2451 }, 2452 { 2453 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption", 2454 .test_data = &aes_test_data_docsis_2, 2455 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2456 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2457 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2458 }, 2459 { 2460 .test_descr = "AES-DOCSIS-BPI Uneven Decryption", 2461 .test_data = &aes_test_data_docsis_3, 2462 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2463 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2464 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2465 }, 2466 { 2467 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption", 2468 .test_data = &aes_test_data_docsis_1, 2469 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2470 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2471 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2472 BLOCKCIPHER_TEST_TARGET_PMD_MB 2473 }, 2474 { 2475 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption", 2476 .test_data = &aes_test_data_docsis_2, 2477 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2478 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2479 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2480 BLOCKCIPHER_TEST_TARGET_PMD_MB 2481 }, 2482 2483 { 2484 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption", 2485 .test_data = &aes_test_data_docsis_3, 2486 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2487 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2488 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2489 BLOCKCIPHER_TEST_TARGET_PMD_MB 2490 }, 2491 { 2492 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption", 2493 .test_data = &aes_test_data_docsis_1, 2494 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2495 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2496 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2497 BLOCKCIPHER_TEST_TARGET_PMD_MB 2498 }, 2499 { 2500 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption", 2501 .test_data = &aes_test_data_docsis_2, 2502 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2503 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2504 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2505 BLOCKCIPHER_TEST_TARGET_PMD_MB 2506 }, 2507 { 2508 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption", 2509 .test_data = &aes_test_data_docsis_3, 2510 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2511 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2512 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2513 BLOCKCIPHER_TEST_TARGET_PMD_MB 2514 }, 2515 }; 2516 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ 2517