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