Projects / Botan

Botan

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.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  02 Mar 2013 23:30

    Release Notes: A previously conditional operation in Montgomery multiplication and squaring is now always performed, removing a possible timing channel. A potential crash in the AES-NI implementation of the AES-192 key schedule (caused by misaligned loads) has been fixed. The correct flags for creating a shared library on OS X under Clang are now used, and a compile time incompatibility with Visual C++ 2012 has been fixed.

    •  24 Jul 2012 14:42

      Release Notes: Several bugs in the TLS implementation related to session renegotiation have been fixed. The SRP password-based key agreement scheme and the Camellia block cipher have been added. Support for the Ivy Bridge hardware random number generator has also been added. Various minor bugs affecting OpenBSD and MinGW users have been fixed.

      •  11 Jul 2011 17:56

        Release Notes: This release fixes a race condition that could cause memory corruption in multithreaded applications.

        •  11 Jul 2011 12:13

          Release Notes: This release fixes a race condition that could cause memory corruption in multithreaded applications.

          •  20 Jun 2011 15:05

            Release Notes: 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.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.