Applied Crypto by Bruce Schneier "FULL Contents of Bruce Schneier's Applied Cryptography Disks" 3-WAY 3-WAY algorithm written by Jean Daemen. A5 A5 stream cipher, used in GSM cellular. ASSORTED Assorted simple cryptography and statistics programs, written by Thomas Strong, Jr. in 1993. BBC Big Block Cipher: uses 256K blocks, three random number generators, two substitution tables, cipher-text feedback, and transpositions. Written by Peter Boucher. Unknown security. BIGNUM1 Bignum class, written in Borland C++ by Bruce Bowen. BIGNUM2 Bignum package, written by Bruce Bowen in 1995. BLOWFISH The Blowfish algorithm, written by Bruce Schneier in 1994. CA1_1 CA algorithm, written by Howard Gutowitz in 1992. CBW Crypt Breaker's Workbench. Program to help cryptanalyze messages encrypted with crypt(1), written by Robert W. Baldwin in 1986. CHAMBERS A cryptographic pseudo-random number generator, designed and written by Bill Chambers in 1995. CRPT-POL "Cryptography: Policy and Technology," report by Hoffman, Ali, Heckler, and Hoybechts, of 1 Dec 93. CRYPT1 UNIX crypt(1) command: a one-rotor machine designed along the lines of Enigma, but considerably trivialized. CRYPT3-1 UNIX crypt(3) command, written by Tom Truscott and copyright 1989, 1991 by the University of California. CRYPT3-2 UNIX crypt(3) command, written by Paul Leyland in 1994. CRYPTLB Wei Dai's C++ Class Library of Cryptographic Primitives, Version 1.0, of 6/17/1995. Includes: MD5, SHS, DES, IDEA, WAKE, RC4, RC5, Blowfish, Diamond, Diamond Lite, Sapphire, Luby-Rackoff, MDC, various modes (CFB, CBC, OFB, counter), DH, RSA, DSA, ElGamal, BBS, gzip compression, Shamir's secret sharing scheme, Rabin's information dispersal scheme, and zero-knowledge prover and verifier for graph isomorphism. There are also various miscellanous modules such as base 64 coding and 32-bit CRC. DES-BARR DES implementation, fast, written by David A. Barrett in 1991. DES-BISH Implementation of DES front end; does ECB, CBC, CFB, OFB. Does not include actual DES code. By Matt Bishop. DES-KARN DES implementation, written by Phil Karn in 1987. DES-KOON DES implementation, fast but large, written by David G. Koontz in 1991. DES-LEVY DES implementation, fast and portable, by Stuart Levy in 1988. DES-LOUK DES implementation, fast, with main program and C function library for arbitrary precision integer arithmetic. Written by Antti Louko in 1992. DES-MITC DES implementation, written by D.P. Mitchell in 1983. DES-OSTH DES implementation with several utility programs and many useful extra functions, runs on UNIX, written by Stig Ostholm, 1990. DES-OUTE DES algorithm, fast and compact, written by Richard Outerbridge in 1991. Supports double and triple DES. Includes portable C version, and optimized 680x0 version. DES-YOUN DES implementation, one of the fastest around, written by Eric Young in 1992. DESSBOX The s^5 DES S-Boxes. ENIGMA Software simulation of the German Enigma machine, written by Henry Tieman. ESCROW A Proposed Federal Information Processing Standard for an Escrowed Encryption Standard (EES), NIST, 30 Jul 1993. EXAMPLES Code examples from APPLIED CRYPTOGRAPHY. FEAL8 FEAL-8 algorithm, written in 1989. FEALNX FEAL-NX algorithm, written by Peter Pearson in 1992. FIPS171 FIPS PUB 171, Key Management Using ANSI X9.17, dated 27 April 1992. FIPS180 FIPS PUB 180, Secure Hash Standard, dated 11 May 1993. FIPS181 FIPS PUB 181, Automated Password Generator, dated 5 October 1993, with C source code. FIPS185 FIPS PUB 185, Escrowed Encryption Standard, dated 8 Febuary 1994. FREQ Program to count the frequency of every letter in a file, written by Peter Boucher. GOST The Soviet GOST algorithm (without the correct S-boxes), written by Colin Plumb in 1993. GRENBOOK Draft 4.0 of the Green Book, the European computer security specification, dated 18 Oct 1993. HASHES MD5 and SHA, optimized for speed by Colin Plumb in 1993. HAVAL HAVAL algorithm. HILL Hill cipher. I-HAT C code for various cryptographically-useful statistical analysis functions: Kullback's information measure for a 2-way contingency table, Gamma and repeated functions (Poisson, chi-square, etc.), Pearson's chi-square, etc. By Doug Gwyn, 1991. IDEA_C IDEA algorithm in C, optimized for speed by Colin Plumb in 1993. IDEA68K IDEA algorithm in 68000 assembly, written by Colin Plumb in 1993. IDEA8086 IDEA algorithm in 8086 assembly, written by Colin Plumb in 1993. ISOMORPH Utility that prints isomorphs, written by Paul Leyland. INDEX Index to APPLIED CRYPTOGRAPHY. ITAR Imported and Exported Defense Articles and Services, Vol. 57, No. 89, Pari II, 56 FR 19666, 7 May 1992. By the Department of State. KERBEROS Kerberos RFC (1510), dated Sep 1993. KHUFU This archive contains KHUFU.C, a hack implementation of the Khufu algorithm written by Rayan Zachariassen in 1989. It also contains PRSBOX.H, PRSBOX.C, and MAKEFILE, a program to print S-boxes written by Landon Curt Noll in 1989. KS-TEST KS statistical test, written by Peter Boucher in 1994. LCRNG Linear congruential random number generator. LCRNG-T Simple block transposition cipher based on a linear congruential random number generator, written by R.A. O'Keefe. LOKI LOKI89 and LOKI91, written by Leslie Condie in 1992. LUCIFER2 LUCIFER algorithm written by Graven Cyphers. MD-RFC Internet RFCs (Requests for Comment) for MD2, MD4, and MD5. MD4 MD4 algorithm, written by RSA Data Security, Inc. MD4-DOS MD4 algorithm, fast DOS implementation by Jouka Holopainen. MD5-KARN Optimization of RSA's MD5 code for 80386, written by Phil Karn in Feb 1992. MIMIC Peter Wayner's Mimic function. NEWDE NewDE algorithm, a DES variant used in the Macintosh program StuffIt (versions 1.51 and 2.0); written by Richard Outerbridge in 1991. NEWDES NewDES algorithm, written by Mark Riordan in 1990. NHASH N-Hash algorithm, written in 1993. NSEA Nonpatented Simple Encryption Algorithm, written by Peter Gutmann. PEM-RFC Internet RFCs (Requests for Comment) for the Privacy Enhanced Mail standard: RFC1421, RFC1422, RFC1423, and RFC1424. PGP A list of places to download PGP from. PIKE A stream cipher by Ross Anderson, written in 1994. PKC Public-Key Cryptography, a 162-page tutorial written by James Nechvatal of NIST in 1991. PLAYFAIR Playfair algorithm, written by Paul Leyland in 1993. PPSC Pass-Phrase Stream Cipher, written by Peter Boucher in 1992. PRNGXOR Source code that illustrates polyalphabetic substitution with a running key stream, written by Carl Ellison in 1993. PRV-ANMT "Privacy and Anonymity on the Internet": comprehensive summary by L. Detweiler in 1993. RADIX64 Radix64 endocing and decoding, written by Carl Ellison in 1995. RAN-MIX Random number mixer: takes in a random source and outputs strong random numbers. Writtenby Carl Ellison in 1995. RANDOM1 Random number generator that uses phase noise in PC crystals to generate random bits, written by Nico E de Vries in 1992. RANDOM2 Schematic for cheap hardware random bit generator. RANDOM3 Random number generator for AT-compatible MS-DOS machines, written by Brian Harvey in 1993. RANDOM4 RFC1790, "Randomness Requirements for Security." RC4 RC4asm The alleged RC4 cipher, posted anonymously to sci.crypt in 1994. RC5-1 The RC5 algorithm, written by J. Nimmer. RC5-2 The RC5 algorithm, written by John Kelsey. RC5-3 The RC5 algorithm, written by RSADSI. REDOC2 REDOC2 algorithm written by Michael Wood. REDOC3 REDOC3 algorithm, written by Michael Wood. RIPE-MD RIPE-MD function, written by the RIPE project in 1992. RIPEM12A Mark Riordan's Privacy Enhanced Mail, Version 1.2a, current as of April 1994. RND-ANLS Randomness analysis, using Maurer's test. RSA-FAQ RSA Data Security's Frequently Asked Questions about Cryptography file. Version 2.0, last updated 20 Sep 1993. RSAREF20 RSA Data Security Inc.'s reference implementation of RSA. Includes code for DES and MD5. Bignum package can be easily modified to do El Gamal, Diffie-Hellman, DSA, etc. Version 2.0. SAFER SAFER algorithm, written by Michael Roe in 1994. SCICRYPT The Frequently-Asked Questions file for the Internet newsgroup, sci.crypt. SEAL SEAL cipher, written by Michael Roe in 1994. SHA1 Old Secure Hash Algorithm, written by Peter Gutmann in 1992. SHA2 Old Secure Hash Algorithm, written by Paul Rubin in 1994. SHA3 Old and new Secure Hash Algorithm. SHARING Code to implement a threshold scheme, written by Peter Pearson in 1993. SNEFRU Snefru algorthm, written by Ralph Merkle in 1989. SNUFFLE Program to turn a one-way hash function into an encryption function, by Dan Bernstein. SPLAY Compression and encryption in C based on splay trees. TEA The Tiny Encryption Algorithm, designed and written by David Wheeler and Roger Needham in 1994. TIS-PEM The Frequently Asked Questions file about the TIS implementation of PEM. Last updated 29 Oct 93. Includes where to get a copy. TRAN Carl Ellison's TRAN function, a large-block mixing function. Written in 1995. TRAN-PWD TRAN with the addition of a key, written by Carl Ellison in 1995. TRNSPOSE Cipher that does a transposition of a 8192 byte block, based on a random number generator, by William Setzer. VIGENERE A program that encrypts using Viegnere, Beauford, or Variant Beauford ciphers. Written by Leisa Condie in Dec 1992. VIGSOLVE Program to solve Vigenere cipher, by Mark Riordan in 1991. WPCRACK Program to break WordPerfect's encryption, written by Ron Dippold in 1991. ZIP The encryption algorithm used in the PKZIP 2.04g and 2.0.1 compression program. The algorithm was written by Roger Schlafly. ZIP-BARK A pseudo-random sequence generator by Chris Barker, 1995. The homepage for the applied-crypto sample source code is located here: http://tirnanog.ls.fi.upm.es/Servicios/Software/ap_crypt/indice.html