File INDEX on cl-next2.cl.msu.edu Files under cl-next2.cl.msu.edu:/crypt (via anonymous FTP) cbw.tar.Z Crypt Breaker's Workbench; program to help you cryptanalyze messages enciphered with the simple, obsolete program crypt(1). Reportedly used to help decipher R. T. Morris's worm from source code found on backup tapes at Cornell. cloak.txt Description of Terry Ritter's controversial (to some) Turbo Pascal shareware encryption product CLOAK. crypt_ran_gen.uue "bc" calculator program to generate cryptographically strong pseudorandom numbers, by Mark Johnson. Uses an algorithm by Blum, Blum, and Shub. dss-proposal NIST-proposed Digital Signature Standard, as of Summer 1991. Controversial. enigma_2.zip Program to simulate the German Enigma cipher machine on a PC compatible. (No source code available, sorry.) hagelin-dem209.bas Program to help decrypt the WWII/Korea War vintage US Army M209 cipher machine. (This device was based on the work of Boris Hagelin.) Source code in GWBASIC (MS-DOS BASIC), probably from a book by Cipher Devours. hashSig-merkle.shar Ralph Merkle's experimental Abstract Xerox Hash Signature function, which uses a given hash function (such as Snefru or MD4) to implement digital signatures. Public key cryptography is used; the code may be used only for experimental purposes. cf. beta.xerox.com. hill.Z C source for a program that implements a Hill cipher. Lester Hill's matrix-math-oriented cipher was one of the first sophisticated mathematically-oriented ciphers. This is not 1990's stuff, though. Program by John Cowan. lucifer.shar C source for IBM's Lucifer cipher, a precursor to DES. md2-kit-verifier.tar.Z C Implementation of RSA's MD2 (Message Digest 2) hash function, with a copy of RFC 1115, plus a simple program to read a file and compute its md2 message digest. md2.doc.Z Document from RSA Data Security describing md2. From rsa.com. md4tools.tar.Z C implementation of RSA's MD4 (Message Digest 4) hash function, with a copy of RFC 1186, a driver program, and a program to add an md4 hash to a Usenet article. Algorithm by Ron Rivest; additional code by Rich Salz and "Kent". md5.tar.Z C implementation of RSA's MD5 (Message Digest 5) has function, with a driver and a description of the algorithm. By Ron Rivest, RSA DSI. cf. rsa.com. Note: an optimized but slightly less portable version of MD5 is available from RSA.COM. merkle-khufu-khafre.txt Document describing Ralph Merkle's Khufu and Khafre block ciphers, and his Snefru hash function. Khufu and Khafre are 64-bit block ciphers that are much faster than DES when implemented on general-purpose hardware. Pseudocode for each is included. (I have learned that Khufu and Khafre are patented & I'm no longer that interested in them.) mrrcip.zip Various historial cipher schemes implemented by me years ago. Includes C (and some FORTRAN!) sources and PC executables. neke.ps.Z Paper by Michael Merritt and Steven Bellovin entitled "Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks". okeefe_encrypt.tar.Z C code for a fairly simple block transposition cipher based on linear congruential random number generators. By R. A. O'Keefe, Edinburgh. pw_gen.c Makes up passwords which have similar letter digraph frequencies to English. Converted from Multics PL/I by Bill Sommerfeld, 4/21/86. Original PL/I version provided by Jerry Saltzer. rot13.c Source to simple program implementing the famous very simple "rot13" cipher. This was, of course, never intended to provide real security; it's used to cloak Usenet messages that contain spoilers for games, etc. scott-newdes-asm.zip 8086 assembler implementation of below, by Mark Riordan. scott-newdes-c.zip C implementation of NEWDES, an unfortunately-named block cipher (doesn't have much to do with DES, but probably has similar security) designed by Robert Scott and described in a 1985 issue of Cryptologia. The algorithm is pretty fast. Code by Mark Riordan. snefru.tar.Z C implementation of Ralph Merkle's Snefru hash function. Some code by Rich Salz. Merkle's code courtesy of Xerox. snefru2.5a.tar.Z Slightly more recent version of above. See beta.xerox.com. I have resisted the temptation to include any entries from my large collection of DES implementations, not being certain of the exportability of that code. Also, I have included no code that I think may violate software patents, as much as I dislike software patents. Mark Riordan riordanmr@clvax1.cl.msu.edu Revised 4 May 1992