]> 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 165fb192f6dc11b080c67c309f780d23b1d9a328..fd1ff8a4b36eb1466e7749f84a78e2ff67dc7570 100644 (file)
@@ -139,8 +139,11 @@ template<int h2>
 void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Sbox1, uchar *Sbox2, int enc) {
 
 
 void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Sbox1, uchar *Sbox2, int enc) {
 
 
-  uchar *X=new uchar[h2];
-  uchar *fX=new uchar[h2];
+//  uchar *X=new uchar[h2];
+//  uchar *fX=new uchar[h2];
+  uchar X[h2];
+  uchar fX[h2];
+  
   int ind1,ind2;
 
   
   int ind1,ind2;
 
   
@@ -238,11 +241,16 @@ template<int h2>
 void encrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Sbox1, uchar *Sbox2, int debug) {
 
 
 void encrypt(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, int *PboxRM, uchar *Sbox1, uchar *Sbox2, int debug) {
 
 
-  uchar *X=new uchar[h2];
+/*  uchar *X=new uchar[h2];
   uchar *fX=new uchar[h2];
   unsigned int *lX=(unsigned int*)X;
   unsigned int *lseq_in=(unsigned int*)seq_in;
   uchar *fX=new uchar[h2];
   unsigned int *lX=(unsigned int*)X;
   unsigned int *lseq_in=(unsigned int*)seq_in;
-
+*/
+  uchar X[h2];
+  uchar fX[h2];
+  unsigned int *lX=(unsigned int*)X;
+  unsigned int *lseq_in=(unsigned int*)seq_in;
+  
 
   for(int it=0;it<len;it++) {
     int ind1=it*h2;
 
   for(int it=0;it<len;it++) {
     int ind1=it*h2;
@@ -299,13 +307,19 @@ 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 *Sbox1, uchar *Sbox2, int debug) {
 
 
-  uchar *fX=new uchar[h2];
+  /*uchar *fX=new uchar[h2];
+  uchar *Inv_Sbox1=new uchar[256];
+  uchar *Inv_Sbox2=new uchar[256];
+  */
+  uchar fX[h2];
+  uchar Inv_Sbox1[256];
+  uchar Inv_Sbox2[256];
 
 
 
 
-  uchar *Inv_Sbox1=new uchar[256];
+  
   inverse_tables(Sbox1,256,Inv_Sbox1);
 
   inverse_tables(Sbox1,256,Inv_Sbox1);
 
-  uchar *Inv_Sbox2=new uchar[256];
   inverse_tables(Sbox2,256,Inv_Sbox2);
   
 
   inverse_tables(Sbox2,256,Inv_Sbox2);
   
 
@@ -372,7 +386,7 @@ int main(int argc, char** argv) {
   for(int i=1; i<argc; i++){
     if(strncmp(argv[i],"nb",2)==0)    nb_test = atoi(&(argv[i][2]));    //nb of test         
     if(strncmp(argv[i],"ctr",3)==0) ctr = atoi(&(argv[i][3]));          //CTR ? 1  otherwise CBC like
   for(int i=1; i<argc; i++){
     if(strncmp(argv[i],"nb",2)==0)    nb_test = atoi(&(argv[i][2]));    //nb of test         
     if(strncmp(argv[i],"ctr",3)==0) ctr = atoi(&(argv[i][3]));          //CTR ? 1  otherwise CBC like
-    if(strncmp(argv[i],"h",1)==0) h = atoi(&(argv[i][1]));          //CTR ? 1  otherwise CBC like
+    if(strncmp(argv[i],"h",1)==0) h = atoi(&(argv[i][1]));          //size of block
     if(strncmp(argv[i],"sizebuf",7)==0) size_buf = atoi(&(argv[i][7]));          //SIZE of the buffer
     if(strncmp(argv[i],"lena",4)==0) lena = atoi(&(argv[i][4]));          //Use Lena or buffer
   }
     if(strncmp(argv[i],"sizebuf",7)==0) size_buf = atoi(&(argv[i][7]));          //SIZE of the buffer
     if(strncmp(argv[i],"lena",4)==0) lena = atoi(&(argv[i][4]));          //Use Lena or buffer
   }
@@ -658,8 +672,10 @@ int main(int argc, char** argv) {
   else {
     bool equal=true;
     for(int i=0;i<imsize;i++) {
   else {
     bool equal=true;
     for(int i=0;i<imsize;i++) {
-      if(buffer[i]!=seq[i])
+      //cout<<(int)buffer[i]<<endl;
+      if(buffer[i]!=seq[i]) {
        equal=false;
        equal=false;
+      }
     }
     cout<<"RESULT CORRECT: "<<equal<<endl;
   }
     }
     cout<<"RESULT CORRECT: "<<equal<<endl;
   }