现代密码学课件110讲第5讲

上传人:E**** 文档编号:91075836 上传时间:2019-06-21 格式:PPT 页数:26 大小:172.50KB
返回 下载 相关 举报
现代密码学课件110讲第5讲_第1页
第1页 / 共26页
现代密码学课件110讲第5讲_第2页
第2页 / 共26页
现代密码学课件110讲第5讲_第3页
第3页 / 共26页
现代密码学课件110讲第5讲_第4页
第4页 / 共26页
现代密码学课件110讲第5讲_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《现代密码学课件110讲第5讲》由会员分享,可在线阅读,更多相关《现代密码学课件110讲第5讲(26页珍藏版)》请在金锄头文库上搜索。

1、2019/6/21,1,第四章 分组密码,一、分组密码概述 二、分组密码运行模式 三、DES 四、AES 五、分组密码的分析,2019/6/21,2,一、分组密码概述,2019/6/21,3,分组密码概述,分组密码是许多系统安全的一个重要组成部分。可用于构造 拟随机数生成器 流密码 消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机构、实体认证协议以及单钥数字签字体制的核心组成部分。,2019/6/21,4,应用中对于分组码的要求,安全性 运行速度 存储量(程序的长度、数据分组长度、高速缓存大小) 实现平台(硬、软件、芯片) 运行模式,2019/6/21,5,分组密码概述,明文序列 x

2、1, x2, xi, 加密函数E: VnKVn 这种密码实质上是字长为m的数字序列的代换密码。,2019/6/21,6,分组密码概述,通常取n=m。 若nm,则为有数据扩展的分组密码。 若nm,则为有数据压缩的分组密码。,2019/6/21,7,分组密码设计问题,分组密码的设计问题在于找到一种算法,能在密钥控制下从一个足够大且足够好的置换子集中,简单而迅速地选出一个置换,用来对当前输入的明文的数字组进行加密变换。,2019/6/21,8,分组密码算法应满足的要求,分组长度n要足够大: 防止明文穷举攻击法奏效。 密钥量要足够大: 尽可能消除弱密钥并使所有密钥同等地好,以防止密钥穷举攻击奏效。 由

3、密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的关系可循,要能抗击各种已知的攻击。,2019/6/21,9,分组密码算法应满足的要求,加密和解密运算简单: 易于软件和硬件高速实现。 数据扩展: 一般无数据扩展,在采用同态置换和随机化加密技术时可引入数据扩展。 差错传播尽可能地小。,2019/6/21,10,代换网络,代换是输入集A到输出A上的双射变换: fk:AA 式中,k是控制输入变量,在密码学中则为密钥。 实现代换fk的网络称作代换网络。双射条件保证在给定k下可从密文惟一地恢复出原明文。,2019/6/21,11,代换网络,代换fk的集合: S=fkkK K是密钥

4、空间。如果网络可以实现所有可能的2n!个代换,则称其为全代换网络。 全代换网络密钥个数必须满足条件:k2n!,2019/6/21,12,代换网络,密码设计中需要先定义代换集S,而后还需定义解密变换集,即逆代换网络S-1,它以密文y作为输入矢量,其输出为恢复的明文矢量x。 要实现全代换网络并不容易。因此实用中常常利用一些简单的基本代换,通过组合实现较复杂的、元素个数较多的代换集。实用密码体制的集合S中的元素个数都远小于2n!。,2019/6/21,13,代换盒(S盒),在密码设计中,可选n=rn0,其中r和n0都为正整数,将设计n个变量的代换网络化为设计r个较小的子代换网络,而每个子代换网络只有

5、n0个输入变量。称每个子代换网络为代换盒(Substitution Box),DES的S盒,2019/6/21,14,DES的S1-盒的输入和输出关系,x5 x0 x5 x4 x3 x2 x1 x0 1 0 1 0 1 1 0 0 列号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 行号 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7

6、5 11 2 14 10 0 6 13,(y3 , y2, y1 , y0)=(0,0,1,0),2019/6/21,15,扩散和混淆,扩散将明文的统计特性散布到密文中。实现的方式是使明文的每一位影响密文中多位的值。,2019/6/21,16,S盒的设计准则,迄今为止,有关方面未曾完全公开有关DES的S盒的设计准则。Branstead等曾披露过下述准则: P1 S盒的输出都不是其输入的线性或仿射函数。 P2 改变S盒的一个输入比特,其输出至少有两比特产生变化,即近一半产生变化。 P3 当S盒的任一输入位保持不变,其它5位输入变化时(共有25 =32种情况),输出数字中的0和1的总数近于相等。

