]> 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
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_hash_new3.cpp
index f7c622d2e90887a402b83fe2940f075bc198919d..81580ce545381d2e22f4bd6a1d01b72999642ec9 100644 (file)
@@ -1,7 +1,7 @@
 //gcc pixmap_io.c  -c 
 //g++ -O3 one_round_hash_new.cpp pixmap_io.o  -o one_round_hash_new -std=c++11   
 
 //gcc pixmap_io.c  -c 
 //g++ -O3 one_round_hash_new.cpp pixmap_io.o  -o one_round_hash_new -std=c++11   
 
-//
+//comparison with cmac 
 
 
 #include <iostream>
 
 
 #include <iostream>
@@ -126,7 +126,7 @@ void prga(uchar *sc, int ldata, uchar *r) {
   uchar j0=0;
 
   for (int it=0; it<ldata; it++) {
   uchar j0=0;
 
   for (int it=0; it<ldata; it++) {
-    i0 = ((i0+1)&0xFE); //%255);
+    i0 = ((i0+1)%255);
     j0 = (j0 + sc[i0])&0xFF;
     uchar tmp = sc[i0];
     sc[i0] = sc[j0];
     j0 = (j0 + sc[i0])&0xFF;
     uchar tmp = sc[i0];
     sc[i0] = sc[j0];
@@ -162,14 +162,32 @@ void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, int *Pbox,int *PboxRM, ucha
 
 
     // Mix with dynamic RM
 
 
     // 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];
     }
       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]];
 
      for(int a=0;a<h;a+=4) {
        RM1[a]=Sbox2[RM1[a]];
@@ -217,7 +235,7 @@ int main(int argc, char** argv) {
 
 
   cout<<size_buf<<endl;
 
 
   cout<<size_buf<<endl;
-  int seed=time(NULL);
+  int seed=12;//time(NULL);
   cout<<seed<<endl;
   srand48(seed);
 
   cout<<seed<<endl;
   srand48(seed);