1
0
Fork 0

crypto: testmgr - Added testvectors for the hmac(sm3) ahash

Added testvectors for the hmac(sm3) ahash authentication algorithm

changes since v1 & v2:
-nothing

Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
alistair/sunxi64-5.5-dsi
Pascal van Leeuwen 2019-09-13 17:20:38 +02:00 committed by Herbert Xu
parent aa3a43e6e4
commit 8194fd1d71
2 changed files with 62 additions and 0 deletions

View File

@ -4654,6 +4654,12 @@ static const struct alg_test_desc alg_test_descs[] = {
.suite = {
.hash = __VECS(hmac_sha512_tv_template)
}
}, {
.alg = "hmac(sm3)",
.test = alg_test_hash,
.suite = {
.hash = __VECS(hmac_sm3_tv_template)
}
}, {
.alg = "hmac(streebog256)",
.test = alg_test_hash,

View File

@ -2628,6 +2628,62 @@ static const struct hash_testvec sm3_tv_template[] = {
}
};
/* Example vectors below taken from
* GM/T 0042-2015 Appendix D.3
*/
static const struct hash_testvec hmac_sm3_tv_template[] = {
{
.key = "\x01\x02\x03\x04\x05\x06\x07\x08"
"\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
"\x11\x12\x13\x14\x15\x16\x17\x18"
"\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20",
.ksize = 32,
.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
.psize = 112,
.digest = "\xca\x05\xe1\x44\xed\x05\xd1\x85"
"\x78\x40\xd1\xf3\x18\xa4\xa8\x66"
"\x9e\x55\x9f\xc8\x39\x1f\x41\x44"
"\x85\xbf\xdf\x7b\xb4\x08\x96\x3a",
}, {
.key = "\x01\x02\x03\x04\x05\x06\x07\x08"
"\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
"\x11\x12\x13\x14\x15\x16\x17\x18"
"\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
"\x21\x22\x23\x24\x25",
.ksize = 37,
.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
.psize = 50,
.digest = "\x22\x0b\xf5\x79\xde\xd5\x55\x39"
"\x3f\x01\x59\xf6\x6c\x99\x87\x78"
"\x22\xa3\xec\xf6\x10\xd1\x55\x21"
"\x54\xb4\x1d\x44\xb9\x4d\xb3\xae",
}, {
.key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
"\x0b\x0b\x0b\x0b\x0b\x0b",
.ksize = 32,
.plaintext = "Hi There",
.psize = 8,
.digest = "\xc0\xba\x18\xc6\x8b\x90\xc8\x8b"
"\xc0\x7d\xe7\x94\xbf\xc7\xd2\xc8"
"\xd1\x9e\xc3\x1e\xd8\x77\x3b\xc2"
"\xb3\x90\xc9\x60\x4e\x0b\xe1\x1e",
}, {
.key = "Jefe",
.ksize = 4,
.plaintext = "what do ya want for nothing?",
.psize = 28,
.digest = "\x2e\x87\xf1\xd1\x68\x62\xe6\xd9"
"\x64\xb5\x0a\x52\x00\xbf\x2b\x10"
"\xb7\x64\xfa\xa9\x68\x0a\x29\x6a"
"\x24\x05\xf2\x4b\xec\x39\xf8\x82",
},
};
/*
* SHA1 test vectors from from FIPS PUB 180-1
* Long vector from CAVS 5.0