Commit 5d667322 authored by Jarod Wilson's avatar Jarod Wilson Committed by Herbert Xu

crypto: testmgr - Add self-tests for rfc4309(ccm(aes))

Add an array of encryption and decryption + verification self-tests
for rfc4309(ccm(aes)).

Test vectors all come from sample FIPS CAVS files provided to
Red Hat by a testing lab. Unfortunately, all the published sample
vectors in RFC 3610 and NIST Special Publication 800-38C contain nonce
lengths that the kernel's rfc4309 implementation doesn't support, so
while using some public domain vectors would have been preferred, its
not possible at this time.
Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent e44a1b44
...@@ -667,6 +667,10 @@ static void do_test(int m) ...@@ -667,6 +667,10 @@ static void do_test(int m)
tcrypt_test("zlib"); tcrypt_test("zlib");
break; break;
case 45:
tcrypt_test("rfc4309(ccm(aes))");
break;
case 100: case 100:
tcrypt_test("hmac(md5)"); tcrypt_test("hmac(md5)");
break; break;
......
...@@ -1878,6 +1878,21 @@ static const struct alg_test_desc alg_test_descs[] = { ...@@ -1878,6 +1878,21 @@ static const struct alg_test_desc alg_test_descs[] = {
} }
} }
} }
}, {
.alg = "rfc4309(ccm(aes))",
.test = alg_test_aead,
.suite = {
.aead = {
.enc = {
.vecs = aes_ccm_rfc4309_enc_tv_template,
.count = AES_CCM_4309_ENC_TEST_VECTORS
},
.dec = {
.vecs = aes_ccm_rfc4309_dec_tv_template,
.count = AES_CCM_4309_DEC_TEST_VECTORS
}
}
}
}, { }, {
.alg = "rmd128", .alg = "rmd128",
.test = alg_test_hash, .test = alg_test_hash,
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment