Botan (formerly OpenCL) aims to be a portable, easy to use, and efficient
C++ crypto library. It currently supports the following algorithms:

    Public Key Algorithms: Diffie-Hellman, DSA, ElGamal, Nyberg-Rueppel,
        Rabin-Williams, RSA
    Block Ciphers: Blowfish, CAST256, CAST5, CS-Cipher, DES, GOST, IDEA,
        Lion, Luby-Rackoff, MISTY1, RC2, RC5, RC6, Rijndael, SAFER-SK128,
        Serpent, SHARK, Skipjack, Square, TEA, Threeway, Twofish, XTEA
    Stream Ciphers: ARC4, ISAAC, SEAL
    Hash Functions: HAVAL, MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-1,
        SHA2-256, SHA2-512, Tiger, Whirlpool
    MACs: EMAC, HMAC, MD5-MAC, ANSI X9.19 MAC
    Misc: Adler32, CRC24, CRC32, Randpool, X9.17 RNG
    Cipher Modes: CBC w/ Padding, CTS, CFB, OFB, Counter

WWW: http://botan.randombit.net/
