Hello, i use crypto++ for encrypting/decrypting with Twofish.
The problem i have is, that after encrypting data, then decrypting
that exact data, the padding remains.
This is how i encrypt and decrypt

string input = { some hex bytes };

CryptoPP::CBC_Mode<CryptoPP::Twofish>::Encryption TFEncryptGTC;

//Set IV
TFEncryptGTC.Resynchronize(vector);

//encrypt
string encrypted;
CryptoPP::StringSource(input, true, new
CryptoPP::StreamTransformationFilter(TFEncryptGTC, new
CryptoPP::StringSink(encrypted)));

//After that, i do the reverse with the data i got after encrypting

CryptoPP::CBC_Mode<CryptoPP::Twofish>::Decryption TFDecryptGTC;

//Set IV (same as the one used for encryption ofcourse)
TFDecryptGTC.Resynchronize(vector);

//decrypt
string output;

CryptoPP::StringSource(encrypted, true, new
CryptoPP::StreamTransformationFilter(TFDecryptGTC, new
CryptoPP::StringSink(output)));

the output i get isnt the same as the input i put in ! instead, it's
input + some bytes like 0x00 0xcd 0xcd 0xcd or 0x00 0xfd 0xfd 0xfd...

if i run this output through encryption and decryption again, i will
get another trailing padding ! so it would have 2 times 0x00 0xcd 0xcd
0xcd at the end...

why isnt decryption removing the padding that streamtransformation
added to perform encryption properly ?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to