From: couturie <couturie@extinction> Date: Wed, 13 Sep 2017 17:13:26 +0000 (+0200) Subject: new X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/Cipher_code.git/commitdiff_plain/df9a6f3709580d85073a863dd881e6fcd09d7ee5?hp=af833d9849d82e81367b4faa192580e6b07fca47 new --- diff --git a/OneRoundIoT/OneRound/one_round_new.cpp b/OneRoundIoT/OneRound/one_round_new.cpp index 909593e..cb833c4 100644 --- a/OneRoundIoT/OneRound/one_round_new.cpp +++ b/OneRoundIoT/OneRound/one_round_new.cpp @@ -147,8 +147,11 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in int ind1,ind2; - for(int a=0;a<h2;a++) { + for(int a=0;a<h2;a+=4) { X[a]=Sbox1[a&0xFF]; //Warning according to the size of h2, we can be outsize of Sbox1[a] + X[a+1]=Sbox1[(a+1)&0xFF]; + X[a+2]=Sbox1[(a+2)&0xFF]; + X[a+3]=Sbox1[(a+3)&0xFF]; } diff --git a/OneRoundIoT/OneRound/one_round_par2.cpp b/OneRoundIoT/OneRound/one_round_par2.cpp index 057887c..4a069b4 100644 --- a/OneRoundIoT/OneRound/one_round_par2.cpp +++ b/OneRoundIoT/OneRound/one_round_par2.cpp @@ -166,10 +166,13 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in uchar X[h2]; - for(int a=0;a<h2;a++) { - X[a]=Sbox1[(a+10*id)&0xFF]; //Warning according to the size of h2, we can be outsize of Sbox1[a] - } + for(int a=0;a<h2;a+=4) { + X[a]=Sbox1[a&0xFF]; //Warning according to the size of h2, we can be outsize of Sbox1[a] + X[a+1]=Sbox1[(a+1)&0xFF]; + X[a+2]=Sbox1[(a+2)&0xFF]; + X[a+3]=Sbox1[(a+3)&0xFF]; + } int offset=p*loc_len; @@ -198,42 +201,29 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in X[a+3]=X[Sbox1[a+3]]; } - for(int a=0;a<h2;a+=4){ - fX[a]=X[a]; - fX[a+1]=X[a+1]; - fX[a+2]=X[a+2]; - fX[a+3]=X[a+3]; - } - - - - + + for(int a=0;a<h2;a+=4) { + fX[a]=X[a]^RM2[a]; + fX[a+1]=X[a+1]^RM2[a+1]; + fX[a+2]=X[a+2]^RM2[a+2]; + fX[a+3]=X[a+3]^RM2[a+3]; + } - for(int a=0;a<h2;a+=4) { + /*for(int a=0;a<h2;a+=4) { fX[a]=Sbox2[fX[a]]; fX[a+1]=Sbox2[fX[a+1]]; fX[a+2]=Sbox2[fX[a+2]]; fX[a+3]=Sbox2[fX[a+3]]; - } + }*/ // rotate(RM1, &RM2[id*h2], h2, Pbox[it]%h2); - for(int a=0;a<h2;a+=4) { - RM2[a]=RM2[PboxRM[a]]; - RM2[a+1]=RM2[PboxRM[a+1]]; - RM2[a+2]=RM2[PboxRM[a+2]]; - RM2[a+3]=RM2[PboxRM[a+3]]; - } - for(int a=0;a<h2;a+=4) { - fX[a]=fX[a]^RM2[a]; - fX[a+1]=fX[a+1]^RM2[a+1]; - fX[a+2]=fX[a+2]^RM2[a+2]; - fX[a+3]=fX[a+3]^RM2[a+3]; - } + + @@ -251,7 +241,17 @@ void encrypt_ctr(uchar* seq_in, uchar *seq_out, int len,uchar* RM1,int *Pbox, in seq_out[ind1+a+2]=fX[a+2]; seq_out[ind1+a+3]=fX[a+3]; } - + + + + for(int a=0;a<h2;a+=4) { + RM2[a]=RM2[PboxRM[a]]; + RM2[a+1]=RM2[PboxRM[a+1]]; + RM2[a+2]=RM2[PboxRM[a+2]]; + RM2[a+3]=RM2[PboxRM[a+3]]; + } + + /*for(int a=0;a<h2;a+=4) { RM1[id*h2+a]=RM1[id*h2+PboxRM[a]]; RM1[id*h2+a+1]=RM1[id*h2+PboxRM[a+1]];