NOTE>>>>>>>>>>
	rsa.c contains only routines for generating and managing rsa keys.
	RSAEncrypt, RSADecrypt, RSASign and RSAVerify are left out.
	rsaEncrypt and rsaVerify are just modular exponentiations.  RSASign
	and RSAVerify can be done that way or by making use of crtCombine (bigmath.c).
	Implementing these functions is easy but please do not post the
	implementation with cryptolib.

The Makefile assumes a directory hierarchy of the following form:

cryptolib
	bin lib src tests



Under Visual C++ 1.5 and Windows (16 bit)
	Define: MSVC15 and NTRUERAND and NO_QUANTIZE
	Load *.c with the exception of nt_truerand.c and unix_truerand.c.
	lmult16.asm will assemble under Borland TASM (4.0)
	Need to load lmult16.obj after this assembly.

Under Microsoft Visual C++ 2.0 or 4.0 and Windows NT or 95:
	Define: MSVC20 and TRUERAND
	Load *.c with the exception of  unix_truerand.c.
	No need for assembly here as 32 bit mult done using inline capabilities.
	Be sure to turn on optimizations for inline.
	You also need to make sure winmm.lib is loaded for the quantization
	stuff to work.

Under dos:
	If you use gcc everything is as it is for unix except with
	Do "make dos".  This works ONLY for gcc as far as I know.


Under Unix:
	cd src
	make [sgi, sunos_sparc2, sunos_sparc10, solaris_sparc2, solaris_sparc10,
	80x86_unix] or 	libcrypt for default.  The sparc10 versions are also good
	for sparc20.  If no architecture is chosen, no assembly module for
	longmult.c is used.  The only architectures for which
	I currently have longmult.s are dos, sgi, sparc2, sparc10 (and 20).
	If gcc is used, longmult.c will include optimized 32 bit multiplication.
	Thanks to the GNU-folks for showing me how to do this.
	
To run tests:
	cd ../tests
	make

	You get 10 tests.  Run each without args and you'll be told the
	expected args.

