分组密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7
DES分组密码算法 DES分组密码算法
一、背景简介
该算法是在美国NSA(国家安全局)资助下由IBM公 (国家安全局)资助下由 该算法是在美国 公 司开发的密码算法, 司开发的密码算法,其初衷是为政府非机密的敏感信息提 供较强的加密保护。它是美国政府担保的第一种加密算法, 供较强的加密保护。它是美国政府担保的第一种加密算法, 并在1977年被正式作为美国联邦信息处理标准。DES主要 年被正式作为美国联邦信息处理标准。 并在 年被正式作为美国联邦信息处理标准 主要 提供非军事性质的联邦政府机构和私营部门使用,并迅速 提供非军事性质的联邦政府机构和私营部门使用, 成为名声最大,使用最广的商用密码算法。 成为名声最大,使用最广的商用密码算法。
21
③ P盒置换 将S-盒变换后的32比特数据再进行P盒置换,置 换后得到的32比特即为 f 函数的输出。
P
16 29 1 5 2 32 19 22 7 12 15 18 8 27 13 11 20 28 23 31 24 3 30 4 21 17 26 10 14 9 6 25
含义:P盒输出的第 个元是输入的第 个元。 含义 盒输出的第1个元是输入的第 个元。 盒输出的第 个元是输入的第16个元
DES的第 DES的第 i 圈加密结构图 Li-1(32位) f Ri-1(32位)
Ki
Li(32位)
Ri(32位)
16
DES的 变形函数 的 变形函数F
32位
E
48位
48位子密钥

S1 S2
S3
S4
S5
S6
S7
S8
P
17
① E盒扩展 盒扩展 扩展变换的作用是将输入的32比特数据扩展为48比特 数据
8
发明人:美国 发明人:美国IBM公司 W. Tuchman 和 C. Meyer 公司 1971-1972年研制成功 年研制成功 基础: 年美国Horst Feistel提出的理论 基础:1967年美国 年美国 提出的理论 产生:美国国家标准局( 月到1974年8月两次发布通告, 月两次发布通告, 产生:美国国家标准局(NBS)1973年5月到 年 月到 年 月两次发布通告 公开征求用于电子计算机的加密算法。 公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳 了IBM的LUCIFER方案 的 方案 标准化: 算法1975年3月公开发表,1977年1月15日由美国国家标 月公开发表, 标准化:DES算法 算法 年 月公开发表 年 月 日由美国国家标 准局颁布为数据加密标准( ),于 准局颁布为数据加密标准(Data Encryption Standard),于 ), 1977年7月15日生效 年 月 日生效
1 2 3 4 5 6……………………………………………………43 44 45 46 47 48
S1
S2
S3
S4
S5
S6
S7
S8
1 2 3 4 ……………………………………………………29 30 31 32
19
输 列 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 出 行
10 06 12 11 07 00 08 06 13 08 01 15 02 07 01 04 05 00 09 15 13 01 00 14 12 03 15 05 09 05 06 12
06 12 09 03 02 01 12 07 12 05 02 14 08 02 03 05 03 15 12 00 03 13 04 01 09 05 06 00 03 06 10 09

L 15 = R 14
R 15 = L 14 ⊕ f ( R 14 , k 15 )


R 16 = L 15 ⊕ f ( R 15 , k 16 )
f
L 16 = R 15
k 16


IP − 1

13
初始置换与逆初始置换
输入和输出比特的序号从左向右编排为1, 输入和输出比特的序号从左向右编排为 2, 3, … ,64
12 11 07 14 13 10 06 12 07 14 12 03 05 12 14 11 15 10 05 09 04 14 10 07 07 12 08 15 14 11 13 00
05 09 03 10 12 06 09 00 11 12 05 11 11 01 05 12 13 03 06 10 14 00 01 06 05 02 00 14 05 00 15 03
07 08 00 13 10 05 15 09 08 01 07 12 15 09 04 14 09 06 14 03 11 08 06 13 01 06 02 12 07 02 08 11
20
bbbbbb6 行 bb6 =112 =3 :1 S6-盒 3行列 子 9 1 2 3 4 5 ⇒ ⇒ 110011 列 bbbb5 =10012 =9 值 14=1100 :2 3 4 :
分组密码
-DES加密标准
2
分组密码
将明文分成固定长度的组, 将明文分成固定长度的组,用同一密钥和算法 对每一块加密,输出也是固定长度的密文。 对每一块加密,输出也是固定长度的密文。
3
分组密码的基本原理
分组密码就是将明文数据按固定长度进行分组,然 后在同一密钥控制下逐组进行加密,从而将各个明文分 组变换成一个等长的密文分组的密码。
22
DES中的子密钥的生成 中的子密ቤተ መጻሕፍቲ ባይዱ的生成
64 位 密 钥 密钥表的计算逻辑 循环左移: 1 1 9 2 1 10 3 2 11 4 2 12 5 2 13 6 2 14 7 2 15 8 2 16
置换选择 1
C 0( 2 8 位 )
循环左移
D 0( 2 8 位 )
循环左移
1 2 2 2 2 2 2 1
11
DES加密过程 加密过程
输入64比特明文数据 输入 比特明文数据
初始置换
在密钥控制下 16轮迭代 轮迭代 初始逆置换
输出64比特密文数据 输出 比特密文数据
明 文
IP
12
L0
R0
加 密 框 图

