]> AND Private Git Repository - Cipher_code.git/blobdiff - OneRoundIoT/openssl/openssl_evp_cmac.c
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
update of old one round in order to degrade it
[Cipher_code.git] / OneRoundIoT / openssl / openssl_evp_cmac.c
index ae01f5c01a54d1b3c84708249cb31335275eb973..5f0fa0d7b71536c2a910e6ce4a52e15d1f38550d 100755 (executable)
@@ -34,6 +34,14 @@ double TimeStop(double t)
 }
 
 
 }
 
 
+void printBytes(unsigned char *buf, size_t len) {
+  for(int i=0; i<len; i++) {
+    printf("%02x ", buf[i]);
+  }
+  printf("\n");
+}
+
+
 void handleErrors(void)
 {
   ERR_print_errors_fp(stderr);
 void handleErrors(void)
 {
   ERR_print_errors_fp(stderr);
@@ -110,6 +118,8 @@ unsigned char mact[16] = {0};
   if(1 != CMAC_Final(ctx,  mact, &mactlen)) handleErrors();
   ciphertext_len += len;
 
   if(1 != CMAC_Final(ctx,  mact, &mactlen)) handleErrors();
   ciphertext_len += len;
 
+  printBytes(mact, mactlen);
+  
   /* Clean up */
   CMAC_CTX_free(ctx);
 
   /* Clean up */
   CMAC_CTX_free(ctx);
 
@@ -189,13 +199,14 @@ int main (int argc, char** argv)
 
   int size_buf=1;
   int lena=0;
 
   int size_buf=1;
   int lena=0;
-
+  int change=0;
    
   for(int i=1; i<argc; i++){
     if(strncmp(argv[i],"nb",2)==0)    nb_test = atoi(&(argv[i][2]));    //nb of test         
     if(strncmp(argv[i],"ctr",3)==0) ctr = atoi(&(argv[i][3]));          //CTR ? 1  otherwise CBC like
     if(strncmp(argv[i],"sizebuf",7)==0) size_buf = atoi(&(argv[i][7]));          //SIZE of the buffer
     if(strncmp(argv[i],"lena",4)==0) lena = atoi(&(argv[i][4]));          //Use Lena or buffer
    
   for(int i=1; i<argc; i++){
     if(strncmp(argv[i],"nb",2)==0)    nb_test = atoi(&(argv[i][2]));    //nb of test         
     if(strncmp(argv[i],"ctr",3)==0) ctr = atoi(&(argv[i][3]));          //CTR ? 1  otherwise CBC like
     if(strncmp(argv[i],"sizebuf",7)==0) size_buf = atoi(&(argv[i][7]));          //SIZE of the buffer
     if(strncmp(argv[i],"lena",4)==0) lena = atoi(&(argv[i][4]));          //Use Lena or buffer
+    if(strncmp(argv[i],"c",1)==0) change = atoi(&(argv[i][1]));          //Use Lena or buffer
   }
 
 /*  printf("nb times %d\n",nb_test);
   }
 
 /*  printf("nb times %d\n",nb_test);
@@ -261,7 +272,15 @@ int main (int argc, char** argv)
     }
   }
 
     }
   }
 
-  
+   if(change==1) {
+    
+    plaintext[4]++;
+  }
+  if(change==2) {
+    
+    plaintext[9]++;
+  }
+
 
   uchar *ciphertext = malloc(imsize+1000); //add that for cbc
 
 
   uchar *ciphertext = malloc(imsize+1000); //add that for cbc