91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.33MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-30
  • 語言: 其他
  • 標簽: 加密解密??

資源簡介

8位的S-DES加密解密系統,通過輸入字符,然后經過加密后輸出密文字符。同時也可以輸入密文解密出明文。這個是我們密碼學的作業我自己寫的 并且測試了,沒有程序模塊沒有錯誤

資源截圖

代碼片段和文件信息

#include
using?namespace?std;
void?pp(char?*numchar?*xchar?*y)//合并數組
{
for(int?i=0;i<5;i++)
{
num[i]=x[i];
num[i+5]=y[i];
}

}

void?key(char?*k1char?*k2)//生成子密鑰
{
char?elem[10]={‘1‘‘0‘‘1‘‘0‘‘0‘‘0‘‘0‘‘0‘‘1‘‘0‘};//主密鑰
char?temp1[5];char?temp2[5];//S1-LS2-L
int?exchange[10]={35274101986};//p10置換數
int?px[8]={637485109};//p8置換數
char?xx[10];//臨時數組
for(int?i=0;i<10;i++)
{
xx[i]=elem[(exchange[i]-1)];//p10置換
}
for(int?j=0;j<5;j++)//拆分
{
temp1[j]=xx[j];
temp2[j]=xx[j+5];
}
char?x=temp1[0];char?y=temp2[0];//左移一位
for(int?k=0;k<4;k++)
{
temp1[k]=temp1[k+1];
temp2[k]=temp2[k+1];
}
temp1[4]=x;temp2[4]=y;
pp(xxtemp1temp2);//合并
for(int?s=0;s<8;s++)//p8置換
{
k1[s]=xx[(px[s]-1)];
}
char?a=temp1[0]b=temp1[1];
char?c=temp2[0]d=temp2[1];
for(int?f=0;f<3;f++)//左移兩位
{
temp1[f]=temp1[f+2];
temp2[f]=temp2[f+2];
}
temp1[3]=atemp1[4]=b;
temp2[3]=ctemp2[4]=d;
????pp(xxtemp1temp2);
for(int?q=0;q<8;q++)//p8置換
{
k2[q]=xx[(px[q]-1)];
}
}
const?int?S0[4][4]?=???????????????????????????//S0?Box
{?

?????{1?0?3?2}??????

?????{3?2?1?0}

?????{0?2?1?3}

?????{3?1?0?2}?

};
const?int?S1[4][4]?=???????????????????????????//S1?Box
{?

?????{0?1?2?3}?

?????{2?0?1?3}

?????{3?2?1?0}

?????{2?1?0?3}?

};
void?F(char?*xchar?*ychar?*z)//F函數,x是R0或R1,y是k1或k2
{
int?yy[8]={41232341};//E/P擴展碼
int?ss[4];
int?dd[4];
int?abc[4]={2431};//P4置換碼
char?xx[8];char?aa[4]bb[4];
????for(int?i=0;i<8;i++)//將整型數組轉換成字符數組
{
xx[i]=x[(yy[i]-1)];
}
for(int?j=0;j<8;j++)//將整型數組轉換成字符數組
{
if(xx[j]==y[j])
xx[j]=‘0‘;
else
xx[j]=‘1‘;
}
for(int?k=0;k<4;k++)//合并數組
{
aa[k]=xx[k];
bb[k]=xx[k+4];
}
for(int?m=0;m<4;m++)//將字符數組轉換成整型數組
{
if(aa[m]==‘0‘)
{
ss[m]=0;
}
else
{
ss[m]=1;
}
}
for(int?r=0;r<4;r++)//將字符數組轉換成整型數組
{
if(bb[r]==‘0‘)
{
dd[r]=0;
}
else
{
dd[r]=1;
}
}
int?a=(ss[0])*2+ss[3];//1,4作為行號
int?b=(ss[1])*2+ss[2];//2,3作為列號
int?c=(dd[0])*2+dd[3];//1,4作為行號
int?d=(dd[1])*2+dd[2];//2,3作為列號
int?ab=S0[a][b];
int?cd=S1[c][d];
int?csc[4];char?data[4];
csc[0]=(ab/2)%2csc[1]=ab%2csc[2]=(cd/2)%2csc[3]=cd%2;
for(int?mp=0;mp<4;mp++)
/*將整型數組轉換成字符數組,如果字符數組中的一個元素為
‘0‘,則對應的整型數組中的位置元素為0,反之為1*/
{
if(csc[mp]==0)
data[mp]=‘0‘;
????else?if(csc[mp]==1)
????data[mp]=‘1‘;
else
data[mp]=‘?‘;
}
for(int?sh=0;sh<4;sh++)//p4置換
{
z[sh]=data[abc[sh]-1];
}

}
void?DES(char?*xchar?*m)//DES加密
{
int?y[8]={26314857};//IP置換碼
int?z[8]={41357286};//IP~1置換碼
//加密使用的臨時數組
char?L0[4]R0[4]L1[4]R1[4];
char?L2[4]R2[4]elem[8]num[8]c[4]d[4];
char?k1[8];char?k2[8];//子密鑰
for(int?i=0;i<8;i++)//IP置換
{
elem[i]=x[y[i]-1];
}
for(int?j=0;j<4;j++)//拆分數組
{
L0[j]=elem[j];
L1[j]=R0[j]=elem[j+4];
}
key(k1k2);//獲取子密鑰K1K2
F(R0

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????536643??2011-09-13?15:46??S-DES加密解密系統\Debug\s-des.exe

?????文件?????790200??2011-09-13?15:46??S-DES加密解密系統\Debug\s-des.ilk

?????文件?????215885??2011-09-13?15:46??S-DES加密解密系統\Debug\s-des.obj

?????文件????2002668??2011-09-13?15:46??S-DES加密解密系統\Debug\s-des.pch

?????文件????1106944??2011-09-13?15:46??S-DES加密解密系統\Debug\s-des.pdb

?????文件??????82944??2011-09-13?15:46??S-DES加密解密系統\Debug\vc60.idb

?????文件?????110592??2011-09-13?15:46??S-DES加密解密系統\Debug\vc60.pdb

?????文件?????350496??2011-09-09?15:35??S-DES加密解密系統\Debug\加密.ilk

?????文件????2001228??2011-09-09?14:54??S-DES加密解密系統\Debug\加密.pch

?????文件?????541696??2011-09-09?15:35??S-DES加密解密系統\Debug\加密.pdb

?????文件???????7977??2011-09-13?15:45??S-DES加密解密系統\s-des.cpp

?????文件???????3391??2011-09-13?15:46??S-DES加密解密系統\s-des.dsp

?????文件????????535??2011-09-13?15:47??S-DES加密解密系統\s-des.dsw

?????文件??????41984??2011-09-13?15:47??S-DES加密解密系統\s-des.ncb

?????文件??????48640??2011-09-13?15:47??S-DES加密解密系統\s-des.opt

?????文件????????743??2011-09-13?15:46??S-DES加密解密系統\s-des.plg

?????文件???????4199??2011-09-09?14:47??S-DES加密解密系統\加密.dsp

?????文件????????533??2011-09-09?14:47??S-DES加密解密系統\加密.dsw

?????文件??????25600??2011-09-09?15:35??S-DES加密解密系統\加密.ncb

?????文件??????????0??2011-09-09?15:35??S-DES加密解密系統\加密.plg

?????目錄??????????0??2011-09-13?15:46??S-DES加密解密系統\Debug

?????目錄??????????0??2011-09-13?15:47??S-DES加密解密系統

-----------?---------??----------?-----??----

??????????????7872898????????????????????22


評論

共有 條評論