Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
Project Release infomations and Project Resources. Note that these informations are from this projects Freecode.com page and the downloads themselves may not be hosted with SourceForge.JP.
This release adds SSL/TLS (both client and server mode, up to TLS v1.1), the GOST 34.10-2001 signature scheme, the Keccak hash function, the XSalsa20 stream cipher, bcrypt password hashing, AES key wrapping, dynamically loaded engines, and a number of other features. New optimizations for AES, Serpent, ECDH, ECDSA, and SHA-2 are also included.
The SSL implementation can now be used with Visual C++ 2010's TR1 implementation. Numerous optimizations for the ECC algorithms provide 20 to 50% performance improvements. Some portability bugs affecting Solaris users were fixed, as were bugs that were triggered under the Visual C++ 2010 and Clang compilers. A bug that could cause denial of service to users verifying GOST 34.10 signatures was also fixed.
This release adds some new options for controlling use of Sphinx and Doxygen for generating documentation. A bug that broke runtime feature detection on x86 processors has been fixed. Support for the BeOS clone/continuation Haiku has been improved. This is the third and hopefully final release candidate for the next stable tree.