On Thu, Mar 29, 2012 at 5:40 AM, Prashanth kumar N <
prashanth.kuma...@gmail.com> wrote:

> Thanks Ken for pointing out the mistake...  after changing to
> AES_Decrypt(), it worked but i still see issue when i print the
> decrypted output as it has extra non-ascii characters in it.
>
> Below is the input
>  unsigned char text[]="test12345678abc2";
> After decryption, i get the following string: Decrypted o/p:
> test12345678abc2Ȳu�z�B��� ��A��S��
>

You didn't encrypt the terminating NUL, so the decrypt is unterminated...


> Few questions...
>
> 1. If we use AES, will decrypted files have same number of bytes as
> encrypted file? (I assume it should be same)
> 2. When i did Google and found few examples on AES using CBC mode, many of
> them add extra buffer while decrypting ie.,
> sample eg:
> unsigned char key[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
>  10     unsigned char iv[] = {1,2,3,4,5,6,7,8};
>  11     unsigned char outbuf[1024];
>  12     unsigned char decrebuf[1024];
>  13     int outlen,outlen2, tmplen;
>  14     unsigned char text[]="test12345678abc2";
>  15     char outfile[]= "encfile";
>
>            if(!EVP_EncryptUpdate(&ctx, outbuf, &outlen, intext,
> strlen(intext)))
>
>  26       {
>  27             /* Error */
>  28        printf("\n Error:EVP_EncryptUpdate ");
>  29        return 0;
>  30        }
>  31
>  32    if(!EVP_EncryptFinal_ex(&ctx, outbuf + outlen, &tmplen))
>  33      {
>  34          /* Error */
>  35      printf("\n Error: EVP_EncryptFinal_ex");
>  36      return 0;
>  37      }
>
>           EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, key, iv);
>  45
>  46     if(!EVP_DecryptUpdate(&ctx, decrebuf, &outlen2, outbuf, outlen))
>  47     {
>  48     printf("\n Error : EVP_DecryptUpdate");
>  49      return 0;
>  50     }
>
> EVP_DecryptFinal_ex(&ctx, decrebuf + outlen2, &tmplen )
>
> Here i see even thought decrebuf is 1024, we still offset it by outlen and
> pass the address to Decrytpion function?
>
> 3. Why is it like we have to choose 1024 as array size... when i know my
> encryption text is only 16bytes. Any reasons?
>
>
> -Prashanth
>
> On Wed, Mar 28, 2012 at 7:29 PM, Ken Goldman <kgold...@us.ibm.com> wrote:
>
>> On 3/28/2012 3:01 AM, Prashanth kumar N wrote:
>>
>>> Here is the modified program
>>> [snip]
>>>
>>>  18     AES_KEY ectx;
>>>  19     AES_KEY dectx;
>>>  20
>>>  21     AES_set_encrypt_key(key, 256, &ectx);
>>>  22     AES_encrypt(text, out, &ectx);
>>>  23
>>>  24     printf("encryp data = %s\n", out);
>>>  25
>>>  26     AES_set_encrypt_key(key, 256, &dectx);
>>>
>>
>> AES_set_decrypt_key()
>>
>>   27     AES_decrypt(out, decout, &dectx);
>>>
>>
>> ______________________________**______________________________**
>> __________
>> OpenSSL Project                                 http://www.openssl.org
>> User Support Mailing List                    openssl-users@openssl.org
>> Automated List Manager                           majord...@openssl.org
>>
>
>

Reply via email to