1分组密码的基本概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
DES 算法细节
分组加密算法:明文和密文为64位分组长度 对称算法:加密和解密除密钥编排不同外,使用同一算法 密钥长度:56位,但每个第8位为奇偶校验位,可忽略 密钥可为任意的56位数,但存在弱密钥,容易避开 采用混乱和扩散的组合,每个组合先替代后置换,共16轮 只使用了标准的算术和逻辑运算,易于实现
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
DES算法的历史
1974年8月27日,美国国家标准局(NBS)开始第二次征集,IBM 提交了算法LUCIFER,该算法由IBM的工程师W. Tuchman 和 C. Meyer在1971~1972年研制。 1975年3月17日, NBS公开了全部细节。 1976年,NBS指派了两个小组进行评价。 1976年11月23日,采纳为联邦标准,批准用于非军事场合 的各种政府机构。 1977年1月15日,“数据加密标准”FIPS PUB 46发布,同年7 月15日开始生效。 该标准规定每五年审查一次,计划十年后采用新标准。 最近的一次评估是在1994年1月,已决定1998年12月以后, DES将不再作为联邦加密标准。
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
DES算法的应用
美国国家安全局NSA(National Security Agency)参与 了美国国家标准局制定数据加密标准的过程。NBS接受 了NSA的某些建议,对算法做了修改,并将密钥长度从 LUCIFER方案中的128位压缩到56位 1979年,美国银行协会批准使用DES 1980年,DES成为美国标准化协会(ANSI)标准 1980年,美国国家标准局(NBS)赞同DES作为私人使用 的标准,称之为DEA(ANSI X.392)。 1983年,国际化标准组织ISO赞同DES作为国际标准,称 之为DEA-1。 1984年2月,ISO成立的数据加密技术委员会(SC20)在 DES基础上制定数据加密的国际标准工作。
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
DES算法的历史
1973年5月15日, NBS开始公开征集标准加密算法,并公布了 它的设计要求: ① 算法必须提供高度的安全性 ② 算法必须有详细的说明,并易于理解 ③ 算法的安全性取决于密钥,不依赖于算法 ④ 算法适用于所有用户 ⑤ 算法适用于不同应用场合 ⑥ 算法必须高效、经济 ⑦ 算法必须能被证实有效 ⑧ 算法必须是可出口的
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念
分组密码的设计思想(C.E. Shannon)
扩散(diffusion) 将明文及密钥的影响尽可能迅速地散布到 较多个输出的密文中(将明文冗余度分散到密 文中)。产生扩散的最简单方法是通过“置换 (Permutation)”(比如:重新排列字符)。
软件实现的要求:使用子块和简单的运算 密码运算在子块上进行,要求子块的长度能自然地适 应软件编程,如8、16、32比特等;应尽量避免按比特置换, 在子块上所进行的密码运算尽量采用易于软件实现的运算; 最好是用标准处理器所具有的一些基本指令,如加法、乘 法、移位等。 硬件实现的要求: 加密和解密的相似性,即加密和解密过程的不同应仅 仅在密钥使用方式上,以便采用同样的器件来实现加密和 解密,以节省费用和体积;尽量采用标准的组件结构,以 便能适应于在超大规模集成电路中实现。
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
1.DES加(解)密过程
输入64比特明文数据 初始置换IP 在密钥控制下 16轮迭代 交换左右32比特 初始逆置换IP-1 输出64比特密文数据
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
2.DES算法一般描述
64位明文 56位密钥
分组密码与数据加密标准DES
2.2 数据加密标准DES
4.DES加密过程
令i表示迭代次数,表示逐位模2求和,f为加密函数
L0 R0 IP( 64bit输入码 ) Li Ri 1 Ri Li 1 f ( Ri 1 , k i ) i 1,2, ,16 i 1,2, ,16
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念
分组密码,ቤተ መጻሕፍቲ ባይዱ是一个明文分组被当作一个整体 来产生一个等长(通常)的密文分组的密码。
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念 分组密码的一般设计原理 分组密码是将明文消息编码表示后的数字(简称 明文数字)序列,划分成长度为n的组(可看成长度 为n的矢量),每组分别在密钥的控制下变换成等长 的输出数字(简称密文数字)序列.
64bit密文 IP 1 ( R16 L16 )
初始置换IP 第1 轮 第2 轮 K1 K2 48bits 置换选择2 置换选择2
置换选择1 循环左移 循环左移
第16轮
32bits 对换 逆初始置换IP-1 64位密文
K16
置换选择2
循环左移
第 2 章
分组密码与数据加密标准DES
2.2 数据加密标准DES
3.DES的一轮迭代
S盒替代
第 2 章
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念
分组密码设计的要求
1)
2)
3) 4) 5)
分组长度足够大 密钥量要足够大 算法足够复杂(包括子密钥产生算法) 加密、解密算法简单,易软、硬件实现 无数据扩展
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念 分组密码实现的原则
第 2 章
分组密码与数据加密标准DES
2.1 分组密码的基本概念
分组密码的设计思想(C.E. Shannon)
混淆(confusion) 其目的在于使作用于明文的密钥和密文之间的关系复 杂化,是明文和密文之间、密文和密钥之间的统计相关特 性极小化,从而使统计分析攻击不能奏效。通常的方法是 “替换Substitution”)”(回忆恺撒密码)。