Botan News

1.9.1: Blue Midnight Wish, Skein 1.2, improved Python wrappers, and more

Botan 1.9.1 was released today with a slew of new features.

An implementation of the SHA-3 candidate hash function Blue Midnight Wish has been added. Blue Midnight Wish is one of the fastest functions of the round 2 candidates, processing well over 300 MB per second on a Core2 processor; it runs about as fast as OpenSSL's assembly implementation of SHA-1. The version in 1.9.1 is the 'tweaked' round 2 variant; as part of the NIST competition, at the start of the second round all designers had a chance to make modifications to their algorithms before the next phase of analysis begins. Only the 512-bit variant of Blue Midnight Wish is included, because it is much faster than the 256-bit version on modern processors (and, presumably, is more secure).

Another NIST round 2 tweak is for the implementation of Skein-512 - the designers of Skein used a new search technique and found a new set of rotation constants leading to much better diffusion in the algorithm. These new rotation constants are now being used.

The wrappers for other languages, especially Python, are greatly improved. Documentation is currently sparse, but to build the wrappers, use

  $ ./configure.py --use-boost-python [other configure.py options]
  $ make check
     # normal library build
  $ make -f Makefile.python
     # builds _botan.so in build/botan-python
  $ make -f Makefile.python install
     # installs botan module into python site-packages

Boost.Python is required to build the Python wrappers. Some examples of use can be found in doc/python.

An implementation of threshold secret sharing has been added, going off the recent internet draft draft-mcgrew-tss-02.txt ("Threshold Secret Sharing", David A. McGrew, Praveen Patnala, Alfred Hoenes).

Runtime CPU detection is now used on x86/x86-64 processors; currently it is only used to check for the availability of SSE2 but other uses may be added in the future (for instance, checking for the existence of Intel's forthcoming AES-NI instructions). Additionally, use of SSE2 implementations is now enabled under Visual C++ as well as GNU C++ and Intel C++.

XTEA was optimized, and is over twice as fast on an Intel Core2 or AMD Opteron.

Posted 2009/10/23 in releases; no comments

< Upcoming Improvements to the Python Bindings | Comments Enabled >

Name:


E-mail:


URL:


Comment: