* In this example we are using 256 bit AES (i.e. a 256 bit key). The
* IV size for *most* modes is the same as the block size. For AES this
* is 128 bits */
-
+ static double time=0;
+ double t=0;
+ t=TimeStart();
//256
//avant ecb
if(ctr) {
if(1 != EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv))
handleErrors();
+ time+=TimeStop(t);
+ printf("Time init %f\n",time);
+
+
// int cipherBlockSize = EVP_CIPHER_CTX_block_size(ctx);
// printf("INFO(evp_encrypt): block size: %d\n", cipherBlockSize);
for(int i=0;i<nb_test;i++)
{
-
- if(1 != EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, plaintext_len))
+ if(1 != EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, plaintext_len))
handleErrors();
ciphertext_len = len;
*/
for(int i=0;i<nb_test;i++)
{
+ plaintext_len = 0;
if(1 != EVP_DecryptUpdate(ctx, plaintext, &len, ciphertext, ciphertext_len))
handleErrors();
plaintext_len = len;
// load_RGB_pixmap("No_ecb_mode_picture.ppm", &width, &height, &data_R, &data_G, &data_B);
}
else {
- width=height=size_buf;
+ width=size_buf;
+ height=size_buf;
imsize=width*height;
buffer=malloc(imsize*sizeof(uchar));
for(int i=0;i<imsize;i++) {
int oneD=width*height;
- uchar *plaintext = malloc(imsize);
+ uchar *plaintext = malloc(imsize+1000); //add that for cbc
if(lena) {
for(int i=0;i<oneD;i++) {
plaintext[i]=data_R[i];
- uchar *ciphertext = malloc(imsize);
+ uchar *ciphertext = malloc(imsize+1000); //add that for cbc
/* Buffer for the decrypted text */
- uchar *decryptedtext = malloc(imsize);
+ uchar *decryptedtext = malloc(imsize+1000); //add that for cbc
int decryptedtext_len, ciphertext_len;