From: Niels Möller Date: Sun, 24 Mar 2024 15:15:05 +0000 (+0100) Subject: Add another test for GCM counter wrap around, with larger message X-Git-Tag: nettle_3.10rc1~22 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=e1409c1a0241a19c531e4475f064ef2359edff25;p=thirdparty%2Fnettle.git Add another test for GCM counter wrap around, with larger message --- diff --git a/ChangeLog b/ChangeLog index 6e8e79b7..833029f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2024-03-24 Niels Möller + + * 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 * testsuite/gcm-test.c (test_main): Add a test case that triggers diff --git a/testsuite/gcm-test.c b/testsuite/gcm-test.c index 134cc979..e8228ed7 100644 --- a/testsuite/gcm-test.c +++ b/testsuite/gcm-test.c @@ -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"