Wow, the AES/GCM implemetation is super-complicated!
1) There are two such strings declared at the beginning:
-------------------------------------------------
    string adata( 16, (char)0x00 );
    string pdata( 16, (char)0x00 );
-------------------------------------------------
What each of them is ment for?
2)
------------------------------------------------------------------------------------
        // AuthenticatedEncryptionFilter::ChannelPut
        //  defines two channels: "" (empty) and "AAD"
        //   channel "" is encrypted and authenticated
        //   channel "AAD" is authenticated
        ef.ChannelPut( "AAD", (const byte*)adata.data(), adata.size() );
        ef.ChannelMessageEnd("AAD");

        // Authenticated data *must* be pushed before
        //  Confidential/Authenticated data. Otherwise
        //  we must catch the BadState exception
        ef.ChannelPut( "", (const byte*)pdata.data(), pdata.size() );
        ef.ChannelMessageEnd("");
------------------------------------------------------------------------------------
The question is: which channel is ment for the data your need to encrypt, 
and which is for authentification data? They are both called "Authenticated 
data"... And again, adata and pdata are here without an explanation...
3) Is it possible to do without strings, using SecByteBlocks and arrays?

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