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