added SHA2 HMAC signer test vectors

This commit is contained in:
Martin Willi
2009-06-12 11:09:09 +02:00
parent 0897ff21e7
commit b59e239335
2 changed files with 101 additions and 1 deletions
@@ -34,6 +34,15 @@ TEST_VECTOR_SIGNER(sha1_hmac_s3)
TEST_VECTOR_SIGNER(sha1_hmac_s4)
TEST_VECTOR_SIGNER(sha1_hmac_s5)
TEST_VECTOR_SIGNER(sha1_hmac_s6)
TEST_VECTOR_SIGNER(sha256_hmac_s1)
TEST_VECTOR_SIGNER(sha256_hmac_s2)
TEST_VECTOR_SIGNER(sha256_hmac_s3)
TEST_VECTOR_SIGNER(sha384_hmac_s1)
TEST_VECTOR_SIGNER(sha384_hmac_s2)
TEST_VECTOR_SIGNER(sha384_hmac_s3)
TEST_VECTOR_SIGNER(sha512_hmac_s1)
TEST_VECTOR_SIGNER(sha512_hmac_s2)
TEST_VECTOR_SIGNER(sha512_hmac_s3)
TEST_VECTOR_HASHER(md5_1)
TEST_VECTOR_HASHER(md5_2)
@@ -16,7 +16,7 @@
#include <crypto/crypto_tester.h>
/**
* SHA-256, SHA384, SHA512 hmac test vectors from RFC 4231
* SHA-256, SHA384, SHA512 hmac test vectors from RFC 4868
*/
prf_test_vector_t sha256_hmac_p1 = {
.alg = PRF_HMAC_SHA2_256, .key_size = 20, .len = 8,
@@ -27,6 +27,14 @@ prf_test_vector_t sha256_hmac_p1 = {
"\x88\x1d\xc2\x00\xc9\x83\x3d\xa7\x26\xe9\x37\x6c\x2e\x32\xcf\xf7"
};
signer_test_vector_t sha256_hmac_s1 = {
.alg = AUTH_HMAC_SHA2_256_128, .len = 8,
.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",
.data = "Hi There",
.mac = "\x19\x8a\x60\x7e\xb4\x4b\xfb\xc6\x99\x03\xa0\xf1\xcf\x2b\xbd\xc5"
};
prf_test_vector_t sha384_hmac_p1 = {
.alg = PRF_HMAC_SHA2_384, .key_size = 20, .len = 8,
.key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
@@ -37,6 +45,16 @@ prf_test_vector_t sha384_hmac_p1 = {
"\xfa\xea\x9e\xa9\x07\x6e\xde\x7f\x4a\xf1\x52\xe8\xb2\xfa\x9c\xb6"
};
signer_test_vector_t sha384_hmac_s1 = {
.alg = AUTH_HMAC_SHA2_384_192, .len = 8,
.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"
"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
.data = "Hi There",
.mac = "\xb6\xa8\xd5\x63\x6f\x5c\x6a\x72\x24\xf9\x97\x7d\xcf\x7e\xe6\xc7"
"\xfb\x6d\x0c\x48\xcb\xde\xe9\x73"
};
prf_test_vector_t sha512_hmac_p1 = {
.alg = PRF_HMAC_SHA2_512, .key_size = 20, .len = 8,
.key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
@@ -48,6 +66,17 @@ prf_test_vector_t sha512_hmac_p1 = {
"\xbe\x9d\x91\x4e\xeb\x61\xf1\x70\x2e\x69\x6c\x20\x3a\x12\x68\x54"
};
signer_test_vector_t sha512_hmac_s1 = {
.alg = AUTH_HMAC_SHA2_512_256, .len = 8,
.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"
"\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",
.data = "Hi There",
.mac = "\x63\x7e\xdc\x6e\x01\xdc\xe7\xe6\x74\x2a\x99\x45\x1a\xae\x82\xdf"
"\x23\xda\x3e\x92\x43\x9e\x59\x0e\x43\xe7\x61\xb3\x3e\x91\x0f\xb8"
};
prf_test_vector_t sha256_hmac_p2 = {
.alg = PRF_HMAC_SHA2_256, .key_size = 4, .len = 28,
.key = "Jefe",
@@ -56,6 +85,13 @@ prf_test_vector_t sha256_hmac_p2 = {
"\x5a\x00\x3f\x08\x9d\x27\x39\x83\x9d\xec\x58\xb9\x64\xec\x38\x43"
};
signer_test_vector_t sha256_hmac_s2 = {
.alg = AUTH_HMAC_SHA2_256_128, .len = 28,
.key = "JefeJefeJefeJefeJefeJefeJefeJefe",
.data = "what do ya want for nothing?",
.mac = "\x16\x7f\x92\x85\x88\xc5\xcc\x2e\xef\x8e\x30\x93\xca\xa0\xe8\x7c"
};
prf_test_vector_t sha384_hmac_p2 = {
.alg = PRF_HMAC_SHA2_384, .key_size = 4, .len = 28,
.key = "Jefe",
@@ -65,6 +101,14 @@ prf_test_vector_t sha384_hmac_p2 = {
"\x8e\x22\x40\xca\x5e\x69\xe2\xc7\x8b\x32\x39\xec\xfa\xb2\x16\x49"
};
signer_test_vector_t sha384_hmac_s2 = {
.alg = AUTH_HMAC_SHA2_384_192, .len = 28,
.key = "JefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefe",
.data = "what do ya want for nothing?",
.mac = "\x2c\x73\x53\x97\x4f\x18\x42\xfd\x66\xd5\x3c\x45\x2c\xa4\x21\x22"
"\xb2\x8c\x0b\x59\x4c\xfb\x18\x4d"
};
prf_test_vector_t sha512_hmac_p2 = {
.alg = PRF_HMAC_SHA2_512, .key_size = 4, .len = 28,
.key = "Jefe",
@@ -75,6 +119,14 @@ prf_test_vector_t sha512_hmac_p2 = {
"\xca\xea\xb1\xa3\x4d\x4a\x6b\x4b\x63\x6e\x07\x0a\x38\xbc\xe7\x37"
};
signer_test_vector_t sha512_hmac_s2 = {
.alg = AUTH_HMAC_SHA2_512_256, .len = 28,
.key = "JefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefeJefe",
.data = "what do ya want for nothing?",
.mac = "\xcb\x37\x09\x17\xae\x8a\x7c\xe2\x8c\xfd\x1d\x8f\x47\x05\xd6\x14"
"\x1c\x17\x3b\x2a\x93\x62\xc1\x5d\xf2\x35\xdf\xb2\x51\xb1\x54\x54"
};
prf_test_vector_t sha256_hmac_p3 = {
.alg = PRF_HMAC_SHA2_256, .key_size = 20, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
@@ -86,6 +138,18 @@ prf_test_vector_t sha256_hmac_p3 = {
.out = "\x77\x3e\xa9\x1e\x36\x80\x0e\x46\x85\x4d\xb8\xeb\xd0\x91\x81\xa7"
"\x29\x59\x09\x8b\x3e\xf8\xc1\x22\xd9\x63\x55\x14\xce\xd5\x65\xfe"
};
signer_test_vector_t sha256_hmac_s3 = {
.alg = AUTH_HMAC_SHA2_256_128, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
.data = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd",
.mac = "\xcd\xcb\x12\x20\xd1\xec\xcc\xea\x91\xe5\x3a\xba\x30\x92\xf9\x62"
};
prf_test_vector_t sha384_hmac_p3 = {
.alg = PRF_HMAC_SHA2_384, .key_size = 20, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
@@ -99,6 +163,19 @@ prf_test_vector_t sha384_hmac_p3 = {
"\x2a\x5a\xb3\x9d\xc1\x38\x14\xb9\x4e\x3a\xb6\xe1\x01\xa3\x4f\x27"
};
signer_test_vector_t sha384_hmac_s3 = {
.alg = AUTH_HMAC_SHA2_384_192, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
.data = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd",
.mac = "\x80\x9f\x43\x9b\xe0\x02\x74\x32\x1d\x4a\x53\x86\x52\x16\x4b\x53"
"\x55\x4a\x50\x81\x84\xa0\xc3\x16"
};
prf_test_vector_t sha512_hmac_p3 = {
.alg = PRF_HMAC_SHA2_512, .key_size = 20, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
@@ -113,6 +190,20 @@ prf_test_vector_t sha512_hmac_p3 = {
"\xb9\x46\xa3\x37\xbe\xe8\x94\x26\x74\x27\x88\x59\xe1\x32\x92\xfb"
};
signer_test_vector_t sha512_hmac_s3 = {
.alg = AUTH_HMAC_SHA2_512_256, .len = 50,
.key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
.data = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
"\xdd\xdd",
.mac = "\x2e\xe7\xac\xd7\x83\x62\x4c\xa9\x39\x87\x10\xf3\xee\x05\xae\x41"
"\xb9\xf9\xb0\x51\x0c\x87\xe4\x9e\x58\x6c\xc9\xbf\x96\x17\x33\xd8"
};
prf_test_vector_t sha256_hmac_p4 = {
.alg = PRF_HMAC_SHA2_256, .key_size = 25, .len = 50,
.key = "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"