+2001-09-05 Niels Möller <nisse@ehand.com>
+
+ * testsuite/Makefile.am (TS_PROGS): Added md5-compat-test.
+
+ * README: Copied introduction from the manual.
+
+ * configure.in: Bumped version to 1.0.
+
+ * Makefile.am (libnettleinclude_HEADERS): Added missing includes.
+ (libnettle_a_SOURCES): Added md5-compat.c and md5-compat.h.
+
+ * md5-compat.c, md5-compat.h: New files, implementing an RFC
+ 1321-style interface.
+
2001-09-02 Niels Möller <nisse@cuckoo.hack.org>
* twofish.c (twofish_decrypt): Fixed for();-bug in the block-loop.
--- /dev/null
+/* des-compat.h
+ *
+ * The des block cipher, libdes/openssl-style interface.
+ */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2001 Niels Möller
+ *
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ *
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#ifndef NETTLE_DES_COMPAT_H_INCLUDED
+#define NETTLE_DES_COMPAT_H_INCLUDED
+
+/* According to Assar, des_set_key, des_set_key_odd_parity,
+ * des_is_weak_key, plus the encryption functions (des_*_encrypt and
+ * des_cbc_cksum) would be a pretty useful subset. */
+
+#endif /* NETTLE_DES_COMPAT_H_INCLUDED */
cast128-test.c
des-test
des-test.c
+md5-compat-test
+md5-compat-test.c
md5-test
md5-test.c
serpent-test
/cast128-test.c
/des-test
/des-test.c
+/md5-compat-test
+/md5-compat-test.c
/md5-test
/md5-test.c
/serpent-test
--- /dev/null
+#include "md5-compat.h"
+
+BEGIN_TEST
+
+MD5_CTX ctx;
+unsigned char digest[MD5_DIGEST_SIZE];
+
+MD5Init(&ctx);
+MD5Final(digest, &ctx);
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("D41D8CD98F00B204 E9800998ECF8427E")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "a", 1);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("0CC175B9C0F1B6A8 31C399E269772661")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "abc", 3);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("900150983cd24fb0 D6963F7D28E17F72")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "message digest", 14);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("F96B697D7CB7938D 525A2F31AAF161D0")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "abcdefghijklmnopqrstuvwxyz", 26);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("C3FCD3D76192E400 7DFB496CCA67E13B")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", 62);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("D174AB98D277D9F5 A5611C2C9F419D9F")))
+ FAIL;
+
+MD5Init(&ctx);
+MD5Update(&ctx, "1234567890123456789012345678901234567890"
+ "1234567890123456789012345678901234567890",
+ 80);
+MD5Final(digest, &ctx);
+
+if (!MEMEQ(MD5_DIGEST_SIZE, digest, H("57EDF4A22BE3C955 AC49DA2E2107B67A")))
+ FAIL;
+