On 3/27/2012 1:33 PM, pkumarn wrote:>
I am trying to write a sample program to do AES encryption using Openssl. I
tried going through Openssl documentation( it's a pain), could not figure
out much. I went through the code and found the API's using which i wrote a
small program as below (please omit the line numbers). I don't see any
encryption happening... am i missing something?
Define "I don't see any encryption happening".
PS: I don't get any errors upon compilation.
1 #include<stdio.h>
2 #include<openssl/aes.h>
3
4 static const unsigned char key[] = {
5 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
6 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
7 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
8 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
9 };
It's strange to define a 256 bit key and use 128 bits.
10
11 void main()
12 {
13 unsigned char text[]="virident";
The input must be equal to the AES block size.
14 unsigned char out[10];
The output must be equal to the AES block size.
15 unsigned char decout[10];
Same here.
16
17 AES_KEY wctx;
18
19 AES_set_encrypt_key(key, 128,&wctx);
20 AES_encrypt(text, out,&wctx);
This is a raw encrypt, which assumes input and output are one AES block.
21
22 printf("encryp data = %s\n", out);
The encrypted data is binary, not a printable C string.
23
24 AES_decrypt(out, decout,&wctx);
25 printf(" Decrypted o/p: %s \n", decout);
26
27
28 }
Please help me to figure this out...
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]