Botan 1.8.4: Minor fix for 1.8.3
Botan 1.8.3 shipped with a small but serious bug in the Miller-Rabin test which caused it to fail in most circumstances.
Normal pre-release testing failed, because 1.8.3 had an
experimental feature which separates out the version number and the
shared library soname. This was a feature requested by several
downstream distributors, including Debian and Fedora, as these
distributions don't have facilities for easily dealing with shared
library changes that require rebuilding linked applications. So when I
ran the final set of tests on my machine, I was actually testing
against /usr/local/lib/libbotan-1.8.2.so, instead of the one
in my current working directory.
Many thanks to Thomas Moschny (the Fedora maintainer for botan) for bringing this problem to my attention.
The only substantial change in 1.8.4 against 1.8.3 is the following one line patch:
#
#
# patch "src/math/numbertheory/numthry.cpp"
# from [55898edf389288b49488d271c043f2b7b68f5f1b]
# to [e810b1dace1f2f07c3fceabddb59844a8807d58f]
#
============================================================
--- src/math/numbertheory/numthry.cpp 55898edf389288b49488d271c043f2b7b68f5f1b
+++ src/math/numbertheory/numthry.cpp e810b1dace1f2f07c3fceabddb59844a8807d58f
@@ -292,7 +292,7 @@ bool passes_mr_tests(RandomNumberGenerat
nonce = PRIMES[i];
else
{
- while(nonce < 2 && nonce >= (n-1))
+ while(nonce < 2 || nonce >= (n-1))
nonce.randomize(rng, NONCE_BITS);
}
Posted 2009/07/12 in releases; no comments
< Botan 1.8.3: Skein-512, XTS mode, new Python build system | Botan 1.8.5: Fix build portability problems, Skein bug >