70 lines
2.7 KiB
Plaintext
70 lines
2.7 KiB
Plaintext
|
Check the CC and CFLAGS lines in the makefile
|
||
|
|
||
|
If your C library does not support the times(3) function, change the
|
||
|
#define TIMES to
|
||
|
#undef TIMES in speed.c
|
||
|
If it does, check the HZ value for the times(3) function.
|
||
|
If your system does not define CLK_TCK it will be assumed to
|
||
|
be 100.0.
|
||
|
|
||
|
If possible use gcc v 2.7.?
|
||
|
Turn on the maximum optimising (normally '-O3 -fomit-frame-pointer' for gcc)
|
||
|
In recent times, some system compilers give better performace.
|
||
|
|
||
|
type 'make'
|
||
|
|
||
|
run './destest' to check things are ok.
|
||
|
run './rpw' to check the tty code for reading passwords works.
|
||
|
run './speed' to see how fast those optimisations make the library run :-)
|
||
|
run './des_opts' to determin the best compile time options.
|
||
|
|
||
|
The output from des_opts should be put in the makefile options and des_enc.c
|
||
|
should be rebuilt. For 64 bit computers, do not use the DES_PTR option.
|
||
|
For the DEC Alpha, edit des.h and change DES_LONG to 'unsigned int'
|
||
|
and then you can use the 'DES_PTR' option.
|
||
|
|
||
|
The file options.txt has the options listed for best speed on quite a
|
||
|
few systems. Look and the options (UNROLL, PTR, RISC2 etc) and then
|
||
|
turn on the relevant option in the Makefile.
|
||
|
|
||
|
There are some special Makefile targets that make life easier.
|
||
|
make cc - standard cc build
|
||
|
make gcc - standard gcc build
|
||
|
make x86-elf - x86 assembler (elf), linux-elf.
|
||
|
make x86-out - x86 assembler (a.out), FreeBSD
|
||
|
make x86-solaris- x86 assembler
|
||
|
make x86-bsdi - x86 assembler (a.out with primative assembler).
|
||
|
|
||
|
If at all possible use the assembler (for Windows NT/95, use
|
||
|
asm/win32.obj to link with). The x86 assembler is very very fast.
|
||
|
|
||
|
A make install will by default install
|
||
|
libdes.a in /usr/local/lib/libdes.a
|
||
|
des in /usr/local/bin/des
|
||
|
des_crypt.man in /usr/local/man/man3/des_crypt.3
|
||
|
des.man in /usr/local/man/man1/des.1
|
||
|
des.h in /usr/include/des.h
|
||
|
|
||
|
des(1) should be compatible with sunOS's but I have been unable to
|
||
|
test it.
|
||
|
|
||
|
These routines should compile on MSDOS, most 32bit and 64bit version
|
||
|
of Unix (BSD and SYSV) and VMS, without modification.
|
||
|
The only problems should be #include files that are in the wrong places.
|
||
|
|
||
|
These routines can be compiled under MSDOS.
|
||
|
I have successfully encrypted files using des(1) under MSDOS and then
|
||
|
decrypted the files on a SparcStation.
|
||
|
I have been able to compile and test the routines with
|
||
|
Microsoft C v 5.1 and Turbo C v 2.0.
|
||
|
The code in this library is in no way optimised for the 16bit
|
||
|
operation of MSDOS.
|
||
|
|
||
|
When building for glibc, ignore all of the above and just unpack into
|
||
|
glibc-1.??/des and then gmake as per normal.
|
||
|
|
||
|
As a final note on performace. Certain CPUs like sparcs and Alpha often give
|
||
|
a %10 speed difference depending on the link order. It is rather anoying
|
||
|
when one program reports 'x' DES encrypts a second and another reports
|
||
|
'x*0.9' the speed.
|