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