]> AND Private Git Repository - Cipher_code.git/blobdiff - OneRoundIoT/OneRound/one_round_new.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
update
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_new.cpp
index cb833c4547276976a609f83194583c3c44fa418f..d4441a96ff9643e1c3a439f7b6568ddb24bac726 100644 (file)
@@ -9,6 +9,8 @@
 #include<string.h>
 #include <fstream>
 #include <sys/time.h>
+#include <glib.h>
+
 
 /*#include <cryptopp/hex.h>
 #include <cryptopp/sha.h>
@@ -167,12 +169,11 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in
        
 
     for(int a=0;a<h2;a+=4) {
-      X[a]=X[Sbox1[a]];
-      X[a+1]=X[Sbox1[a+1]];
-      X[a+2]=X[Sbox1[a+2]];
-      X[a+3]=X[Sbox1[a+3]];
+      X[a]=Sbox1[X[a]];
+      X[a+1]=Sbox1[X[a+1]];
+      X[a+2]=Sbox1[X[a+2]];
+      X[a+3]=Sbox1[X[a+3]];
     }
-    
    
 
     
@@ -413,9 +414,14 @@ int main(int argc, char** argv) {
   uchar *data_R, *data_G, *data_B;
   int imsize;
   uchar *buffer;
+
+
+
+
   
   if(lena==1) {
     load_RGB_pixmap("lena.ppm", &width, &height, &data_R, &data_G, &data_B);
+//    load_RGB_pixmap("8192.ppm", &width, &height, &data_R, &data_G, &data_B);
     imsize=width*height*3;
 //  load_RGB_pixmap("No_ecb_mode_picture.ppm", &width, &height, &data_R, &data_G, &data_B);
   }
@@ -466,15 +472,27 @@ int main(int argc, char** argv) {
     
   for (int i = 0; i < 256 ; i++) {
     mix[i]=Secretkey[i]^counter[i];
+    
   }
+  gchar  *sha512;
+
+  sha512 = g_compute_checksum_for_string(G_CHECKSUM_SHA512, (const char*) mix, 256);
+//  g_print("%s\n", sha512);
+
+
+
+
+
+
 
   
 //  cout<<"hash "<<endl;
   for (int i = 0; i < 64 ; i++) {
 //    DK[i]=digest[i];
-    DK[i]=mix[i];
+    DK[i]=sha512[i];
   }
-
+  g_free(sha512);
 
 
   int *Pbox=new int[len];
@@ -490,7 +508,10 @@ int main(int argc, char** argv) {
 
 
 
-  double time=0;
+  double time_encrypt=0;
+  double time_decrypt=0;
+  
+
   double t=TimeStart();  
   rc4key(DK, Sbox1, 8);
   
@@ -508,8 +529,8 @@ int main(int argc, char** argv) {
   
   rc4keyperm(&DK[48], h2, rp, PboxRM, 16);
   
-  time+=TimeStop(t);
-  cout<<"Time initializaton "<<time<<endl;
+  //time+=TimeStop(t);
+  //cout<<"Time initializaton "<<time<<endl;
 
 
 
@@ -533,7 +554,7 @@ int main(int argc, char** argv) {
 
 
   
-  time=0;
+  time_encrypt=0;
   t=TimeStart();
 
   int i;
@@ -599,8 +620,9 @@ int main(int argc, char** argv) {
     }
     break;
   }
-  time+=TimeStop(t);
-  cout<<"Time encrypt "<<time<<endl;
+  time_encrypt+=TimeStop(t);
+  //cout<<"Time encrypt "<<
+  cout<<(double)imsize*nb_test/time_encrypt<<"\t";
 
 
   if(lena) {
@@ -613,7 +635,7 @@ int main(int argc, char** argv) {
   }
   
 
-  time=0;
+  time_decrypt=0;
   t=TimeStart();
   switch(h) {
   case 4:
@@ -666,8 +688,9 @@ int main(int argc, char** argv) {
     break;
   }
 
-  time+=TimeStop(t);
-  cout<<"Time decrypt "<<time<<endl;
+  time_decrypt+=TimeStop(t);
+  //cout<<"Time decrypt "
+  cout<<(double)imsize*nb_test/time_decrypt<<"\t";
 
   if(lena) {
     for(int i=0;i<oneD;i++) {