}
-
- /*for(int a=0;a<h2;a+=4){
- fX[a]=RM1[X[a]];
- fX[a+1]=RM1[X[a+1]];
- fX[a+2]=RM1[X[a+2]];
- fX[a+3]=RM1[X[a+3]];
- }*/
-
+ for(int a=0;a<h2;a+=4) {
+ X[a]=X[Sbox1[a]];
+ X[a+1]=X[Sbox1[a+1]];
+ X[a+2]=X[Sbox1[a+2]];
+ 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];
- *(int*)&fX[0]^=it;
+// *(int*)&fX[0]^=it;
/* for(int a=0;a<h2;a+=16) {
*(int*)&fX[a+4]^=it;
*(int*)&fX[a+8]^=it;
*(int*)&fX[a+12]^=it;
- }
-*/
+ }
+*/
+
for(int a=0;a<h2;a+=4) {
fX[a]=fX[a]^RM1[a];
fX[a+1]=fX[a+1]^RM1[a+1];
}
- /*for(int a=0;a<h2;a+=4){
- fX[a]=RM1[X[a]];
- fX[a+1]=RM1[X[a+1]];
- fX[a+2]=RM1[X[a+2]];
- fX[a+3]=RM1[X[a+3]];
- }*/
+ for(int a=0;a<h2;a+=4) {
+ X[a]=X[Sbox1[a]];
+ X[a+1]=X[Sbox1[a+1]];
+ X[a+2]=X[Sbox1[a+2]];
+ X[a+3]=X[Sbox1[a+3]];
+ }
for(int a=0;a<h2;a+=4){
fX[a]=X[a];
+
+
- /* if(it<513) {
- for(int a=0;a<h2;a++)
- printf("%d ",fX[a]);
- printf("\n");
- }*/
- *(int*)&fX[0]^=it;
-
- /* if(it<513) {
- for(int a=0;a<h2;a++)
- printf("%d ",fX[a]);
- printf("\n");
- }*/
-
-
-
-
- /*for(int a=0;a<h2;a+=4) {
- fX[id*h2+a]=fX[id*h2+a]^RM1[id*h2+a];
- fX[id*h2+a+1]=fX[id*h2+a+1]^RM1[id*h2+a+1];
- fX[id*h2+a+2]=fX[id*h2+a+2]^RM1[id*h2+a+2];
- fX[id*h2+a+3]=fX[id*h2+a+3]^RM1[id*h2+a+3];
- }*/
-
-
-
for(int a=0;a<h2;a+=4) {
fX[a]=Sbox2[fX[a]];