On Jan 19, 12:17 pm, ZBrown <[email protected]> wrote:
> I am having an issue in which I encrypt my data, and it seems to be
> working; however, when I attempt to decrypt the data it returns
> gibberish after a 0x00 value.  For instance I *send in a byte[256]
> that contains all 0x61, with several 0x00* interjected.  I am doing
> this as a proof of concept, being that I would like to use the GCM
> model to encrypt data that will contain 0x00 within.
>
> My Encryption:
>
> int encrypt(byte iv[12], const byte *in, int *size, byte *out)
> {
>    string messageData = (char *)in;
>    string tempOut;
>    try
>    {
>       GCM<AES>::Encryption e;
>       e.SetKeyWithIv(key, 32, iv, 12);
>
>       AuthenticatedEncryptionFilter ef(e, new StringSink(tempOut),
> false, 4);
>       ef.ChannelPut("", (const byte*)messageData.data(), *size);
>       ef.ChannelMessageEnd("");
>       memcpy(out, tempOut.data(), *size - 4);
>       *size -= 4;
>    }
>    catch
>    {
> ...
>    }
>
>    return (1);
You've probably seen it, but just in case: 
http://www.cryptopp.com/wiki/Gcm_Mode.

The string constructor stops at the first embedded NULL, so try the
following:
    string messageData((char *)in, *size);

Jeff

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

Reply via email to