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

Private GIT Repository
improvement
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_hash_new.cpp
index 59ec22d5d6a2e0313d5c28e399a90829e78dc28a..fbb517f053f291e54dccc1a584ff4e8374effb11 100644 (file)
@@ -135,7 +135,7 @@ void prga(uchar *sc, int ldata, uchar *r) {
   }
 }
 
   }
 }
 
-
+inline uchar  circ(uchar x,int n) {return (x << n) | (x >> (8 - n));}
 
 
 //the proposed hash function, which is based on DSD structure. Sensitivity is ensured by employing the binary diffusion
 
 
 //the proposed hash function, which is based on DSD structure. Sensitivity is ensured by employing the binary diffusion
@@ -186,6 +186,7 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, int *PboxRM, uchar *Sbox1,
 
     for(int a=0;a<h;a+=4) {
       Y[a]=Sbox1[Y[a]];
 
     for(int a=0;a<h;a+=4) {
       Y[a]=Sbox1[Y[a]];
+      //Y[a]=circ(Y[a],3);
     }
     
     Z[h-1]=Y[h-1]^Y[0];
     }
     
     Z[h-1]=Y[h-1]^Y[0];
@@ -195,6 +196,7 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, int *PboxRM, uchar *Sbox1,
 
     for(int a=0;a<h;a+=4) {
       Z[a]=Sbox2[Z[a]];
 
     for(int a=0;a<h;a+=4) {
       Z[a]=Sbox2[Z[a]];
+      //Z[a]=circ(Z[a],7);
     }
 
     
     }