64位DES加密系统设计与实现毕业论文.docx
- 文档编号:24192200
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:56
- 大小:388.17KB
64位DES加密系统设计与实现毕业论文.docx
《64位DES加密系统设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《64位DES加密系统设计与实现毕业论文.docx(56页珍藏版)》请在冰豆网上搜索。
64位DES加密系统设计与实现毕业论文
64位DES加密系统设计与实现毕业论文
目次
一、引言-------------------------------------
二、DES加密算法-----------------------------
(一)、DES加密算法的基本概念---------------
(二)、DES加密算法基本思想-----------------
(三)、DES加密算法在特性-----------------
(四)、DES加密算法的优点-------------------
(五)、DES加密算法加密目的------------------
三、DES加密算法流程分析---------------------
(一)、DES加密算法加密过程-----------------
1、子密钥的产生-------------------------------------------------------
2、换位操作————初始置换-------------------------
3、乘积变换
<1>、扩展置换---------------------------------------
<2>、S-盒置换------------------------------------------
<3>、P-盒置换-----------------------------------------
<4>、乘积变换函数f------------------------------------
4、换位操作————末置换---------------------------
5、DES加密流程图--------------------------
(二)、DES加密算法解密过程-----------------------
1、DES加密算法的解密思路--------------------------
2、DES解密流程图--------------------------
四、DES加密算法的讨论-----------------------------
(一)、DES加密算法的工作方式---------------------
(二)、DES加密算法的安全性---------------------(三)、DES加密的实现版本优化--------------
五、DES加密算法C环境下的实现---------------------
六、结束语-----------------------------------------
一、引言
二十一世纪随着网络的普及和发展,在给人们提供大量方便的同时,信息注定成为一种重要的战略资源。
也必然对安全提出更高的要求.信息的安全保障能力成为一个国家综合国力的重要组成部分。
采用数据技术能保证网上传输信息的安全,以免数据在传输过程中被盗用、暴露或篡改.数据传输的数学模型主要包括数据的加密与解密,使用加密算法能做到数据加密,在各种信息安全技术措施中,硬件结构的安全和操作系统的安全是基础,密码技术是网络安全与的核心和关键。
DES算法是目前使用最多的加密算法,也是最有代表性的分组加密算法,目前广泛的应用于通信之中。
其问世20多年来,成为密码界研究的重点,经受住了许多科学家的研究和破译,是一种世界公认的较好的加密算法,在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等民用密码领域有着广泛的应用。
围包括:
计算机网络通信中的数据保护、电子资金传送系统中的信息加密、保护用户文件、用户识别等,为全球贸易、金融等非官方部门提供了可靠的通信安全保障。
早在1977年,人们估计建成一台每秒钟检测一百万个密钥的专用机用于DES的解密要耗资两千万美元,而且需要12小时的破解才能得到结果,所以当时DES被认为是一种十分强壮的加密方法。
当今的计算机速度越来越快,1997年,人们估计制造一台用于DES解密的专用机的费用降到十万美元左右,破解时间为6小时。
所以,当今社会单纯使用传统的64位密钥的DES算法进行加密已经不再安全。
本文通过DES加密技术的基本原理及具体实现步骤,并分析了该算法的安全性,并着重对DES算法的加密过程及优缺点进行了探讨。
通过对分组密码DES算法IP变换、IP逆变换、S-盒换位表的分析,对DES的安全质疑给出了回答。
二、DES加密算法
(一)、DES加密算法基本概念
数据加密标准(DataEncryptionStandard,简称DES)是美国国家标准局于1977年颁布的由IBM公司研制的一种非数据的正式数据加密标准。
在正式接触DES之前,首先让我们了解一下加密技术中的一些专业术语:
加密(Encipher):
通过密码系统把明文变换为不可懂的形式的密文。
加密算法(EncryptionAlgorithm):
实施一系列变换,使信息变成密文的一组数学规则。
解密(Decrypt):
使用适当的密钥,将已加密的文本转换成明文。
密文(Ciphertext):
经加密处理而产生的数据,其语义容是不可用的。
明文(Cleartext):
可理解的数据,其语义容是可用的。
DES算法是对称的,即是一种对称密码体制,它所使用的加密密钥和解密密钥是相同的,既可用于加密又可用于解密。
DES是一种采用传统的替换和移位的方法加密的分组密码,即它将明文分成固定长度(64比特)的组(块),用同一密钥(64比特实际长度为56比特因有8比特用于奇偶校验)和乘法对每一块加密,输出也是固定长度(64比特)的密文。
(二)、DES加密算法基本思想
由于这种典型的按分组方式工作的密码,其基本思想是将二进制序列的明文分成每64比特一组用64比特的密钥对其进行16轮代换和换位加密,最后形成密文。
(三)、DES算法的在特性
(1)密钥有效长度是56位(第8,16,?
,64位为校验位),分组明文长度为64位,而且明文、密文与密钥存在互补关系.
(2)仅用16次循环迭代,使得相同明文会产生相同密文.
(3)存在着很好的并行结构:
产生部密钥的左移次数存在着准对称性(即部密钥生成过程存在并行性).DES属于传统的Feistel网络结构,在DES的基本单元中能够实施并行操作.
(4)DES有16轮加密,如果将第i轮的P置换移至下一轮后会与下一轮的E扩展操作进行合并,简化算法的基本操作.
(5)可以通过S盒与P置换合并的方法节省P置换的基本操作时间.
(四)、DES加密算法的优点:
DES加密算法的优点大致上有以下几点:
(1)DES提供高质量的数据保护,防止数据XX的泄露和未被察觉的修改;
(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时便于理解掌握;
(3)DES密码体制的安全性不依赖于算法的,其加密的安全性仅以加密密钥的为基础。
(五)、DES加密算法加密目的
DES加密算法要达到的目的(通常称为DES密码算法要求)主要为以下五点:
1.提供高质量的数据保护,防止数据XX的泄露和未被察觉的修改;
2.具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;
3.DES密码体制的安全性应该不依赖于算法的,其安全性仅以加密密钥的为基础;
4.实现经济,运行有效,并且适用于多种完全不同的应用。
5.DES的巧妙之处在于,除了密钥输入顺序之外其加密和解密的步骤完全相同。
三、DES加密算法流程分析
(一)、DES加密算法加密过程
数据加密标准过程主要包括三部分:
一个是密钥产生部分;一个是换位操作,即初始置换部分和末置换部分;另一个是乘积交换部分。
1、子密钥的产生
DES的乘积变换部分含16轮非线性变换,而每一轮非线性变换需要一个48比特的子密钥。
这16个子密钥都是有一个64比特的外部密钥(即DES的主密钥)经过移位和置换生成。
64比特主密钥是在实施加密之前由外部直接输入给DES的16个子密钥是由一个64比特的外部密钥经过移位和转换产生的。
64比特主外部密钥K被输入后首先经过奇偶校验,同时剔除K8、K16、K24、K32、K40、K48、K56、K64等奇偶校验位,得到56比特的密钥K’。
再将K’加到密码置换,
密码置换是将K‘各个位上的数码,按照特定的进行换位,置换后的56比特分别存放到两个28比特的寄存器C0和D0中。
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
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
DES密钥置换表
密钥置换有规律可循:
将1~64间的数字依次从上到下从右向左填入表格
(1),将表格
(1)消去最后一行,再将其它部分分割成表格
(2)和表格(3)。
将表格(3)翻转180即可。
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
52
44
36
28
20
12
4
61
53
45
37
29
21
13
5
62
54
46
38
30
22
14
6
63
55
47
39
31
23
15
7
64
56
48
40
32
24
16
8
表格
(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
52
44
36
表格
(2)
28
20
12
4
61
53
45
37
29
21
13
5
62
54
46
38
30
22
14
6
63
55
47
39
31
23
15
7
表格(3)
读取的顺序是从最上面一行开始,由左至右逐行读取。
前四行共28比特。
分别置于寄存器C0第1位..第28位,后四行共28比特分别置于寄存器D0第1位...第28位。
其它16对寄存器,即(C1,D1)、(C2,D2)、(C3,D3)、(C4,D4)、(C5,D5)、(C6,D6)、(C7,D7)、(C8,D8))、(C9,D9)、(C10,D10)、(C11,D11)、(C12,D12)、(C13,D13)、(C14,D14)、(C15,D15)、(C16,D16)都有28比特。
(Ci+1,Di+1)的容均是根据如图每轮密钥的移位表,将寄存器对)(Ci,Di)容循环左移1至2位到,循环左移即从寄存器左边移出的比特,又补到寄存器的最右边一位上。
每轮子密钥的移位比特数
寄存器序号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
左移位数
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
外部密钥K的各比特在寄存器Ci的位置
Ci
寄存器Ci中的各比特的序号
Ci
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0
57
49
41
33
25
17
9
1
58
50
42
34
26
18
0
1
49
41
33
25
17
9
1
58
50
42
34
26
18
10
1
2
41
33
25
17
9
1
58
50
42
34
26
18
10
2
2
3
25
17
9
1
58
50
42
34
26
18
10
2
59
51
3
4
9
1
58
50
42
34
26
18
10
2
59
51
43
35
4
5
58
50
42
34
26
18
10
2
59
51
43
35
27
19
5
6
42
34
26
18
10
2
59
51
43
35
27
19
11
3
6
7
26
18
10
2
59
51
43
35
27
19
11
3
60
52
7
8
10
2
59
51
43
35
27
19
11
3
60
52
44
36
8
9
2
59
51
43
35
27
19
11
3
60
52
44
36
57
9
10
51
43
35
27
19
11
3
60
52
44
36
57
49
41
10
11
35
27
19
11
3
60
52
44
36
57
49
41
33
25
11
12
19
11
3
60
52
44
36
57
49
41
33
25
17
9
12
13
3
60
52
44
36
57
49
41
33
25
17
9
1
58
13
14
52
44
36
57
49
41
33
25
17
9
1
58
50
42
14
15
36
57
49
41
33
25
17
9
1
58
50
42
34
26
15
16
57
49
41
33
25
17
9
1
58
50
42
34
26
18
16
Ci
寄存器Ci中的各比特的序号
Ci
15
16
17
18
19
20
21
22
23
24
25
26
27
28
0
10
2
59
51
43
35
27
19
11
3
60
52
44
36
0
1
2
59
51
43
35
27
19
11
3
60
52
44
36
57
1
2
59
51
43
35
27
19
11
3
60
52
44
36
57
49
2
3
43
35
27
19
11
3
60
52
44
36
57
49
41
33
3
4
27
19
11
3
60
52
44
36
57
49
41
33
25
17
4
5
11
3
60
52
44
36
57
49
41
33
25
17
9
1
5
6
60
52
44
36
57
49
41
33
25
17
9
1
58
50
6
7
44
36
57
49
41
33
25
17
9
1
58
50
42
34
7
8
57
49
41
33
25
17
9
1
58
50
42
34
26
18
8
9
49
41
33
25
17
9
1
58
50
42
34
26
18
10
9
10
33
25
17
9
1
58
50
42
34
26
18
10
2
59
10
11
17
9
1
58
50
42
34
26
18
10
2
59
51
43
11
12
1
58
50
42
34
26
18
10
2
59
51
43
35
27
12
13
50
42
34
26
18
10
2
59
51
43
35
27
19
11
13
14
34
26
18
10
2
59
51
43
35
27
19
11
3
60
14
15
18
10
2
59
51
43
35
27
19
11
3
60
52
44
15
16
10
2
59
51
43
35
27
19
11
3
60
52
44
36
16
外部密钥K的各比特在寄存器Di的位置
Di
寄存器Di中的各比特的序号
Di
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0
63
55
47
39
31
23
15
7
62
54
46
38
30
22
0
1
55
47
39
31
23
15
7
62
54
46
38
30
22
14
1
2
47
39
31
23
15
7
62
54
46
38
30
22
14
6
2
3
31
23
15
7
62
54
46
38
30
22
14
6
61
53
3
4
15
7
62
54
46
38
30
22
14
6
61
53
45
37
4
5
62
54
46
38
30
22
14
6
61
53
45
37
29
21
5
6
46
38
30
22
14
6
61
53
45
37
29
21
13
5
6
7
30
22
14
6
61
53
45
37
29
21
13
5
28
20
7
8
14
6
61
53
45
37
29
21
13
5
28
20
12
4
8
9
6
61
53
45
37
29
21
13
5
28
20
12
4
63
9
10
53
45
37
29
21
13
5
28
20
12
4
63
55
47
10
11
37
29
21
13
5
28
20
12
4
63
55
47
39
31
11
12
21
13
5
28
20
12
4
63
55
47
39
31
23
15
12
13
5
28
20
12
4
63
55
47
39
31
23
15
7
62
13
14
20
12
4
63
55
47
39
31
23
15
7
62
54
46
14
15
4
63
55
47
39
31
23
15
7
62
54
46
38
30
15
16
63
55
47
39
31
23
15
7
62
54
46
38
30
22
16
Di
寄存器Di中的各比特的序号
Di
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0
63
55
47
39
31
23
15
7
62
54
46
38
30
22
0
1
55
47
39
31
23
15
7
62
54
46
38
30
22
14
1
2
47
39
31
23
15
7
62
54
46
38
30
22
14
6
2
3
31
23
15
7
62
54
46
38
30
22
14
6
61
53
3
4
15
7
62
54
46
38
30
22
14
6
61
53
45
37
4
5
62
54
46
38
30
22
14
6
61
53
45
37
29
21
5
6
46
38
30
22
14
6
61
53
45
37
29
21
13
5
6
7
30
22
14
6
61
53
45
37
29
21
13
5
28
20
7
8
14
6
61
53
45
37
29
21
13
5
28
20
12
4
8
9
6
61
53
45
37
29
21
13
5
28
20
12
4
63
9
10
53
45
37
29
21
13
5
28
20
12
4
63
55
47
10
11
37
29
21
13
5
28
20
12
4
63
55
47
39
31
11
12
21
13
5
28
20
12
4
63
55
47
39
31
23
15
12
13
5
28
20
12
4
63
55
47
39
31
23
15
7
62
13
14
20
12
4
63
55
47
39
31
23
15
7
62
54
46
14
15
4
63
55
47
39
31
23
15
7
62
54
46
38
30
15
16
63
55
47
39
31
23
15
7
62
54
46
38
30
22
16
将存储到各寄存器对中的容都加到压缩置换表中,压缩置换是按照固定的格式从中选出48比特,其中压缩置换表的数字表示寄存器对(Ci,Di)的比特序号,即将(Ci,Di)中的第14,17,11,┅┅位分别置换成Ki的第1,2,3,┅┅位。
Ki表中的前四行的均小于28说明Ki的前24位从寄存器Ci的28位置换得来,其中剔除第9,18,22,25
四个比特。
表中的前四行的均小于28说明Ki的前24位从寄存器Di的28位置换得来其中剔除第35,38,43,54四个比特。
压缩置换表
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
4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 64 DES 加密 系统 设计 实现 毕业论文