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 }, 1542 { 1543 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest", 1544 .test_data = &aes_test_data_1, 1545 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1546 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1547 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1548 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1549 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1550 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1551 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1552 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1553 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1554 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1555 }, 1556 { 1557 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest " 1558 "Verify", 1559 .test_data = &aes_test_data_1, 1560 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1561 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1562 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1563 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1564 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1565 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1566 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1567 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1568 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1569 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1570 }, 1571 { 1572 .test_descr = "AES-192-CTR XCBC Encryption Digest", 1573 .test_data = &aes_test_data_2, 1574 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1575 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1576 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1577 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1578 }, 1579 { 1580 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify", 1581 .test_data = &aes_test_data_2, 1582 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1583 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1584 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1585 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1586 }, 1587 { 1588 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify " 1589 "Scatter Gather", 1590 .test_data = &aes_test_data_2, 1591 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1592 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1593 BLOCKCIPHER_TEST_FEATURE_OOP, 1594 .pmd_mask = 1595 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1596 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1597 }, 1598 { 1599 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest", 1600 .test_data = &aes_test_data_3, 1601 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1602 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1603 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1604 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1605 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1606 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1607 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1608 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1609 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1610 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1611 }, 1612 { 1613 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest " 1614 "Verify", 1615 .test_data = &aes_test_data_3, 1616 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1617 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1618 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1619 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1620 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1621 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1622 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1623 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1624 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1625 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1626 }, 1627 { 1628 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest", 1629 .test_data = &aes_test_data_4, 1630 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1631 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1632 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1633 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1634 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1635 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1636 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1637 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1638 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1639 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1640 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1641 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1642 }, 1643 { 1644 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1645 "(short buffers)", 1646 .test_data = &aes_test_data_13, 1647 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1648 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1649 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1650 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1651 }, 1652 { 1653 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1654 "Scatter Gather", 1655 .test_data = &aes_test_data_4, 1656 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1657 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1658 BLOCKCIPHER_TEST_FEATURE_OOP, 1659 .pmd_mask = 1660 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1661 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1662 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1663 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1664 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1665 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1666 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1667 }, 1668 { 1669 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1670 "Verify", 1671 .test_data = &aes_test_data_4, 1672 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1673 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1674 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1675 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1676 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1677 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1678 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1679 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1680 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1681 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1682 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1683 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1684 }, 1685 { 1686 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1687 "Verify Scatter Gather", 1688 .test_data = &aes_test_data_4, 1689 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1690 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 1691 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1692 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1693 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1694 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1695 }, 1696 { 1697 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1698 "Verify (short buffers)", 1699 .test_data = &aes_test_data_13, 1700 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1701 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1702 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1703 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1704 }, 1705 { 1706 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest", 1707 .test_data = &aes_test_data_5, 1708 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1709 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1710 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1711 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1712 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1713 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1714 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1715 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1716 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1717 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1718 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1719 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1720 }, 1721 { 1722 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest " 1723 "(short buffers)", 1724 .test_data = &aes_test_data_12, 1725 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1726 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1727 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1728 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1729 }, 1730 { 1731 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1732 "Verify", 1733 .test_data = &aes_test_data_5, 1734 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1735 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1736 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1737 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1738 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1739 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1740 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1741 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1742 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1743 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1744 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1745 }, 1746 { 1747 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1748 "Verify (short buffers)", 1749 .test_data = &aes_test_data_12, 1750 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1751 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1752 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1753 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1754 }, 1755 { 1756 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest", 1757 .test_data = &aes_test_data_6, 1758 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1759 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1760 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1761 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1762 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1763 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1764 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1765 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1766 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1767 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1768 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1769 }, 1770 { 1771 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest " 1772 "Sessionless", 1773 .test_data = &aes_test_data_6, 1774 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1775 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1776 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1777 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 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 "Scatter Gather 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 BLOCKCIPHER_TEST_FEATURE_SG | 1788 BLOCKCIPHER_TEST_FEATURE_OOP, 1789 .pmd_mask = 1790 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1791 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1792 }, 1793 { 1794 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1795 "Verify", 1796 .test_data = &aes_test_data_6, 1797 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1798 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1799 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1800 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1801 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1802 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1803 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1804 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1805 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1806 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1807 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1808 }, 1809 { 1810 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1811 "Verify Scatter Gather", 1812 .test_data = &aes_test_data_6, 1813 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1814 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1815 BLOCKCIPHER_TEST_FEATURE_OOP, 1816 .pmd_mask = 1817 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1818 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1819 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1820 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1821 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1822 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1823 }, 1824 { 1825 .test_descr = "AES-128-CBC XCBC Encryption Digest", 1826 .test_data = &aes_test_data_7, 1827 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1828 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1829 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1830 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1831 }, 1832 { 1833 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify", 1834 .test_data = &aes_test_data_7, 1835 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1836 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1837 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1838 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1839 }, 1840 { 1841 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1842 "OOP", 1843 .test_data = &aes_test_data_4, 1844 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1845 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1846 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1847 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1848 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1849 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1850 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1851 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1852 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1853 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1854 }, 1855 { 1856 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1857 "OOP Offset", 1858 .test_data = &aes_test_data_14, 1859 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1860 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1861 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1862 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1863 }, 1864 { 1865 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1866 "Verify OOP", 1867 .test_data = &aes_test_data_4, 1868 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1869 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1870 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1871 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1872 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1873 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1874 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1875 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1876 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1877 BLOCKCIPHER_TEST_TARGET_PMD_MB 1878 }, 1879 { 1880 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest", 1881 .test_data = &aes_test_data_8, 1882 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1883 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1884 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1885 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1886 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1887 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1888 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1889 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1890 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1891 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1892 }, 1893 { 1894 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest " 1895 "Verify", 1896 .test_data = &aes_test_data_8, 1897 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1898 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1899 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1900 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1901 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1902 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1903 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1904 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1905 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1906 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1907 }, 1908 { 1909 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest", 1910 .test_data = &aes_test_data_9, 1911 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1912 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1913 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1914 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1915 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1916 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1917 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1918 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1919 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1920 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1921 }, 1922 { 1923 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest " 1924 "Verify", 1925 .test_data = &aes_test_data_9, 1926 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1927 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1928 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1929 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1930 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1931 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1932 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1933 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1934 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1935 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1936 }, 1937 { 1938 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1939 "Sessionless", 1940 .test_data = &aes_test_data_4, 1941 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1942 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1943 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1944 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1945 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1946 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1947 }, 1948 { 1949 .test_descr = 1950 "AES-128-CBC HMAC-SHA1 Decryption Digest " 1951 "Verify Sessionless", 1952 .test_data = &aes_test_data_4, 1953 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1954 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1955 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1956 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1957 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1958 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1959 }, 1960 { 1961 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte", 1962 .test_data = &null_test_data_chain_x8_multiple, 1963 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1964 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 1965 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1966 }, 1967 { 1968 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte", 1969 .test_data = &null_test_data_chain_x8_multiple, 1970 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1971 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 1972 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1973 }, 1974 { 1975 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP", 1976 .test_data = &null_test_data_chain_x8_multiple, 1977 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1978 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1979 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1980 }, 1981 { 1982 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP", 1983 .test_data = &null_test_data_chain_x8_multiple, 1984 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1985 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1986 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1987 }, 1988 { 1989 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte", 1990 .test_data = &null_test_data_chain_x4_multiple, 1991 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1992 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 1993 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1994 }, 1995 { 1996 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte", 1997 .test_data = &null_test_data_chain_x4_multiple, 1998 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1999 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2000 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2001 }, 2002 { 2003 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP", 2004 .test_data = &null_test_data_chain_x4_multiple, 2005 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2006 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2007 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2008 }, 2009 { 2010 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP", 2011 .test_data = &null_test_data_chain_x4_multiple, 2012 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2013 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2014 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2015 }, 2016 { 2017 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte", 2018 .test_data = &null_test_data_chain_x1_multiple, 2019 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2020 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2021 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2022 }, 2023 { 2024 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte", 2025 .test_data = &null_test_data_chain_x1_multiple, 2026 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2027 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2028 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2029 }, 2030 { 2031 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP", 2032 .test_data = &null_test_data_chain_x1_multiple, 2033 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 2034 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2035 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2036 }, 2037 { 2038 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP", 2039 .test_data = &null_test_data_chain_x1_multiple, 2040 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 2041 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2042 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2043 }, 2044 }; 2045 2046 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = { 2047 { 2048 .test_descr = "AES-128-CBC Encryption", 2049 .test_data = &aes_test_data_4, 2050 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2051 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2052 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2053 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2054 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2055 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2056 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2057 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2058 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2059 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2060 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2061 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2062 }, 2063 { 2064 .test_descr = "AES-128-CBC Decryption", 2065 .test_data = &aes_test_data_4, 2066 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 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-192-CBC Encryption", 2081 .test_data = &aes_test_data_10, 2082 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 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_CCP | 2091 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2092 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2093 }, 2094 { 2095 .test_descr = "AES-192-CBC Encryption Scater gather", 2096 .test_data = &aes_test_data_10, 2097 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2098 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 2099 BLOCKCIPHER_TEST_FEATURE_OOP, 2100 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2101 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2102 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2103 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2104 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2105 }, 2106 { 2107 .test_descr = "AES-192-CBC Decryption", 2108 .test_data = &aes_test_data_10, 2109 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2110 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2111 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2112 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2113 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2114 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2115 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2116 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2117 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2118 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2119 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2120 }, 2121 { 2122 .test_descr = "AES-192-CBC Decryption Scatter Gather", 2123 .test_data = &aes_test_data_10, 2124 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2125 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 2126 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2127 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2128 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2129 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2130 }, 2131 { 2132 .test_descr = "AES-256-CBC Encryption", 2133 .test_data = &aes_test_data_11, 2134 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2135 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2136 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2137 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2138 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2139 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2140 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2141 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2142 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2143 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2144 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2145 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2146 }, 2147 { 2148 .test_descr = "AES-256-CBC Decryption", 2149 .test_data = &aes_test_data_11, 2150 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 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 OOP Encryption", 2165 .test_data = &aes_test_data_11, 2166 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2167 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2168 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2169 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2170 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2171 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2172 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2173 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2174 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2175 BLOCKCIPHER_TEST_TARGET_PMD_MB 2176 }, 2177 { 2178 .test_descr = "AES-256-CBC OOP Decryption", 2179 .test_data = &aes_test_data_11, 2180 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2181 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2182 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2183 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2184 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2185 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2186 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2187 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2188 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 2189 BLOCKCIPHER_TEST_TARGET_PMD_MB 2190 }, 2191 { 2192 .test_descr = "AES-128-CTR Encryption", 2193 .test_data = &aes_test_data_1, 2194 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2195 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2196 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2197 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2198 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2199 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2200 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2201 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2202 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2203 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2204 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2205 }, 2206 { 2207 .test_descr = "AES-128-CTR Decryption", 2208 .test_data = &aes_test_data_1, 2209 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2210 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2211 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2212 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2213 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2214 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2215 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2216 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2217 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2218 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2219 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2220 }, 2221 { 2222 .test_descr = "AES-192-CTR Encryption", 2223 .test_data = &aes_test_data_2, 2224 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2225 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2226 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2227 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2228 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2229 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2230 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2231 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2232 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2233 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2234 }, 2235 { 2236 .test_descr = "AES-192-CTR Decryption", 2237 .test_data = &aes_test_data_2, 2238 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2239 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2240 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2241 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2242 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2243 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2244 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2245 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2246 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2247 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2248 }, 2249 { 2250 .test_descr = "AES-256-CTR Encryption", 2251 .test_data = &aes_test_data_3, 2252 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2253 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2254 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2255 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2256 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2257 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2258 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2259 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2260 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2261 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2262 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2263 }, 2264 { 2265 .test_descr = "AES-256-CTR Decryption", 2266 .test_data = &aes_test_data_3, 2267 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2268 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 2269 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2270 BLOCKCIPHER_TEST_TARGET_PMD_MB | 2271 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 2272 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 2273 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 2274 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 2275 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 2276 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 2277 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2278 }, 2279 { 2280 .test_descr = "AES-128-CTR Encryption (12-byte IV)", 2281 .test_data = &aes_test_data_1_IV_12_bytes, 2282 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2283 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2284 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2285 }, 2286 { 2287 .test_descr = "AES-192-CTR Encryption (12-byte IV)", 2288 .test_data = &aes_test_data_2_IV_12_bytes, 2289 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2290 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2291 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2292 }, 2293 { 2294 .test_descr = "AES-256-CTR Encryption (12-byte IV)", 2295 .test_data = &aes_test_data_3_IV_12_bytes, 2296 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2297 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2298 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 2299 }, 2300 { 2301 .test_descr = "AES-128-XTS Encryption (16-byte plaintext)", 2302 .test_data = &aes_test_data_xts_key_32_pt_16, 2303 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2304 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2305 }, 2306 { 2307 .test_descr = "AES-128-XTS Decryption (16-byte plaintext)", 2308 .test_data = &aes_test_data_xts_key_32_pt_16, 2309 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2310 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2311 }, 2312 { 2313 .test_descr = "AES-128-XTS Encryption (32-byte plaintext)", 2314 .test_data = &aes_test_data_xts_key_32_pt_32, 2315 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2316 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2317 }, 2318 { 2319 .test_descr = "AES-128-XTS Decryption (32-byte plaintext)", 2320 .test_data = &aes_test_data_xts_key_32_pt_32, 2321 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2322 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2323 }, 2324 { 2325 .test_descr = "AES-256-XTS Encryption (32-byte plaintext)", 2326 .test_data = &aes_test_data_xts_key_64_pt_32, 2327 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2328 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2329 }, 2330 { 2331 .test_descr = "AES-256-XTS Decryption (32-byte plaintext)", 2332 .test_data = &aes_test_data_xts_key_64_pt_32, 2333 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2334 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2335 }, 2336 { 2337 .test_descr = "AES-256-XTS Encryption (48-byte plaintext)", 2338 .test_data = &aes_test_data_xts_key_64_pt_48, 2339 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2340 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2341 }, 2342 { 2343 .test_descr = "AES-256-XTS Decryption (48-byte plaintext)", 2344 .test_data = &aes_test_data_xts_key_64_pt_48, 2345 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2346 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2347 }, 2348 { 2349 .test_descr = "cipher-only - NULL algo - x8 - encryption", 2350 .test_data = &null_test_data_chain_x8_multiple, 2351 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2352 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2353 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2354 }, 2355 { 2356 .test_descr = "cipher-only - NULL algo - x8 - decryption", 2357 .test_data = &null_test_data_chain_x8_multiple, 2358 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2359 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2360 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2361 }, 2362 { 2363 .test_descr = "cipher-only - NULL algo - x4 - encryption", 2364 .test_data = &null_test_data_chain_x4_multiple, 2365 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2366 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2367 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2368 }, 2369 { 2370 .test_descr = "cipher-only - NULL algo - x4 - decryption", 2371 .test_data = &null_test_data_chain_x4_multiple, 2372 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2373 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2374 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2375 }, 2376 { 2377 .test_descr = "cipher-only - NULL algo - x4 - encryption - OOP", 2378 .test_data = &null_test_data_chain_x4_multiple, 2379 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2380 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2381 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2382 }, 2383 { 2384 .test_descr = "cipher-only - NULL algo - x4 - decryption - OOP", 2385 .test_data = &null_test_data_chain_x4_multiple, 2386 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2387 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2388 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 2389 }, 2390 { 2391 .test_descr = "cipher-only - NULL algo - x1 - encryption", 2392 .test_data = &null_test_data_chain_x1_multiple, 2393 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2394 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2395 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2396 }, 2397 { 2398 .test_descr = "cipher-only - NULL algo - x1 - decryption", 2399 .test_data = &null_test_data_chain_x1_multiple, 2400 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2401 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL | 2402 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2403 }, 2404 }; 2405 2406 static const struct blockcipher_test_case aes_docsis_test_cases[] = { 2407 2408 { 2409 .test_descr = "AES-DOCSIS-BPI Full Block Encryption", 2410 .test_data = &aes_test_data_docsis_1, 2411 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2412 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2413 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2414 }, 2415 { 2416 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption", 2417 .test_data = &aes_test_data_docsis_2, 2418 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2419 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2420 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2421 }, 2422 { 2423 .test_descr = "AES-DOCSIS-BPI Uneven Encryption", 2424 .test_data = &aes_test_data_docsis_3, 2425 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2426 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2427 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2428 }, 2429 { 2430 .test_descr = "AES-DOCSIS-BPI Full Block Decryption", 2431 .test_data = &aes_test_data_docsis_1, 2432 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2433 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2434 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2435 }, 2436 { 2437 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption", 2438 .test_data = &aes_test_data_docsis_2, 2439 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2440 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2441 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2442 }, 2443 { 2444 .test_descr = "AES-DOCSIS-BPI Uneven Decryption", 2445 .test_data = &aes_test_data_docsis_3, 2446 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2447 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 2448 BLOCKCIPHER_TEST_TARGET_PMD_QAT 2449 }, 2450 { 2451 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption", 2452 .test_data = &aes_test_data_docsis_1, 2453 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2454 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2455 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2456 BLOCKCIPHER_TEST_TARGET_PMD_MB 2457 }, 2458 { 2459 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption", 2460 .test_data = &aes_test_data_docsis_2, 2461 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2462 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2463 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2464 BLOCKCIPHER_TEST_TARGET_PMD_MB 2465 }, 2466 2467 { 2468 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption", 2469 .test_data = &aes_test_data_docsis_3, 2470 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 2471 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2472 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2473 BLOCKCIPHER_TEST_TARGET_PMD_MB 2474 }, 2475 { 2476 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption", 2477 .test_data = &aes_test_data_docsis_1, 2478 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 2479 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 2480 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 2481 BLOCKCIPHER_TEST_TARGET_PMD_MB 2482 }, 2483 { 2484 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption", 2485 .test_data = &aes_test_data_docsis_2, 2486 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 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 Uneven Block Decryption", 2493 .test_data = &aes_test_data_docsis_3, 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 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ 2501