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

Private GIT Repository
modif on one_round
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_new.cpp
index b936005844d209e1825d7758a078c601651ee00a..f0cafd695d5ed9d78fa3bbe9f604d6ef1d62a704 100644 (file)
@@ -178,6 +178,24 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in
     }
 
 
+    for(int a=0;a<h2;a+=4) {
+
+      myrand=xorshift32(myrand);
+      uint mm=myrand;
+
+      X[a]=X[a]^(mm&255);
+      mm>>=8;
+      X[a+1]=X[a+1]^(mm&255);
+      mm>>=8;
+      X[a+2]=X[a+2]^(mm&255);
+      mm>>=8;
+      X[a+3]=X[a+3]^(mm&255);
+    }
+
+
+
+
+    
     for(int a=0;a<h2;a+=4) {
       X[a]=Sbox1[X[a]];
       X[a+1]=Sbox1[X[a+1]];
@@ -186,24 +204,18 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in
     }
 
     for(int a=0;a<h2;a+=4) {
-      fX[a]=X[a]^RM1[a];
-      fX[a+1]=X[a+1]^RM1[a+1];
-      fX[a+2]=X[a+2]^RM1[a+2];
-      fX[a+3]=X[a+3]^RM1[a+3];
+      X[a]=X[a]^RM1[a];
+      X[a+1]=X[a+1]^RM1[a+1];
+      X[a+2]=X[a+2]^RM1[a+2];
+      X[a+3]=X[a+3]^RM1[a+3];
     }
 
     for(int a=0;a<h2;a+=4) {
+      fX[a]=X[a]^seq_in[ind2+a];
+      fX[a+1]=X[a+1]^seq_in[ind2+a+1];
+      fX[a+2]=X[a+2]^seq_in[ind2+a+2];
+      fX[a+3]=X[a+3]^seq_in[ind2+a+3];
 
-      myrand=xorshift32(myrand);
-      uint mm=myrand;
-
-      fX[a]=fX[a]^seq_in[ind2+a]^(mm&255);
-      mm>>=8;
-      fX[a+1]=fX[a+1]^seq_in[ind2+a+1]^(mm&255);
-      mm>>=8;
-      fX[a+2]=fX[a+2]^seq_in[ind2+a+2]^(mm&255);
-      mm>>=8;
-      fX[a+3]=fX[a+3]^seq_in[ind2+a+3]^(mm&255);
     }