- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]DES加密算法课程设计报告
软件实现流程图
二、标准DES的加密过程
1、明文与密钥的输入
首先8位ACSII字符的明文与密钥的输入,存放在mingwen[8]和miyao[8]中,然后将这些8位的ASCII字符转换成二进制的64位的明文和密钥,分别存放在mingwenB[64]和miyaoB[64]中,并将二进制的明文和密钥放在文件中
int str[8],i,j,ch,k;
FILE *fp4;fp4=fopen(明文二进制.txt,w);
k=0;
for(i=0;i8;i++)
{
ch=mingwen[i];
for(j=0;j8;j++)
{
str[j]=ch%2;
ch=ch/2;
}
for(j=7;j=0;j--)
{
mingwenB[k]=str[j];
k++;
fprintf(fp4,%d,str[j]);
}
}
密钥的转换和存储同理。
2、密钥的产生
1)、64位miyaoB[64]经过pc-1置换,生成56位的比特串。定义pc1_Table[56],存放在afterpc1[56]中。
for(i=0;i56;i++) afterpc1[i]=miyaoB[pc1_Table[i]-1];
2)、56位比特串分组,生成C0[28]和D0[28]
for(i=0;i28;i++) C0[i]=afterpc1[i];
for(j=0,i=28;i56;i++,j++) D0[j]=afterpc1[i];
3)、C0[28]、D0[28]进行左移,产生C[16][28]和D[16][28],为进行pc-2置换产生密钥做准备。
for(i=0;i27;i++) //第一轮数据生成C[0][28]与D[0][28]
{
C[0][i]=C0[i+1];
D[0][i]=D0[i+1];
}
C[0][27]=C0[0];
D[0][27]=D0[0];
for(i=1;i16;i++) //第二轮数据至第十六轮数据生成
{ if(i==1||i==8||i==15)
{ for(j=0;j27;j++) //左移1位
{
C[i][j]=C[i-1][j+1];
D[i][j]=D[i-1][j+1];
}
C[i][27]=C[i-1][0];
D[i][27]=D[i-1][0];
}
else //左移2位
{
for(j=0;j26;j++)
{
C[i][j]=C[i-1][j+2];
D[i][j]=D[i-1][j+2];
}
C[i][26]=C[i-1][0];
C[i][27]=C[i-1][1];
D[i][26]=D[i-1][0];
D[i][27]=D[i-1][1];
}
} //产生16轮左右数据,为pc-2置换准备。
4)、左右两部分比特串合并,存放在int beforekey[16][56]中
k=0;
for(i=0;i16;i++)
{
for(j=0;j28;j++)
beforekey[i][j]=C[i][j];
for(k=0;k28;k++,j++)
beforekey[i][j]=D[i][k];
}
5)、beforekey[16][56]经过pc-2置换,产生16轮密钥keys[16][48],
for(i=0;i16;i++)
for(j=0;j48;j++)
keys[i][j]=beforekey[i][pc_2table[j]-1];
至此,16轮子密钥产生完毕,为keys[16][48]。
3、密文的产生
1)、明文经过初始置换IP置换。结果放在afterIP[64]中。
for(j=0;j64;j++)
{
afterIP[j]=mingwenB[IP_table[j]-1];
}
2)、明文的第0次分组,左部分L0[32],右部分R0[32]。
for(i=0;i32;i++)
L0[i]=afterIP[i];
for(j=0,i=32;i64;i++,j++)
R0[j]=afterIP[i];
3)、为产生密文,要进行16轮的循环,每次循环生成一个L[i][32]和R[i][32],下面进行第一次循环,生成L[0][32]和R[0][32]。
for(i=0;i32;i++) //Li=R(i-1)
您可能关注的文档
- [哲学]我国文化软实力发展.ppt
- [哲学]工程项目管理自学课件.ppt
- [哲学]建设中国特色.ppt
- [哲学]楚简老子注解必威体育精装版修正版.pdf
- [哲学]发展心理学课件.ppt
- [哲学]毛概8到15选择题.doc
- [哲学]毛概复习题.doc
- [哲学]char2 第一章上 世界的物质性及其发展规律.ppt
- [哲学]大学马克思第二章 认识世界和改造世界.ppt
- [哲学]实践观.ppt
- 执业药师之《药事管理与法规》检测卷讲解含答案详解(必威体育精装版).docx
- 执业药师之《药事管理与法规》全真模拟模拟题及答案详解(全国通用).docx
- 2025年执业药师之《西药学综合知识与技能》模拟试题附参考答案详解(突破训练).docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库含答案详解(培优a卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题精选附答案详解(名师推荐).docx
- 执业药师之《药事管理与法规》强化训练模考卷带答案详解.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺测试卷包附参考答案详解(b卷).docx
- 2025年执业药师之《西药学综合知识与技能》模考模拟试题及参考答案详解(夺分金卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题含答案详解【b卷】.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库带答案详解(b卷).docx
最近下载
- 【新版】一升二暑假数学每日一练-30天.pdf
- 在中央生态环境保护督察组进驻动员会上的表态讲话.docx VIP
- DG/TJ08-94-2024 民用建筑水灭火系统设计标准(1).pdf VIP
- 《建筑工程质量潜在缺陷保险风险管理技术标准》.docx VIP
- 有理数的混合运算计算题.doc VIP
- 农村土地承包营权确权登记已技术设计书.pdf VIP
- 单招考纲语数英.docx VIP
- 2010-2023历年河南省安阳一中分校高二第二次阶段考试英语试卷(带解析).docx VIP
- 2025年背接触(BC)电池技术发展白皮书-中国电力企业联合会隆基绿能.docx
- 大五人格问卷-使用手册及常模数据.pdf VIP
文档评论(0)