1*4418919fSjohnjiang /* SPDX-License-Identifier: BSD-3-Clause 2*4418919fSjohnjiang * Copyright(c) 2016 Intel Corporation 3*4418919fSjohnjiang */ 4*4418919fSjohnjiang 5*4418919fSjohnjiang #ifndef APP_TEST_TEST_CRYPTODEV_HMAC_TEST_VECTORS_H_ 6*4418919fSjohnjiang #define APP_TEST_TEST_CRYPTODEV_HMAC_TEST_VECTORS_H_ 7*4418919fSjohnjiang 8*4418919fSjohnjiang /* *** MD5 test vectors *** */ 9*4418919fSjohnjiang 10*4418919fSjohnjiang #define MD5_DIGEST_LEN 16 11*4418919fSjohnjiang 12*4418919fSjohnjiang struct HMAC_MD5_vector { 13*4418919fSjohnjiang struct { 14*4418919fSjohnjiang uint8_t data[64]; 15*4418919fSjohnjiang uint16_t len; 16*4418919fSjohnjiang } key; 17*4418919fSjohnjiang 18*4418919fSjohnjiang struct { 19*4418919fSjohnjiang uint8_t data[1024]; 20*4418919fSjohnjiang uint16_t len; 21*4418919fSjohnjiang } plaintext; 22*4418919fSjohnjiang 23*4418919fSjohnjiang struct { 24*4418919fSjohnjiang uint8_t data[16]; 25*4418919fSjohnjiang uint16_t len; 26*4418919fSjohnjiang } auth_tag; 27*4418919fSjohnjiang }; 28*4418919fSjohnjiang 29*4418919fSjohnjiang static const struct 30*4418919fSjohnjiang HMAC_MD5_vector HMAC_MD5_test_case_1 = { 31*4418919fSjohnjiang .key = { 32*4418919fSjohnjiang .data = { 33*4418919fSjohnjiang 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 34*4418919fSjohnjiang 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD 35*4418919fSjohnjiang }, 36*4418919fSjohnjiang .len = 16 37*4418919fSjohnjiang }, 38*4418919fSjohnjiang .plaintext = { 39*4418919fSjohnjiang .data = { 40*4418919fSjohnjiang 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26, 41*4418919fSjohnjiang 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE, 42*4418919fSjohnjiang 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF, 43*4418919fSjohnjiang 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF, 44*4418919fSjohnjiang 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E, 45*4418919fSjohnjiang 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB, 46*4418919fSjohnjiang 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1, 47*4418919fSjohnjiang 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE 48*4418919fSjohnjiang }, 49*4418919fSjohnjiang .len = 64 50*4418919fSjohnjiang }, 51*4418919fSjohnjiang .auth_tag = { 52*4418919fSjohnjiang .data = { 53*4418919fSjohnjiang 0x67, 0x83, 0xE1, 0x0F, 0xB0, 0xBF, 0x33, 0x49, 54*4418919fSjohnjiang 0x22, 0x04, 0x89, 0xDF, 0x86, 0xD0, 0x5F, 0x0C 55*4418919fSjohnjiang }, 56*4418919fSjohnjiang .len = MD5_DIGEST_LEN 57*4418919fSjohnjiang } 58*4418919fSjohnjiang }; 59*4418919fSjohnjiang 60*4418919fSjohnjiang static const struct 61*4418919fSjohnjiang HMAC_MD5_vector HMAC_MD5_test_case_2 = { 62*4418919fSjohnjiang .key = { 63*4418919fSjohnjiang .data = { 64*4418919fSjohnjiang 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 65*4418919fSjohnjiang 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD, 66*4418919fSjohnjiang 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA, 67*4418919fSjohnjiang 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD 68*4418919fSjohnjiang }, 69*4418919fSjohnjiang .len = 32 70*4418919fSjohnjiang }, 71*4418919fSjohnjiang .plaintext = { 72*4418919fSjohnjiang .data = { 73*4418919fSjohnjiang 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26, 74*4418919fSjohnjiang 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE, 75*4418919fSjohnjiang 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF, 76*4418919fSjohnjiang 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF, 77*4418919fSjohnjiang 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E, 78*4418919fSjohnjiang 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB, 79*4418919fSjohnjiang 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1, 80*4418919fSjohnjiang 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE 81*4418919fSjohnjiang }, 82*4418919fSjohnjiang .len = 64 83*4418919fSjohnjiang }, 84*4418919fSjohnjiang .auth_tag = { 85*4418919fSjohnjiang .data = { 86*4418919fSjohnjiang 0x39, 0x24, 0x70, 0x7A, 0x30, 0x38, 0x1E, 0x2B, 87*4418919fSjohnjiang 0x9F, 0x6B, 0xD9, 0x3C, 0xAD, 0xC2, 0x73, 0x52 88*4418919fSjohnjiang }, 89*4418919fSjohnjiang .len = MD5_DIGEST_LEN 90*4418919fSjohnjiang } 91*4418919fSjohnjiang }; 92*4418919fSjohnjiang 93*4418919fSjohnjiang #endif /* APP_TEST_TEST_CRYPTODEV_HMAC_TEST_VECTORS_H_ */ 94