]> AND Private Git Repository - Cipher_code.git/blobdiff - SboxAES/IOT/main.c
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
update of enhance one round with cbc rm
[Cipher_code.git] / SboxAES / IOT / main.c
index 34d24c2e4ab4e30f54365e1ad3477bc2c18998d2..90f4369cfb9f567d7511a04162151799d18f3625 100644 (file)
@@ -4,13 +4,14 @@
 #include<stdlib.h>
 #include <stdint.h>
 #include <string.h>
+#include <sys/time.h>
 #include"aes.h"
 #define CTR 1
 
 
 
 
-const int size_mesg=64;
+const int size_mesg=1024;
 
 typedef unsigned char byte;
 
@@ -19,6 +20,22 @@ typedef unsigned char byte;
 
 
 
+double TimeStart()
+{
+  struct timeval tstart;
+  gettimeofday(&tstart,0);
+  return( (double) (tstart.tv_sec + tstart.tv_usec*1e-6) );
+}
+
+double TimeStop(double t)
+{
+  struct timeval tend;
+
+  gettimeofday(&tend,0);
+  t = (double) (tend.tv_sec + tend.tv_usec*1e-6) - t;
+  return (t);
+}
+
 
 
 
@@ -63,26 +80,46 @@ int main(int argc, char** argv) {
   for(int i=0;i<size_mesg;i++) {
     plain[i]=i;
   }
-  for(int i=0;i<size_mesg;i++) {
+/*  for(int i=0;i<size_mesg;i++) {
     printf("%d ",plain[i]);
   }
   printf("\n\n");
-  
+*/
   struct AES_ctx ctx;
-  rc4key(mykey, 8);
 
+  int nb_times=1000;
+  
+  double time=0;
+  double t=TimeStart();
+  for(int i=0;i<nb_times;i++)
+    rc4key(mykey, 8);
+  time+=TimeStop(t);
+  printf("time generate sbox %f\n",time);
+  
     
 //  AES_init_ctx_iv(&ctx, mykey, iv);
-  My_KeyExpansion(ctx.RoundKey, mykey);
-  memcpy (ctx.Iv, iv, AES_BLOCKLEN);
-  My_AES_CTR_xcrypt_buffer(&ctx, plain, size_mesg);
+  time=0;
+  t=TimeStart();
+  for(int i=0;i<nb_times;i++) {
+    My_KeyExpansion(ctx.RoundKey, mykey);
+    memcpy (ctx.Iv, iv, AES_BLOCKLEN);
+  }
 
+  time+=TimeStop(t);
+  printf("time key expansion %f\n",time);
 
+  time=0;
+  t=TimeStart();
+  for(int i=0;i<nb_times;i++)
+    My_AES_CTR_xcrypt_buffer(&ctx, plain, size_mesg);
+  time+=TimeStop(t);
+  printf("time cipher %f size %d\n",time,size_mesg);
 
-  for(int i=0;i<size_mesg;i++) {
+
+/*  for(int i=0;i<size_mesg;i++) {
     printf("%d ",plain[i]);
   }
-
+*/
   printf("\n\n");
 //  AES_init_ctx_iv(&ctx, mykey, iv);
   My_KeyExpansion(ctx.RoundKey, mykey);
@@ -92,9 +129,9 @@ int main(int argc, char** argv) {
   My_AES_CTR_xcrypt_buffer(&ctx, plain, size_mesg);
 
 
-  for(int i=0;i<size_mesg;i++) {
+  /* for(int i=0;i<size_mesg;i++) {
     printf("%d ",plain[i]);
-  }
+    }*/
 
   printf("\n\n");