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