现代密码学 第3章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机构、实体认证协议以及 单钥数字签字体制的核心组成部分。
2019/1/17
2
第3章 分组密码
应用中对于分组码的要求
安全性 运行速度
存储量(程序的长度、数据分组长度、高速缓存 大小)
实现平台(硬、软件、芯片)
运行模式
2019/1/17 5
第3章 分组密码
分组密码算法应满足的要求
加密和解密运算简单:
易于软件和硬件高速实现。
数据扩展尽可能地小
一般无数据扩展,在采用同态置换和随机化加密技术时可引 入数据扩展。
差错传播尽可能地小。
2019/1/17
6
3.1.1 代换

代换是输入集A到输出A’上的双射变换:
2019/1/17 15
3.1.3 Feistel密码结构
1、Feistel加密结构
Feistel网络(Feistel Network)的实现与以下参 数和特性有关: ①分组大小;②密钥大小;③轮数;④子密钥产生算法。 在设计Feistel网络时,还有以下两个方面的因素需 要考虑: ①快速的软件实现;②算法容易分析。
f k :AA'
式中,k是控制输入变量,在密码学中则为密 钥。 实现代换fk的网络称作代换网络。双射条件 保证在给定k下可从密文惟一地恢复出原明文。
2019/1/17
7
3.1.1 代换
代换fk的集合:
S={ fBaidu NhomakorabeakK }
K 是密钥空间。如果网络可以实现所有可能 的2n!个代换,则称其为全代换网络。
2019/1/17
12
DES的S1-盒的输入和输出关系
x 5 x0 1 0 列号 行号 0 1 2 3 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 15 12 8 2 4 9 2 11 15 12 9 7 3 10 5 0 1 7 5 11 2 14 10 0 6 13 x5 x4 x3 x2 x 1 x0 1 0 1 1 0 0
(y3 , y2, y1 , y0)=(0,0,1,0)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2019/1/17
13
3.1.2 扩散和混淆
扩散将明文的统计特性散布到密文中。实 现的方式是使明文的每一位影响密文中多 位的值。
扩散目的:使明文和密文之间的统计关系变得尽可能复杂, 使敌手无法得到密钥。 混淆目的:使密文和密钥之间的统计关系变得尽可能复杂使 敌手无法得到密钥。
2019/1/17
3
第3章 分组密码
明文序列 x1, x2,…, xi,… 加密函数E: Vn×KVm 这种密码实质上是字长为n的数字序列的代换密码。
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xn-1) 加密算法 图3-1 分组密码框图
2019/1/17 4
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xn-1) 解密算法
2019/1/17
14
3.1.3 Feistel密码结构
1、Feistel加密结构
将n bit明文分成为左右各半、长为n/2 bit的段,以L和R 表示。然后进行多轮迭代,其第i轮迭代的输出为前轮输 出的函数 Li =Ri-1 Ri =Li-1 f(Ri-1, Ki) 式中,Ki是第i轮用的子密钥,f是任意密码轮函数。称这 种分组密码算法为Feistel网络(Feistel Network),它 保证加密和解密可采用同一算法实施.
2019/1/17
9
代换盒(S盒)
在密码设计中,可选 n=rn0,其中 r 和 n0 都为正整数, 将设计 n 个变量的代换网络转化为设计 r 个较小的子代换 网络,而每个子代换网络只有 n0 个输入变量。称每个子 代换网络为代换盒(Substitution Box)
x5 x4 x3 x2 x1 x0
密文 y=(y0, y1,…, ym-1)
第3章 分组密码
分组密码算法应满足的要求
分组长度n要足够大:
防止明文穷举攻击法奏效。
密钥量要足够大:
尽可能消除弱密钥并使所有密钥同等地好,以防止密钥 穷举攻击奏效。
由密钥确定置换的算法要足够复杂:
充分实现明文与密钥的扩散和混淆,没有简单的关系可 循,要能抗击各种已知的攻击。
2019/1/17
11
S盒的组合
问题: 如何将几个S盒组合起来构成一个 n值较 大的组。
将几个 S 盒的输入端并行,并通过坐标置换 (P- 盒 ) 将 各S盒输出比特次序打乱,再送到下一级各S盒的输入端, 起到了Shannon所谓的“扩散”作用。S盒提供非线性变换, 将来自上一级不同的 S 盒的输出进行“混淆”。经过 P- 盒 的扩散作用均匀地分散到整个输出矢量中,从而保证了输 出密文统计上的均匀性,这就是 Shannon 的乘积密码的作 用。
全代换网络密钥个数必须满足条件:# {k}2n!
2019/1/17
8
3.1.1 代换
密码设计中需要先定义代换集 S,而后还需定 义解密变换集,即逆代换网络S-1,它以密文y 作为输入矢量,其输出为恢复的明文矢量x。 要实现全代换网络并不容易。因此实用中常 常利用一些简单的基本代换,通过组合实现 较复杂的、元素个数较多的代换集。实用密 码体制的集合S中的元素个数都远小于2n!。
DES的S盒
S盒
y3
2019/1/17
y2
y1
y0
10
S盒的设计准则
迄今为止,有关方面未曾完全公开有关 DES 的 S 盒的设计准则。 Branstead等曾披露过下述准则: S盒的输出都不是其输入的线性或仿射函数。
改变S盒的一个输入比特,其输出至少有两比特产生变化,即近一 半产生变化。
当S盒的任一输入位保持不变,其它5位输入变化时 (共有25 =32种 情况),输出数字中的0和1的总数近于相等。 这三点使DES的S盒能够实现较好的混淆。
第3章 分组密码
3.1 3.2 3.3 3.4 3.5 3.6 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码运行模式 IDEA算法 AES算法-Rijndael
2019/1/17
1
第3章 分组密码
分组密码是许多系统安全的一个重要组成部分。 可用于构造
伪随机数生成器
流密码
相关文档
最新文档