From 2c371dba7bb8e842e5dc8e7c0623dc67656c3333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Tue, 31 May 2011 22:44:23 +0200 Subject: [PATCH] (test_main): Added some tests for padding of keys of length which is not a multiple of four bytes. Rev: nettle/testsuite/serpent-test.c:1.5 --- testsuite/serpent-test.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/testsuite/serpent-test.c b/testsuite/serpent-test.c index bf3b6516..6e126691 100644 --- a/testsuite/serpent-test.c +++ b/testsuite/serpent-test.c @@ -140,5 +140,44 @@ test_main(void) HL("EA024714AD5C4D84EA024714AD5C4D84"), H("3E507730776B93FDEA661235E1DD99F0")); + /* Test key padding. We use nettle_serpent256, which actually works + also with key sizes smaller than 32 bytes. */ + test_cipher(&nettle_serpent256, + HL("00112233440100000000000000000000" + "00000000000000000000000000000000"), + HL("0000000001000000 0200000003000000"), + H("C1415AC653FD7C7F D917482EE8EBFE25")); +#if 0 + /* Currrently, key sizes smaller than SERPENT_MIN_KEY_SIZE bytes + (128 bits) are not supported. */ + test_cipher(&nettle_serpent256, + HL("0011223344"), + HL("0000000001000000 0200000003000000"), + H("C1415AC653FD7C7F D917482EE8EBFE25")); +#endif + test_cipher(&nettle_serpent256, + HL("00112233445566778899aabbccddeeff" + "00010000000000000000000000000000"), + HL("0000000001000000 0200000003000000"), + H("8EB9C958EAFFDF42 009755D7B6458838")); + + test_cipher(&nettle_serpent256, + HL("00112233445566778899aabbccddeeff" + "00"), + HL("0000000001000000 0200000003000000"), + H("8EB9C958EAFFDF42 009755D7B6458838")); + + test_cipher(&nettle_serpent256, + HL("00112233445566778899aabbccddeeff" + "00112201000000000000000000000000"), + HL("0000000001000000 0200000003000000"), + H("C8A078D8212AC96D 9060E30EC5CBB5C7")); + + test_cipher(&nettle_serpent256, + HL("00112233445566778899aabbccddeeff" + "001122"), + HL("0000000001000000 0200000003000000"), + H("C8A078D8212AC96D 9060E30EC5CBB5C7")); + SUCCESS(); } -- GitLab