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

Private GIT Repository
new
[Cipher_code.git] / OneRoundIoT / OneRound / one_round_new.cpp
index 24702f25998356e2a10e4a5da95718236b69a9f3..39def613616e23f1503c88f87e03cec38c97c268 100644 (file)
@@ -304,7 +304,7 @@ void encrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *P
 
 
 template<int h2>
-void decrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Sbox1, uchar *Sbox2, int debug) {
+void decrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Inv_Sbox1, uchar *Inv_Sbox2, int debug) {
 
 
   /*uchar *fX=new uchar[h2];
@@ -312,16 +312,6 @@ void decrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *P
   uchar *Inv_Sbox2=new uchar[256];
   */
   uchar fX[h2];
-  uchar Inv_Sbox1[256];
-  uchar Inv_Sbox2[256];
-
-
-  
-  inverse_tables(Sbox1,256,Inv_Sbox1);
-
-  inverse_tables(Sbox2,256,Inv_Sbox2);
-  
 
 
 
@@ -497,6 +487,11 @@ int main(int argc, char** argv) {
 
   uchar Sbox2[256];
   rc4key(&DK[16], Sbox2, 16);
+  uchar Inv_Sbox1[256];
+  uchar Inv_Sbox2[256];
+  inverse_tables(Sbox1,256,Inv_Sbox1);
+  inverse_tables(Sbox2,256,Inv_Sbox2);
+
 
 
   
@@ -621,7 +616,7 @@ int main(int argc, char** argv) {
       if(ctr)
        encrypt_ctr<4*4>(seq2, seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
       else
-       decrypt<4*4>(seq2,seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
+       decrypt<4*4>(seq2,seq,len,RM2,Pbox,PboxRM,Inv_Sbox1,Inv_Sbox2,0);
     }
     break;
   case 8:
@@ -629,7 +624,7 @@ int main(int argc, char** argv) {
       if(ctr)
        encrypt_ctr<8*8>(seq2, seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
       else
-       decrypt<8*8>(seq2,seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
+       decrypt<8*8>(seq2,seq,len,RM2,Pbox,PboxRM,Inv_Sbox1,Inv_Sbox2,0);
     }
     break;
   case 16:
@@ -637,7 +632,7 @@ int main(int argc, char** argv) {
       if(ctr)
        encrypt_ctr<16*16>(seq2, seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
       else
-       decrypt<16*16>(seq2,seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
+       decrypt<16*16>(seq2,seq,len,RM2,Pbox,PboxRM,Inv_Sbox1,Inv_Sbox2,0);
     }
     break;
   case 32:
@@ -645,7 +640,7 @@ int main(int argc, char** argv) {
       if(ctr)
        encrypt_ctr<32*32>(seq2, seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
       else
-       decrypt<32*32>(seq2,seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
+       decrypt<32*32>(seq2,seq,len,RM2,Pbox,PboxRM,Inv_Sbox1,Inv_Sbox2,0);
     }
     break;
   case 64:
@@ -653,7 +648,7 @@ int main(int argc, char** argv) {
       if(ctr)
        encrypt_ctr<64*64>(seq2, seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
       else
-       decrypt<64*64>(seq2,seq,len,RM2,Pbox,PboxRM,Sbox1,Sbox2,0);
+       decrypt<64*64>(seq2,seq,len,RM2,Pbox,PboxRM,Inv_Sbox1,Inv_Sbox2,0);
     }
     break;
   }