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