Fast DES kit - Phil Karn, KA9Q
September 2, 1994

This archive includes optimized DES code in portable C, Borland inline
assembler for the 386, and GNU 'as' format assembler for the 386.

Contents:

readme - this file
readme.des - details on the des functions and some measured speeds
des.h - Header file defining user accessable functions
desport.c - DES encrypt/decrypt function in portable C
desborl.cas - DES encrypt/decrypt function in Borland inline assembler
desgnu.s - DES encrypt/decrypt function in GNU 'as' assembler
deskey.c - DES key scheduling function in portable C
gensp.c - Generate combined S/P box source files dessp.c and desspa.c
desspa.asm - SP boxes in assembler for Borland C, manually aligned
descert.c - DES certification driver, reads and verifies NIST test suite
testdata - test data for descert.c
descycle.c - DES exerciser. Executes DES in output feedback mode, printing
   a line of ciphertext every 10,000 encryptions
unixtime.c - DES timing test for UNIX. Executes DES 1 million times. Invoke
   with UNIX 'time' command to measure execution time.
dostime.c - Same as unixtime.c, but for DOS. Measures time internally.
makefile - Makefile for portable C version
makefile.gnu - Makefile for GNU as version
makefile.tc - Makefile for Borland C++ asm version

Running one of the three makefiles without arguments will build the
certification routine and execute it. This echoes each test vector as
a text line to standard output followed by OK if the test passes.

The executables for the GNU asm versions are named differently from the
C versions (the assembler versions have 'a' appended to their names).


