Inverse Triple DES



A smart card operating system that we are using uses somenthing called
Inverse Triple DES (3DES-1) which is basically a decryption of an 8 byte
value using a 16 byte key. However this 8 byte value is not the result of
an encryption but any 8 byte value. Older triple DES libraries that we
have used in the past are able to produce a result with any 8 byte value
supplied. However, the TripleDESCrypotServiceProvider throws a "Bad Data"
exception if the 8 byte cypher data is not a value that was previously
encrypted.


Here is the implementation of Decrypt:



public static byte[] Decrypt(byte[] cypherData, byte[] tdesKey, byte[]
tdesIV)
{
TripleDESCryptoServiceProvider tdes = new
TripleDESCryptoServiceProvider();
tdes.Mode = CipherMode.ECB;

ICryptoTransform transform = tdes.CreateDecryptor(tdesKey, tdesIV);

return transform.TransformFinalBlock(cypherData, 0, cypherData.Length);
}


Is there any way to get a result for any value supplied as cypherData?

Thanks.

Jeronimo
.