]> AND Private Git Repository - Cipher_code.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
update of enhanced one round cbc
authorcouturie <you@example.com>
Sun, 21 Oct 2018 15:43:01 +0000 (17:43 +0200)
committercouturie <you@example.com>
Sun, 21 Oct 2018 15:43:01 +0000 (17:43 +0200)
OneRoundIoT/EnhancedOneRound/enhanced_oneround.cpp

index 04986d719c00e3ab367cec79c2f44c494dd15060..954a1274427d6c63636cd308efd58115452a77a7 100644 (file)
@@ -320,18 +320,32 @@ void encrypt_cbc(uchar* seq_in, uchar *seq_out, int len,uchar* RM, int *Pbox, in
   uchar *RM2;
 
   int h2=h*h;
+
+
+
+  
   for(int a=0;a<h;a+=4) {
-    IV1[a]=RM[3*h-a];
-    IV1[a+1]=RM[3*h-a-1];
-    IV1[a+2]=RM[3*h-a-2];
-    IV1[a+3]=RM[3*h-a-3];
+    myrand=xorshift32(myrand);
+    uint mm=myrand;
+    IV1[a]=(mm&255);
+    mm>>=8;
+    IV1[a+1]=(mm&255);
+    mm>>=8;
+    IV1[a+2]=(mm&255);
+    mm>>=8;
+    IV1[a+3]=(mm&255);
   }
 
   for(int a=0;a<h;a+=4) {
-    IV2[a]=RM[h2+2*h-a];
-    IV2[a+1]=RM[h2+2*h-a-1];
-    IV2[a+2]=RM[h2+2*h-a-2];
-    IV2[a+3]=RM[h2+2*h-a-3];
+    myrand=xorshift32(myrand);
+    uint mm=myrand;
+    IV2[a]=(mm&255);
+    mm>>=8;
+    IV2[a+1]=(mm&255);
+    mm>>=8;
+    IV2[a+2]=(mm&255);
+    mm>>=8;
+    IV2[a+3]=(mm&255);
 
   }
  
@@ -430,23 +444,34 @@ void decrypt_cbc(uchar* seq_in, uchar *seq_out, int len, uchar* RM, int *Pbox, i
   uchar *RM1;
   uchar *RM2;
 
-
-  int h2=h*h;
   for(int a=0;a<h;a+=4) {
-    IV1[a]=RM[3*h-a];
-    IV1[a+1]=RM[3*h-a-1];
-    IV1[a+2]=RM[3*h-a-2];
-    IV1[a+3]=RM[3*h-a-3];
+    myrand=xorshift32(myrand);
+    uint mm=myrand;
+    IV1[a]=(mm&255);
+    mm>>=8;
+    IV1[a+1]=(mm&255);
+    mm>>=8;
+    IV1[a+2]=(mm&255);
+    mm>>=8;
+    IV1[a+3]=(mm&255);
   }
 
   for(int a=0;a<h;a+=4) {
-    IV2[a]=RM[h2+2*h-a];
-    IV2[a+1]=RM[h2+2*h-a-1];
-    IV2[a+2]=RM[h2+2*h-a-2];
-    IV2[a+3]=RM[h2+2*h-a-3];
+    myrand=xorshift32(myrand);
+    uint mm=myrand;
+    IV2[a]=(mm&255);
+    mm>>=8;
+    IV2[a+1]=(mm&255);
+    mm>>=8;
+    IV2[a+2]=(mm&255);
+    mm>>=8;
+    IV2[a+3]=(mm&255);
 
   }
 
+  
+
 
   
   for(int it=0;it<len/2;it++) {
@@ -825,6 +850,7 @@ int main(int argc, char** argv) {
     }
     store_RGB_pixmap("lena2.ppm", data_R, data_G, data_B, width, height);
   }
+
   
 
   time_decrypt=0;