- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IDEA编码
IDEA编码
#include stdio.h
#include math.h
#define modl 65536;
#define mod2 65537;
int chenni(int e) //求乘法逆元算法
{
int x1,x2,x3,y1,y2,y3,t1,t2,t3,temp;
x1=1;
x2=0;
x3=65537;
y1=0;
y2=1;
y3=e;
while(1)
{
if(y3==1)
{
if(y2=0)
return y2;
else
return 65537+y2;
break;
}
temp=x3/y3;
t1=x1-temp*y1;
t2=x2-temp*y2;
t3=x3-temp*y3;
x1-y1;x2=y2;x3=y3;
y1=t1;y2=t2;y3=t3;
}
}
int jiani(int e)//求加法逆元
{
return 65536-e;
}
void main()
{
unsigned int i=1,x1=0,x2=0,x3=0,x4=0;
unsigned int m[65],KK[129],K[129],X1[17],X2[17],X3[17],X4[17],z[53],y[53];
unsigned int Z[53][17];
for(i=1;i=52;i++)
z[i]=0;
FILE *f,*ff;
f=fopen(mingwen.txt,r);
i=1;
while(i=64)//从mingwen.txt中读取明文
fscanf(f,%d,m[i++]);
fclose(f);
for(i=1;i=16;i++) X1[i]=m[i];
for(i=17;i=32;i++) X2[i-16]=m[i];
for(i=33;i=48;i++) X3[i-32]=m[i];
for(i=49;i=64;i++) X4[i-48]=m[i];
ff=fopen(jiamiyao.txt,r);
i=1;
while(i=128)//从jiamiyao.txt中读取加密密钥
fscanf(ff,%d,KK[i++]);
fclose(ff);
for(i=1;i=16;i++) Z[1][i]=KK[i];
for(i=17;i=32;i++) Z[2][i-16]=KK[i];
for(i=33;i=48;i++) Z[3][i-32]=KK[i];
for(i=49;i=64;i++) Z[4][i-48]=KK[i];
for(i=65;i=80;i++) Z[5][i-64]=KK[i];
for(i=81;i=96;i++) Z[6][i-80]=KK[i];
for(i=97;i=112;i++) Z[7][i-96]=KK[i];
for(i=113;i=128;i++) Z[8][i-112]=KK[i];
int i=8,u=0;
while(t52)//以下代码产生所有的子密钥
{
for(i=1;i=128;i++)
K[i]=KK[(i+25)%128];
K[103]=KK[128];
u++;
for(i=1;i=16;i++) Z[1+u*8][i]=K[i];t++;
for(i=17;i=32;i++) Z[2+u*8][i-16]=K[i];t++;
for(i=33;i=48;i++) Z[3+u*8][i-32]=K[i];t++;
for(i=49;i=64;i++) Z[4+u*8][i-48]=K[i];t++;
if(t52)
{
for(i=65;i80;i++) Z[5+u*8][i-64]=K[i];t++;
for(i=81;i96;i++) Z[6+u*8][i-64]=K[i];t++;
for(i=97;i112;i++) Z[7+u*8][i-64]=K[i];t++;
for(i=113;i128;i++) Z[8+u*8][i-64]=K[i];t++;
}
for(i=1;i=128;i++) KK[i]=K[i];
}//所有子密钥产生完毕
for(i=1;i=16;i++)//将初始的4子段明文分别转化为十进制数
{
x1=x1+X1[i]*pow(2,16-i);
x2=x2+X2[i]*pow(2,16-i);
x3=x3+X3[i]*pow(2,16-i);
x4=x4+X4[i]*pow(2,16-i);
}
for(int lunci=1;lunci=8;lunci++) //以下代码实现8轮迭代循环
{
int j;
for(j=1;j=16;j++) //以下为产生子密钥对应的十进制数
{
z[1+(lunci-1)*6]=z[1+(
您可能关注的文档
最近下载
- 一种基于压力监测的输液港自动封堵装置.pdf VIP
- 菠菜种植课件PPT.pptx VIP
- 紫色复古风《莴苣姑娘》童话故事PPT模板.pptx VIP
- 盐雾试验报告-.docx VIP
- [青海]水电站厂房机电设备安装工程量清单及招标文件.doc VIP
- 拓展低空经济应用场景实施方案.pptx VIP
- 第5课 中国古代官员的选拔与管理 课件(共45张PPT) 统编版高中历史选择性必修1(内嵌视频+音频).pptx VIP
- 时间序列分析—基于Python王燕习题答案.pdf VIP
- 百度AI营销认证初级考试理论知识题库(628题).docx
- 2025年电力安全工作规程(发电厂和变电站电气部分)题库(294道) .pdf VIP
文档评论(0)