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

Private GIT Repository
udpate oe round
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_new.cpp
index b936005844d209e1825d7758a078c601651ee00a..f5546cf4ba22e8e5391aff23a65bbcf2fe27e1b0 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]];
@@ -193,17 +211,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) {
+      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);
     }