[Botan-devel] About time for a release

Jack Lloyd lloyd at randombit.net
Mon Feb 1 12:54:06 EST 2010


A lot of changes have queued up and I think it's probably about time
for a release. Currently I'm planning on spinning 1.9.4 this
Wednesday, the 3rd.

Currently the change notes are:

 - Add SIMD implementation of Noekeon
 - Add SSE2 implementation of IDEA
 - Perform XTS encryption and decryption in parallel where possible
 - Perform CBC decryption in parallel where possible
 - Add SQLite3 db encryption codec, contributed by Olivier de Gaalon
 - Add a block cipher cascade construction
 - Add support for password hashing for authentication (passhash.h)
 - Add support for Win32 high resolution system timers
 - Changed S2K interface: derive_key now takes salt, iteration count
 - Fix crash in GMP_Engine if library is shutdown and reinitialized
 - Remove Timer class entirely
 - Switch default PKCS #8 encryption algorithm from 3DES to AES-256
 - New option --gen-amalgamation for creating a SQLite-style amalgamation
 - Many headers are now explicitly internal-use-only and are not installed
 - Greatly improve the Win32 installer
 - Several fixes for Visual C++ debug builds

The parallel nature of XTS (and CBC decryption) are now utilized so
the SIMD implementations (currently Serpent, XTEA, Noekeon, and IDEA)
really help out there, for instance Serpent/XTS is running at 56 MiB/s
on my machine versus 39 MiB/s for AES-128/XTS.

This will also help AES on machines with the AES-NI instruction set
since that does 4 blocks in parallel. Speaking of which, if you have
an Arrandale processor, please test the AES-NI version; I've only been
able to test it in an emulator and I'm curious how it performs in
practice - nobody so far has produced throughput or latency numbers
for the new instructions that I've been able to find.

There are also a few changes in the stable tree, specifically fixing
the GMP_Engine bug (which affected the SoftHSM test suite) and working
around a build problem with the latest GNU binutils in the x86-64
assembly. I'm not sure if I'm going to spin 1.8.9 or wait; there are
apparently some problems on Debian with 1.8.8 on some arches and I
would like to get that diagnosed and fixed before releasing a new 1.8
(I haven't been able to replicate the crashes on the ARM or IA-64
machines I have access to so how big a problem it is is unclear).

Currently Win32 static builds don't work; --disable-shared still
builds a DLL. If someone could look at this I would appreciate it, I'm
not going to have time. Probably all that is needed are minor tweaks
to nmake.in and configure.py to handle this case.

If there are bugs or other problems I have forgotten about ping me.

-Jack



More information about the botan-devel mailing list