In my SSL/Crypto library I have attempted to always prefix my routines
with something that makes sense.  If the prefix is upper case, you can use
it, if it is lower case, I would prefer you not to use it.  The exception
to this rule is the DES, LHASH and STACK libraries which I wrote
quite some time ago, before this current project swallowed them
into the fold :-)
Often the prefixes may not make much sense; too bad :-).

The documents can be groups as follows [ most of this stuff is a bit out of
date ]

Secret Ciphers
D	DES	- DES cipher.
D	IDEA	- IDEA cipher.
D	RC4	- RC4 cipher.
D	RC2	- RC2 cipher.

Message Digests
D	MD2	- MD2 message digest algorithm
D	MD5	- MD5 message digest algorithm plus random number routines.
D	SHA	- The Secure Hash Algorithm 0.
D	SHA1	- The Secure Hash Algorithm 1 - the new modified version.

Public Key Ciphers
DE	BN	- The BigNum library that RSA and DH use.
DE	DH 	- Diffel-Hellman key exchange routines.
DE	RSA	- RSA public key routines.
D	DHA	- The Digital Signature Algorithms
	RSAref	- Routine to replay my library with RSAref.

Higher Level Crypto Routines - EVP library
DE	CIPHER	- Encryption by parts.
DE	DIGEST	- Message digesting by parts.
DE	SIGN	- Sign a message with a private key.
DE	VERIFY	- Verify a signature.
DE	SEAL	- Digitally Seal some data.
DE	OPEN	- Open sealed data.
	
Certificates
  	ENCODE	- Base64 encoding by parts.
 E	X509	- X509 certificates and manipulation.
*	PKCS7	- PKCS7 routines
 E	PEM	- PEM type routines

Data Types
DE	OBJ	- Object lookup routines.
D	LHASH	- Hashing table routines.
 E	BUFFER	- Memory buffer routines.
 E	STACK	- A 'stack' implementation.

Error Routines
D	ERR	- Error functions.

Network Protocols
 E	SSL	- Netscapes SSL protocol.



