1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016-2017 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 /* AES128-CTR-SHA1 test vector */ 225 static const struct blockcipher_test_data aes_test_data_1 = { 226 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 227 .cipher_key = { 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 = { 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_aes128ctr, 243 .len = 64 244 }, 245 .ciphertext = { 246 .data = ciphertext64_aes128ctr, 247 .len = 64 248 }, 249 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 250 .auth_key = { 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 0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0, 261 0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2, 262 0x56, 0x20, 0xFB, 0xFE 263 }, 264 .len = 20, 265 .truncated_len = 12 266 } 267 }; 268 269 /** AES-192-CTR XCBC test vector */ 270 static const struct blockcipher_test_data aes_test_data_2 = { 271 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 272 .cipher_key = { 273 .data = { 274 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C, 275 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F, 276 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4 277 }, 278 .len = 24 279 }, 280 .iv = { 281 .data = { 282 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40, 283 0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57 284 }, 285 .len = 16 286 }, 287 .plaintext = { 288 .data = plaintext_aes192ctr, 289 .len = 64 290 }, 291 .ciphertext = { 292 .data = ciphertext64_aes192ctr, 293 .len = 64 294 }, 295 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 296 .auth_key = { 297 .data = { 298 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 299 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 300 }, 301 .len = 16 302 }, 303 .digest = { 304 .data = { 305 0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55, 306 0x36, 0x6B, 0x45, 0x46 307 }, 308 .len = 12, 309 .truncated_len = 12 310 } 311 }; 312 313 /** AES-256-CTR SHA1 test vector */ 314 static const struct blockcipher_test_data aes_test_data_3 = { 315 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 316 .cipher_key = { 317 .data = { 318 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, 319 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, 320 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, 321 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 322 }, 323 .len = 32 324 }, 325 .iv = { 326 .data = { 327 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 328 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 329 }, 330 .len = 16 331 }, 332 .plaintext = { 333 .data = plaintext_aes256ctr, 334 .len = 64 335 }, 336 .ciphertext = { 337 .data = ciphertext64_aes256ctr, 338 .len = 64 339 }, 340 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 341 .auth_key = { 342 .data = { 343 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 344 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 345 0xDE, 0xF4, 0xDE, 0xAD 346 }, 347 .len = 20 348 }, 349 .digest = { 350 .data = { 351 0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64, 352 0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16, 353 0xE7, 0x87, 0xA3, 0xEF 354 }, 355 .len = 20, 356 .truncated_len = 12 357 } 358 }; 359 360 /* AES128-CTR-SHA1 test vector (12-byte IV) */ 361 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = { 362 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 363 .cipher_key = { 364 .data = { 365 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 366 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C 367 }, 368 .len = 16 369 }, 370 .iv = { 371 .data = { 372 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 373 0xF8, 0xF9, 0xFA, 0xFB 374 }, 375 .len = 12 376 }, 377 .plaintext = { 378 .data = plaintext_aes128ctr, 379 .len = 64 380 }, 381 .ciphertext = { 382 .data = ciphertext64_aes128ctr_IV_12bytes, 383 .len = 64 384 }, 385 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 386 .auth_key = { 387 .data = { 388 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 389 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 390 0xDE, 0xF4, 0xDE, 0xAD 391 }, 392 .len = 20 393 }, 394 .digest = { 395 .data = { 396 0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3, 397 0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA, 398 0xCF, 0xC8, 0x7F, 0x60 399 }, 400 .len = 20, 401 .truncated_len = 12 402 } 403 }; 404 405 /** AES-192-CTR XCBC test vector (12-byte IV) */ 406 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = { 407 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 408 .cipher_key = { 409 .data = { 410 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C, 411 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F, 412 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4 413 }, 414 .len = 24 415 }, 416 .iv = { 417 .data = { 418 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40, 419 0xB8, 0x7A, 0x4B, 0xED 420 }, 421 .len = 12 422 }, 423 .plaintext = { 424 .data = plaintext_aes192ctr, 425 .len = 64 426 }, 427 .ciphertext = { 428 .data = ciphertext64_aes192ctr_IV_12bytes, 429 .len = 64 430 }, 431 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 432 .auth_key = { 433 .data = { 434 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 435 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 436 }, 437 .len = 16 438 }, 439 .digest = { 440 .data = { 441 0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4, 442 0x4C, 0x4C, 0xAB, 0x13 443 }, 444 .len = 12, 445 .truncated_len = 12 446 } 447 }; 448 449 /** AES-256-CTR SHA1 test vector (12-byte IV) */ 450 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = { 451 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR, 452 .cipher_key = { 453 .data = { 454 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, 455 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, 456 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, 457 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 458 }, 459 .len = 32 460 }, 461 .iv = { 462 .data = { 463 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 464 0xF8, 0xF9, 0xFA, 0xFB 465 }, 466 .len = 12 467 }, 468 .plaintext = { 469 .data = plaintext_aes256ctr, 470 .len = 64 471 }, 472 .ciphertext = { 473 .data = ciphertext64_aes256ctr_IV_12bytes, 474 .len = 64 475 }, 476 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 477 .auth_key = { 478 .data = { 479 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 480 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 481 0xDE, 0xF4, 0xDE, 0xAD 482 }, 483 .len = 20 484 }, 485 .digest = { 486 .data = { 487 0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49, 488 0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63, 489 0x3F, 0x2D, 0xA3, 0xEF 490 }, 491 .len = 20, 492 .truncated_len = 12 493 } 494 }; 495 /** AES-128-CBC SHA1 test vector */ 496 static const struct blockcipher_test_data aes_test_data_4 = { 497 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 498 .cipher_key = { 499 .data = { 500 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 501 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 502 }, 503 .len = 16 504 }, 505 .iv = { 506 .data = { 507 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 508 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 509 }, 510 .len = 16 511 }, 512 .plaintext = { 513 .data = plaintext_aes_common, 514 .len = 512 515 }, 516 .ciphertext = { 517 .data = ciphertext512_aes128cbc, 518 .len = 512 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 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60, 532 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 533 0x18, 0x8C, 0x1D, 0x32 534 }, 535 .len = 20, 536 .truncated_len = 12 537 } 538 }; 539 540 /** AES-128-CBC SHA256 test vector */ 541 static const struct blockcipher_test_data aes_test_data_5 = { 542 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 543 .cipher_key = { 544 .data = { 545 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 546 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 547 }, 548 .len = 16 549 }, 550 .iv = { 551 .data = { 552 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 553 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 554 }, 555 .len = 16 556 }, 557 .plaintext = { 558 .data = plaintext_aes_common, 559 .len = 512 560 }, 561 .ciphertext = { 562 .data = ciphertext512_aes128cbc, 563 .len = 512 564 }, 565 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 566 .auth_key = { 567 .data = { 568 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 569 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 570 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76, 571 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60 572 }, 573 .len = 32 574 }, 575 .digest = { 576 .data = { 577 0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55, 578 0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A, 579 0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4, 580 0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15 581 }, 582 .len = 32, 583 .truncated_len = 16 584 } 585 }; 586 587 /** AES-128-CBC SHA512 test vector */ 588 static const struct blockcipher_test_data aes_test_data_6 = { 589 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 590 .cipher_key = { 591 .data = { 592 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 593 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 594 }, 595 .len = 16 596 }, 597 .iv = { 598 .data = { 599 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 600 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 601 }, 602 .len = 16 603 }, 604 .plaintext = { 605 .data = plaintext_aes_common, 606 .len = 512 607 }, 608 .ciphertext = { 609 .data = ciphertext512_aes128cbc, 610 .len = 512 611 }, 612 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC, 613 .auth_key = { 614 .data = { 615 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 616 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 617 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 618 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 619 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 620 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 621 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 622 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 623 }, 624 .len = 64 625 }, 626 .digest = { 627 .data = { 628 0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8, 629 0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48, 630 0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8, 631 0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70, 632 0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8, 633 0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E, 634 0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D, 635 0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A 636 }, 637 .len = 64, 638 .truncated_len = 32 639 } 640 }; 641 642 /** AES-128-CBC XCBC test vector */ 643 static const struct blockcipher_test_data aes_test_data_7 = { 644 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 645 .cipher_key = { 646 .data = { 647 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 648 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 649 }, 650 .len = 16 651 }, 652 .iv = { 653 .data = { 654 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 655 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 656 }, 657 .len = 16 658 }, 659 .plaintext = { 660 .data = plaintext_aes_common, 661 .len = 512 662 }, 663 .ciphertext = { 664 .data = ciphertext512_aes128cbc, 665 .len = 512 666 }, 667 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC, 668 .auth_key = { 669 .data = { 670 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51, 671 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59 672 }, 673 .len = 16 674 }, 675 .digest = { 676 .data = { 677 0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89, 678 0x77, 0x1D, 0x8B, 0x75 679 }, 680 .len = 12, 681 .truncated_len = 12 682 } 683 }; 684 685 /** AES-128-CBC SHA224 test vector */ 686 static const struct blockcipher_test_data aes_test_data_8 = { 687 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 688 .cipher_key = { 689 .data = { 690 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 691 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 692 }, 693 .len = 16 694 }, 695 .iv = { 696 .data = { 697 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 698 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 699 }, 700 .len = 16 701 }, 702 .plaintext = { 703 .data = plaintext_aes_common, 704 .len = 512 705 }, 706 .ciphertext = { 707 .data = ciphertext512_aes128cbc, 708 .len = 512 709 }, 710 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC, 711 .auth_key = { 712 .data = { 713 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 714 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 715 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 716 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 717 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 718 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 719 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 720 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 721 }, 722 .len = 64 723 }, 724 .digest = { 725 .data = { 726 0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98, 727 0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34, 728 0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F, 729 0x63, 0x7C, 0xDD, 0xB7 730 }, 731 .len = 28, 732 .truncated_len = 14 733 } 734 }; 735 736 /** AES-128-CBC SHA384 test vector */ 737 static const struct blockcipher_test_data aes_test_data_9 = { 738 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 739 .cipher_key = { 740 .data = { 741 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 742 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 743 }, 744 .len = 16 745 }, 746 .iv = { 747 .data = { 748 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 749 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 750 }, 751 .len = 16 752 }, 753 .plaintext = { 754 .data = plaintext_aes_common, 755 .len = 512 756 }, 757 .ciphertext = { 758 .data = ciphertext512_aes128cbc, 759 .len = 512 760 }, 761 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC, 762 .auth_key = { 763 .data = { 764 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 765 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 766 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 767 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 768 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 769 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 770 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 771 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60, 772 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 773 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 774 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76, 775 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60, 776 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1, 777 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0, 778 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76, 779 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60 780 }, 781 .len = 128 782 }, 783 .digest = { 784 .data = { 785 0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72, 786 0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C, 787 0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D, 788 0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D, 789 0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F, 790 0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B 791 }, 792 .len = 48, 793 .truncated_len = 24 794 } 795 }; 796 797 static const uint8_t ciphertext512_aes192cbc[] = { 798 0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C, 799 0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B, 800 0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8, 801 0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C, 802 0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03, 803 0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57, 804 0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89, 805 0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F, 806 0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64, 807 0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24, 808 0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E, 809 0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B, 810 0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3, 811 0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF, 812 0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C, 813 0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B, 814 0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3, 815 0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA, 816 0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B, 817 0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7, 818 0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB, 819 0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88, 820 0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86, 821 0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25, 822 0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7, 823 0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91, 824 0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14, 825 0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B, 826 0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B, 827 0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30, 828 0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4, 829 0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96, 830 0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD, 831 0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13, 832 0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6, 833 0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2, 834 0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F, 835 0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07, 836 0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC, 837 0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D, 838 0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C, 839 0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45, 840 0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA, 841 0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0, 842 0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97, 843 0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7, 844 0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D, 845 0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58, 846 0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4, 847 0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21, 848 0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6, 849 0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36, 850 0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64, 851 0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3, 852 0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87, 853 0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB, 854 0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47, 855 0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E, 856 0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29, 857 0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37, 858 0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43, 859 0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2, 860 0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43, 861 0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC 862 }; 863 864 /** AES-192-CBC test vector */ 865 static const struct blockcipher_test_data aes_test_data_10 = { 866 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 867 .cipher_key = { 868 .data = { 869 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 870 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 871 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 872 }, 873 .len = 24 874 }, 875 .iv = { 876 .data = { 877 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 878 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 879 }, 880 .len = 16 881 }, 882 .plaintext = { 883 .data = plaintext_aes_common, 884 .len = 512 885 }, 886 .ciphertext = { 887 .data = ciphertext512_aes192cbc, 888 .len = 512 889 } 890 }; 891 892 static const uint8_t ciphertext512_aes256cbc[] = { 893 0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04, 894 0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7, 895 0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06, 896 0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98, 897 0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C, 898 0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F, 899 0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15, 900 0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E, 901 0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11, 902 0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E, 903 0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA, 904 0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54, 905 0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95, 906 0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9, 907 0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08, 908 0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26, 909 0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7, 910 0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91, 911 0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F, 912 0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02, 913 0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00, 914 0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B, 915 0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84, 916 0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42, 917 0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E, 918 0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1, 919 0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F, 920 0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62, 921 0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7, 922 0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55, 923 0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC, 924 0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83, 925 0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17, 926 0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5, 927 0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69, 928 0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1, 929 0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40, 930 0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5, 931 0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8, 932 0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40, 933 0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE, 934 0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D, 935 0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C, 936 0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1, 937 0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9, 938 0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE, 939 0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B, 940 0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C, 941 0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E, 942 0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE, 943 0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66, 944 0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE, 945 0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3, 946 0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4, 947 0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23, 948 0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3, 949 0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76, 950 0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05, 951 0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A, 952 0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE, 953 0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58, 954 0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95, 955 0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3, 956 0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C 957 }; 958 959 /** AES-256-CBC test vector */ 960 static const struct blockcipher_test_data aes_test_data_11 = { 961 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 962 .cipher_key = { 963 .data = { 964 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 965 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 966 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0, 967 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D 968 }, 969 .len = 32 970 }, 971 .iv = { 972 .data = { 973 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 974 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 975 }, 976 .len = 16 977 }, 978 .plaintext = { 979 .data = plaintext_aes_common, 980 .len = 512 981 }, 982 .ciphertext = { 983 .data = ciphertext512_aes256cbc, 984 .len = 512 985 } 986 }; 987 988 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */ 989 static const struct blockcipher_test_data aes_test_data_12 = { 990 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 991 .cipher_key = { 992 .data = { 993 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 994 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 995 }, 996 .len = 16 997 }, 998 .iv = { 999 .data = { 1000 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1001 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1002 }, 1003 .len = 16 1004 }, 1005 .plaintext = { 1006 .data = plaintext_aes_common, 1007 .len = 160 1008 }, 1009 .ciphertext = { 1010 .data = ciphertext512_aes128cbc, 1011 .len = 160 1012 }, 1013 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC, 1014 .auth_key = { 1015 .data = { 1016 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1, 1017 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA, 1018 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76, 1019 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60 1020 }, 1021 .len = 32 1022 }, 1023 .digest = { 1024 .data = { 1025 0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5, 1026 0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04, 1027 0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62, 1028 0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B 1029 }, 1030 .len = 32, 1031 .truncated_len = 16 1032 } 1033 }; 1034 1035 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */ 1036 static const struct blockcipher_test_data aes_test_data_13 = { 1037 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC, 1038 .cipher_key = { 1039 .data = { 1040 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1041 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1042 }, 1043 .len = 16 1044 }, 1045 .iv = { 1046 .data = { 1047 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1048 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1049 }, 1050 .len = 16 1051 }, 1052 .plaintext = { 1053 .data = plaintext_aes_common, 1054 .len = 160 1055 }, 1056 .ciphertext = { 1057 .data = ciphertext512_aes128cbc, 1058 .len = 160 1059 }, 1060 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 1061 .auth_key = { 1062 .data = { 1063 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 1064 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 1065 0xDE, 0xF4, 0xDE, 0xAD 1066 }, 1067 .len = 20 1068 }, 1069 .digest = { 1070 .data = { 1071 0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0, 1072 0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48, 1073 0x22, 0x43, 0x30, 0xA7 1074 }, 1075 .len = 20, 1076 .truncated_len = 12 1077 } 1078 }; 1079 1080 /* AES-DOCSIS-BPI test vectors */ 1081 1082 /* Multiple of AES block size */ 1083 static const struct blockcipher_test_data aes_test_data_docsis_1 = { 1084 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1085 .cipher_key = { 1086 .data = { 1087 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 1088 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 1089 }, 1090 .len = 16 1091 }, 1092 .iv = { 1093 .data = { 1094 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 1095 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 1096 }, 1097 .len = 16 1098 }, 1099 .plaintext = { 1100 .data = plaintext_aes_common, 1101 .len = 512 1102 }, 1103 .ciphertext = { 1104 .data = ciphertext512_aes128cbc, 1105 .len = 512 1106 } 1107 }; 1108 1109 /* Less than AES block size */ 1110 static const struct blockcipher_test_data aes_test_data_docsis_2 = { 1111 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1112 .cipher_key = { 1113 .data = { 1114 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, 1115 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 1116 }, 1117 .len = 16 1118 }, 1119 .iv = { 1120 .data = { 1121 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, 1122 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 1123 }, 1124 .len = 16 1125 }, 1126 .plaintext = { 1127 .data = plaintext_aes_docsis_bpi_cfb, 1128 .len = 7 1129 }, 1130 .ciphertext = { 1131 .data = ciphertext_aes_docsis_bpi_cfb, 1132 .len = 7 1133 } 1134 }; 1135 1136 /* Not multiple of AES block size */ 1137 static const struct blockcipher_test_data aes_test_data_docsis_3 = { 1138 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, 1139 .cipher_key = { 1140 .data = { 1141 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, 1142 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 1143 }, 1144 .len = 16 1145 }, 1146 .iv = { 1147 .data = { 1148 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, 1149 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 1150 }, 1151 .len = 16 1152 }, 1153 .plaintext = { 1154 .data = plaintext_aes_docsis_bpi_cbc_cfb, 1155 .len = 19 1156 }, 1157 .ciphertext = { 1158 .data = ciphertext_aes_docsis_bpi_cbc_cfb, 1159 .len = 19 1160 } 1161 }; 1162 1163 static const struct blockcipher_test_case aes_chain_test_cases[] = { 1164 { 1165 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest", 1166 .test_data = &aes_test_data_1, 1167 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1168 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1169 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1170 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1171 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1172 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1173 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1174 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1175 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1176 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1177 }, 1178 { 1179 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest " 1180 "Verify", 1181 .test_data = &aes_test_data_1, 1182 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1183 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1184 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1185 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1186 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1187 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1188 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1189 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1190 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1191 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1192 }, 1193 { 1194 .test_descr = "AES-192-CTR XCBC Encryption Digest", 1195 .test_data = &aes_test_data_2, 1196 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1197 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1198 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1199 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1200 }, 1201 { 1202 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify", 1203 .test_data = &aes_test_data_2, 1204 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1205 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1206 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1207 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1208 }, 1209 { 1210 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify " 1211 "Scatter Gather", 1212 .test_data = &aes_test_data_2, 1213 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1214 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1215 BLOCKCIPHER_TEST_FEATURE_OOP, 1216 .pmd_mask = 1217 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1218 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1219 }, 1220 { 1221 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest", 1222 .test_data = &aes_test_data_3, 1223 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1224 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1225 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1226 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1227 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1228 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1229 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1230 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1231 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1232 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1233 }, 1234 { 1235 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest " 1236 "Verify", 1237 .test_data = &aes_test_data_3, 1238 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1239 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1240 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1241 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1242 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1243 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1244 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1245 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1246 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1247 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1248 }, 1249 { 1250 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest", 1251 .test_data = &aes_test_data_4, 1252 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1253 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1254 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1255 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1256 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1257 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1258 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1259 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1260 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1261 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1262 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1263 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1264 }, 1265 { 1266 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1267 "(short buffers)", 1268 .test_data = &aes_test_data_13, 1269 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1270 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1271 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1272 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1273 }, 1274 { 1275 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1276 "Scatter Gather", 1277 .test_data = &aes_test_data_4, 1278 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1279 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1280 BLOCKCIPHER_TEST_FEATURE_OOP, 1281 .pmd_mask = 1282 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1283 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1284 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1285 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1286 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1287 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1288 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1289 }, 1290 { 1291 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1292 "Verify", 1293 .test_data = &aes_test_data_4, 1294 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1295 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1296 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1297 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1298 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1299 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1300 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1301 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1302 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1303 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1304 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1305 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1306 }, 1307 { 1308 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1309 "Verify Scatter Gather", 1310 .test_data = &aes_test_data_4, 1311 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1312 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 1313 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1314 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1315 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1316 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1317 }, 1318 { 1319 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1320 "Verify (short buffers)", 1321 .test_data = &aes_test_data_13, 1322 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1323 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1324 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1325 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1326 }, 1327 { 1328 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest", 1329 .test_data = &aes_test_data_5, 1330 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1331 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1332 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1333 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1334 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1335 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1336 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1337 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1338 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1339 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1340 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1341 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1342 }, 1343 { 1344 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest " 1345 "(short buffers)", 1346 .test_data = &aes_test_data_12, 1347 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1348 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1349 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1350 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1351 }, 1352 { 1353 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1354 "Verify", 1355 .test_data = &aes_test_data_5, 1356 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1357 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1358 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1359 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1360 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1361 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1362 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1363 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1364 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1365 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1366 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1367 }, 1368 { 1369 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " 1370 "Verify (short buffers)", 1371 .test_data = &aes_test_data_12, 1372 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1373 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1374 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1375 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1376 }, 1377 { 1378 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest", 1379 .test_data = &aes_test_data_6, 1380 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1381 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1382 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1383 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1384 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1385 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1386 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1387 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1388 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1389 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1390 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1391 }, 1392 { 1393 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest " 1394 "Sessionless", 1395 .test_data = &aes_test_data_6, 1396 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1397 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1398 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1399 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1400 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1401 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1402 }, 1403 { 1404 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest " 1405 "Scatter Gather Sessionless", 1406 .test_data = &aes_test_data_6, 1407 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1408 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS | 1409 BLOCKCIPHER_TEST_FEATURE_SG | 1410 BLOCKCIPHER_TEST_FEATURE_OOP, 1411 .pmd_mask = 1412 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1413 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1414 }, 1415 { 1416 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1417 "Verify", 1418 .test_data = &aes_test_data_6, 1419 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1420 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1421 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1422 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1423 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1424 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1425 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1426 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1427 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1428 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1429 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1430 }, 1431 { 1432 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest " 1433 "Verify Scatter Gather", 1434 .test_data = &aes_test_data_6, 1435 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1436 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1437 BLOCKCIPHER_TEST_FEATURE_OOP, 1438 .pmd_mask = 1439 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1440 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1441 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1442 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1443 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1444 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1445 }, 1446 { 1447 .test_descr = "AES-128-CBC XCBC Encryption Digest", 1448 .test_data = &aes_test_data_7, 1449 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1450 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1451 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1452 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1453 }, 1454 { 1455 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify", 1456 .test_data = &aes_test_data_7, 1457 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1458 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1459 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1460 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER 1461 }, 1462 { 1463 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1464 "OOP", 1465 .test_data = &aes_test_data_4, 1466 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1467 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1468 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1469 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1470 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1471 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1472 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1473 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1474 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1475 }, 1476 { 1477 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest " 1478 "Verify OOP", 1479 .test_data = &aes_test_data_4, 1480 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1481 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1482 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1483 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1484 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1485 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1486 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1487 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1488 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1489 }, 1490 { 1491 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest", 1492 .test_data = &aes_test_data_8, 1493 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1494 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1495 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1496 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1497 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1498 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1499 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1500 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1501 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1502 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1503 }, 1504 { 1505 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest " 1506 "Verify", 1507 .test_data = &aes_test_data_8, 1508 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1509 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1510 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1511 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1512 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1513 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1514 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1515 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1516 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1517 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1518 }, 1519 { 1520 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest", 1521 .test_data = &aes_test_data_9, 1522 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1523 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1524 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1525 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1526 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1527 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1528 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1529 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1530 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1531 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1532 }, 1533 { 1534 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest " 1535 "Verify", 1536 .test_data = &aes_test_data_9, 1537 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1538 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1539 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1540 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1541 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1542 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1543 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1544 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1545 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1546 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1547 }, 1548 { 1549 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest " 1550 "Sessionless", 1551 .test_data = &aes_test_data_4, 1552 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1553 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1554 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1555 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1556 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1557 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1558 }, 1559 { 1560 .test_descr = 1561 "AES-128-CBC HMAC-SHA1 Decryption Digest " 1562 "Verify Sessionless", 1563 .test_data = &aes_test_data_4, 1564 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1565 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1566 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | 1567 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1568 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1569 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1570 }, 1571 }; 1572 1573 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = { 1574 { 1575 .test_descr = "AES-128-CBC Encryption", 1576 .test_data = &aes_test_data_4, 1577 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1578 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1579 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1580 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1581 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1582 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1583 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1584 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1585 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1586 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1587 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 1588 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1589 }, 1590 { 1591 .test_descr = "AES-128-CBC Decryption", 1592 .test_data = &aes_test_data_4, 1593 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1594 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1595 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1596 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1597 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1598 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1599 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1600 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1601 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1602 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1603 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 1604 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1605 }, 1606 { 1607 .test_descr = "AES-192-CBC Encryption", 1608 .test_data = &aes_test_data_10, 1609 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1610 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1611 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1612 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1613 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1614 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1615 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1616 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1617 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1618 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 1619 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1620 }, 1621 { 1622 .test_descr = "AES-192-CBC Encryption Scater gather", 1623 .test_data = &aes_test_data_10, 1624 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1625 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG | 1626 BLOCKCIPHER_TEST_FEATURE_OOP, 1627 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1628 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1629 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1630 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1631 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1632 }, 1633 { 1634 .test_descr = "AES-192-CBC Decryption", 1635 .test_data = &aes_test_data_10, 1636 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1637 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1638 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1639 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1640 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1641 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1642 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1643 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1644 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1645 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 1646 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1647 }, 1648 { 1649 .test_descr = "AES-192-CBC Decryption Scatter Gather", 1650 .test_data = &aes_test_data_10, 1651 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1652 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG, 1653 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1654 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1655 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1656 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1657 }, 1658 { 1659 .test_descr = "AES-256-CBC Encryption", 1660 .test_data = &aes_test_data_11, 1661 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1662 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1663 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1664 BLOCKCIPHER_TEST_TARGET_PMD_MB | 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_MVSAM | 1670 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1671 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO | 1672 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1673 }, 1674 { 1675 .test_descr = "AES-256-CBC Decryption", 1676 .test_data = &aes_test_data_11, 1677 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1678 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1679 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1680 BLOCKCIPHER_TEST_TARGET_PMD_MB | 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_VIRTIO | 1688 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1689 }, 1690 { 1691 .test_descr = "AES-256-CBC OOP Encryption", 1692 .test_data = &aes_test_data_11, 1693 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1694 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1695 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1696 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1697 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1698 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1699 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1700 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1701 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO 1702 }, 1703 { 1704 .test_descr = "AES-256-CBC OOP Decryption", 1705 .test_data = &aes_test_data_11, 1706 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1707 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1708 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1709 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1710 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1711 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1712 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1713 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1714 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO 1715 }, 1716 { 1717 .test_descr = "AES-128-CTR Encryption", 1718 .test_data = &aes_test_data_1, 1719 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1720 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1721 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1722 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1723 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1724 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1725 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1726 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1727 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1728 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1729 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1730 }, 1731 { 1732 .test_descr = "AES-128-CTR Decryption", 1733 .test_data = &aes_test_data_1, 1734 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1735 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1736 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1737 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1738 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1739 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1740 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1741 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1742 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1743 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1744 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1745 }, 1746 { 1747 .test_descr = "AES-192-CTR Encryption", 1748 .test_data = &aes_test_data_2, 1749 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1750 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1751 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1752 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1753 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1754 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1755 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1756 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1757 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1758 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1759 }, 1760 { 1761 .test_descr = "AES-192-CTR Decryption", 1762 .test_data = &aes_test_data_2, 1763 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1764 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1765 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1766 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1767 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1768 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1769 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1770 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1771 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1772 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1773 }, 1774 { 1775 .test_descr = "AES-256-CTR Encryption", 1776 .test_data = &aes_test_data_3, 1777 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1778 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1779 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1780 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1781 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1782 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1783 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1784 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1785 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1786 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1787 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1788 }, 1789 { 1790 .test_descr = "AES-256-CTR Decryption", 1791 .test_data = &aes_test_data_3, 1792 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1793 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1794 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1795 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1796 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER | 1797 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1798 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1799 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1800 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1801 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1802 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1803 }, 1804 { 1805 .test_descr = "AES-128-CTR Encryption (12-byte IV)", 1806 .test_data = &aes_test_data_1_IV_12_bytes, 1807 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1808 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1809 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1810 }, 1811 { 1812 .test_descr = "AES-192-CTR Encryption (12-byte IV)", 1813 .test_data = &aes_test_data_2_IV_12_bytes, 1814 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1815 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1816 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1817 }, 1818 { 1819 .test_descr = "AES-256-CTR Encryption (12-byte IV)", 1820 .test_data = &aes_test_data_3_IV_12_bytes, 1821 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1822 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1823 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX 1824 } 1825 }; 1826 1827 static const struct blockcipher_test_case aes_docsis_test_cases[] = { 1828 1829 { 1830 .test_descr = "AES-DOCSIS-BPI Full Block Encryption", 1831 .test_data = &aes_test_data_docsis_1, 1832 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1833 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1834 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1835 }, 1836 { 1837 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption", 1838 .test_data = &aes_test_data_docsis_2, 1839 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1840 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1841 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1842 }, 1843 { 1844 .test_descr = "AES-DOCSIS-BPI Uneven Encryption", 1845 .test_data = &aes_test_data_docsis_3, 1846 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1847 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1848 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1849 }, 1850 { 1851 .test_descr = "AES-DOCSIS-BPI Full Block Decryption", 1852 .test_data = &aes_test_data_docsis_1, 1853 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1854 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1855 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1856 }, 1857 { 1858 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption", 1859 .test_data = &aes_test_data_docsis_2, 1860 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1861 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1862 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1863 }, 1864 { 1865 .test_descr = "AES-DOCSIS-BPI Uneven Decryption", 1866 .test_data = &aes_test_data_docsis_3, 1867 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1868 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1869 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1870 }, 1871 { 1872 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption", 1873 .test_data = &aes_test_data_docsis_1, 1874 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1875 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1876 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1877 }, 1878 { 1879 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption", 1880 .test_data = &aes_test_data_docsis_2, 1881 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1882 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1883 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1884 }, 1885 { 1886 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption", 1887 .test_data = &aes_test_data_docsis_3, 1888 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1889 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1890 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1891 }, 1892 { 1893 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption", 1894 .test_data = &aes_test_data_docsis_1, 1895 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1896 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1897 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1898 }, 1899 { 1900 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption", 1901 .test_data = &aes_test_data_docsis_2, 1902 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1903 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1904 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1905 }, 1906 { 1907 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption", 1908 .test_data = &aes_test_data_docsis_3, 1909 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1910 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1911 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT 1912 } 1913 }; 1914 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ 1915