📄 nd.cpp
字号:
#include<iostream.h>
#include<malloc.h>
#include<math.h>
void PIs(int S[16][4]);
int Yihuo(int ,int );
void OutputOrNot(int A[16][4] );
void main()
{
for(int k=0;k<16;k++){
int X[16][4]={
{0,0,0,0},{0,0,0,1},{0,0,1,0},{0,0,1,1},
{0,1,0,0},{0,1,0,1},{0,1,1,0},{0,1,1,1},
{1,0,0,0},{1,0,0,1},{1,0,1,0},{1,0,1,1},
{1,1,0,0},{1,1,0,1},{1,1,1,0},{1,1,1,1}
};
int X2[16][4];
int Y[16][4];
for(int i=0;i<16;i++)
for(int j=0;j<4;j++)
X2[i][j]=Yihuo(X[i][j],X[k][j]);
PIs(X);
PIs(X2);
for( i=0;i<16;i++)
for( int j=0;j<4;j++)
Y[i][j]=Yihuo(X[i][j],X2[i][j]);
OutputOrNot(Y);
}
}
////异或////////
int Yihuo(int w ,int k )
{ int A ;
A = w^k ;
return A;
}
//////////////S盒//////
void PIs(int S[16][4])
{
int temp;
int pi[4] ;
for(int i=0;i<16;i++){
for (int j=0;j<4;j++){pi[j]= S [i][j] ; }
temp=pi[0]*8+pi[1]*4+pi[2]*2+pi[3] ;
switch(temp)
{case 0 : pi[0] =1;pi[1] =1;pi[2] =1;pi[3] =0;break;
case 1 : pi[0] =0;pi[1] =1;pi[2] =0;pi[3] =0;break;
case 2 : pi[0] =1;pi[1] =1;pi[2] =0;pi[3] =1;break;
case 3 : pi[0] =0;pi[1] =0;pi[2] =0;pi[3] =1;break;
case 4 : pi[0] =0;pi[1] =0;pi[2] =1;pi[3] =0;break;
case 5 : pi[0] =1;pi[1] =1;pi[2] =1;pi[3] =1;break;
case 6 : pi[0] =1;pi[1] =0;pi[2] =1;pi[3] =1;break;
case 7 : pi[0] =1;pi[1] =0;pi[2] =0;pi[3] =0;break;
case 8 : pi[0] =0;pi[1] =0;pi[2] =1;pi[3] =1;break;
case 9 : pi[0] =1;pi[1] =0;pi[2] =1;pi[3] =0;break;
case 10 : pi[0] =0;pi[1] =1;pi[2] =1;pi[3] =0;break;
case 11 : pi[0] =1;pi[1] =1;pi[2] =0;pi[3] =0;break;
case 12 : pi[0] =0;pi[1] =1;pi[2] =0;pi[3] =1;break;
case 13 : pi[0] =1;pi[1] =0;pi[2] =0;pi[3] =1;break;
case 14 : pi[0] =0;pi[1] =0;pi[2] =0;pi[3] =0;break;
case 15 : pi[0] =0;pi[1] =1;pi[2] =1;pi[3] =1;break;
}
for(int k=0;k<4;k++){S[i][k]=pi[k];}
}
}
void OutputOrNot(int A[16][4] )
{
int temp;
int pi[4] ;
int S[16]={0} ;
for(int i=0;i<16;i++){
for (int j=0;j<4;j++){pi[j]= A[i][j] ; }
temp=pi[0]*8+pi[1]*4+pi[2]*2+pi[3] ;
S[temp]++;
}
for( i=0;i<16;i++) cout<<S[i]<<" ";
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -