1*ebfedea0SLionel Sambuc 2*ebfedea0SLionel Sambuc libdes, Version 4.01 10-Jan-97 3*ebfedea0SLionel Sambuc 4*ebfedea0SLionel Sambuc Copyright (c) 1997, Eric Young 5*ebfedea0SLionel Sambuc All rights reserved. 6*ebfedea0SLionel Sambuc 7*ebfedea0SLionel Sambuc This program is free software; you can redistribute it and/or modify 8*ebfedea0SLionel Sambuc it under the terms specified in COPYRIGHT. 9*ebfedea0SLionel Sambuc 10*ebfedea0SLionel Sambuc-- 11*ebfedea0SLionel SambucThe primary ftp site for this library is 12*ebfedea0SLionel Sambucftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-x.xx.tar.gz 13*ebfedea0SLionel Sambuclibdes is now also shipped with SSLeay. Primary ftp site of 14*ebfedea0SLionel Sambucftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz 15*ebfedea0SLionel Sambuc 16*ebfedea0SLionel SambucThe best way to build this library is to build it as part of SSLeay. 17*ebfedea0SLionel Sambuc 18*ebfedea0SLionel SambucThis kit builds a DES encryption library and a DES encryption program. 19*ebfedea0SLionel SambucIt supports ecb, cbc, ofb, cfb, triple ecb, triple cbc, triple ofb, 20*ebfedea0SLionel Sambuctriple cfb, desx, and MIT's pcbc encryption modes and also has a fast 21*ebfedea0SLionel Sambucimplementation of crypt(3). 22*ebfedea0SLionel SambucIt contains support routines to read keys from a terminal, 23*ebfedea0SLionel Sambucgenerate a random key, generate a key from an arbitrary length string, 24*ebfedea0SLionel Sambucread/write encrypted data from/to a file descriptor. 25*ebfedea0SLionel Sambuc 26*ebfedea0SLionel SambucThe implementation was written so as to conform with the manual entry 27*ebfedea0SLionel Sambucfor the des_crypt(3) library routines from MIT's project Athena. 28*ebfedea0SLionel Sambuc 29*ebfedea0SLionel Sambucdestest should be run after compilation to test the des routines. 30*ebfedea0SLionel Sambucrpw should be run after compilation to test the read password routines. 31*ebfedea0SLionel SambucThe des program is a replacement for the sun des command. I believe it 32*ebfedea0SLionel Sambucconforms to the sun version. 33*ebfedea0SLionel Sambuc 34*ebfedea0SLionel SambucThe Imakefile is setup for use in the kerberos distribution. 35*ebfedea0SLionel Sambuc 36*ebfedea0SLionel SambucThese routines are best compiled with gcc or any other good 37*ebfedea0SLionel Sambucoptimising compiler. 38*ebfedea0SLionel SambucJust turn you optimiser up to the highest settings and run destest 39*ebfedea0SLionel Sambucafter the build to make sure everything works. 40*ebfedea0SLionel Sambuc 41*ebfedea0SLionel SambucI believe these routines are close to the fastest and most portable DES 42*ebfedea0SLionel Sambucroutines that use small lookup tables (4.5k) that are publicly available. 43*ebfedea0SLionel SambucThe fcrypt routine is faster than ufc's fcrypt (when compiling with 44*ebfedea0SLionel Sambucgcc2 -O2) on the sparc 2 (1410 vs 1270) but is not so good on other machines 45*ebfedea0SLionel Sambuc(on a sun3/260 168 vs 336). It is a function of CPU on chip cache size. 46*ebfedea0SLionel Sambuc[ 10-Jan-97 and a function of an incorrect speed testing program in 47*ebfedea0SLionel Sambuc ufc which gave much better test figures that reality ]. 48*ebfedea0SLionel Sambuc 49*ebfedea0SLionel SambucIt is worth noting that on sparc and Alpha CPUs, performance of the DES 50*ebfedea0SLionel Sambuclibrary can vary by upto %10 due to the positioning of files after application 51*ebfedea0SLionel Sambuclinkage. 52*ebfedea0SLionel Sambuc 53*ebfedea0SLionel SambucEric Young (eay@cryptsoft.com) 54*ebfedea0SLionel Sambuc 55