From 09ae0ad8be55c86c8535b2f9982e1cab9579fbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Sun, 17 Jun 2001 09:11:48 +0200 Subject: [PATCH] * testsuite/Makefile.am (TS_PROGS): Added cast128 test. Rev: src/nettle/testsuite/Makefile.am:1.6 Rev: src/nettle/testsuite/cast128-test.m4:1.1 --- testsuite/Makefile.am | 3 ++- testsuite/cast128-test.m4 | 50 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 testsuite/cast128-test.m4 diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index afee947e..c3e89900 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -1,7 +1,8 @@ CFLAGS = -I$(top_srcdir) @CFLAGS@ -O0 CPPFLAGS = @CPPFLAGS@ -TS_PROGS = aes-test arcfour-test blowfish-test des-test md5-test sha1-test \ +TS_PROGS = aes-test arcfour-test blowfish-test cast128-test des-test \ + md5-test sha1-test \ serpent-test twofish-test noinst_PROGRAMS = $(TS_PROGS) diff --git a/testsuite/cast128-test.m4 b/testsuite/cast128-test.m4 new file mode 100644 index 00000000..e640cdd6 --- /dev/null +++ b/testsuite/cast128-test.m4 @@ -0,0 +1,50 @@ +#include "cast128.h" + +BEGIN_TEST + +struct cast128_ctx ctx; + +uint8_t msg[CAST128_BLOCK_SIZE]; +uint8_t cipher[CAST128_BLOCK_SIZE]; +uint8_t clear[CAST128_BLOCK_SIZE]; + +/* Test vectors from B.1. Single Plaintext-Key-Ciphertext Sets, RFC + * 2144 */ + +/* 128 bit key */ +H(msg, "01 23 45 67 89 AB CD EF"); + +cast128_set_key(&ctx, 16, H("01 23 45 67 12 34 56 78" + "23 45 67 89 34 56 78 9A")); +cast128_encrypt(&ctx, CAST128_BLOCK_SIZE, cipher, msg); +if (!MEMEQ(CAST128_BLOCK_SIZE, cipher, H("23 8B 4F E5 84 7E 44 B2"))) + FAIL; + +cast128_decrypt(&ctx, CAST128_BLOCK_SIZE, clear, cipher); +if (!MEMEQ(CAST128_BLOCK_SIZE, msg, clear)) + FAIL; + +/* 80 bit key */ +H(msg, "01 23 45 67 89 AB CD EF"); + +cast128_set_key(&ctx, 10, H("01 23 45 67 12 34 56 78 23 45")); +cast128_encrypt(&ctx, CAST128_BLOCK_SIZE, cipher, msg); +if (!MEMEQ(CAST128_BLOCK_SIZE, cipher, H("EB 6A 71 1A 2C 02 27 1B"))) + FAIL; + +cast128_decrypt(&ctx, CAST128_BLOCK_SIZE, clear, cipher); +if (!MEMEQ(CAST128_BLOCK_SIZE, msg, clear)) + FAIL; + +/* 40 bit key */ +H(msg, "01 23 45 67 89 AB CD EF"); + +cast128_set_key(&ctx, 5, H("01 23 45 67 12")); +cast128_encrypt(&ctx, CAST128_BLOCK_SIZE, cipher, msg); +if (!MEMEQ(CAST128_BLOCK_SIZE, cipher, H("7A C8 16 D1 6E 9B 30 2E"))) + FAIL; + +cast128_decrypt(&ctx, CAST128_BLOCK_SIZE, clear, cipher); +if (!MEMEQ(CAST128_BLOCK_SIZE, msg, clear)) + FAIL; + -- GitLab