f
k1
第 一 轮
L1 = R 0
R1 = L 0 ⊕ f ( R 0 , k 1 )
M
M

f
k15
5
2. 扩散原则 扩散原则就是应将明文的统计规律和结构规律散 射到相当长的一段统计中去。 射到相当长的一段统计中去。 也就是说让明文中的每一位影响密文中的尽可能 多的位, 多的位,或者说让密文中的每一位都受到明文中的尽 可能多位的影响。 可能多位的影响。
6
分组密码的设计方法
采用乘积密码: 采用乘积密码: 即通过将一个弱的密码函数迭代若干次, 即通过将一个弱的密码函数迭代若干次,产生 一个强的密码函数, 一个强的密码函数,使明文和密钥得到必要的混乱 和扩散。 和扩散。
S1
S2
S3 S4 S5
S6
S7
S8
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
14 00 04 15 15 03 00 13 10 13 13 01 07 13 10 03 02 14 04 11 12 10 09 04 04 13 01 06 13 01 07 02
10
DES分组密码算法 DES分组密码算法
算法概述 (一)基本特点 ①分组密码:明文、密文和密钥的分组长度 都是64位。 ②面向二进制的密码算法:因而能够加解密 任何形式的计算机数据。 ③对合运算:因而加密和解密共用同一算法, 使工程实现的工作量减半。 ④综合运用了置换、代替、代数等多种密码 技术。
01 04 08 02 14 07 11 01 14 09 09 00 03 05 00 06 01 12 11 07 15 02 05 12 14 07 13 08 04 08 01 07
02 14 13 04 06 15 10 03 06 03 08 06 00 06 12 10 07 04 10 01 09 07 02 09 15 04 12 01 06 10 09 04
09 05 10 00 00 09 03 05 04 11 10 05 12 10 02 07 00 09 03 04 07 11 13 00 10 15 05 02 00 14 03 05
00 03 05 06 05 11 02 14 02 15 14 02 04 14 08 02 14 08 00 05 05 03 11 08 06 08 09 03 12 09 05 06
m1
m2
m3
mn
k
c1
k
c2
k
c3
k
cn
4
安全性设计原则
1. 混乱原则 混乱原则就是将密文、明文、 混乱原则就是将密文 明文、密钥三者之间的统计 明文 关系和代数关系变得尽可能复杂, 关系和代数关系变得尽可能复杂,使得敌手即使获得了 密文和明文,也无法求出密钥的任何信息; 密文和明文,也无法求出密钥的任何信息;即使获得了 密文和明文的统计规律,也无法求出明文的新的信息。 密文和明文的统计规律,也无法求出明文的新的信息。
9
背景
美国国家安全局( 美国国家安全局(NSA, National Security Agency)参与了美 参与了美 国国家标准局制定数据加密标准的过程。 接受了NSA的某 国国家标准局制定数据加密标准的过程。NBS接受了 接受了 的某 些建议,对算法做了修改,并将密钥长度从 些建议,对算法做了修改,并将密钥长度从LUCIFER方案中的 方案中的 128位压缩到 位 位压缩到56位 位压缩到 1979年,美国银行协会批准使用DES 年 美国银行协会批准使用 1980年,DES成为美国标准化协会 年 成为美国标准化协会(ANSI)标准 成为美国标准化协会 标准 1984年2月,ISO成立的数据加密技术委员会 年 月 成立的数据加密技术委员会(SC20)在DES基 成立的数据加密技术委员会 在 基 础上制定数据加密的国际标准工作
含义:输出的第1比特是输入的第58比特,该表示方法实现方便. 含义
14
IP和IP-1 和
M 20 → M '14
IP
IP—1
M'14 →M''20
15
(二)加密算法 设明文m = ( L0 , R0 ), 则DES 的加密过程可描述为:
Li = Ri −1 −1 Ri = Li −1 ⊕ f ( Ri −1 , K i ), i = 1,2, L16
08 01 11 07 04 14 01 02 05 10 00 07 10 03 13 08 06 01 08 13 08 05 03 10 13 10 14 07 01 04 02 13
03 10 15 05 09 12 05 11 01 02 11 04 01 04 15 09 08 05 15 06 00 06 07 11 03 14 10 09 10 12 00 15
C 1( 2 8 位 )
D 1( 2 8 位 )
( 56 位 ) 置 换 选 择 2
k1
(48 位 )
循环左移
循环左移
C i( 2 8 位 )
D i( 2 8 位 )
置换选择 2 ( 56 位 )
04 15 01 12 01 13 14 08 00 07 06 10 13 08 06 15 12 11 02 08 01 15 14 03 11 00 04 11 02 15 11 01
13 07 14 08 08 04 07 10 09 00 04 13 14 11 09 00 04 02 01 12 10 04 15 02 02 11 11 13 08 13 04 14
32 4 8 12 16 20 24 28
1 5 9 13 17 21 25 29
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1
18
压缩替代S-盒 位压缩到32位 压缩替代 盒-48位压缩到 位 位压缩到
15 02 06 09 11 02 04 15 03 04 15 09 06 15 11 01 10 07 13 14 02 12 08 05 00 09 03 04 15 03 12 10
11 13 02 01 03 08 13 04 15 06 03 08 09 00 07 13 11 13 07 02 06 09 12 15 08 01 07 10 11 07 14 08
相关文档
最新文档