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

Private GIT Repository
new
[Cipher_code.git] / OneRoundIoT / OneRound / rc4_hash2.cpp
index 013d657b31a56c637dbba4f2c827cfc7be5c633f..10f98230d3c74bcabbe36590489545c18e4a1ed4 100644 (file)
@@ -176,7 +176,7 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, uchar *S, int h) {
 
 
   uint64_t *rm=(uint64_t*)RM1;
 
 
   uint64_t *rm=(uint64_t*)RM1;
-  uint64_t *xx=(uint64_t*)X;
+  //  uint64_t *xx=(uint64_t*)X;
   uint64_t *ss=(uint64_t*)seq_in;
 
 
   uint64_t *ss=(uint64_t*)seq_in;
 
 
@@ -185,29 +185,23 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, uchar *S, int h) {
     //ind1=Pbox[it]*h;
     //ind2=Pbox[(it+len/2)]*h;
 
     //ind1=Pbox[it]*h;
     //ind2=Pbox[(it+len/2)]*h;
 
-    ind1=it*h/8;
+    ind1=(it*h)>>3;
     // Mix with dynamic RM
     uint64_t sum=0;
     // Mix with dynamic RM
     uint64_t sum=0;
-    /*     for(int a=0;a<h;a+=4) {
-       X[a]=RM1[a]^seq_in[ind1+a];
-       X[a+1]=RM1[a+1]^seq_in[ind1+a+1];
-       X[a+2]=RM1[a+2]^seq_in[ind1+a+2];
-       X[a+3]=RM1[a+3]^seq_in[ind1+a+3];
-     }
-    */
 
     
 
     
-     for(int a=0;a<h/8;a++) {
-       xx[a]=rm[a]^ss[ind1+a];
-       sum+=xx[a];
+    for(int a=0;a<(h>>3);a++) {
+       rm[a]=rm[a]^ss[ind1+a];
+       sum+=rm[a];
      }
 
 
 
 
      rm[0]=xorshift64(sum);
      }
 
 
 
 
      rm[0]=xorshift64(sum);
-     for(int a=1;a<h/8;a++) {
+     for(int a=1;a<(h>>3);a++) {
        rm[a]^=xorshift64(rm[a-1]);
        rm[a]^=xorshift64(rm[a-1]);
+       //rm[a]^=splitmix64(rm[a-1]);
      }
 
 
      }