Trying to determine which verison of BlowFish is used by TurboPower LockBox 2 and/or 3

181 Views Asked by At

Trying to determine which verison of BlowFish is used by TurboPower LockBox 2 and/or 3. Any ideas? I've done a bunch of reserach and just see "BLOWFISH" but no version.

1

There are 1 best solutions below

0
On

There are no "versions" of Blowfish. There is just Blowfish.

If you have TP Lockbox 3 installed, and you put a linked TCodec and TCryptographic component on a form, select the cipher, and then click the About Box, you will get some information on the selected cipher. Go to the Algorithms tab, "About selected cipher" panel. For Blowfish you get two references and a block size.

These references define the implementation of the underlying block cipher.

While there are no "versions" of blowfish, just like all block mode ciphers, there are options which effect the output stream. These options relate to the adaption of block mode ciphers to stream mode, and are quiet apart and separate from blowfish. Options include:

  • The block padding scheme (For non key-streaming block ciphers of length more than 1 block, Lockbox 3 uses ciphertext stealing);
  • The salting protocol
  • The block chaining mode
  • If you are talking about encryption of strings, potentially there is also the issue of how the strings will be encoded before encryption.

TP Lockbox 3 comes with an extensive reservoir of unit tests. In fact, it is the only open source Delphi project that I know, that publishes unit tests. I don't know why more FOSS projects don't do this. Included in the reservoir is a KAT for Blowfish. You can verify the KAT with the service at ...

And you can run the unit test for Blowfish (It passes whenever I run it).

TP Lockbox 2 also provides standard and correct blowfish, but I can't say anything about what the padding options are. They do provide selection of chain mode, but the range is very limited. I don't believe that TP Lockbox 2 does any salting.