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

Private GIT Repository
new ida
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_hash_new3.cpp
index f7c622d2e90887a402b83fe2940f075bc198919d..b14d8193e2b1a5289b6bf8f23c7b3a72bfb78b93 100644 (file)
@@ -162,15 +162,33 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, int *Pbox,int *PboxRM, ucha
 
 
     // Mix with dynamic RM
-    
-    for(int a=0;a<h;a+=4) {
+
+    /*
+     for(int a=0;a<h;a+=4) {
       RM1[a]=Sbox1[RM1[a]^seq_in[ind1+a]]^seq_in[ind2+a];
       RM1[a+1]=Sbox1[RM1[a+1]^seq_in[ind1+a+1]]^seq_in[ind2+a+1];
       RM1[a+2]=Sbox1[RM1[a+2]^seq_in[ind1+a+2]]^seq_in[ind2+a+2];
       RM1[a+3]=Sbox1[RM1[a+3]^seq_in[ind1+a+3]]^seq_in[ind2+a+3];
     }
+    */
+    
+    for(int a=0;a<h;a+=4) {
+      RM1[a]=RM1[a]^seq_in[ind1+a];
+      RM1[a+1]=RM1[a+1]^seq_in[ind1+a+1];
+      RM1[a+2]=RM1[a+2]^seq_in[ind1+a+2];
+      RM1[a+3]=RM1[a+3]^seq_in[ind1+a+3];
+    }
+
+  for(int a=0;a<h;a+=4) {
+      RM1[a]=Sbox1[RM1[a]]^seq_in[ind2+a];
+      RM1[a+1]=Sbox1[RM1[a+1]]^seq_in[ind2+a+1];
+      RM1[a+2]=Sbox1[RM1[a+2]]^seq_in[ind2+a+2];
+      RM1[a+3]=Sbox1[RM1[a+3]]^seq_in[ind2+a+3];
+    }
 
 
+    
+
      for(int a=0;a<h;a+=4) {
        RM1[a]=Sbox2[RM1[a]];
        RM1[a+1]=Sbox2[RM1[a+1]];