- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C语言实现DES加密与解密
用C语言实现DES加密与解密
?
#includeiostream.h??
int?IP[64]?=?{??
58,50,42,34,26,18,10,2,?
60,52,44,36,28,20,12,4,?
62,54,46,38,30,22,14,6,?
64,56,48,40,32,24,16,8,?
57,49,41,33,25,17,9,1,?
59,51,43,35,27,19,11,3,?
61,53,45,37,29,21,13,5,?
63,55,47,39,31,23,15,7?
};?
int?IP_1[64]?=?{?
40,8,48,16,56,24,64,32,?
39,7,47,15,55,23,63,31,?
38,6,46,14,54,22,62,30,?
37,5,45,13,53,21,61,29,?
36,4,44,12,52,20,60,28,?
35,3,43,11,51,19,59,27,?
34,2,42,10,50,18,58,26,?
33,1,41,9,49,17,57,25?
};?
int?E[48]?=?{?
32,1,?2,?3,?4,?5,?
4,?5,?6,?7,?8,?9,?
8,?9,?10,11,12,13,?
12,13,14,15,16,17,?
16,17,18,19,20,21,?
20,21,22,23,24,25,?
24,25,26,27,28,29,?
28,29,30,31,32,1?
};?
int?P[32]={16?,7?,?20?,?21?,?
29,12?,28?,?17?,?
1,?15?,23?,?26?,?
5,?18?,31?,?10?,?
2,?8?,?24?,?14?,?
32,27,?3?,?9?,?
19,13,?30?,?6?,?
22,11?,4?,?25?};
19,11,3,60,52,44,36,?
63,55,47,39,31,23,15,?
7,62,54,46,38,30,22,?
14,6,61,53,45,37,29,?
21,13,5,28,20,12,4},?
PC2[48]={14,17,11,24,1,5,?
3,28,15,6,21,10,?
23,19,12,4,26,8,?
16,7,27,20,13,2,?
41,52,31,37,47,55,?
30,40,51,45,33,48,?
44,49,39,56,34,53,?
46,42,50,36,29,32};?
Char_to_Int(in,Msg_Int,8);//正确
O_to_B(Msg_Int,Msg_Bin,8);//正确
coutendl;?
Convert(Msg_Bin,Msg_Bin_PC1,PC1,56);?
Divide(Msg_Bin_PC1,C[0],D[0],56);?
for(i=0;i16;i++)?
{?
if(i==0)?
{
RLC1(C[i],C[i+1],28);?
RLC1(D[i],D[i+1],28);?
}?
else?if(i==1)?
{?
RLC1(C[i],C[i+1],28);?
RLC1(D[i],D[i+1],28);?
}?
else?if(i==8)?
{?
RLC1(C[i],C[i+1],28);?
RLC1(D[i],D[i+1],28);?
}?
else?if(i==15)?
{?
RLC1(C[i],C[i+1],28);?
RLC1(D[i],D[i+1],28);?
}?
else?
{?
RLC2(C[i],C[i+1],28);?
RLC2(D[i],D[i+1],28);?
Combine(C[i+1],D[i+1],Key_Bin,56);?
Convert(Key_Bin,out[i],PC2,48);?
}?
}?
//生成子密钥正确
void?S_box(int?in[],int?out[])?
{?
int?i;?
int?SBox[8][64]?={?
{?
14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,?
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,?
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,?
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13?
},?
{?
?
15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,?
3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,?
0,14,7,11,10,4,13,1,5,8,12,6,9,3,
您可能关注的文档
最近下载
- 委托指导股票买卖协议书范本5篇.docx
- 2024年营养指导员技能竞赛理论知识考试题库500题(含答案).docx
- 酒店消防安全管理制度11.doc VIP
- 程家惠《洋话汉音》(升级版).doc
- 青岛版科学五年级上册第一单元《光》大单元教学设计.docx
- 第4课《古代诗歌四首——天净沙.秋思》说课课件 2024—2025学年统编版语文七年级上册.pptx VIP
- 保健刮痧师保健刮痧师(高级)考点巩固.pdf VIP
- 04大医传承二(1-32讲).doc
- Unit4NaturalDisasters词汇讲解课件高中英语人教版.pptx
- 保健刮痧师《保健刮痧师》高级题库考点(模拟卷).doc VIP
文档评论(0)