Decrypting using external block cipher produces bad results while decrypting using instance works fine.

NOTE: The same scenarios work fine with encryption--only decryption produces different results between external vs instance (with external producing bad results during decryption).

Snippet:

//pEnc contains encrypted data.
size = 16;
if(1){
        //this produces expected/good pDec values
        CFB_Mode<AES >::Decryption m_SymmetricDec(keyDigest, 16, iv);     

        m_SymmetricDec.ProcessData((byte*)pDec, pEnc, size);

} else {
        //this produces bad pDec values
        m_pBlockCipherDec = new CryptoPP::AES::Decryption(keyDigest,16);

m_pSymmetricDec = new CFB_Mode_ExternalCipher::Decryption(*m_pBlockCipherDec, iv);

        m_pSymmetricDec->ProcessData((byte*)pDec, pEnc, size);               
}



Reply via email to