1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016 Intel Corporation 3 */ 4 5 #ifndef TEST_CRYPTODEV_DES_TEST_VECTORS_H_ 6 #define TEST_CRYPTODEV_DES_TEST_VECTORS_H_ 7 8 static const uint8_t plaintext_des[] = { 9 "What a lousy earth! He wondered how many people " 10 "were destitute that same night even in his own " 11 "prosperous country, how many homes were " 12 "shanties, how many husbands were drunk and " 13 "wives socked, and how many children were " 14 "bullied, abused, or abandoned. How many " 15 "families hungered for food they could not " 16 "afford to buy? How many hearts were broken? How " 17 "many suicides would take place that same night, " 18 "how many people would go insane? How many " 19 "cockroaches and landlords would triumph? How " 20 "many winners were losers, successes failures, " 21 "and rich men poor men? How many wise guys were " 22 "stupid? How many happy endings were unhappy " 23 "endings? How many honest men were liars, brave " 24 "men cowards, loyal men traitors, how many " 25 "sainted men were corrupt, how many people in " 26 "positions of trust had sold their souls to " 27 "bodyguards, how many had never had souls? How " 28 "many straight-and-narrow paths were crooked " 29 "paths? How many best families were worst " 30 "families and how many good people were bad " 31 "people? When you added them all up and then " 32 "subtracted, you might be left with only the " 33 "children, and perhaps with Albert Einstein and " 34 "an old violinist or sculptor somewhere." 35 }; 36 37 static const uint8_t ciphertext512_des128ctr[] = { 38 0x13, 0x39, 0x3B, 0xBC, 0x1D, 0xE3, 0x23, 0x09, 39 0x9B, 0x08, 0xD1, 0x09, 0x52, 0x93, 0x78, 0x29, 40 0x11, 0x21, 0xBA, 0x01, 0x15, 0xCD, 0xEC, 0xAA, 41 0x79, 0x77, 0x58, 0xAE, 0xAE, 0xBC, 0x97, 0x33, 42 0x94, 0xA9, 0x2D, 0xC0, 0x0A, 0xA9, 0xA4, 0x4B, 43 0x19, 0x07, 0x88, 0x06, 0x7E, 0x81, 0x0F, 0xB5, 44 0x60, 0xCF, 0xA7, 0xC3, 0x2A, 0x43, 0xFF, 0x16, 45 0x3A, 0x5F, 0x11, 0x2D, 0x11, 0x38, 0x37, 0x94, 46 0x2A, 0xC8, 0x3D, 0x20, 0xBB, 0x93, 0x95, 0x54, 47 0x12, 0xFF, 0x0C, 0x47, 0x89, 0x7D, 0x73, 0xD1, 48 0x2E, 0x3A, 0x80, 0x52, 0xA8, 0x92, 0x93, 0x99, 49 0x16, 0xB8, 0x12, 0x1B, 0x8B, 0xA8, 0xC1, 0x81, 50 0x95, 0x18, 0x82, 0xD6, 0x5A, 0xA7, 0xFE, 0xCF, 51 0xC4, 0xAC, 0x85, 0x91, 0x0C, 0x2F, 0x1D, 0x10, 52 0x9A, 0x65, 0x07, 0xB0, 0x2E, 0x5A, 0x2D, 0x48, 53 0x26, 0xF8, 0x17, 0x7A, 0x53, 0xD6, 0xB8, 0xDF, 54 0xB1, 0x10, 0x48, 0x7E, 0x8F, 0xBE, 0x2E, 0xA1, 55 0x0D, 0x9E, 0xA9, 0xF1, 0x3B, 0x3B, 0x33, 0xCD, 56 0xDC, 0x52, 0x7E, 0xC0, 0x0E, 0xA0, 0xD8, 0xA7, 57 0xC6, 0x34, 0x5A, 0xAA, 0x29, 0x8B, 0xA9, 0xAC, 58 0x1F, 0x78, 0xAD, 0xEE, 0x34, 0x59, 0x30, 0xFB, 59 0x2A, 0x20, 0x3D, 0x4D, 0x30, 0xA7, 0x7D, 0xD8, 60 0xA0, 0xC6, 0xA2, 0xD3, 0x9A, 0xFB, 0x50, 0x97, 61 0x4D, 0x25, 0xA2, 0x37, 0x51, 0x54, 0xB7, 0xEB, 62 0xED, 0x77, 0xDB, 0x94, 0x35, 0x8B, 0x70, 0x95, 63 0x4A, 0x00, 0xA7, 0xF1, 0x8A, 0x66, 0x0E, 0xC6, 64 0x05, 0x7B, 0x69, 0x05, 0x42, 0x03, 0x96, 0x2C, 65 0x55, 0x00, 0x1B, 0xC0, 0x19, 0x4D, 0x0D, 0x2E, 66 0xF5, 0x81, 0x11, 0x64, 0xCA, 0xBB, 0xF2, 0x0F, 67 0x9C, 0x60, 0xE2, 0xCC, 0x02, 0x6E, 0x83, 0xD5, 68 0x24, 0xF4, 0x12, 0x0E, 0x6A, 0xEA, 0x4F, 0x6C, 69 0x79, 0x69, 0x65, 0x67, 0xDB, 0xF7, 0xEA, 0x98, 70 0x5D, 0x56, 0x98, 0xB7, 0x88, 0xE7, 0x23, 0xC9, 71 0x17, 0x32, 0x92, 0x33, 0x5A, 0x0C, 0x15, 0x20, 72 0x3B, 0x1C, 0xF9, 0x0F, 0x4D, 0xD1, 0xE8, 0xE6, 73 0x9E, 0x5E, 0x24, 0x1B, 0xA4, 0xB8, 0xB9, 0xE9, 74 0x2F, 0xFC, 0x89, 0xB4, 0xB9, 0xF4, 0xA6, 0xAD, 75 0x55, 0xF4, 0xDF, 0x58, 0x63, 0x25, 0xE3, 0x41, 76 0x70, 0xDF, 0x10, 0xE7, 0x13, 0x87, 0x8D, 0xB3, 77 0x62, 0x4F, 0xF5, 0x86, 0x85, 0x8F, 0x59, 0xF0, 78 0x21, 0x0E, 0x8F, 0x11, 0xAD, 0xBF, 0xDD, 0x61, 79 0x68, 0x3F, 0x54, 0x57, 0x49, 0x38, 0xC8, 0x24, 80 0x8E, 0x0A, 0xAC, 0xCA, 0x2C, 0x36, 0x3E, 0x5F, 81 0x0A, 0xCE, 0xFD, 0x1A, 0x60, 0x63, 0x5A, 0xE6, 82 0x06, 0x64, 0xB5, 0x94, 0x3C, 0xC9, 0xAF, 0x7C, 83 0xCD, 0x49, 0x10, 0xCF, 0xAF, 0x0E, 0x2E, 0x79, 84 0x27, 0xB2, 0x67, 0x02, 0xED, 0xEE, 0x80, 0x77, 85 0x7C, 0x6D, 0x4B, 0xDB, 0xCF, 0x8D, 0x68, 0x00, 86 0x2E, 0xD9, 0xF0, 0x8E, 0x08, 0xBF, 0xA6, 0x9B, 87 0xFE, 0xA4, 0xFB, 0x19, 0x46, 0xAF, 0x1B, 0xA9, 88 0xF8, 0x22, 0x81, 0x21, 0x97, 0xFC, 0xC0, 0x8A, 89 0x26, 0x58, 0x13, 0x29, 0xB6, 0x69, 0x94, 0x4B, 90 0xAB, 0xB3, 0x88, 0x0D, 0xA9, 0x48, 0x0E, 0xE8, 91 0x70, 0xFC, 0xA1, 0x21, 0xC4, 0x2C, 0xE5, 0x99, 92 0xB4, 0xF1, 0x6F, 0xB2, 0x4B, 0x4B, 0xCD, 0x48, 93 0x15, 0x47, 0x2D, 0x72, 0x39, 0x99, 0x9D, 0x24, 94 0x0C, 0x8B, 0xDC, 0xA1, 0xEE, 0xF6, 0xF4, 0x73, 95 0xC3, 0xB8, 0x0C, 0x23, 0x0D, 0xA7, 0xC4, 0x7D, 96 0x27, 0xE2, 0x14, 0x11, 0x53, 0x19, 0xE7, 0xCA, 97 0x94, 0x4E, 0x0D, 0x2C, 0xF7, 0x36, 0x47, 0xDB, 98 0x77, 0x3C, 0x22, 0xAC, 0xBE, 0xE1, 0x06, 0x55, 99 0xE5, 0xDD, 0x8B, 0x65, 0xE8, 0xE9, 0x91, 0x52, 100 0x59, 0x97, 0xFC, 0x8C, 0xEE, 0x96, 0x22, 0x60, 101 0xEE, 0xBF, 0x82, 0xF0, 0xCA, 0x14, 0xF9, 0xD3 102 }; 103 104 static const struct blockcipher_test_data 105 triple_des128ctr_test_vector = { 106 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 107 .cipher_key = { 108 .data = { 109 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 110 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 111 }, 112 .len = 16 113 }, 114 .iv = { 115 .data = { 116 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 117 }, 118 .len = 8 119 }, 120 .plaintext = { 121 .data = plaintext_des, 122 .len = 512 123 }, 124 .ciphertext = { 125 .data = ciphertext512_des128ctr, 126 .len = 512 127 } 128 }; 129 130 static const struct blockcipher_test_data 131 triple_des128ctr_sha1_test_vector = { 132 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 133 .cipher_key = { 134 .data = { 135 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 136 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 137 }, 138 .len = 16 139 }, 140 .iv = { 141 .data = { 142 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 143 }, 144 .len = 8 145 }, 146 .plaintext = { 147 .data = plaintext_des, 148 .len = 512 149 }, 150 .ciphertext = { 151 .data = ciphertext512_des128ctr, 152 .len = 512 153 }, 154 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 155 .digest = { 156 .data = { 157 0xC3, 0x40, 0xD5, 0xD9, 0x8F, 0x8A, 0xC0, 0xF0, 158 0x46, 0x28, 0x02, 0x01, 0xB5, 0xC1, 0x87, 0x4D, 159 0xAC, 0xFE, 0x48, 0x76 160 }, 161 .len = 20 162 } 163 }; 164 165 static const struct blockcipher_test_data 166 triple_des128ctr_hmac_sha1_test_vector = { 167 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 168 .cipher_key = { 169 .data = { 170 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 171 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 172 }, 173 .len = 16 174 }, 175 .iv = { 176 .data = { 177 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 178 }, 179 .len = 8 180 }, 181 .plaintext = { 182 .data = plaintext_des, 183 .len = 512 184 }, 185 .ciphertext = { 186 .data = ciphertext512_des128ctr, 187 .len = 512 188 }, 189 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 190 .auth_key = { 191 .data = { 192 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 193 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 194 0xDE, 0xF4, 0xDE, 0xAD 195 }, 196 .len = 20 197 }, 198 .digest = { 199 .data = { 200 0xF1, 0xC1, 0xDB, 0x4D, 0xFA, 0x7F, 0x2F, 0xE5, 201 0xF8, 0x49, 0xEA, 0x1D, 0x7F, 0xCB, 0x42, 0x59, 202 0xC4, 0x1E, 0xB1, 0x18 203 }, 204 .len = 20 205 } 206 }; 207 208 static const uint8_t ciphertext512_des192ctr[] = { 209 0xFF, 0x32, 0x52, 0x97, 0x10, 0xBF, 0x0B, 0x10, 210 0x68, 0x0F, 0x4F, 0x56, 0x8B, 0x2C, 0x7B, 0x8E, 211 0x39, 0x1E, 0x1A, 0x2F, 0x83, 0xDE, 0x5E, 0x35, 212 0xC8, 0x4B, 0xDF, 0xD5, 0xBC, 0x84, 0x50, 0x1A, 213 0x02, 0xDF, 0xB3, 0x11, 0xE4, 0xDA, 0xB8, 0x0E, 214 0x47, 0xC6, 0x0C, 0x51, 0x09, 0x62, 0x9C, 0x5D, 215 0x71, 0x40, 0x49, 0xD8, 0x55, 0xBD, 0x7D, 0x90, 216 0x71, 0xC5, 0xF7, 0x07, 0x6F, 0x08, 0x71, 0x2A, 217 0xB1, 0x77, 0x9B, 0x0F, 0xA1, 0xB0, 0xD6, 0x10, 218 0xB2, 0xE5, 0x31, 0xEC, 0x21, 0x13, 0x89, 0x2A, 219 0x09, 0x7E, 0x30, 0xDB, 0xA0, 0xF0, 0xDC, 0xE4, 220 0x74, 0x64, 0x39, 0xA3, 0xB0, 0xB1, 0x80, 0x66, 221 0x52, 0xD4, 0x4E, 0xC9, 0x5A, 0x52, 0x6A, 0xC7, 222 0xB5, 0x2B, 0x61, 0xD5, 0x17, 0xD5, 0xF3, 0xCC, 223 0x41, 0x61, 0xD2, 0xA6, 0xF4, 0x51, 0x24, 0x3A, 224 0x63, 0x5D, 0x23, 0xB1, 0xF0, 0x22, 0xE7, 0x45, 225 0xFA, 0x5F, 0x7E, 0x99, 0x00, 0x11, 0x28, 0x35, 226 0xA3, 0xF4, 0x61, 0x94, 0x0E, 0x98, 0xCE, 0x35, 227 0xDD, 0x91, 0x1B, 0x0B, 0x4D, 0xEE, 0xFF, 0xFF, 228 0x0B, 0xD4, 0xDC, 0x56, 0xFC, 0x71, 0xE9, 0xEC, 229 0xE8, 0x36, 0x51, 0xF8, 0x8B, 0x6A, 0xE1, 0x8C, 230 0x2B, 0x25, 0x91, 0x91, 0x9B, 0x92, 0x76, 0xB5, 231 0x3D, 0x26, 0xA8, 0x53, 0xEA, 0x30, 0x5B, 0x4D, 232 0xDA, 0x16, 0xDA, 0x7D, 0x04, 0x88, 0xF5, 0x22, 233 0xA8, 0x0C, 0xB9, 0x41, 0xC7, 0x91, 0x64, 0x86, 234 0x99, 0x7D, 0x18, 0xB9, 0x67, 0xA2, 0x6E, 0x05, 235 0x1A, 0x82, 0x8F, 0xA2, 0xEB, 0x4D, 0x0B, 0x8C, 236 0x88, 0x2D, 0xBA, 0x77, 0x87, 0x32, 0x50, 0x3C, 237 0x4C, 0xD8, 0xD3, 0x50, 0x39, 0xFA, 0xDF, 0x48, 238 0x3E, 0x30, 0xF5, 0x76, 0x06, 0xB0, 0x1A, 0x05, 239 0x60, 0x2C, 0xD3, 0xA0, 0x63, 0x1A, 0x19, 0x2D, 240 0x6B, 0x76, 0xF2, 0x31, 0x4C, 0xA7, 0xE6, 0x5C, 241 0x1B, 0x23, 0x20, 0x41, 0x32, 0xE5, 0x83, 0x47, 242 0x04, 0xB6, 0x3E, 0xE0, 0xFD, 0x49, 0x1E, 0x1B, 243 0x75, 0x10, 0x11, 0x46, 0xE9, 0xF9, 0x96, 0x9A, 244 0xD7, 0x59, 0xFE, 0x38, 0x31, 0xFE, 0x79, 0xC4, 245 0xC8, 0x46, 0x88, 0xDE, 0x2E, 0xAE, 0x20, 0xED, 246 0x77, 0x50, 0x40, 0x38, 0x26, 0xD3, 0x35, 0xF6, 247 0x29, 0x55, 0x6A, 0x6B, 0x38, 0x69, 0xFE, 0x90, 248 0x5B, 0xA7, 0xFA, 0x6B, 0x73, 0x4F, 0xB9, 0x5D, 249 0xDC, 0x6F, 0x98, 0xC3, 0x6A, 0xC4, 0xB5, 0x09, 250 0xC5, 0x84, 0xA5, 0x6A, 0x84, 0xA4, 0xB3, 0x8A, 251 0x5F, 0xCA, 0x92, 0x64, 0x9E, 0xC3, 0x0F, 0x84, 252 0x8B, 0x2D, 0x48, 0xC6, 0x67, 0xAE, 0x07, 0xE0, 253 0x28, 0x38, 0x6D, 0xC4, 0x4D, 0x13, 0x87, 0xE0, 254 0xB2, 0x2F, 0xAA, 0xC0, 0xCF, 0x68, 0xD7, 0x9C, 255 0xB8, 0x07, 0xE4, 0x51, 0xD7, 0x75, 0x86, 0xFA, 256 0x0C, 0x50, 0x74, 0x68, 0x00, 0x64, 0x2A, 0x27, 257 0x59, 0xE9, 0x80, 0xEB, 0xC2, 0xA3, 0xFA, 0x58, 258 0xCC, 0x03, 0xE7, 0x7B, 0x66, 0x53, 0xFF, 0x90, 259 0xA0, 0x85, 0xE2, 0xF8, 0x82, 0xFE, 0xC6, 0x2B, 260 0xFF, 0x5E, 0x70, 0x85, 0x34, 0xB7, 0x22, 0x38, 261 0xDB, 0xBC, 0x15, 0x30, 0x59, 0xC1, 0x48, 0x42, 262 0xE5, 0x38, 0x8D, 0x37, 0x59, 0xDB, 0xA3, 0x20, 263 0x17, 0x36, 0x1D, 0x4B, 0xBF, 0x4E, 0xA4, 0x35, 264 0xCC, 0xFE, 0xF5, 0x7A, 0x73, 0xB4, 0x6D, 0x20, 265 0x1D, 0xC0, 0xE5, 0x21, 0x5C, 0xD2, 0x8A, 0x65, 266 0x08, 0xB6, 0x63, 0xAC, 0x9A, 0x1E, 0x3F, 0x3C, 267 0xAB, 0xB6, 0x6D, 0x34, 0xB2, 0x3A, 0x08, 0xDA, 268 0x29, 0x63, 0xD1, 0xA4, 0x83, 0x52, 0xB0, 0x63, 269 0x1B, 0x89, 0x35, 0x57, 0x59, 0x2C, 0x0F, 0x72, 270 0x72, 0xFD, 0xA0, 0xAC, 0xDB, 0xB4, 0xA3, 0xA1, 271 0x18, 0x10, 0x12, 0x97, 0x99, 0x63, 0x38, 0x98, 272 0x96, 0xB5, 0x16, 0x07, 0x4E, 0xE9, 0x2C, 0x97 273 }; 274 275 static const struct blockcipher_test_data 276 triple_des192ctr_test_vector = { 277 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 278 .cipher_key = { 279 .data = { 280 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 281 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 282 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 283 }, 284 .len = 24 285 }, 286 .iv = { 287 .data = { 288 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 289 }, 290 .len = 8 291 }, 292 .plaintext = { 293 .data = plaintext_des, 294 .len = 512 295 }, 296 .ciphertext = { 297 .data = ciphertext512_des192ctr, 298 .len = 512 299 } 300 }; 301 302 static const struct blockcipher_test_data 303 triple_des192ctr_sha1_test_vector = { 304 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 305 .cipher_key = { 306 .data = { 307 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 308 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 309 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 310 }, 311 .len = 24 312 }, 313 .iv = { 314 .data = { 315 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 316 }, 317 .len = 8 318 }, 319 .plaintext = { 320 .data = plaintext_des, 321 .len = 512 322 }, 323 .ciphertext = { 324 .data = ciphertext512_des192ctr, 325 .len = 512 326 }, 327 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 328 .digest = { 329 .data = { 330 0xEA, 0x62, 0xB9, 0xB2, 0x78, 0x6C, 0x8E, 0xDB, 331 0xA3, 0xB6, 0xFF, 0x23, 0x3A, 0x47, 0xD8, 0xC8, 332 0xED, 0x5E, 0x20, 0x1D 333 }, 334 .len = 20 335 } 336 }; 337 338 static const struct blockcipher_test_data 339 triple_des192ctr_hmac_sha1_test_vector = { 340 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR, 341 .cipher_key = { 342 .data = { 343 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 344 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 345 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 346 }, 347 .len = 24 348 }, 349 .iv = { 350 .data = { 351 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 352 }, 353 .len = 8 354 }, 355 .plaintext = { 356 .data = plaintext_des, 357 .len = 512 358 }, 359 .ciphertext = { 360 .data = ciphertext512_des192ctr, 361 .len = 512 362 }, 363 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 364 .auth_key = { 365 .data = { 366 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 367 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 368 0xDE, 0xF4, 0xDE, 0xAD 369 }, 370 .len = 20 371 }, 372 .digest = { 373 .data = { 374 0x32, 0xD5, 0x19, 0x8F, 0x79, 0x3A, 0xAA, 0x7B, 375 0x70, 0x67, 0x4E, 0x63, 0x88, 0xA3, 0x9A, 0x82, 376 0x07, 0x33, 0x12, 0x94 377 }, 378 .len = 20 379 } 380 }; 381 382 static const uint8_t ciphertext512_des128cbc[] = { 383 0x28, 0x2a, 0xff, 0x15, 0x5c, 0xdf, 0xd9, 0x6b, 384 0x54, 0xbc, 0x7b, 0xfb, 0xc5, 0x64, 0x4d, 0xdd, 385 0x3e, 0xf2, 0x9e, 0xb7, 0x53, 0x65, 0x37, 0x05, 386 0xe0, 0xdf, 0xae, 0xf7, 0xc9, 0x27, 0xe4, 0xec, 387 0x11, 0x27, 0xc2, 0x9e, 0x02, 0x4e, 0x03, 0x3b, 388 0x33, 0xf2, 0x66, 0x08, 0x24, 0x5f, 0xab, 0xc2, 389 0x7e, 0x21, 0x19, 0x5d, 0x51, 0xc3, 0xe2, 0x97, 390 0x6f, 0x2e, 0xb4, 0xaa, 0x34, 0x70, 0x88, 0x78, 391 0x4e, 0xe7, 0x3d, 0xe1, 0x9f, 0x87, 0x1c, 0x8b, 392 0xac, 0x8d, 0xa1, 0x1a, 0xcd, 0xb0, 0xf8, 0xb6, 393 0x24, 0x36, 0xe3, 0x8c, 0x07, 0xe7, 0xe4, 0x92, 394 0x13, 0x86, 0x6f, 0x13, 0xec, 0x04, 0x5c, 0xe9, 395 0xb9, 0xca, 0x45, 0x8a, 0x2c, 0x46, 0xda, 0x54, 396 0x1d, 0xb5, 0x81, 0xb1, 0xcd, 0xf3, 0x7d, 0x11, 397 0x6b, 0xb3, 0x0a, 0x45, 0xe5, 0x6e, 0x51, 0x3e, 398 0x2c, 0xac, 0x7c, 0xbc, 0xa7, 0x7e, 0x22, 0x4d, 399 0xe6, 0x02, 0xe3, 0x3f, 0x77, 0xd7, 0x73, 0x72, 400 0x0e, 0xfb, 0x42, 0x85, 0x80, 0xdf, 0xa8, 0x91, 401 0x60, 0x40, 0x48, 0xcd, 0x1b, 0xd9, 0xbf, 0x2f, 402 0xf2, 0xdf, 0xd0, 0xbd, 0x3f, 0x82, 0xce, 0x15, 403 0x9d, 0x6e, 0xc6, 0x59, 0x6f, 0x27, 0x0d, 0xf9, 404 0x26, 0xe2, 0x11, 0x29, 0x50, 0xc3, 0x0a, 0xb7, 405 0xde, 0x9d, 0xe9, 0x55, 0xa1, 0xe9, 0x01, 0x33, 406 0x56, 0x51, 0xa7, 0x3a, 0x9e, 0x63, 0xc5, 0x08, 407 0x01, 0x3b, 0x03, 0x4b, 0xc6, 0xc4, 0xa1, 0xc0, 408 0xc0, 0xd0, 0x0e, 0x48, 0xe5, 0x4c, 0x55, 0x6b, 409 0x4a, 0xc1, 0x0a, 0x24, 0x4b, 0xd0, 0x02, 0xf4, 410 0x31, 0x63, 0x11, 0xbd, 0xa6, 0x1f, 0xf4, 0xae, 411 0x23, 0x5a, 0x40, 0x7e, 0x0e, 0x4e, 0x63, 0x8b, 412 0x66, 0x3d, 0x55, 0x46, 0x6e, 0x5c, 0x76, 0xa7, 413 0x68, 0x31, 0xce, 0x5d, 0xca, 0xe2, 0xb4, 0xb0, 414 0xc1, 0x1f, 0x66, 0x18, 0x75, 0x64, 0x73, 0xa9, 415 0x9e, 0xd5, 0x0e, 0x0e, 0xf7, 0x77, 0x61, 0xf8, 416 0x89, 0xc6, 0xcf, 0x0c, 0x41, 0xd3, 0x8f, 0xfd, 417 0x22, 0x52, 0x4f, 0x94, 0x5c, 0x19, 0x11, 0x3a, 418 0xb5, 0x63, 0xe8, 0x81, 0x33, 0x13, 0x54, 0x3c, 419 0x93, 0x36, 0xb5, 0x5b, 0x51, 0xaf, 0x51, 0xa2, 420 0x08, 0xae, 0x83, 0x15, 0x77, 0x07, 0x28, 0x0d, 421 0x98, 0xe1, 0x2f, 0x69, 0x0e, 0xfb, 0x9a, 0x2e, 422 0x27, 0x27, 0xb0, 0xd5, 0xce, 0xf8, 0x16, 0x55, 423 0xfd, 0xaa, 0xd7, 0x1a, 0x1b, 0x2e, 0x4c, 0x86, 424 0x7a, 0x6a, 0x90, 0xf7, 0x0a, 0x07, 0xd3, 0x81, 425 0x4b, 0x75, 0x6a, 0x79, 0xdb, 0x63, 0x45, 0x0f, 426 0x31, 0x7e, 0xd0, 0x2a, 0x14, 0xff, 0xee, 0xcc, 427 0x97, 0x8a, 0x7d, 0x74, 0xbd, 0x9d, 0xaf, 0x00, 428 0xdb, 0x7e, 0xf3, 0xe6, 0x22, 0x76, 0x77, 0x58, 429 0xba, 0x1c, 0x06, 0x96, 0xfb, 0x6f, 0x41, 0x71, 430 0x66, 0x98, 0xae, 0x31, 0x7d, 0x29, 0x18, 0x71, 431 0x0e, 0xe4, 0x98, 0x7e, 0x59, 0x5a, 0xc9, 0x78, 432 0x9c, 0xfb, 0x6c, 0x81, 0x44, 0xb4, 0x0f, 0x5e, 433 0x18, 0x53, 0xb8, 0x6f, 0xbc, 0x3b, 0x15, 0xf0, 434 0x10, 0xdd, 0x0d, 0x4b, 0x0a, 0x36, 0x0e, 0xb4, 435 0x76, 0x0f, 0x16, 0xa7, 0x5c, 0x9d, 0xcf, 0xb0, 436 0x6d, 0x38, 0x02, 0x07, 0x05, 0xe9, 0xe9, 0x46, 437 0x08, 0xb8, 0x52, 0xd6, 0xd9, 0x4c, 0x81, 0x63, 438 0x1d, 0xe2, 0x5b, 0xd0, 0xf6, 0x5e, 0x1e, 0x81, 439 0x48, 0x08, 0x66, 0x3a, 0x85, 0xed, 0x65, 0xfe, 440 0xe8, 0x05, 0x7a, 0xe1, 0xe6, 0x12, 0xf2, 0x52, 441 0x83, 0xdd, 0x82, 0xbe, 0xf6, 0x34, 0x8a, 0x6f, 442 0xc5, 0x83, 0xcd, 0x3f, 0xbe, 0x58, 0x8b, 0x11, 443 0x78, 0xdc, 0x0c, 0x83, 0x72, 0x5d, 0x05, 0x2a, 444 0x01, 0x29, 0xee, 0x48, 0x9a, 0x67, 0x00, 0x6e, 445 0x14, 0x60, 0x2d, 0x00, 0x52, 0x87, 0x98, 0x5e, 446 0x43, 0xfe, 0xf1, 0x10, 0x14, 0xf1, 0x91, 0xcc 447 }; 448 449 450 static const uint8_t ciphertext512_des[] = { 451 0x1A, 0x46, 0xDB, 0x69, 0x43, 0x45, 0x0F, 0x2F, 452 0xDC, 0x27, 0xF9, 0x41, 0x0E, 0x01, 0x58, 0xB4, 453 0x5E, 0xCC, 0x13, 0xF5, 0x92, 0x99, 0xE4, 0xF2, 454 0xD5, 0xF9, 0x16, 0xFE, 0x0F, 0x7E, 0xDE, 0xA0, 455 0xF5, 0x32, 0xFE, 0x20, 0x67, 0x93, 0xCA, 0xE1, 456 0x8E, 0x4D, 0x72, 0xA3, 0x50, 0x72, 0x14, 0x15, 457 0x70, 0xE7, 0xAB, 0x49, 0x25, 0x88, 0x0E, 0x01, 458 0x5C, 0x52, 0x87, 0xE2, 0x27, 0xDC, 0xD4, 0xD1, 459 0x14, 0x1B, 0x08, 0x9F, 0x42, 0x48, 0x93, 0xA9, 460 0xD1, 0x2F, 0x2C, 0x69, 0x48, 0x16, 0x59, 0xCF, 461 0x8B, 0xF6, 0x8B, 0xD9, 0x34, 0xD4, 0xD7, 0xE4, 462 0xAE, 0x35, 0xFD, 0xDA, 0x73, 0xBE, 0xDC, 0x6B, 463 0x10, 0x90, 0x75, 0x2D, 0x4C, 0x14, 0x37, 0x8B, 464 0xC8, 0xC7, 0xDF, 0x6E, 0x6F, 0xED, 0xF3, 0xE3, 465 0xD3, 0x21, 0x29, 0xCD, 0x06, 0xB6, 0x5B, 0xF4, 466 0xB9, 0xBD, 0x77, 0xA2, 0xF7, 0x91, 0xF4, 0x95, 467 0xF0, 0xE0, 0x62, 0x03, 0x46, 0xAE, 0x1B, 0xEB, 468 0xE2, 0xA9, 0xCF, 0xB9, 0x0E, 0x3B, 0xB9, 0xDA, 469 0x5C, 0x1B, 0x45, 0x3F, 0xDD, 0xCC, 0xCC, 0xB3, 470 0xF0, 0xDD, 0x36, 0x26, 0x11, 0x57, 0x97, 0xA7, 471 0xF6, 0xF4, 0xE1, 0x4F, 0xBB, 0x31, 0xBB, 0x07, 472 0x4B, 0xA3, 0xB4, 0x83, 0xF9, 0x23, 0xA1, 0xCD, 473 0x8C, 0x1C, 0x76, 0x92, 0x45, 0xA5, 0xEB, 0x7D, 474 0xEB, 0x22, 0x88, 0xB1, 0x9F, 0xFB, 0xE9, 0x06, 475 0x8F, 0x67, 0xA6, 0x8A, 0xB7, 0x0B, 0xCD, 0x8F, 476 0x34, 0x40, 0x4F, 0x4F, 0xAD, 0xA0, 0xF2, 0xDC, 477 0x2C, 0x53, 0xE1, 0xCA, 0xA5, 0x7A, 0x03, 0xEF, 478 0x08, 0x00, 0xCC, 0x52, 0xA6, 0xAB, 0x56, 0xD2, 479 0xF1, 0xCD, 0xC7, 0xED, 0xBE, 0xCB, 0x78, 0x37, 480 0x4B, 0x61, 0xA9, 0xD2, 0x3C, 0x8D, 0xCC, 0xFD, 481 0x21, 0xFD, 0x0F, 0xE4, 0x4E, 0x3D, 0x6F, 0x8F, 482 0x2A, 0xEC, 0x69, 0xFA, 0x20, 0x50, 0x99, 0x35, 483 0xA1, 0xCC, 0x3B, 0xFD, 0xD6, 0xAC, 0xE9, 0xBE, 484 0x14, 0xF1, 0xBC, 0x71, 0x70, 0xFE, 0x13, 0xD1, 485 0x48, 0xCC, 0xBE, 0x7B, 0xCB, 0xC0, 0x20, 0xD9, 486 0x28, 0xD7, 0xD4, 0x0F, 0x66, 0x7A, 0x60, 0xAB, 487 0x20, 0xA9, 0x23, 0x41, 0x03, 0x34, 0xC3, 0x63, 488 0x91, 0x69, 0x02, 0xD5, 0xBC, 0x41, 0xDA, 0xA8, 489 0xD1, 0x48, 0xC9, 0x8E, 0x4F, 0xCD, 0x0F, 0x21, 490 0x5B, 0x4D, 0x5F, 0xF5, 0x1B, 0x2A, 0x44, 0x10, 491 0x16, 0xA7, 0xFD, 0xC0, 0x55, 0xE1, 0x98, 0xBB, 492 0x76, 0xB5, 0xAB, 0x39, 0x6B, 0x9B, 0xAB, 0x85, 493 0x45, 0x4B, 0x9C, 0x64, 0x7D, 0x78, 0x3F, 0x61, 494 0x22, 0xB1, 0xDE, 0x0E, 0x39, 0x2B, 0x21, 0x26, 495 0xE2, 0x1D, 0x5A, 0xD7, 0xAC, 0xDF, 0xD4, 0x12, 496 0x69, 0xD1, 0xE8, 0x9B, 0x1A, 0xCE, 0x6C, 0xA0, 497 0x3B, 0x23, 0xDC, 0x03, 0x2B, 0x97, 0x16, 0xD0, 498 0xD0, 0x46, 0x98, 0x36, 0x53, 0xCE, 0x88, 0x6E, 499 0xCA, 0x2C, 0x15, 0x0E, 0x49, 0xED, 0xBE, 0xE5, 500 0xBF, 0xBD, 0x7B, 0xC2, 0x21, 0xE1, 0x09, 0xFF, 501 0x71, 0xA8, 0xBE, 0x8F, 0xB4, 0x1D, 0x25, 0x5C, 502 0x37, 0xCA, 0x26, 0xD2, 0x1E, 0x63, 0xE1, 0x7F, 503 0x0D, 0x89, 0x10, 0xEF, 0x78, 0xB0, 0xDB, 0xD0, 504 0x72, 0x44, 0x60, 0x1D, 0xCF, 0x7C, 0x25, 0x1A, 505 0xBB, 0xC3, 0x92, 0x53, 0x8E, 0x9F, 0x27, 0xC7, 506 0xE8, 0x08, 0xFC, 0x5D, 0x50, 0x3E, 0xFC, 0xB0, 507 0x00, 0xE2, 0x48, 0xB2, 0x4B, 0xF8, 0xF2, 0xE3, 508 0xD3, 0x8B, 0x71, 0x64, 0xB8, 0xF0, 0x6E, 0x4A, 509 0x23, 0xA0, 0xA4, 0x88, 0xA4, 0x36, 0x45, 0x6B, 510 0x5A, 0xE7, 0x57, 0x65, 0xEA, 0xC9, 0xF8, 0xE8, 511 0x7A, 0x80, 0x22, 0x67, 0x1A, 0x05, 0xF2, 0x78, 512 0x81, 0x17, 0xCD, 0x87, 0xFB, 0x0D, 0x25, 0x84, 513 0x49, 0x06, 0x25, 0xCE, 0xFC, 0x38, 0x06, 0x18, 514 0x2E, 0x1D, 0xE1, 0x33, 0x97, 0xB6, 0x7E, 0xAB, 515 }; 516 517 518 static const struct blockcipher_test_data 519 triple_des128cbc_test_vector = { 520 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 521 .cipher_key = { 522 .data = { 523 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 524 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 525 }, 526 .len = 16 527 }, 528 .iv = { 529 .data = { 530 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 531 }, 532 .len = 8 533 }, 534 .plaintext = { 535 .data = plaintext_des, 536 .len = 512 537 }, 538 .ciphertext = { 539 .data = ciphertext512_des128cbc, 540 .len = 512 541 } 542 }; 543 544 static const struct blockcipher_test_data 545 triple_des128cbc_sha1_test_vector = { 546 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 547 .cipher_key = { 548 .data = { 549 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 550 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 551 }, 552 .len = 16 553 }, 554 .iv = { 555 .data = { 556 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 557 }, 558 .len = 8 559 }, 560 .plaintext = { 561 .data = plaintext_des, 562 .len = 512 563 }, 564 .ciphertext = { 565 .data = ciphertext512_des128cbc, 566 .len = 512 567 }, 568 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 569 .digest = { 570 .data = { 571 0x94, 0x45, 0x7B, 0xDF, 0xFE, 0x80, 0xB9, 0xA6, 572 0xA0, 0x7A, 0xE8, 0x93, 0x40, 0x7B, 0x85, 0x02, 573 0x1C, 0xD7, 0xE8, 0x87 574 }, 575 .len = 20 576 } 577 }; 578 579 static const struct blockcipher_test_data 580 triple_des128cbc_hmac_sha1_test_vector = { 581 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 582 .cipher_key = { 583 .data = { 584 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 585 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A 586 }, 587 .len = 16 588 }, 589 .iv = { 590 .data = { 591 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 592 }, 593 .len = 8 594 }, 595 .plaintext = { 596 .data = plaintext_des, 597 .len = 512 598 }, 599 .ciphertext = { 600 .data = ciphertext512_des128cbc, 601 .len = 512 602 }, 603 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 604 .auth_key = { 605 .data = { 606 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 607 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 608 0xDE, 0xF4, 0xDE, 0xAD 609 }, 610 .len = 20 611 }, 612 .digest = { 613 .data = { 614 0x7E, 0xBA, 0xFF, 0x86, 0x8D, 0x65, 0xCD, 0x08, 615 0x76, 0x34, 0x94, 0xE9, 0x9A, 0xCD, 0xB2, 0xBB, 616 0xBF, 0x65, 0xF5, 0x42 617 }, 618 .len = 20 619 } 620 }; 621 622 static const uint8_t ciphertext512_des192cbc[] = { 623 0xd0, 0xc9, 0xdc, 0x51, 0x29, 0x97, 0x03, 0x64, 624 0xcd, 0x22, 0xba, 0x3d, 0x2b, 0xbc, 0x21, 0x37, 625 0x7b, 0x1e, 0x29, 0x23, 0xeb, 0x51, 0x6e, 0xac, 626 0xbe, 0x5b, 0xd3, 0x67, 0xe0, 0x3f, 0xc3, 0xb5, 627 0xe3, 0x04, 0x17, 0x42, 0x2b, 0xaa, 0xdd, 0xd6, 628 0x0e, 0x69, 0xd0, 0x8f, 0x8a, 0xfc, 0xb4, 0x55, 629 0x67, 0x06, 0x51, 0xbb, 0x00, 0x57, 0xee, 0x95, 630 0x28, 0x79, 0x3f, 0xd9, 0x97, 0x2b, 0xb0, 0x02, 631 0x35, 0x08, 0xce, 0x7a, 0xc3, 0x43, 0x2c, 0x87, 632 0xaa, 0x97, 0x6a, 0xad, 0xf0, 0x26, 0xea, 0x1d, 633 0xbb, 0x08, 0xe9, 0x52, 0x11, 0xd3, 0xaf, 0x36, 634 0x17, 0x14, 0x21, 0xb2, 0xbc, 0x42, 0x51, 0x33, 635 0x27, 0x8c, 0xd8, 0x45, 0xb9, 0x76, 0xa0, 0x11, 636 0x24, 0x34, 0xde, 0x4d, 0x13, 0x67, 0x1b, 0xc3, 637 0x31, 0x12, 0x66, 0x56, 0x59, 0xd2, 0xb1, 0x8f, 638 0xec, 0x1e, 0xc0, 0x10, 0x7a, 0x86, 0xb1, 0x60, 639 0xc3, 0x01, 0xd6, 0xa8, 0x55, 0xad, 0x58, 0x63, 640 0xca, 0x68, 0xa9, 0x33, 0xe3, 0x93, 0x90, 0x7d, 641 0x8f, 0xca, 0xf8, 0x1c, 0xc2, 0x9e, 0xfb, 0xde, 642 0x9c, 0xc7, 0xf2, 0x6c, 0xff, 0xcc, 0x39, 0x17, 643 0x49, 0x33, 0x0d, 0x7c, 0xed, 0x07, 0x99, 0x91, 644 0x91, 0x6c, 0x5f, 0x3f, 0x02, 0x09, 0xdc, 0x70, 645 0xf9, 0x3b, 0x8d, 0xaa, 0xf4, 0xbc, 0x0e, 0xec, 646 0xf2, 0x26, 0xfb, 0xb2, 0x1c, 0x31, 0xae, 0xc6, 647 0x72, 0xe8, 0x0b, 0x75, 0x05, 0x57, 0x58, 0x98, 648 0x92, 0x37, 0x27, 0x8e, 0x3b, 0x0c, 0x25, 0xfb, 649 0xcf, 0x82, 0x02, 0xd5, 0x0b, 0x1f, 0x89, 0x49, 650 0xcd, 0x0f, 0xa1, 0xa7, 0x08, 0x63, 0x56, 0xa7, 651 0x1f, 0x80, 0x3a, 0xef, 0x24, 0x89, 0x57, 0x1a, 652 0x02, 0xdc, 0x2e, 0x51, 0xbd, 0x4a, 0x10, 0x23, 653 0xfc, 0x02, 0x1a, 0x3f, 0x34, 0xbf, 0x1c, 0x98, 654 0x1a, 0x40, 0x0a, 0x96, 0x8e, 0x41, 0xd5, 0x09, 655 0x55, 0x37, 0xe9, 0x25, 0x11, 0x83, 0xf8, 0xf3, 656 0xd4, 0xb0, 0xdb, 0x16, 0xd7, 0x51, 0x7e, 0x94, 657 0xf7, 0xb4, 0x26, 0xe0, 0xf4, 0x80, 0x01, 0x65, 658 0x51, 0xeb, 0xbc, 0xb0, 0x65, 0x8f, 0xdd, 0xb5, 659 0xf7, 0x00, 0xec, 0x40, 0xab, 0x7d, 0x96, 0xcc, 660 0x8d, 0xec, 0x89, 0x80, 0x31, 0x39, 0xa2, 0x5c, 661 0xb0, 0x55, 0x4c, 0xee, 0xdd, 0x15, 0x2b, 0xa9, 662 0x86, 0x4e, 0x23, 0x14, 0x36, 0xc5, 0x57, 0xf5, 663 0xe3, 0xe8, 0x89, 0xc9, 0xb7, 0xf8, 0xeb, 0x08, 664 0xe5, 0x93, 0x12, 0x5c, 0x0f, 0x79, 0xa1, 0x86, 665 0xe4, 0xc2, 0xeb, 0xa6, 0xa0, 0x50, 0x6a, 0xec, 666 0xd3, 0xce, 0x50, 0x78, 0x4e, 0x4f, 0x93, 0xd8, 667 0xdc, 0xb4, 0xec, 0x02, 0xe9, 0xbd, 0x17, 0x99, 668 0x1e, 0x16, 0x4e, 0xd7, 0xb0, 0x07, 0x02, 0x55, 669 0x63, 0x24, 0x4f, 0x7b, 0x8f, 0xc5, 0x7a, 0x12, 670 0x29, 0xff, 0x5d, 0xc1, 0xe7, 0xae, 0x48, 0xc8, 671 0x57, 0x53, 0xe7, 0xcd, 0x10, 0x6c, 0x19, 0xfc, 672 0xcc, 0xb9, 0xb1, 0xbe, 0x48, 0x9f, 0x2d, 0x3f, 673 0x39, 0x2e, 0xdd, 0x71, 0xde, 0x1b, 0x54, 0xee, 674 0x7d, 0x94, 0x8f, 0x27, 0x23, 0xe9, 0x74, 0x92, 675 0x14, 0x93, 0x84, 0x65, 0xc9, 0x22, 0x7c, 0xa8, 676 0x1b, 0x72, 0x73, 0xb1, 0x23, 0xa0, 0x6b, 0xcc, 677 0xb5, 0x22, 0x06, 0x15, 0xe5, 0x96, 0x03, 0x4a, 678 0x52, 0x8d, 0x1d, 0xbf, 0x3e, 0x82, 0x45, 0x9c, 679 0x75, 0x9e, 0xa9, 0x3a, 0x97, 0xb6, 0x5d, 0xc4, 680 0x75, 0x67, 0xa1, 0xf3, 0x0f, 0x7a, 0xfd, 0x71, 681 0x58, 0x04, 0xf9, 0xa7, 0xc2, 0x56, 0x74, 0x04, 682 0x74, 0x68, 0x6d, 0x8a, 0xf6, 0x6c, 0x5d, 0xd8, 683 0xb5, 0xed, 0x70, 0x23, 0x32, 0x4d, 0x75, 0x92, 684 0x88, 0x7b, 0x39, 0x37, 0x02, 0x4b, 0xb2, 0x1c, 685 0x1f, 0x7e, 0x5b, 0x1b, 0x10, 0xfc, 0x17, 0x21, 686 0x66, 0x62, 0x63, 0xc2, 0xcd, 0x16, 0x96, 0x3e 687 }; 688 689 static const struct blockcipher_test_data 690 triple_des192cbc_test_vector = { 691 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 692 .cipher_key = { 693 .data = { 694 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 695 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 696 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 697 }, 698 .len = 24 699 }, 700 .iv = { 701 .data = { 702 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 703 }, 704 .len = 8 705 }, 706 .plaintext = { 707 .data = plaintext_des, 708 .len = 512 709 }, 710 .ciphertext = { 711 .data = ciphertext512_des192cbc, 712 .len = 512 713 } 714 }; 715 716 static const struct blockcipher_test_data 717 triple_des192cbc_sha1_test_vector = { 718 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 719 .cipher_key = { 720 .data = { 721 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 722 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 723 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 724 }, 725 .len = 24 726 }, 727 .iv = { 728 .data = { 729 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 730 }, 731 .len = 8 732 }, 733 .plaintext = { 734 .data = plaintext_des, 735 .len = 512 736 }, 737 .ciphertext = { 738 .data = ciphertext512_des192cbc, 739 .len = 512 740 }, 741 .auth_algo = RTE_CRYPTO_AUTH_SHA1, 742 .digest = { 743 .data = { 744 0x53, 0x27, 0xC0, 0xE6, 0xD6, 0x1B, 0xD6, 0x45, 745 0x94, 0x2D, 0xCE, 0x8B, 0x29, 0xA3, 0x52, 0x14, 746 0xC1, 0x6B, 0x87, 0x99 747 }, 748 .len = 20 749 } 750 }; 751 752 static const struct blockcipher_test_data 753 triple_des192cbc_hmac_sha1_test_vector = { 754 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 755 .cipher_key = { 756 .data = { 757 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 758 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, 759 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0 760 }, 761 .len = 24 762 }, 763 .iv = { 764 .data = { 765 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 766 }, 767 .len = 8 768 }, 769 .plaintext = { 770 .data = plaintext_des, 771 .len = 512 772 }, 773 .ciphertext = { 774 .data = ciphertext512_des192cbc, 775 .len = 512 776 }, 777 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC, 778 .auth_key = { 779 .data = { 780 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 781 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 782 0xDE, 0xF4, 0xDE, 0xAD 783 }, 784 .len = 20 785 }, 786 .digest = { 787 .data = { 788 0xBA, 0xAC, 0x74, 0x19, 0x43, 0xB0, 0x72, 0xB8, 789 0x08, 0xF5, 0x24, 0xC4, 0x09, 0xBD, 0x48, 0xC1, 790 0x3C, 0x50, 0x1C, 0xDD 791 }, 792 .len = 20 793 } 794 }; 795 static const struct blockcipher_test_data 796 triple_des64cbc_test_vector = { 797 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC, 798 .cipher_key = { 799 .data = { 800 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2 801 }, 802 .len = 8 803 }, 804 .iv = { 805 .data = { 806 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 807 }, 808 .len = 8 809 }, 810 .plaintext = { 811 .data = plaintext_des, 812 .len = 512 813 }, 814 .ciphertext = { 815 .data = ciphertext512_des, 816 .len = 512 817 }, 818 }; 819 820 static const struct blockcipher_test_data 821 des_cbc_test_vector = { 822 .crypto_algo = RTE_CRYPTO_CIPHER_DES_CBC, 823 .cipher_key = { 824 .data = { 825 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2 826 }, 827 .len = 8 828 }, 829 .iv = { 830 .data = { 831 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 832 }, 833 .len = 8 834 }, 835 .plaintext = { 836 .data = plaintext_des, 837 .len = 512 838 }, 839 .ciphertext = { 840 .data = ciphertext512_des, 841 .len = 512 842 }, 843 }; 844 845 static const struct blockcipher_test_case des_cipheronly_test_cases[] = { 846 { 847 .test_descr = "DES-CBC Encryption", 848 .test_data = &des_cbc_test_vector, 849 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 850 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 851 BLOCKCIPHER_TEST_TARGET_PMD_MB | 852 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 853 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM 854 }, 855 { 856 .test_descr = "DES-CBC Decryption", 857 .test_data = &des_cbc_test_vector, 858 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 859 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | 860 BLOCKCIPHER_TEST_TARGET_PMD_MB | 861 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 862 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM 863 }, 864 865 }; 866 867 /* DES-DOCSIS-BPI test vectors */ 868 869 static const uint8_t plaintext_des_docsis_bpi_cfb[] = { 870 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E 871 }; 872 873 static const uint8_t ciphertext_des_docsis_bpi_cfb[] = { 874 0x17, 0x86, 0xA8, 0x03, 0xA0, 0x85, 0x75 875 }; 876 877 static const uint8_t plaintext_des_docsis_bpi_cbc_cfb[] = { 878 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 879 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91, 880 0xD2, 0xD1, 0x9F 881 }; 882 883 static const uint8_t ciphertext_des_docsis_bpi_cbc_cfb[] = { 884 0x0D, 0xDA, 0x5A, 0xCB, 0xD0, 0x5E, 0x55, 0x67, 885 0x51, 0x47, 0x46, 0x86, 0x8A, 0x71, 0xE5, 0x77, 886 0xEF, 0xAC, 0x88 887 }; 888 889 /* Multiple of DES block size */ 890 static const struct blockcipher_test_data des_test_data_1 = { 891 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI, 892 .cipher_key = { 893 .data = { 894 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2 895 }, 896 .len = 8 897 }, 898 .iv = { 899 .data = { 900 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 901 }, 902 .len = 8 903 }, 904 .plaintext = { 905 .data = plaintext_des, 906 .len = 512 907 }, 908 .ciphertext = { 909 .data = ciphertext512_des, 910 .len = 512 911 }, 912 }; 913 914 /* Less than DES block size */ 915 static const struct blockcipher_test_data des_test_data_2 = { 916 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI, 917 .cipher_key = { 918 .data = { 919 920 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 921 }, 922 .len = 8 923 }, 924 .iv = { 925 .data = { 926 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 927 }, 928 .len = 8 929 }, 930 .plaintext = { 931 .data = plaintext_des_docsis_bpi_cfb, 932 .len = 7 933 }, 934 .ciphertext = { 935 .data = ciphertext_des_docsis_bpi_cfb, 936 .len = 7 937 } 938 }; 939 940 /* Not multiple of DES block size */ 941 static const struct blockcipher_test_data des_test_data_3 = { 942 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI, 943 .cipher_key = { 944 .data = { 945 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB 946 }, 947 .len = 8 948 }, 949 .iv = { 950 .data = { 951 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A 952 }, 953 .len = 8 954 }, 955 .plaintext = { 956 .data = plaintext_des_docsis_bpi_cbc_cfb, 957 .len = 19 958 }, 959 .ciphertext = { 960 .data = ciphertext_des_docsis_bpi_cbc_cfb, 961 .len = 19 962 } 963 }; 964 static const struct blockcipher_test_case des_docsis_test_cases[] = { 965 { 966 .test_descr = "DES-DOCSIS-BPI Full Block Encryption", 967 .test_data = &des_test_data_1, 968 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 969 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 970 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 971 BLOCKCIPHER_TEST_TARGET_PMD_MB 972 }, 973 { 974 .test_descr = "DES-DOCSIS-BPI Runt Block Encryption", 975 .test_data = &des_test_data_2, 976 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 977 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 978 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 979 BLOCKCIPHER_TEST_TARGET_PMD_MB 980 }, 981 { 982 .test_descr = "DES-DOCSIS-BPI Uneven Encryption", 983 .test_data = &des_test_data_3, 984 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 985 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 986 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 987 BLOCKCIPHER_TEST_TARGET_PMD_MB 988 }, 989 { 990 .test_descr = "DES-DOCSIS-BPI Full Block Decryption", 991 .test_data = &des_test_data_1, 992 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 993 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 994 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 995 BLOCKCIPHER_TEST_TARGET_PMD_MB 996 }, 997 { 998 .test_descr = "DES-DOCSIS-BPI Runt Block Decryption", 999 .test_data = &des_test_data_2, 1000 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1001 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1002 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1003 BLOCKCIPHER_TEST_TARGET_PMD_MB 1004 }, 1005 { 1006 .test_descr = "DES-DOCSIS-BPI Uneven Decryption", 1007 .test_data = &des_test_data_3, 1008 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1009 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1010 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1011 BLOCKCIPHER_TEST_TARGET_PMD_MB 1012 }, 1013 { 1014 .test_descr = "DES-DOCSIS-BPI OOP Full Block Encryption", 1015 .test_data = &des_test_data_1, 1016 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1017 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1018 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1019 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1020 BLOCKCIPHER_TEST_TARGET_PMD_MB 1021 }, 1022 { 1023 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Encryption", 1024 .test_data = &des_test_data_2, 1025 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1026 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1027 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1028 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1029 BLOCKCIPHER_TEST_TARGET_PMD_MB 1030 }, 1031 { 1032 .test_descr = "DES-DOCSIS-BPI OOP Uneven Encryption", 1033 .test_data = &des_test_data_3, 1034 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1035 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1036 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1037 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1038 BLOCKCIPHER_TEST_TARGET_PMD_MB 1039 }, 1040 { 1041 .test_descr = "DES-DOCSIS-BPI OOP Full Block Decryption", 1042 .test_data = &des_test_data_1, 1043 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1044 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1045 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1046 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1047 BLOCKCIPHER_TEST_TARGET_PMD_MB 1048 }, 1049 { 1050 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Decryption", 1051 .test_data = &des_test_data_2, 1052 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1053 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1054 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1055 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1056 BLOCKCIPHER_TEST_TARGET_PMD_MB 1057 }, 1058 { 1059 .test_descr = "DES-DOCSIS-BPI OOP Uneven Decryption", 1060 .test_data = &des_test_data_3, 1061 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1062 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1063 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1064 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1065 BLOCKCIPHER_TEST_TARGET_PMD_MB 1066 } 1067 }; 1068 1069 static const struct blockcipher_test_case triple_des_chain_test_cases[] = { 1070 { 1071 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest", 1072 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1073 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1074 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1075 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1076 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1077 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1078 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1079 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1080 }, 1081 { 1082 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest Verify", 1083 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1084 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1085 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1086 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1087 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1088 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1089 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1090 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1091 }, 1092 { 1093 .test_descr = "3DES-128-CBC SHA1 Encryption Digest", 1094 .test_data = &triple_des128cbc_sha1_test_vector, 1095 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1096 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1097 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1098 }, 1099 { 1100 .test_descr = "3DES-128-CBC SHA1 Decryption Digest Verify", 1101 .test_data = &triple_des128cbc_sha1_test_vector, 1102 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1103 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1104 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1105 }, 1106 { 1107 .test_descr = "3DES-192-CBC HMAC-SHA1 Encryption Digest", 1108 .test_data = &triple_des192cbc_hmac_sha1_test_vector, 1109 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1110 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1111 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1112 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1113 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1114 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1115 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1116 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1117 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1118 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 1119 }, 1120 { 1121 .test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify", 1122 .test_data = &triple_des192cbc_hmac_sha1_test_vector, 1123 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1124 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1125 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1126 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1127 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1128 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1129 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1130 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1131 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1132 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 1133 }, 1134 { 1135 .test_descr = "3DES-192-CBC SHA1 Encryption Digest", 1136 .test_data = &triple_des192cbc_sha1_test_vector, 1137 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1138 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1139 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1140 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1141 }, 1142 { 1143 .test_descr = "3DES-192-CBC SHA1 Decryption Digest Verify", 1144 .test_data = &triple_des192cbc_sha1_test_vector, 1145 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1146 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1147 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1148 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1149 }, 1150 { 1151 .test_descr = "3DES-128-CTR HMAC-SHA1 Encryption Digest", 1152 .test_data = &triple_des128ctr_hmac_sha1_test_vector, 1153 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1154 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1155 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1156 }, 1157 { 1158 .test_descr = "3DES-128-CTR HMAC-SHA1 Decryption Digest Verify", 1159 .test_data = &triple_des128ctr_hmac_sha1_test_vector, 1160 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1161 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1162 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1163 }, 1164 { 1165 .test_descr = "3DES-128-CTR SHA1 Encryption Digest", 1166 .test_data = &triple_des128ctr_sha1_test_vector, 1167 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1168 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL 1169 }, 1170 { 1171 .test_descr = "3DES-128-CTR SHA1 Decryption Digest Verify", 1172 .test_data = &triple_des128ctr_sha1_test_vector, 1173 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1174 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL 1175 }, 1176 { 1177 .test_descr = "3DES-192-CTR HMAC-SHA1 Encryption Digest", 1178 .test_data = &triple_des192ctr_hmac_sha1_test_vector, 1179 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1180 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1181 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1182 }, 1183 { 1184 .test_descr = "3DES-192-CTR HMAC-SHA1 Decryption Digest Verify", 1185 .test_data = &triple_des192ctr_hmac_sha1_test_vector, 1186 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1187 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1188 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1189 }, 1190 { 1191 .test_descr = "3DES-192-CTR SHA1 Encryption Digest", 1192 .test_data = &triple_des192ctr_sha1_test_vector, 1193 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1194 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL 1195 }, 1196 { 1197 .test_descr = "3DES-192-CTR SHA1 Decryption Digest Verify", 1198 .test_data = &triple_des192ctr_sha1_test_vector, 1199 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1200 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL 1201 }, 1202 { 1203 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest OOP", 1204 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1205 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1206 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1207 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1208 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1209 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1210 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1211 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1212 BLOCKCIPHER_TEST_TARGET_PMD_MB 1213 }, 1214 { 1215 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest" 1216 " Verify OOP", 1217 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1218 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1219 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, 1220 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1221 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1222 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1223 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1224 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1225 BLOCKCIPHER_TEST_TARGET_PMD_MB 1226 }, 1227 { 1228 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest" 1229 " Sessionless", 1230 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1231 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, 1232 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1233 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1234 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1235 }, 1236 { 1237 .test_descr = 1238 "3DES-128-CBC HMAC-SHA1 Decryption Digest" 1239 " Verify Sessionless", 1240 .test_data = &triple_des128cbc_hmac_sha1_test_vector, 1241 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, 1242 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS, 1243 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1244 BLOCKCIPHER_TEST_TARGET_PMD_CCP 1245 }, 1246 }; 1247 1248 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = { 1249 { 1250 .test_descr = "3DES-64-CBC Encryption", 1251 .test_data = &triple_des64cbc_test_vector, 1252 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1253 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1254 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1255 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1256 }, 1257 { 1258 .test_descr = "3DES-64-CBC Decryption", 1259 .test_data = &triple_des64cbc_test_vector, 1260 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1261 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB | 1262 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1263 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1264 }, 1265 { 1266 .test_descr = "3DES-128-CBC Encryption", 1267 .test_data = &triple_des128cbc_test_vector, 1268 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1269 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1270 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1271 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1272 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1273 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1274 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1275 BLOCKCIPHER_TEST_TARGET_PMD_MB 1276 }, 1277 { 1278 .test_descr = "3DES-128-CBC Decryption", 1279 .test_data = &triple_des128cbc_test_vector, 1280 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1281 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1282 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1283 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1284 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1285 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1286 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1287 BLOCKCIPHER_TEST_TARGET_PMD_MB 1288 }, 1289 { 1290 .test_descr = "3DES-192-CBC Encryption", 1291 .test_data = &triple_des192cbc_test_vector, 1292 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1293 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1294 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1295 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1296 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1297 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1298 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1299 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1300 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1301 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1302 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 1303 }, 1304 { 1305 .test_descr = "3DES-192-CBC Decryption", 1306 .test_data = &triple_des192cbc_test_vector, 1307 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1308 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1309 BLOCKCIPHER_TEST_TARGET_PMD_QAT | 1310 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC | 1311 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | 1312 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | 1313 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | 1314 BLOCKCIPHER_TEST_TARGET_PMD_CCP | 1315 BLOCKCIPHER_TEST_TARGET_PMD_MB | 1316 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | 1317 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 1318 }, 1319 { 1320 .test_descr = "3DES-128-CTR Encryption", 1321 .test_data = &triple_des128ctr_test_vector, 1322 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1323 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1324 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1325 }, 1326 { 1327 .test_descr = "3DES-128-CTR Decryption", 1328 .test_data = &triple_des128ctr_test_vector, 1329 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1330 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1331 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1332 }, 1333 { 1334 .test_descr = "3DES-192-CTR Encryption", 1335 .test_data = &triple_des192ctr_test_vector, 1336 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, 1337 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1338 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1339 }, 1340 { 1341 .test_descr = "3DES-192-CTR Decryption", 1342 .test_data = &triple_des192ctr_test_vector, 1343 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, 1344 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL | 1345 BLOCKCIPHER_TEST_TARGET_PMD_QAT 1346 } 1347 }; 1348 1349 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */ 1350