I am attempting to reproduce AES test in the fipstest.cpp file.  The cipher 
text I produce differs from the expect results.  The cipher does decode 
correctly.  The cipher text I get is not only different but it is also 
longer. I am working within MAC Xcode 7.1.1.  Here is my code.  

    /**********************************************

     *               ECB Mode

     **********************************************/

    const string ecb_128KeyStr = "2b7e151628aed2a6abf7158809cf4f3c";

    // iv not used with AES::ECB_Mode

    string ecb128Decode;

    byte ecb128Key[AES::DEFAULT_KEYLENGTH];

    CryptoPP::HexDecoder ecb128Decoder(new CryptoPP::StringSink
(ecb128Decode));

    ecb128Decoder.Put((byte*)ecb_128KeyStr.data(), ecb_128KeyStr.size());

    ecb128Decoder.MessageEnd();

    strncpy((char*)ecb128Key, ecb128Decode.c_str(), AES::DEFAULT_KEYLENGTH);

    

    string testVector1 = 
"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710"
;

    string cipher = 
"3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4"
;

   

    cout << cipher << endl << endl;

    string ECBCipherText;

    try {

        CryptoPP::ECB_Mode< AES >::Encryption e;

        e.SetKey(ecb128Key, sizeof(ecb128Key));

        CryptoPP::StringSource(testVector1, true,

                               new CryptoPP::StreamTransformationFilter(e,

                                        new CryptoPP::StringSink
(ECBCipherText)

                                    )

                               );

        

    } catch (const CryptoPP::Exception& e) {

        cerr << e.what() << endl;

        exit(1);

    }

    string encoded;

    CryptoPP::StringSource(ECBCipherText, true,

                    new CryptoPP::HexEncoder(

                           new CryptoPP::StringSink(encoded),

                                             false,

                                             32

                        ) // HexEncoder

               ); // StringSource

    cout << encoded << endl;

    cout << "encoded == cipher is " << boolalpha << (encoded == cipher) << 
ends;


I am able to reproduce the correct results with the various SHA test. I am 
a retired programmer working with the Crypto++ Library for a small project 
I am writing for myself so this has low priority.


Thank you for any help

-- 
-- 
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.
--- 
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.

Reply via email to