xref: /netbsd-src/crypto/external/bsd/openssl.old/lib/libdes/README (revision c9496f6b604074a9451a67df576a5b423068e71e)
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