summaryrefslogtreecommitdiff
path: root/testsuite/chacha-test.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2014-03-04 14:34:33 +0100
committerNiels Möller <nisse@lysator.liu.se>2014-03-04 14:34:33 +0100
commitf2831d4afe57bbe782e0ab09b3c0e13989c63973 (patch)
tree453d455abbd1ccea697835ba2892a6dddf8e49ca /testsuite/chacha-test.c
parent23c7a663fe4dddcd04c42e332d509d9e38b3bf37 (diff)
downloadnettle-f2831d4afe57bbe782e0ab09b3c0e13989c63973.tar.gz
Additional tests for 256-bit chacha keys.
Diffstat (limited to 'testsuite/chacha-test.c')
-rw-r--r--testsuite/chacha-test.c160
1 files changed, 159 insertions, 1 deletions
diff --git a/testsuite/chacha-test.c b/testsuite/chacha-test.c
index 154abd59..8f698da6 100644
--- a/testsuite/chacha-test.c
+++ b/testsuite/chacha-test.c
@@ -135,6 +135,34 @@ test_main(void)
test_chacha (SHEX("0000000000000000 0000000000000000"
"0000000000000000 0000000000000000"),
SHEX("0000000000000000"),
+ SHEX("3e00ef2f895f40d6 7f5bb8e81f09a5a1"
+ "2c840ec3ce9a7f3b 181be188ef711a1e"
+ "984ce172b9216f41 9f445367456d5619"
+ "314a42a3da86b001 387bfdb80e0cfe42"
+
+ /* "d2aefa0deaa5c151 bf0adb6c01f2a5ad"
+ "c0fd581259f9a2aa dcf20f8fd566a26b"
+ "5032ec38bbc5da98 ee0c6f568b872a65"
+ "a08abf251deb21bb 4b56e5d8821e68aa" */),
+ 8);
+
+ test_chacha (SHEX("0000000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0000000000000000"),
+ SHEX("9bf49a6a0755f953 811fce125f2683d5"
+ "0429c3bb49e07414 7e0089a52eae155f"
+ "0564f879d27ae3c0 2ce82834acfa8c79"
+ "3a629f2ca0de6919 610be82f411326be"
+
+ /* "0bd58841203e74fe 86fc71338ce0173d"
+ "c628ebb719bdcbcc 151585214cc089b4"
+ "42258dcda14cf111 c602b8971b8cc843"
+ "e91e46ca905151c0 2744a6b017e69316" */),
+ 12);
+
+ test_chacha (SHEX("0000000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0000000000000000"),
SHEX("76b8e0ada0f13d90 405d6ae55386bd28"
"bdd219b8a08ded1a a836efcc8b770dc7"
"da41597c5157488d 7724e03fb8d84a37"
@@ -146,7 +174,6 @@ test_main(void)
"31ed1f28510afb45 ace10a1f4b794d6f"),
20);
-
/* TC2: Single bit in key set. All zero IV */
#if 0
test_chacha (SHEX("0100000000000000 0000000000000000"),
@@ -181,6 +208,24 @@ test_main(void)
test_chacha (SHEX("0100000000000000 0000000000000000"
"0000000000000000 0000000000000000"),
SHEX("0000000000000000"),
+ SHEX("cf5ee9a0494aa961 3e05d5ed725b804b"
+ "12f4a465ee635acc 3a311de8740489ea"
+ "289d04f43c7518db 56eb4433e498a123"
+ "8cd8464d3763ddbb 9222ee3bd8fae3c8"),
+ 8);
+
+ test_chacha (SHEX("0100000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0000000000000000"),
+ SHEX("12056e595d56b0f6 eef090f0cd25a209"
+ "49248c2790525d0f 930218ff0b4ddd10"
+ "a6002239d9a454e2 9e107a7d06fefdfe"
+ "f0210feba044f9f2 9b1772c960dc29c0"),
+ 12);
+
+ test_chacha (SHEX("0100000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0000000000000000"),
SHEX("c5d30a7ce1ec1193 78c84f487d775a85"
"42f13ece238a9455 e8229e888de85bbd"
"29eb63d0a17a5b99 9b52da22be4023eb"
@@ -226,6 +271,24 @@ test_main(void)
test_chacha (SHEX("0000000000000000 0000000000000000"
"0000000000000000 0000000000000000"),
SHEX("0100000000000000"),
+ SHEX("2b8f4bb3798306ca 5130d47c4f8d4ed1"
+ "3aa0edccc1be6942 090faeeca0d7599b"
+ "7ff0fe616bb25aa0 153ad6fdc88b9549"
+ "03c22426d478b97b 22b8f9b1db00cf06"),
+ 8);
+
+ test_chacha (SHEX("0000000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0100000000000000"),
+ SHEX("64b8bdf87b828c4b 6dbaf7ef698de03d"
+ "f8b33f635714418f 9836ade59be12969"
+ "46c953a0f38ecffc 9ecb98e81d5d99a5"
+ "edfc8f9a0a45b9e4 1ef3b31f028f1d0f"),
+ 12);
+
+ test_chacha (SHEX("0000000000000000 0000000000000000"
+ "0000000000000000 0000000000000000"),
+ SHEX("0100000000000000"),
SHEX("ef3fdfd6c61578fb f5cf35bd3dd33b80"
"09631634d21e42ac 33960bd138e50d32"
"111e4caf237ee53c a8ad6426194a8854"
@@ -271,6 +334,24 @@ test_main(void)
test_chacha (SHEX("ffffffffffffffff ffffffffffffffff"
"ffffffffffffffff ffffffffffffffff"),
SHEX("ffffffffffffffff"),
+ SHEX("e163bbf8c9a739d1 8925ee8362dad2cd"
+ "c973df05225afb2a a26396f2a9849a4a"
+ "445e0547d31c1623 c537df4ba85c70a9"
+ "884a35bcbf3dfab0 77e98b0f68135f54"),
+ 8);
+
+ test_chacha (SHEX("ffffffffffffffff ffffffffffffffff"
+ "ffffffffffffffff ffffffffffffffff"),
+ SHEX("ffffffffffffffff"),
+ SHEX("04bf88dae8e47a22 8fa47b7e6379434b"
+ "a664a7d28f4dab84 e5f8b464add20c3a"
+ "caa69c5ab221a23a 57eb5f345c96f4d1"
+ "322d0a2ff7a9cd43 401cd536639a615a"),
+ 12);
+
+ test_chacha (SHEX("ffffffffffffffff ffffffffffffffff"
+ "ffffffffffffffff ffffffffffffffff"),
+ SHEX("ffffffffffffffff"),
SHEX("d9bf3f6bce6ed0b5 4254557767fb5744"
"3dd4778911b60605 5c39cc25e674b836"
"3feabc57fde54f79 0c52c8ae43240b79"
@@ -316,6 +397,24 @@ test_main(void)
test_chacha (SHEX("5555555555555555 5555555555555555"
"5555555555555555 5555555555555555"),
SHEX("5555555555555555"),
+ SHEX("7cb78214e4d3465b 6dc62cf7a1538c88"
+ "996952b4fb72cb61 05f1243ce3442e29"
+ "75a59ebcd2b2a598 290d7538491fe65b"
+ "dbfefd060d887981 20a70d049dc2677d"),
+ 8);
+
+ test_chacha (SHEX("5555555555555555 5555555555555555"
+ "5555555555555555 5555555555555555"),
+ SHEX("5555555555555555"),
+ SHEX("a600f07727ff93f3 da00dd74cc3e8bfb"
+ "5ca7302f6a0a2944 953de00450eecd40"
+ "b860f66049f2eaed 63b2ef39cc310d2c"
+ "488f5d9a241b615d c0ab70f921b91b95"),
+ 12);
+
+ test_chacha (SHEX("5555555555555555 5555555555555555"
+ "5555555555555555 5555555555555555"),
+ SHEX("5555555555555555"),
SHEX("bea9411aa453c543 4a5ae8c92862f564"
"396855a9ea6e22d6 d3b50ae1b3663311"
"a4a3606c671d605c e16c3aece8e61ea1"
@@ -361,6 +460,24 @@ test_main(void)
test_chacha (SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
SHEX("aaaaaaaaaaaaaaaa"),
+ SHEX("40f9ab86c8f9a1a0 cdc05a75e5531b61"
+ "2d71ef7f0cf9e387 df6ed6972f0aae21"
+ "311aa581f816c90e 8a99de990b6b95aa"
+ "c92450f4e1127126 67b804c99e9c6eda"),
+ 8);
+
+ test_chacha (SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
+ "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
+ SHEX("aaaaaaaaaaaaaaaa"),
+ SHEX("856505b01d3b47aa e03d6a97aa0f033a"
+ "9adcc94377babd86 08864fb3f625b6e3"
+ "14f086158f9f725d 811eeb953b7f7470"
+ "76e4c3f639fa841f ad6c9a709e621397"),
+ 12);
+
+ test_chacha (SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
+ "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
+ SHEX("aaaaaaaaaaaaaaaa"),
SHEX("9aa2a9f656efde5a a7591c5fed4b35ae"
"a2895dec7cb4543b 9e9f21f5e7bcbcf3"
"c43c748a970888f8 248393a09d43e0b7"
@@ -412,6 +529,29 @@ test_main(void)
"120e0e22f6d5f9ff a7407d4a21b695d9"),
8);
+ test_chacha (SHEX("0011223344556677 8899aabbccddeeff"
+ "ffeeddccbbaa9988 7766554433221100"),
+ SHEX("0f1e2d3c4b5a6978"),
+ SHEX("7ed12a3a63912ae9 41ba6d4c0d5e862e"
+ "568b0e5589346935 505f064b8c2698db"
+ "f7d850667d8e67be 639f3b4f6a16f92e"
+ "65ea80f6c7429445 da1fc2c1b9365040"),
+ 12);
+
+ test_chacha (SHEX("0011223344556677 8899aabbccddeeff"
+ "ffeeddccbbaa9988 7766554433221100"),
+ SHEX("0f1e2d3c4b5a6978"),
+ SHEX("9fadf409c00811d0 0431d67efbd88fba"
+ "59218d5d6708b1d6 85863fabbb0e961e"
+ "ea480fd6fb532bfd 494b215101505742"
+ "3ab60a63fe4f55f7 a212e2167ccab931"
+
+ "fbfd29cf7bc1d279 eddf25dd316bb884"
+ "3d6edee0bd1ef121 d12fa17cbc2c574c"
+ "ccab5e275167b08b d686f8a09df87ec3"
+ "ffb35361b94ebfa1 3fec0e4889d18da5"),
+ 20);
+
/* TC8: hashed string patterns */
#if 0
test_chacha(SHEX("c46ec1b18ce8a878 725a37e780dfb735"),
@@ -446,6 +586,24 @@ test_main(void)
test_chacha(SHEX("c46ec1b18ce8a878 725a37e780dfb735"
"1f68ed2e194c79fb c6aebee1a667975d"),
SHEX("1ada31d5cf688221"),
+ SHEX("838751b42d8ddd8a 3d77f48825a2ba75"
+ "2cf4047cb308a597 8ef274973be374c9"
+ "6ad848065871417b 08f034e681fe46a9"
+ "3f7d5c61d1306614 d4aaf257a7cff08b"),
+ 8);
+
+ test_chacha(SHEX("c46ec1b18ce8a878 725a37e780dfb735"
+ "1f68ed2e194c79fb c6aebee1a667975d"),
+ SHEX("1ada31d5cf688221"),
+ SHEX("1482072784bc6d06 b4e73bdc118bc010"
+ "3c7976786ca918e0 6986aa251f7e9cc1"
+ "b2749a0a16ee83b4 242d2e99b08d7c20"
+ "092b80bc466c8728 3b61b1b39d0ffbab"),
+ 12);
+
+ test_chacha(SHEX("c46ec1b18ce8a878 725a37e780dfb735"
+ "1f68ed2e194c79fb c6aebee1a667975d"),
+ SHEX("1ada31d5cf688221"),
SHEX("f63a89b75c2271f9 368816542ba52f06"
"ed49241792302b00 b5e8f80ae9a473af"
"c25b218f519af0fd d406362e8d69de7f"