crypto: testmgr - Add new test cases for Blackfin CRC crypto driver
authorSonic Zhang <sonic.zhang@analog.com>
Fri, 25 May 2012 09:54:13 +0000 (17:54 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 12 Jun 2012 08:37:17 +0000 (16:37 +0800)
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/tcrypt.c
crypto/testmgr.c
crypto/testmgr.h

index 8f147bff09800d494b9336c381d871904255a815..750cce44bad6a026460c1d64d053c0033fa63e7f 100644 (file)
@@ -1192,6 +1192,9 @@ static int do_test(int m)
        case 109:
                ret += tcrypt_test("vmac(aes)");
                break;
+       case 110:
+               ret += tcrypt_test("hmac(crc32)");
+               break;
 
        case 150:
                ret += tcrypt_test("ansi_cprng");
index 5674878ff6c18d244ec23b4f8b7815647a814c9b..eb6d20f8ec5d2c6081ca5f763a8f603363c3d919 100644 (file)
@@ -2219,6 +2219,15 @@ static const struct alg_test_desc alg_test_descs[] = {
                                .count = GHASH_TEST_VECTORS
                        }
                }
+       }, {
+               .alg = "hmac(crc32)",
+               .test = alg_test_hash,
+               .suite = {
+                       .hash = {
+                               .vecs = bfin_crc_tv_template,
+                               .count = BFIN_CRC_TEST_VECTORS
+                       }
+               }
        }, {
                .alg = "hmac(md5)",
                .test = alg_test_hash,
index 36e5a8ee0e1e8ef8d3c85e9cadbb435ecc51530d..34a9d511deefd0e74967d8d7f9c62c4ebcd37a09 100644 (file)
@@ -14858,4 +14858,94 @@ static struct hash_testvec crc32c_tv_template[] = {
        },
 };
 
+/*
+ * Blakcifn CRC test vectors
+ */
+#define BFIN_CRC_TEST_VECTORS 6
+
+static struct hash_testvec bfin_crc_tv_template[] = {
+       {
+               .psize = 0,
+               .digest = "\x00\x00\x00\x00",
+       },
+       {
+               .key = "\x87\xa9\xcb\xed",
+               .ksize = 4,
+               .psize = 0,
+               .digest = "\x87\xa9\xcb\xed",
+       },
+       {
+               .key = "\xff\xff\xff\xff",
+               .ksize = 4,
+               .plaintext = "\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\x26\x27\x28",
+               .psize = 40,
+               .digest = "\x84\x0c\x8d\xa2",
+       },
+       {
+               .key = "\xff\xff\xff\xff",
+               .ksize = 4,
+               .plaintext = "\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\x26",
+               .psize = 38,
+               .digest = "\x8c\x58\xec\xb7",
+       },
+       {
+               .key = "\xff\xff\xff\xff",
+               .ksize = 4,
+               .plaintext = "\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\x26\x27",
+               .psize = 39,
+               .digest = "\xdc\x50\x28\x7b",
+       },
+       {
+               .key = "\xff\xff\xff\xff",
+               .ksize = 4,
+               .plaintext = "\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\x26\x27\x28"
+                            "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
+                            "\x31\x32\x33\x34\x35\x36\x37\x38"
+                            "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
+                            "\x41\x42\x43\x44\x45\x46\x47\x48"
+                            "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50"
+                            "\x51\x52\x53\x54\x55\x56\x57\x58"
+                            "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
+                            "\x61\x62\x63\x64\x65\x66\x67\x68"
+                            "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
+                            "\x71\x72\x73\x74\x75\x76\x77\x78"
+                            "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
+                            "\x81\x82\x83\x84\x85\x86\x87\x88"
+                            "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
+                            "\x91\x92\x93\x94\x95\x96\x97\x98"
+                            "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0"
+                            "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
+                            "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
+                            "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
+                            "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
+                            "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8"
+                            "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
+                            "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
+                            "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
+                            "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
+                            "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
+               .psize = 240,
+               .digest = "\x10\x19\x4a\x5c",
+               .np = 2,
+               .tap = { 31, 209 }
+       },
+
+};
+
 #endif /* _CRYPTO_TESTMGR_H */