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.
 |