没有合适的资源?快使用搜索试试~ 我知道了~
des是公开密钥加密系统吗
需积分: 50 675 浏览量
2020-09-23
15:44:13
上传
评论
收藏 215KB DOC 举报
des是公开密钥加密系统吗des是公开密钥加密系统吗des是公开密钥加密系统吗des是公开密钥加密系统吗des是公开密钥加密系统吗
资源推荐
资源详情
资源评论















des 是公开密钥加密系统吗
信息的保密性是信息安全的一个重要属性。保密的目的是为了防止敌手截
获信息系统中的机密信息。加密就是实现信息的保密性的一种重要手段。所谓
加密就是使用数学方法对消息实施变换,使得除合法的接收者外,任何其他人
要想恢复原先的“消息”(即明文)或读懂变化后的“消息”(即密文)是非常困难
的。将密文变换成明文的过程称作解密。
密码体制分为算法和密钥两大部分。根据加密密钥和解密密钥是否相同或
本质上等同,即从其中一个容易推出另一个,可将现有的密码体制分为两类。
一类是单钥(私钥或对称)加密体制,这类体制的加密密钥和解密密钥或者相
同或者本质上等同,即从其中一个容易推出另一个,其典型代表是美国的数据
加密标准(DES);另一类是双钥(公钥或非对称)加密体制,这类体制的加
密密钥和解密密钥不相同,并且除设计者本人外,从其中一个很难推出另一个,
这样加密密钥可以公开,而解密密钥则由用户自己秘密保存,其典型代表是
RSA 体制。DES 的研究和以 RSA 为代表的公钥密码体制的研究大大地推动了
密码技术的深入研究和社会应用。
1.数据加密标准 DES
1.1 DES 算法
为了建立适用于计算机系统的商用密码,美国商业部的国家标准局 NBS 于
1973 年 5 月和 1974 年 8 月两次发布通告,向社会征求密码算法。在征得的
算法中,由 IBM 公司提出的算法 lucifer 中选。1975 年 3 月,NBS 向社会公
布了此算法,以求得公众的评论。于 1976 年 11 月被美国政府采用,DES 随
后被美国国家标准局和美国国家标准协会(American National Standard
Institute,ANSI)承认。1977 年 1 月以数据加密标准 DES(Data
Encryption Standard)的名称正式向社会公布。
DES 使用 56 位密钥对 64 位的数据块进行加密,并对 64 位的数据块进行
16 轮编码。与每轮编码时,一个 48 位的“每轮”密钥值由 56 位的完整密钥得出
来。DES 用软件进行解码需要用很长时间,而用硬件解码速度非常快。在
1977 年,人们估计要耗资两千万美元才能建成一个专门计算机用于 DES 的解
密,而且需要 12 个小时的破解才能得到结果。所以,当时 DES 被认为是一种
十分强壮的加密方法。
1.2 DES 算法的原理
DES(Data Encryption Standard)满足了国家标准局欲达到的 4 个目的:
提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相
当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌
握;
DES 算法把 64 位的明文输入块变为 64 位的密文输出块,它所使用的密钥
也是 64 位,首先,DES 把输入的 64 位数据块按位重新组合,并把输出分为
L0、R0 两部分,每部分各长 32 位,并进行前后置换(输入的第 58 位换到第
一位,第 50 位换到第 2 位,依此类推,最后一位是原来的第 7 位),最终由
L0 输出左 32 位,R0 输出右 32 位,根据这个法则经过 16 次迭代运算后,得
1

到 L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输
出。
DES 算法的入口参数有三个:Key、Data、Mode。其中 Key 为 8 个字节
共 64 位,是 DES 算法的工作密钥;Data 也为 8 个字节 64 位,是要被加密或
被解密的数据;Mode 为 DES 的工作方式,有两种:加密或解密,如果 Mode
为加密,则用 Key 去把数据 Data 进行加密,生成 Data 的密码形式作为 DES
的输出结果;如 Mode 为解密,则用 Key 去把密码形式的数据 Data 解密,还
原为 Data 的明码形式作为 DES 的输出结果。在使用 DES 时,双方预先约定
使用的”密码”即 Key,然后用 Key 去加密数据;接收方得到密文后使用同样的
Key 解密得到原数据,这样便实现了安全性较高的数据传输。
1.3 DES 算法特点
分组比较短、密钥太短、密码生命周期短。DES 使用一个 56 位的密钥以
及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组
密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥
对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这
两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环。、
运算速度较慢。
1.4 DES 加密过程
(一). DES 加密算法的一般描述
图 1 表明了 DES 加密的整个体制。对于任何加密方案,总有两个输入:明
2
初始置换
逆初始置换
32 位互换
循环左移置换选择 2第 16 轮
第 1 轮
第 2 轮 置换选择 2 循环左移
置换选择 2 循环左移
置换选择 1
2
K
位密文64
............
位明文64
..............
图 1 DES 加密算法的一般描述

文和密钥。DES 的明文长为 64 位,密钥长为 56 位。
从图的左半部分,可见明文的处理经过了三个阶段。首先,64 位的明文经
过初始置换而被重新排列。然后进行 16 轮的相同函数的作用,每轮的作用中
都有置换和代换。最后一轮迭代的输出有 64 位,它是输入明文和密钥的函数。
将其做半部分和右半部分互换产生预输出。最后,预输出再被与初始置换互逆
的逆初始置换作用产生 64 位的密文。
图 1 的右半部分给出了使用 56 位密钥的过程。开始时,密钥经过一个置
换,然后经过循环左移和另一个置换分别得到子密钥 ,供每一轮的迭代加密
使用。每轮的置换函数都一样,但是由于密钥位的重复迭代使得子密钥互不相
同。
(1)初始置换
这是移位操作,用 IP 表示。移位时不用密钥,仅对 64 比特明文进行操作。输
入 64 个二进制位明码组,m= m
1
m
2
…m
64
。按初始换位表 IP 进行换位,得到区
组 B
(
0
)
:B
(
0
)
=b
1
(0)
b
2
(0)
…b
64
(0)
= m
58
m
50
…m
7
。
初始变换 IP 表:
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
(2)逆初始置换
用 IP
-1
表示,它和 IP 互逆。例如,第 1 位经过初始置换后,处于第 58 位,
而通过逆置换,又将第 58 位换回到第 1 位。
逆初始置换 IP
-1
表:
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
(3)扩充置换
扩充置换 E 表:
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
3
剩余14页未读,继续阅读
资源评论

Orion_2017
- 粉丝: 1
- 资源: 3

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