7、这三点使DES的S盒能够实现较好的混淆。,2019/6/21,17,S盒的组合,问题: 如何将几个S盒组合起来构成一个n值较大的组。 将几个S盒的输入端并行,并通过坐标置换(P-盒)将各S盒输出比特次序打乱,再送到下一级各S盒的输入端,起到了Shannon所谓的“扩散”作用。S盒提供非线性变换,将来自上一级不同的S盒的输出进行“混淆”。经过P-盒的扩散作用使1均匀地分散到整个输出矢量中,从而保证了输出密文统计上的均匀性,这就是Shannon的乘积密码的作用。,2019/6/21,18,Feistel网络,将n bit明文分成为左右各半、长为n/2 bit的段,以L和R表示。然后进行多轮迭代,其

8、第i轮迭代的输出为前轮输出的函数 Li =Ri-1 Ri =Li-1 f(Ri-1, Ki) 式中,Ki是第i轮用的子密钥,f是任意密码轮函数。称这种分组密码算法为Feistel网络(Feistel Network),它保证加密和解密可采用同一算法实施,2019/6/21,19,迭代分组密码,若以一个简单函数f,进行多次迭代,就称其为迭代密码。 每次迭代称作一轮(Round)。相应函数f称作轮函数。 每一轮输出都是前一轮输出的函数,即y(i)=fy(i-1), k(i),其中k(i)是第i轮迭代用的子密钥,由秘密密钥k通过密钥生成算法产生。,2019/6/21,20,对合密码(Involuti

9、on Cipher),加密函数f(x, k),实现F2n F2t F2n的映射。其中,n是分组长,t是密钥长。若对每个密钥取值都有ff(x, k),k=x,即 f(x, k)2 =I (恒等置换) 则称其为对合密码,以fI表示。,2019/6/21,21,I型迭代分组密码,以对合密码函数构造的多轮迭代分组密码。 Ex, k=fIfI fI fIx, k(1),k(2) ,k(r-1),k(r) Dy, k =fI fI fIfIy, k(r),k(r-1) ,k(2) ,k(1) 缺点:对任意偶数轮变换,若对所有i选择k(2i-1) =k(2i),则加密的变换等价于恒等变换,在实用中需要避免这

10、类密钥选择。,2019/6/21,22,对合置换和II型迭代分组密码,对合置换 令P是对x的置换,即P: F2n F2n ,若对所有xGF(2n),有PPx=x,即PP=I(恒等置换),以PI表示。 II型迭代分组密码 每轮采用对合密码函数和对合置换级连,即 Fx, kPI fI x, k 并选解密子密钥与加密子密钥逆序,则加密解密可用同一器件完成。 DES、FEAL和LOKI等都属此类。,2019/6/21,23,III型迭代分组密码,群密码:若密钥与明文、密文取自同一空间GF(2 n),且 y=xk 式中,是群运算,则称其为群密码。显然x可通过k的逆元 求得 x=yk-1 令xk为一群密码

11、,令fI(x, kB)为一对合密码,以 Fx, kfI (xkA, kB) 为迭代函数,可以III型多轮迭代分组密码。在最后一轮中,另外加了一次群密码运算,用以保证整个加、解密的对合性。,2019/6/21,24,III型迭代分组密码,轮函数F F y(1) y(r-1) (a) 加密 x fI fI y kA(1) kB(1) kA(r) kB(r) kA(r+1) F F y fI fI x (b) 解密 kA(r+1) -1 kB(r) (kA(r)-1 kB(1) (kA)-1,2019/6/21,25,IV型迭代分组密码,在III型密码的轮函数基础上,再增加一个对合置换PI,构成IV型迭代分组密码的轮函数 Fx, kPIfI xkA, kB,2019/6/21,26,IV型迭代分组密码,轮函数F y(1) y(r-1) F x fI PI fI PI PI y kA(1) kB(1) kA(r) kB(r) kA(r+1) (a) 加密 F F y fI PI fI x (b) 解密 (kA(r+1) -1kB(r) PIkA(r)-1 PIkA(2)-1 kB(1) (kA(1) -1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号