*Sorry for the first mail!!*

Hi all,

   I'm new on openssl development, so I'm sorry if that a "beginner's"
question . I'm trying to decrypt a *base64 AES CBC* encrypted data (using
the *AES_cbc_encrypt*). The base64 encoding/decoding works fine. the code
below works depending on data length:

   -  The example with :


data ="*This is a long very long test*" works fine, I have the good
decrypted data.

   - The second one  "*This is a test*" doesn't work... I read somewhere
   that's depending of data padding... Have you any idea??


......
int main(int argc, char *argv[])
{
    unsigned char key[] = {0,1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e'};
    unsigned char iv[] = {0,1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e'};
    unsigned char iv1[] = {0,1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e'};



    unsigned char* data ="This is a test";
    //unsigned char* data ="This is a long very long test";

    unsigned char* buffer = (char *) malloc(60);
    unsigned char* buffer1 = (char *) malloc(60);


    unsigned long bufferLength= (ceil(strlen(data)/16)+1)*16;

    AES_KEY aeskeyEnc, aeskeyDec;


    AES_set_encrypt_key (key, KeyLength*8, &aeskeyEnc);
    AES_set_decrypt_key (key, KeyLength*8, &aeskeyDec);

    /*Encrypting...*/
    AES_cbc_encrypt(data, buffer, bufferLength, &aeskeyEnc, iv,
AES_ENCRYPT);
    //AES_cbc_encrypt(data, buffer, strlen(data), &aeskeyEnc, iv,
AES_ENCRYPT);
    printf("Encrypted data: %s\n",buffer);


    /*To Base64 encrypted data  */
    char *base64Buffer = base64(buffer, strlen(buffer));
    printf("Base64 Encrypted data: %s\n",base64Buffer);


    /* Unbase64 of encrypted data*/
    char* test_1 = strcat(base64Buffer,"\n\0");
    char* unBase64 = unbase64(base64Buffer, strlen(base64Buffer));


    /*Decypting unBase64...*/
    AES_cbc_encrypt(unBase64, buffer1,bufferLength, &aeskeyDec, iv1,
AES_DECRYPT);
    //AES_cbc_encrypt(unBase64, buffer1, strlen(unBase64), &aeskeyDec, iv1,
AES_DECRYPT);
    printf("Decrypted data: %s \n",buffer1);



    return(0);
}



-- 
Karim Bendadda

Reply via email to