Crypto++, by Wei Dai.


Encodings:
ASN.1? base64 hex
Compression:
gzip, zlib
Hashes:
crc md2 md5 haval ripe-md160 Tiger sha sha-2 panama
Macs:
* MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC
pRNG:
BlumShub, randpool, X9.17
private key ciphers:
AES, blowfish, cast-128, cast-256, des, 3des, diamond2, gost, idea, lubyrack, Mars, panama, arc4, rc5,rc6, safer, sapphire, seal, serpent, shark, square, tea, twofish, wake
Public key systems:
dh, dsa, elgmal, Eliptic curve, luc, lucelg, lucdif, rabin, rabin-williams, blumgoldwassr, rsa
Also support for PKCS1, OAEP, PSSR padding
Other:
bignum and bitarray primitives, multiprecisionIO, secret sharing, test, benchmarking & validation routines, Lucas primality testing, zero knowledge,
Tested with:
MSVC 6.0 SP4
Borland C++Builder 5
GCC 2.95.2
CodeWarrior Pro 5.3
CodeWarrior Pro 6.1 Crypto++ is a very extensive library.