Hi,
when decrypting using pipelines I would normally do something like:
StringSource ss(cipher_hex, true, new HexDecoder(new
StreamTransformationFilter(dec, new StringSink(recover))));
Now i ran into a problem using the Panama Stream Cipher:
AutoSeededRandomPool prng;
std::string plain("High-school students – who have been protesting
against changes to colleges and the university system – also seized on the
mood of protest and stepped up their blockades.");
std::string cipher_hex, recover1, recover2, cipher_bin;
SecByteBlock key(32), iv(32);
prng.GenerateBlock(key, key.size());
prng.GenerateBlock(iv, iv.size());
PanamaCipher<LittleEndian>::Encryption enc;
enc.SetKeyWithIV(key, key.size(), iv, iv.size());
PanamaCipher<LittleEndian>::Decryption dec;
dec.SetKeyWithIV(key, key.size(), iv, iv.size());
StringSource (plain, true, new StreamTransformationFilter(enc, new
HexEncoder(new StringSink(cipher_hex))));
// works fine, recover1 = plain
StringSource (cipher_hex, true, new HexDecoder(new StringSink(cipher_bin
)));
StringSource (cipher_bin, true, new StreamTransformationFilter(dec, new
StringSink(recover1)));
dec.Resynchronize(iv, iv.size());
// does not work, recover2 = "High-school students – who have been
protesting against changes –Ö)‘à« ç›áS` ¥¨~]Šm Qÿö:Û (...) "
StringSource (cipher_hex, true, new HexDecoder(new
StreamTransformationFilter(dec, new StringSink(recover2))));
Is this expected behaviour? Is it not possible to use a Decoder inside the
decryption pipeline of a stream cipher?
Thanks in advance to anyone who might be able to clear this up for me!
--
You received this message because you are subscribed to "Crypto++ Users". More
information about Crypto++ and this group is available at
http://www.cryptopp.com and
http://groups.google.com/forum/#!forum/cryptopp-users.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.