]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: testmgr - Add test vectors for authenc(hmac(md5),cbc(des))
authorAleksander Jan Bajkowski <olek2@wp.pl>
Sat, 7 Feb 2026 14:51:03 +0000 (15:51 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 28 Feb 2026 03:53:58 +0000 (12:53 +0900)
Test vector was generated using a software implementation and then double
checked on Mediatek MT7981 (safexcel) and NXP P2020 (talitos). Both
platforms pass self-tests.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/testmgr.c
crypto/testmgr.h

index 9f41e7b50edc4c123c5fa5f1948d985516473969..8e92971b13ecc20bc49bcdf71bc83b7335f5a5ba 100644 (file)
@@ -4079,6 +4079,13 @@ static const struct alg_test_desc alg_test_descs[] = {
                .suite = {
                        .aead = __VECS(aegis128_tv_template)
                }
+       }, {
+               .alg = "authenc(hmac(md5),cbc(des))",
+               .generic_driver = "authenc(hmac-md5-lib,cbc(des-generic))",
+               .test = alg_test_aead,
+               .suite = {
+                       .aead = __VECS(hmac_md5_des_cbc_tv_temp)
+               }
        }, {
                .alg = "authenc(hmac(md5),cbc(des3_ede))",
                .generic_driver = "authenc(hmac-md5-lib,cbc(des3_ede-generic))",
index 1c69c11c0cdb4847076c0645dde60c2a9f53f63f..94727397988a1ed4f6a614f6e181e8a7e1299d67 100644 (file)
@@ -16137,6 +16137,63 @@ static const struct aead_testvec hmac_sha512_aes_cbc_tv_temp[] = {
        },
 };
 
+static const struct aead_testvec hmac_md5_des_cbc_tv_temp[] = {
+       { /*Generated with cryptopp*/
+#ifdef __LITTLE_ENDIAN
+               .key    = "\x08\x00"            /* rta length */
+                         "\x01\x00"            /* rta type */
+#else
+               .key    = "\x00\x08"            /* rta length */
+                         "\x00\x01"            /* rta type */
+#endif
+                         "\x00\x00\x00\x08"    /* enc key length */
+                         "\x11\x22\x33\x44\x55\x66\x77\x88"
+                         "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
+                         "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
+               .klen   = 8 + 16 + 8,
+               .iv     = "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
+               .assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
+                         "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
+               .alen   = 16,
+               .ptext  = "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
+                         "\x53\x20\x63\x65\x65\x72\x73\x74"
+                         "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
+                         "\x20\x79\x65\x53\x72\x63\x74\x65"
+                         "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
+                         "\x79\x6e\x53\x20\x63\x65\x65\x72"
+                         "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
+                         "\x6e\x61\x20\x79\x65\x53\x72\x63"
+                         "\x74\x65\x20\x73\x6f\x54\x20\x6f"
+                         "\x61\x4d\x79\x6e\x53\x20\x63\x65"
+                         "\x65\x72\x73\x74\x54\x20\x6f\x6f"
+                         "\x4d\x20\x6e\x61\x20\x79\x65\x53"
+                         "\x72\x63\x74\x65\x20\x73\x6f\x54"
+                         "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
+                         "\x63\x65\x65\x72\x73\x74\x54\x20"
+                         "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
+               .plen   = 128,
+               .ctext  = "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
+                         "\x54\x31\x85\x37\xed\x6b\x01\x8d"
+                         "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
+                         "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
+                         "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
+                         "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
+                         "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
+                         "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
+                         "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
+                         "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
+                         "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
+                         "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
+                         "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
+                         "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
+                         "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
+                         "\x53\xba\xe1\x76\xe3\x82\x07\x86"
+                         "\x95\x9e\x7d\x37\x1e\x60\xaf\x7c"
+                         "\x53\x12\x61\x68\xef\xb4\x47\xa6",
+                         .clen = 128 + 16,
+       },
+};
+
 static const struct aead_testvec hmac_sha1_des_cbc_tv_temp[] = {
        { /*Generated with cryptopp*/
 #ifdef __LITTLE_ENDIAN