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                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to