crypto: testmgr - add rfc4543(gcm(aes)) decryption test to encryption tests
authorEric Biggers <ebiggers@google.com>
Sun, 13 Jan 2019 23:32:27 +0000 (15:32 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 18 Jan 2019 10:54:36 +0000 (18:54 +0800)
One "rfc4543(gcm(aes))" decryption test vector doesn't exactly match any of the
encryption test vectors with input and result swapped.  In preparation
for removing the AEAD decryption test vectors and testing AEAD
decryption using the encryption test vectors, add this to the encryption
test vectors, so we don't lose any test coverage.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/testmgr.h

index 5d8f867..8d1c2df 100644 (file)
@@ -18454,7 +18454,35 @@ static const struct aead_testvec aes_gcm_rfc4543_enc_tv_template[] = {
                          "\xe1\x55\x10\x6a\xa8\xdc\xd6\x18"
                          "\xe4\x09\x9a\xaa",
                .rlen   = 68,
-       }
+       }, { /* nearly same as previous, but should fail */
+               .key    = "\x4c\x80\xcd\xef\xbb\x5d\x10\xda"
+                         "\x90\x6a\xc7\x3c\x36\x13\xa6\x34"
+                         "\x22\x43\x3c\x64",
+               .klen   = 20,
+               .iv     = zeroed_string,
+               .assoc  = "\x00\x00\x43\x21\x00\x00\x00\x07"
+                         "\x00\x00\x00\x00\x00\x00\x00\x00",
+               .alen   = 16,
+               .input  = "\x45\x00\x00\x30\xda\x3a\x00\x00"
+                         "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
+                         "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
+                         "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01",
+               .ilen   = 52,
+               .novrfy = 1,
+               .result = "\x45\x00\x00\x30\xda\x3a\x00\x00"
+                         "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
+                         "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
+                         "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01\xf2\xa9\xa8\x36"
+                         "\xe1\x55\x10\x6a\xa8\xdc\xd6\x18"
+                         "\x00\x00\x00\x00",
+               .rlen   = 68,
+       },
 };
 
 static const struct aead_testvec aes_gcm_rfc4543_dec_tv_template[] = {