Blowfish is broken. The order of the bytes in the ciphertext
is wrong. The problem is the conversion from the ciphertext
plaintext block to the array of u32int used by the core funcions
and vice versa.
This code has been tested on big endian and little endian
machines.
A test program is also included, bftets.c. It uses the
test vectors of blowfish available at
https://www.schneier.com/code/vectors.txt
NOTE: I submitted a previous patch with the same name.
It was not correct. Erik Quanstrom found the problem
and we wrote this new code. I deleted the old directory
and I created this new patch.
|