Botan is a C++ class library for performing a wide variety of cryptographic operations, including encryption, hashing, authentication, public key encryption and signatures, and creating and using X.509v3 certificates and CRLs. PKCS #8 private keys (including PKCS #5 encryption) and PKCS #10 certificate requests are also included. As well as various modes, padding schemes, and so forth, Botan supports the following basic cryptographic algorithms: * Public Key Algorithms: Diffie-Hellman, DSA, ElGamal, Nyberg-Rueppel, Rabin-Williams, RSA * Block Ciphers: AES, Blowfish, CAST-128, CAST-256, DES, DESX, TripleDES, GOST, IDEA, KASUMI, Noekeon, Lion, Luby-Rackoff, MARS, MISTY1, RC2, RC5, RC6, SAFER-SK, SEED, Serpent, Skipjack, Square, TEA, Twofish, XTEA * Stream Ciphers: ARC4, WiderWake4+1, Salsa20, Turing * Hash Functions: HAS-160, MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-160, SHA-256, SHA-384, SHA-512, Tiger, Whirlpool * MACs: ANSI X9.19 MAC, CMAC, HMAC For build instructions, read 'doc/building.pdf'. The license can be found in 'doc/license.txt', and the ChangeLog is in 'doc/log.txt'. Higher level protocols are implemented on top of Botan by: NetSieben SSH Library (SSHv2): http://www.netsieben.com/products/ssh/ Ajisai (SSLv3/TLSv1): http://www.randombit.net/code/ajisai/ Check http://botan.randombit.net/ for announcements and news. If you'll be developing code using Botan, consider joining the mailing lists; links to subscriptions forms and the archives can be found on the web page. Feel free to contact me with any questions or comments. Regards, Jack Lloyd (lloyd@randombit.net)