]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Add another test for GCM counter wrap around, with larger message
authorNiels Möller <nisse@lysator.liu.se>
Sun, 24 Mar 2024 15:15:05 +0000 (16:15 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 24 Mar 2024 15:15:05 +0000 (16:15 +0100)
ChangeLog
testsuite/gcm-test.c

index 6e8e79b79a3a2ede8d040aa3dee8137872983f60..833029f8e72ba90fbfa5118d260b908d0c6b7a0c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-03-24  Niels Möller  <nisse@lysator.liu.se>
+
+       * testsuite/gcm-test.c (test_main): Add a test case that triggers
+       32-bit counter wraparound for gcm_aes256, and a larger 719 byte
+       message.
+
 2024-03-20  Niels Möller  <nisse@lysator.liu.se>
 
        * testsuite/gcm-test.c (test_main): Add a test case that triggers
index 134cc9798095fdb40e37adcee7f66979c3c4177d..e8228ed7accc2593a857ee0b3c6e2d08aca64a6f 100644 (file)
@@ -378,6 +378,106 @@ test_main(void)
            SHEX("00ffffffff0000ffffff00ff"),
            SHEX("d1817d2be9ff993a4b24525855e14914"));
 
+  /* Same input, but different initial counter value, to trigger wraparound. */
+  test_aead(&nettle_gcm_aes256,
+           (nettle_hash_update_func *) gcm_aes128_set_iv_hack,
+           SHEX("6235f895fca5ebf60e921204d3a13f2e"
+                "8b32cfe744ed1359043877b0b9adb438"),
+           SHEX(""),
+           SHEX("42c1cc08486f413f2f11668b2a16f0e0"
+               "5883f0c37014c05b3fec1d253c51d203"
+               "cf59741fb285b407c66a63398a5bdecb"
+               "af0844bd6f9115e1f57a6e18bddd6150"
+               "59a997abbb0e745c00a4435404549b3b"
+               "77ecfd5ca6e87b08aee6103f3265d1fc"
+               "a41d2c31fb337ab33523f42041d4ad82"
+               "8ba4ad961c2053be0ea6f4dc78493e72"
+               "b1a9b583cb0854b7ad493aae98cea666"
+               "1030908c5583d77c8be653ded26e1821"
+               "0152d19f9dbb9c7357cc8909759b7870"
+               "ed26974db4e40ca5fa700470c6961c7d"
+               "544177a8e3b07e9682d9eca2876855f9"
+               "8f9e7343476a08369367a82ddeac41a9"
+               "5c4d73970f7068fa564d00c23b1fc8b9"
+               "781f5107e39a134eed2b2ea3f744b2e7"
+               "ab1937d9ba765ed2f25315174c6b169f"
+               "026649ca7c9105f245361ef577ad1f46"
+               "a813fb63b608996382a2edb3acdf4319"
+               "45ea7873d9b73911a3137cf83ff7ad81"
+               "482fa95c5fa0f079a4477d802026fd63"
+               "0ac77e6d7547ff76662e8a6c8135af0b"
+               "2e6a4960c110e1e15403a4090c377a15"
+               "23275b8b4ba56497ae4a50731f661c5c"
+               "03253c8d485871340eec4e551a036ae5"
+               "b6192b842a20d1ea806f960e0562c778"
+               "8779603846b425576e1663f8ad6ed742"
+               "69e188ef6ed5b49a3c786c3be5a01d22"
+               "865c743aeb2426c709fc919647874f1a"
+               "d66b2c1847c0b824a85a4a9ecb03e72a"
+               "09e64d9c6d8660f52f4869379ff2d2cb"
+               "0e5add6e8afb6afe0b63de8742798a68"
+               "51289b7aebafb82f9dd1c7459008c983"
+               "e98384cb28690969ce99460054cbd838"
+               "f9534abf31ce571533fa96043342e3c0"
+               "b7544a657a7c02e61995d00e820763f9"
+               "e12b2afc559252c9b59f232860e72051"
+               "10d3ed6d9babb8e25d9a34b3be9c64cb"
+               "78c69122409180bed7785c0e0adc08e9"
+               "6710a483987923e792daa92216b1e778"
+               "a31c6c8f357c4d372f6e0b505c34b9f9"
+               "e63d910d3295aa3d481106bb2df26388"
+               "3f7309e245563151fa5e4e62f790f9a9"
+               "7d7b1bb1c8266e66f6909a7ff257cc23"
+               "59fafaaa440401a7a478db743d8bb5"),
+           SHEX("abdf2d43d5acea0e 037296441e544e8f"
+                "d9b2fdfc434b3966 be04e88b226b9bbd"
+                "ed6c798834bf5283 30d5a386d49b5a45"
+                "2076bc49acf3d854 c15b52b15ab0008f"
+                "b28069951f2baf3a d845ead585168f25"
+                "b126ea81592fc417 3a4664cb599992dc"
+                "5e2aebeb9a7f0ce3 46d2d100295469f2"
+                "cae1f9190c3f50cd 8f2a4f19ea285453"
+                "cbb7ab12f79807e5 400020da75e12ff6"
+                "3a436705056e46bb abd17cc1e1a33b39"
+                "4df0802b60bbe8cc 3aa5627c70279019"
+                "7dca60f33e0eb11d cda293ac1cbe7454"
+                "66f1c91f205e87a0 c84f06b0d920f973"
+                "a1378dccc7950361 b7e406e557437005"
+                "72fe973681beae6d 4a6947e3776f70f3"
+                "71f9b1b3fbe70a51 2a0b9e6a6e6c7fd9"
+                "b5a3471734e55883 5edddf7fb99001cf"
+                "65fdf667c395724e 1984a0cff12a7c82"
+                "9a740788cfc85c84 10e807d7b1c5860b"
+                "5131eb7445ab198f 21a403a9284e44f0"
+                "4a1383f19c6cf199 5ff1c72c83c3a34e"
+                "f090bb8d3bc9fea0 ce70208e4effac75"
+                "d930d8c81e6ca39a 94795f27d704724e"
+                "873d43d6c4f6b080 221d892ec3a813b8"
+                "9dfbf54b81d03b92 5805df1d3a510a58"
+                "7303010c64c44fff 7fc8e5e7807ddfa0"
+                "24e93a62d5ec07ee 1e12fa6d4676e8e9"
+                "44ebbb62c61055f0 1634038b1306de00"
+                "645de12137a32634 66c482feae4d9212"
+                "5f5e8c48824d47a2 4233de2bf15f797b"
+                "aa4ac69555d2f83c 95f8b5ea6aab9c58"
+                "71efdf2d37dc48e8 045329279fb161ce"
+                "c791d786b8b13ade 934c191376dcbbd7"
+                "fca82eb907b71fe4 1d2c57e11c502933"
+                "e770d742cdfc65d0 0d8f434b76cb5808"
+                "4965dfade4c5a682 8e263fe55bd12052"
+                "835e3ed3e8387163 b77ddc5c210181da"
+                "5ec215b884d353ad 678ca70fc0251c35"
+                "e411707a9649e1bc 4ee3e3b550ee286e"
+                "9f51c98857530d88 e17b6e6dfacbe809"
+                "7e1ed9df02427c7b 59e03f823ee85f35"
+                "65066f1d8cc286b1 e1e13259769b6ebf"
+                "60ebd2d913e6d019 755f6d6811d3e606"
+                "8f42b10f2e02a646 8b0a9b7889b99b7c"
+                "1754b9ee8e03b3c2 5dcf41b71f3c64"),
+           SHEX("00ffffffff0000ff ffff00fffffffffd"), /* ctr == 2^31-3 */
+           SHEX("d64dd27c678a2827 859bd29e7ea4ae07"));
+
+
   /* Test case 7 */
   test_aead(&nettle_gcm_aes192, NULL,
            SHEX("00000000000000000000000000000000"