summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYouquan, Song <youquan.song@intel.com>2009-11-23 13:23:04 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2009-11-23 13:23:04 +0100
commit507069c91e36786b3fa5d9515c35ed6bb0ce469b (patch)
tree75b1ddc61cf5986e78b8166a355d1827055751a2
parentcrypto: ghash-clmulni-intel - Put proper .data section in place (diff)
downloadlinux-507069c91e36786b3fa5d9515c35ed6bb0ce469b.tar.xz
linux-507069c91e36786b3fa5d9515c35ed6bb0ce469b.zip
crypto: testmgr - Add ghash algorithm test before provide to users
Add ghash algorithm test before provide it to users Signed-off-by: Youquan, Song <youquan.song@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/testmgr.c9
-rw-r--r--crypto/testmgr.h15
2 files changed, 24 insertions, 0 deletions
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 1f2357bc6424..7620bfce92f2 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1943,6 +1943,15 @@ static const struct alg_test_desc alg_test_descs[] = {
}
}
}, {
+ .alg = "ghash",
+ .test = alg_test_hash,
+ .suite = {
+ .hash = {
+ .vecs = ghash_tv_template,
+ .count = GHASH_TEST_VECTORS
+ }
+ }
+ }, {
.alg = "hmac(md5)",
.test = alg_test_hash,
.suite = {
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 9963b18983ab..fb765173d41c 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -1003,6 +1003,21 @@ static struct hash_testvec tgr128_tv_template[] = {
},
};
+#define GHASH_TEST_VECTORS 1
+
+static struct hash_testvec ghash_tv_template[] =
+{
+ {
+
+ .key = "\xdf\xa6\xbf\x4d\xed\x81\xdb\x03\xff\xca\xff\x95\xf8\x30\xf0\x61",
+ .ksize = 16,
+ .plaintext = "\x95\x2b\x2a\x56\xa5\x60\x04a\xc0\xb3\x2b\x66\x56\xa0\x5b\x40\xb6",
+ .psize = 16,
+ .digest = "\xda\x53\xeb\x0a\xd2\xc5\x5b\xb6"
+ "\x4f\xc4\x80\x2c\xc3\xfe\xda\x60",
+ },
+};
+
/*
* HMAC-MD5 test vectors from RFC2202
* (These need to be fixed to not use strlen).