Small Crypto Library
Small Secure Socket Library
version 0.01 - 20 Jun 2000

Description.
The small crypto library is a collection of C++ classes for	public and private
key cryptography. One way hash algorithms, pseudo random number generators and
other	stuff are included as well.
The small secure socket library uses the above methods to ensure data
encryption over ordinary TCP channel. This is a hybrid system with protocol
negotiation and key exchange when a new connection is accepted by the TCP
server. The	library is easy to use and acts as a wrapper over the	ordinary
socket functions. Utilities for key generation and library tests are included
in the package.

Supported platforms.
The library has been built without significant problems on:
	- Slackware Linux 7.0 (with egcs 1.1.2);
	- Red Hat Linux 6.0 (with egcs 1.1.2);
	- FreeBSD 3.1 (with gcc version 2.8.1);
	- Windows 98 (with Microsoft Visual C/C++ 6.0);
The library should work without major changes on all common intel 32 or 64
bit platforms.
Port for big-endian platforms will be released soon.

Features.
Key exhange algorithms:
	- Diffie-Hellman;
	- Unified Diffie-Hellman;
	- Menezes-Qu-Vanstone.

Public key algorithms:
	- ElGamal;
	- RSA;
	- DSA;
	- Rabin;
	- Rabin-Williams;
	- Nyberg-Rueppel;
	- Blum-Goldwasser.

Pseudo Random Number Generators:
	- ANSI X9.17 Appendix C;
	- StRandom;
	- Blum-Blum-Shub.

Symmetric block algorithms:
	- Rijndael (AES candidate);
	- Twofish (AES candidate);
	- MARS (AES candidate);
	- LOKI-97 (AES candidate);
	- Serpent (AES candidate);
	- RC6 (AES candidate);
	- RC5;
	- RC2;
	- DES;
	- Triple DES;
	- IDEA;
	- SAFER;
	- FEAL;
	- GOST;
	- 3-Way;
	- Blowfish;
	- Diamond2;
	- Square;
	- TEA;
	- CAST;
	- SHARK.

One-way hash functions (digest algorithms):
	- MD2;
	- MD4;
	- MD5;
	- RIPE-MD;
	- SHA-1;
	- HAVAL;
	- Tiger.

Block cipher modes:
	- ECB (Electronic Codebook);
	- ECB Cipher Text Stealing;
	- CBC (Cipher-block Chaining);
	- CBC Cipher Text Stealing;
	- CFB (Cipher feedback);
	- OFB (Output feedback);
	- OFB Counter Mode.

Miscellaneous features:
	- Base 64 encoding/decoding;
	- DER encoding;
	- Configuration files;	- MDC - scheme for turning one way hash function into a block cipher.

Feedback.
Please send mail to:

	Alexander Feldman <alex@varna.net>

Any feedback will be highly appreciated.
