Crypto++ is a free C++ class library of cryptographic schemes. Includes:
* A class hierarchy with an API defined by abstract base classes
* Proposed AES (and RC6, MARS, Twofish, Serpent, CAST-256)
* Symmetric block cipers: IDEA, DES/Triple DES,DESX, RC2, RC5, Blowfish,
Diamond2, TEA, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, Skipjack
* Generic cipher modes: CBC padded/ciphertext stealing (CTS), CFB, OFB
* Stream cipher: Panama, ARC4, SEAL, WAKE, Sapphire, BlumBlumShub
* Public key: RSA, DSA, ElGamal, NR, BlumGoldwasser, Rabin/RW, LUC, LUCELG
* Padding schemes for PK systems: PKCS#1 v2, OAEP, PSSR, IEEE P1363 EMSA2
* Key agreement schemes: DH, DH2, MQV, LUCDIF, XTR-DH
* Elliptic curve cryptography: ECDSA, ENR, EIES, ECDHD, ECMQVC
* One-way hash functions: SHA-1/2, MD2/5, HAVAL, RIPEMD-160, Tiger, Panama
* Message authentication codes: MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC
* Cipher constructions from hash functions: Luby-Rackoff, MD
* Pseudorandom number generators: ANSI X9.17 appendix C, PGP's RandPool
* Shamir's secret sharing scheme/Rabin's information dispersal algorithm (IDA)
* gzip, DEFLATE and zlib format support
* Fast multiprecision integer (bignum) and polynomial operations
* Prime number generation/verification, base-64 and 32-bit CRC encoding
* A high level interface for most of the above
WWW: http://www.eskimo.com/~weidai/cryptlib.html
- George Reid
greid@ukug.uk.freebsd.org