- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DES算法的介绍和实现(上)作者:
(DES算法文件加密工具)
一.DES算法介绍
DES( Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,她仍然发挥着余热^_^.?1.1 密钥生成1.1.1 取得密钥从用户处取得一个64位(本文如未特指,均指二进制位))长的密码key ,去除64位密码中作为奇偶校验位的第8、16、24、32、40、48、56、64位,剩下的56位作为有效输入密钥.1.1.2 等分密钥表1.
57
49
41
33
25
17
9
1
58
50
42
34
26
18
10
2
59
51
43
35
27
19
11
3
60
50
44
36
表2.
65
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
把在1.1.1步中生成的56位输入密钥分成均等的A,B两部分,每部分为28位,参照表1和表2把输入密钥的位值填入相应的位置. 按照表1所示A的第一位为输入的64位密钥的第57位,A的第2位为64位密钥的第49位,...,依此类推,A的最后一位最后一位是64位密钥的第36位。1.1.3 密钥移位表3.
i
1
2
3
4
5
6
7
8
?
1
1
2
2
2
2
2
2
i
9
10
11
12
13
14
15
16
?
1
2
2
2
2
2
2
1
DES算法的密钥是经过16次迭代得到一组密钥的,把在1.1.2步中生成的A,B视为迭代的起始密钥,表3显示在第i次迭代时密钥循环左移的位数. 比如在第1次迭代时密钥循环左移1位,第3次迭代时密钥循环左移2位.?第9次迭代时密钥循环左移1位,第14次迭代时密钥循环左移2位.?第一次迭代:A(1) =??(1) A?B(1) =??(1) B第i次迭代:A(i) =??(i) A(i-1)B(i) =??(i) B(i-1)1.1.4 密钥的选取表4.?
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
在1.1.3步中第i次迭代生成的两个28位长的密钥为?把合并按照表4所示k的第一位为56位密钥的第14位,k的第2位为56位密钥的第17位,...,依此类推,k的最后一位最后一位是56位密钥的第32位。 生成与进行第i次迭代加密的数据进行按位异或的48位使用密钥:?1.1.5迭代DES算法密钥生成需要进行16次迭代,在完成16次迭代前,循环执行1.1.3-1.1.4步.最终形成16套加密密钥:key[0] , key[1] , key[2] ,…. key[14] , key[15] .?1. 2 数据的加密操作1.2.1 取得数据把明文数据分成64位的数据块,不够64位的数据块以适当的方式补足。1.2.2 初始换位表5.
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
按照表5所示把输入的64位数据的原第58位换到第一位,原第50位换到第二位,...,依此类推,最后的得到新的64位数据.?OldData??newData??1.2.3 数据扩展表6.
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
第一次迭代以1.2.2步中生成的newData作为输入数据,第i (i 1)次迭代以第i-1次的64位输出数据为输入数据,把64位数据按位置等分成左右两部分:?保持left不变,根据表6把right由32位扩展成48位?
您可能关注的文档
最近下载
- BSL-2 实验室生物安全手册.docx VIP
- 部编人教版《道德与法治》一年级上册第三、四单元教材分析.ppt VIP
- 电动机控制实践教学教案.pdf VIP
- RS Components 电工电料 电流互感器 CMS2050-SP7 使用说明.pdf VIP
- 液压油缸的初步知识与装配.ppt VIP
- 弯曲零件展开料长的计算.docx VIP
- 大一新生班干部竞选演讲稿【课件】.pptx
- DL_T 5754-2017 高清版 智能变电站工程调试质量检验评定规程.docx VIP
- 2025年低压电工证(复审)考试笔试试题(600题)附答案.pdf VIP
- 2024年广东省高职高考语文试卷及答案 .pdf VIP
文档评论(0)