summaryrefslogtreecommitdiff
path: root/testsuite/des-test.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2002-01-12 15:23:14 +0100
committerNiels Möller <nisse@lysator.liu.se>2002-01-12 15:23:14 +0100
commit9d4b4dfe7cb75f6f139f1dce5c8f300f118711bd (patch)
tree1096ee1448706e262fd1d9f4b410d5c9c5393b9b /testsuite/des-test.c
parent7699f2d5609387e16461b46ad7687685e0d9a43b (diff)
downloadnettle-9d4b4dfe7cb75f6f139f1dce5c8f300f118711bd.tar.gz
Don't use m4 for geneerating test programs, it's way overkill. Use
the C preprocessor instead. * testsuite/*-test.c: New file. Rev: src/nettle/testsuite/.cvsignore:1.12 Rev: src/nettle/testsuite/Makefile.am:1.17 Rev: src/nettle/testsuite/aes-test.c:1.1 Rev: src/nettle/testsuite/aes-test.m4:1.4(DEAD) Rev: src/nettle/testsuite/arcfour-test.c:1.1 Rev: src/nettle/testsuite/arcfour-test.m4:1.2(DEAD) Rev: src/nettle/testsuite/bignum-test.c:1.1 Rev: src/nettle/testsuite/bignum-test.m4:1.2(DEAD) Rev: src/nettle/testsuite/blowfish-test.c:1.1 Rev: src/nettle/testsuite/blowfish-test.m4:1.5(DEAD) Rev: src/nettle/testsuite/cast128-test.c:1.1 Rev: src/nettle/testsuite/cast128-test.m4:1.2(DEAD) Rev: src/nettle/testsuite/cbc-test.c:1.1 Rev: src/nettle/testsuite/cbc-test.m4:1.3(DEAD) Rev: src/nettle/testsuite/des-test.c:1.1 Rev: src/nettle/testsuite/des-test.m4:1.3(DEAD) Rev: src/nettle/testsuite/des3-test.c:1.1 Rev: src/nettle/testsuite/des3-test.m4:1.3(DEAD) Rev: src/nettle/testsuite/macros.m4:1.3(DEAD) Rev: src/nettle/testsuite/md5-compat-test.c:1.1 Rev: src/nettle/testsuite/md5-compat-test.m4:1.2(DEAD) Rev: src/nettle/testsuite/md5-test.c:1.1 Rev: src/nettle/testsuite/md5-test.m4:1.4(DEAD) Rev: src/nettle/testsuite/serpent-test.c:1.1 Rev: src/nettle/testsuite/serpent-test.m4:1.3(DEAD) Rev: src/nettle/testsuite/sha1-test.c:1.1 Rev: src/nettle/testsuite/sha1-test.m4:1.4(DEAD) Rev: src/nettle/testsuite/sha256-test.c:1.1 Rev: src/nettle/testsuite/sha256-test.m4:1.3(DEAD) Rev: src/nettle/testsuite/testutils.c:1.5 Rev: src/nettle/testsuite/testutils.h:1.3 Rev: src/nettle/testsuite/twofish-test.c:1.1 Rev: src/nettle/testsuite/twofish-test.m4:1.3(DEAD)
Diffstat (limited to 'testsuite/des-test.c')
-rw-r--r--testsuite/des-test.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/testsuite/des-test.c b/testsuite/des-test.c
new file mode 100644
index 00000000..1ca8dd9e
--- /dev/null
+++ b/testsuite/des-test.c
@@ -0,0 +1,56 @@
+#include "testutils.h"
+#include "nettle-internal.h"
+#include "des.h"
+
+int
+main(int argc, char **argv)
+{
+ struct des_ctx ctx;
+
+ /* From Applied Cryptography */
+ test_cipher(&nettle_des,
+ HL("01234567 89ABCDEF"),
+ HL("01234567 89ABCDE7"),
+ H("C9574425 6A5ED31D"));
+
+ test_cipher(&nettle_des,
+ HL("01 01 01 01 01 01 01 80"),
+ HL("00 00 00 00 00 00 00 00"),
+ H("9C C6 2D F4 3B 6E ED 74"));
+
+ test_cipher(&nettle_des,
+ HL("80 01 01 01 01 01 01 01"),
+ HL("00 00 00 00 00 00 00 40"),
+ H("A3 80 E0 2A 6B E5 46 96"));
+
+ test_cipher(&nettle_des,
+ HL("08 19 2A 3B 4C 5D 6E 7F"),
+ HL("00 00 00 00 00 00 00 00"),
+ H("25 DD AC 3E 96 17 64 67"));
+
+
+ test_cipher(&nettle_des,
+ HL("01 23 45 67 89 AB CD EF"),
+ DES_BLOCK_SIZE, "Now is t",
+ H("3F A4 0E 8A 98 4D 48 15"));
+
+ /* Parity check */
+ if (des_set_key(&ctx, H("01 01 01 01 01 01 01 00"))
+ || (ctx.status != DES_BAD_PARITY))
+ FAIL();
+
+ /* Weak key check */
+ if (des_set_key(&ctx, H("01 01 01 01 01 01 01 01"))
+ || (ctx.status != DES_WEAK_KEY))
+ FAIL();
+
+ if (des_set_key(&ctx, H("01 FE 01 FE 01 FE 01 FE"))
+ || (ctx.status != DES_WEAK_KEY))
+ FAIL();
+
+ if (des_set_key(&ctx, H("FE E0 FE E0 FE F1 FE F1"))
+ || (ctx.status != DES_WEAK_KEY))
+ FAIL();
+
+ SUCCESS();
+}