I’m developing a C++ application to decrypt the data encrypted by someone else with TOFB-I (TDEA Output Feedback – Interleaved).
To do this I’m using the Crypto++ library.
Unfortunately, the result of the decryption doesn’t seem to work: the first byte is decrypted correctly, the rest is just meaningless data.
I’ve double checked with the Linux command line tool OpenSSL and get exactly the same result.
So I’m inclined to believe that I’m applying a decryption algorithm with wrong feedback, so that the first IV works fine but something goes wrong with the feedbacks.
My question is: how do I apply the interleaved variant of the DES_OFB mode?
Couldn’t find anything about this either in the Crypto++ or in the OpenSSL documentation.
Apparently Crypto++ (and also OpenSSL) doesn’t support TOFB-I operation mode:
http://csrc.nist.gov/groups/STM/cavp/documents/des/tripledesval.html
Actually, according to the above link no implementation has been validated yet as conforming to TOFB-I!
So I guess I’ll need to implement my own TOFB-I algo.