On Thu, Oct 12, 2023 at 5:55 PM Dwight Kulkarni <[email protected]> wrote:
>
> Hello,
>
> I had Crypto PP code that was previously working and recently stopped 
> working. We moved to a new version of our BSP.
>
> Error is:
> terminate called after throwing an instance of 
> 'CryptoPP::AlgorithmParametersBase::ParameterNotUsed'
>   what():  AlgorithmParametersBase: parameter "IV" not used
>
> Error is traced to this particular function below.
>
> I had it running with the Params in ECB mode still passing in the IV.
> d.SetKey(key, key.size(),params);
>
> Then I commented it out with:
> d.SetKey(key, key.size());
>
> Previously, it wasn't throwing an error even if IV is passed in ECB mode.
>
> Also, I don't know why it's falling through the catch statement and kills my 
> program.
>
> should I have a generic catch statement Exception e  to prevent this ?
>
> std::string decrypt_aes(std::string cipherbytes, SecByteBlock key, 
> SecByteBlock iv) {
> try {
> AlgorithmParameters params = MakeParameters(Name::FeedbackSize(), 1/*8-bits*/)
> (Name::IV(), ConstByteArrayParameter(iv));
> //CFB_Mode<AES>::Decryption d;
> ECB_Mode<AES>::Decryption d;
> std::string recovered;
> //d.SetKey(key, key.size(),params);
> d.SetKey(key, key.size());
> StringSource s(cipherbytes, true, new StreamTransformationFilter(d, new 
> StringSink(recovered), CryptoPP::BlockPaddingSchemeDef::PKCS_PADDING));
> return recovered;
> }
> catch (CryptoPP::Exception e) {
> std::cerr << e.what() << std::endl;
> return "";
> }
> }

BlockPaddingSchemeDef::PKCS_PADDING is incorrect for ECB mode. ECB
mode does not use padding. The programmer is responsible for padding
to block size.

Jeff

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/cryptopp-users/CAH8yC8mEuBX99%2BpYiKgSwMVDvRL%3DBct9K%2BpQjCt-%2Be2Mrhc5DA%40mail.gmail.com.

Reply via email to