Commit 8194fd1d authored by Pascal van Leeuwen's avatar Pascal van Leeuwen Committed by Herbert Xu
Browse files

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: default avatarPascal van Leeuwen <pvanleeuwen@verimatrix.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent aa3a43e6
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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,
+56 −0
Original line number Diff line number Diff line
@@ -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