《第四章-分组密码-现代密码学课件.ppt》由会员分享,可在线阅读,更多相关《第四章-分组密码-现代密码学课件.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第四章第四章 分组密码分组密码一、分组密码概述一、分组密码概述二、分组密码运行模式二、分组密码运行模式三、三、DESDES四、四、AESAES五、分组密码的分析五、分组密码的分析2023/2/191一、分组密码概述一、分组密码概述2023/2/192分组密码概述分组密码概述n分组密码是许多系统安全的一个重要组成部分。分组密码是许多系统安全的一个重要组成部分。可用于构造可用于构造n拟随机数生成器拟随机数生成器n流密码流密码n消息认证码消息认证码(MAC)MAC)和杂凑函数和杂凑函数n消息认证技术、数据完整性机构、实体认证协议以消息认证技术、数据完整性机构、实体认证协议以及单钥数字签字体制的核心
2、组成部分及单钥数字签字体制的核心组成部分。2023/2/193应用中对于分组码的要求应用中对于分组码的要求n安全性安全性n运行速度运行速度n存储量存储量(程序的长度、数据分组长度、高速缓程序的长度、数据分组长度、高速缓存大小存大小)n实现平台实现平台(硬、软件、芯片硬、软件、芯片)n运行模式运行模式2023/2/194分组密码概述分组密码概述n通常取通常取n=m。n若若nm,则为有数据扩展的分组密码。则为有数据扩展的分组密码。n若若nm,则为有数据压缩的分组密码。则为有数据压缩的分组密码。2023/2/196分组密码设计问题分组密码设计问题 分分组组密密码码的的设设计计问问题题在在于于找找到到
3、一一种种算算法法,能能在在密密钥钥控控制制下下从从一一个个足足够够大大且且足足够够好好的的置置换换子子集集中中,简简单单而而迅迅速速地地选选出出一一个个置置换换,用用来来对对当当前输入的明文的数字组进行加密变换。前输入的明文的数字组进行加密变换。2023/2/197分组密码算法应满足的要求分组密码算法应满足的要求n分组长度分组长度n要足够大:要足够大:防止明文穷举攻击法奏效。防止明文穷举攻击法奏效。n密钥量要足够大:密钥量要足够大:尽尽可可能能消消除除弱弱密密钥钥并并使使所所有有密密钥钥同同等等地地好好,以以防防止止密钥穷举攻击奏效密钥穷举攻击奏效。n由密钥确定置换的算法要足够复杂:由密钥确定
4、置换的算法要足够复杂:充分实现明文与密钥的扩散和混淆,没有简单的关充分实现明文与密钥的扩散和混淆,没有简单的关系可循系可循,要能抗击各种已知的攻击。要能抗击各种已知的攻击。2023/2/198代换网络代换网络n代换代换是输入集是输入集A到输出到输出A上的双射变换上的双射变换:fk:AA 式式中中,k是是控控制制输输入入变变量量,在在密密码码学学中中则则为为密密钥钥。n实实现现代代换换fk的的网网络络称称作作代代换换网网络络。双双射射条条件件保保证在给定证在给定k下可从密文惟一地恢复出原明文下可从密文惟一地恢复出原明文。2023/2/1910代换网络代换网络n代换代换fk的集合:的集合:S=fk
5、k KnK是是密密钥钥空空间间。如如果果网网络络可可以以实实现现所所有有可可能的能的2n!个代换,则称其为全代换网络个代换,则称其为全代换网络。n全全代代换换网网络络密密钥钥个个数数必必须须满满足足条条件件:k 2n!2023/2/1911 代换盒代换盒(S盒盒)在在密密码码设设计计中中,可可选选n=r n0,其其中中r和和n0都都为为正正整整数数,将将设设计计n个个变变量量的的代代换换网网络络化化为为设设计计r个个较较小小的的子子代代换换网网络络,而而每每个个子子代代换换网网络络只只有有n0个个输输入入变变量量。称称每每个个子子代代换网络为代换盒换网络为代换盒(Substitution Bo
6、x)S盒 x5 x4 x3 x2 x1 x0 y3 y2 y1 y0DES的S盒2023/2/1913扩散和混淆扩散和混淆n扩散将明文的统计特性散布到密文中。扩散将明文的统计特性散布到密文中。实现的方式是使明文的每一位影响密文实现的方式是使明文的每一位影响密文中多位的值。中多位的值。2023/2/1915 S S盒的设计准则盒的设计准则 迄迄今今为为止止,有有关关方方面面未未曾曾完完全全公公开开有有关关DES的的S盒盒的的设设计计准准则。则。Branstead等曾披露过下述准则:等曾披露过下述准则:nP1 S盒的输出都不是其输入的线性或仿射函数。盒的输出都不是其输入的线性或仿射函数。nP2 改
7、改变变S盒盒的的一一个个输输入入比比特特,其其输输出出至至少少有有两两比比特特产产生生变变化,即近一半产生变化。化,即近一半产生变化。nP3 当当S盒盒的的任任一一输输入入位位保保持持不不变变,其其它它5位位输输入入变变化化时时(共共有有25=32种情况种情况),输出数字中的,输出数字中的0和和1的总数近于相等。的总数近于相等。这三点使这三点使DES的的S盒能够实现较好的混淆。盒能够实现较好的混淆。2023/2/1916Feistel网络网络 将将n bit明明文文分分成成为为左左右右各各半半、长长为为n/2 bit的的段段,以以L和和R表表示示。然然后后进进行行多多轮轮迭迭代代,其其第第i轮
8、轮迭迭代代的的输输出出为为前前轮轮输输出出的的函数函数 Li=Ri-1 Ri=Li-1 f(Ri-1,Ki)式式中中,Ki是是第第i轮轮用用的的子子密密钥钥,f是是任任意意密密码码轮轮函函数数。称称这这种种分分组组密密码码算算法法为为Feistel网网络络(Feistel Network),它它保保证证加加密和解密可采用同一算法实施密和解密可采用同一算法实施2023/2/1918迭代分组密码迭代分组密码n若以一个简单函数若以一个简单函数f,进行多次迭代,就称其为迭代密码。进行多次迭代,就称其为迭代密码。n每次迭代称作一轮每次迭代称作一轮(Round)。相应函数相应函数f称作轮函数称作轮函数。n
9、每每一一轮轮输输出出都都是是前前一一轮轮输输出出的的函函数数,即即y(i)=fy(i-1),k(i),其其中中k(i)是是第第i轮轮迭迭代代用用的的子子密密钥钥,由由秘秘密密密密钥钥k通通过过密密钥钥生生成成算法产生。算法产生。子 密 钥 产 生 器kk(1)k(2)k(r)y(0)=xy(1)y(2)y(r-1)y(r)=y2023/2/1919对合密码对合密码(Involution Cipher)加加密密函函数数f(x,k),实实现现F F2n F F2t F F2n的的映映射射。其其中中,n是是分分组组长,长,t是密钥长。若对每个密钥取值都有是密钥长。若对每个密钥取值都有ff(x,k),
10、k=x,即即f(x,k)2=I(恒等置换恒等置换)则称其为对合密码,以则称其为对合密码,以fI表示。表示。2023/2/1920I型迭代分组密码型迭代分组密码n以对合密码函数构造的多轮迭代分组密码以对合密码函数构造的多轮迭代分组密码。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)n 缺缺点点:对对任任意意偶偶数数轮轮变变换换,若若对对所所有有i选选择择k(2i-1)=k(2i),则则加加密密的的变变换换等等价价于于恒恒等等变变换换,在在实实用用中中需需要要避避免免这类密钥选择。这类密钥选择
11、。2023/2/1921对合置换和对合置换和II型迭代分组密码型迭代分组密码n对合置换对合置换 令令P是是对对x的的置置换换,即即P:F F2n F F2n,若若对对所所有有x GF(2n),有有PPx=x,即即PP=I(恒等置换恒等置换),以,以PI表示。表示。nII型迭代分组密码型迭代分组密码 每轮采用对合密码函数和对合置换级连,即每轮采用对合密码函数和对合置换级连,即 Fx,kPI fI x,k 并并选选解解密密子子密密钥钥与与加加密密子子密密钥钥逆逆序序,则则加加密密解解密密可可用用同同一一器器件完成。件完成。DES、FEAL和和LOKI等都属此类。等都属此类。2023/2/1922I
12、II型迭代分组密码型迭代分组密码 轮函数轮函数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 2023/2/1924IV型迭代分组密码型迭代分组密码 在在III型密码的轮函数基础上,再增加一个对型密码的轮函数基础上,再增加一个对合置换合置换PI,构成构成IV型迭代分组密码的轮函数型迭代分组密码的轮函数 Fx,kPIfI x kA,kB2023/2/1925IV型迭代分组密码型迭代分组密码 轮函数轮函数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 2023/2/1926