1、5/23/2019,1,第四章 分组密码,一、分组密码概述 二、分组密码运行模式 三、DES 四、AES 五、分组密码的分析,拘捞蚤昼醚陷角布爆进瑰桩渝茎艘贸乒奴彬禁命栋表魏祟祭叛奢暮浅厉产现代密码学 (9)现代密码学 (9),5/23/2019,2,四、AES,弊钵愈拱厦凉祁揣蜘抉巩圣若顷划普源此豌跨骗虐材测堆咕拼条裕窿就肄现代密码学 (9)现代密码学 (9),5/23/2019,3,密钥编排,轮密钥的比特数等于分组长度乘以轮数加1 种子密钥被扩展为扩展密钥 轮密钥从扩展密钥中按顺序选取,恤久诉几藤哗窍址恤砷愿走玫配浩开乎静便跋俘塞攒既泊吠血椭愚彝蹿准现代密码学 (9)现代密码学 (9),5
2、/23/2019,4,分组密码的分析,覆砚店釜赢趋嗓像袁师各喊惦荒岩咀准玩汹还拽氢蓬振尧啤争辰赃屏蔑郝现代密码学 (9)现代密码学 (9),5/23/2019,5,差分密码分析(Differential cryptanalysis),DES经历了近20年全世界性的分析和攻击,提出了各种方法,但破译难度大都停留在255量级上。 1991年Biham和Shamir公开发表了差分密码分析法才使对DES一类分组密码的分析工作向前推进了一大步。目前这一方法是攻击迭代密码体制的最佳方法,它对多种分组密码和Hash 函数都相当有效,相继攻破了FEAL、LOKI、LUCIFER等密码。 此法对分组密码的研究设
3、计也起到巨大推动作用。,牺绽互步哑伯街煽沂念置搔甘协铲习卸沼迂祁指对御至倍氓际科倔答给辊现代密码学 (9)现代密码学 (9),5/23/2019,6,差分密码分析(Differential cryptanalysis),以这一方法攻击DES,尚需要用247个选择明文和247次加密运算。为什么DES在强有力的差值密码分析攻击下仍能站住脚? 根据Coppersmith1992内部报告透露,IBM的DES研究组早在1974年就已知道这类攻击方法,因此,在设计S盒、P-置换和迭代轮数上都做了充分考虑,从而使DES能经受住这一有效破译法的攻击。,若姜瑟梁俞毅俯泛峦筹骆衙岩发娩牵肮正润跳洗遁凄腹田跨讶留丙
4、韩匀席现代密码学 (9)现代密码学 (9),5/23/2019,7,差分密码分析(Differential cryptanalysis),差分密码分析是一种攻击迭代分组密码的选择明文统计分析破译法。 它不是直接分析密文或密钥的统计相关性,而是分析明文差分和密文差分之间的统计相关性。 给定一个r轮迭代密码,对已知n长明文对X和X,定义其差分为X=X(X)-1 其中,表示n-bits组X的集合中定义的群运算,(X)-1为X在群中的逆元。,仇跳恫守伟备拼席槛驾金坟啸辙荣懊愧棋趾逞逢综境拣丢稀疮蟹色船耿庄现代密码学 (9)现代密码学 (9),5/23/2019,8,差分密码分析(Differentia
5、l cryptanalysis),在密钥k作用下,各轮迭代所产生的中间密文差分为Y(i)=Y(i)Y(i)-1 0ir i=0时,Y(0)=X,Y(0)=X,Y(0)=X。 i=r时,Y=Y(r),k(i)是第i轮加密的子密钥,Y(i)=f(Y(i1), k(i)。 由于XX,因此,Y(i)e(单位元)。 每轮迭代所用子密钥k(i)与明文统计独立,且可认为服从均匀分布。,多颜师伐徐抡矣港桐眯小汉肪绸饵喊享免捐帆枣方斯惊游刊磐警勒纠挚羽现代密码学 (9)现代密码学 (9),5/23/2019,9,差分密码分析(Differential cryptanalysis),r 轮迭代分组密码的差分序列,
6、沤违毖狐阅千宣蛆正粥谦煽吕混狂地牙闻美材溉喊蛹绞灼魁镜荷噬氢柑匹现代密码学 (9)现代密码学 (9),5/23/2019,10,差分密码分析(Differential cryptanalysis),Lai等引入Markov链描述多轮迭代分组密码的差分序列。并定义了 Markov密码。 Lai等证明,Markov密码的差分序列X=Y(0),Y(1), , Y(r)是一齐次Markov链,且若X在群的非零元素上均匀分布,则此Markov 链是平稳的。 不少迭代分组密码可归结为Markov密码。如DESLOK1、FEAL和REDOC Lai. 1992。,埂肝覆邻兆帘彝怜醉旋掳观忱抬吐惰汛阵绸轨株碴
7、惟瞥浊堂韶千腺矿履抑现代密码学 (9)现代密码学 (9),5/23/2019,11,差分密码分析(Differential cryptanalysis),一个Markov 型密码,可以用转移概率P(Y(1)=jX=i)的所有可能转移值构成的矩阵描述,称其为齐次Markov 链的转移概率矩阵,以表示。 一个n-bits分组密码有1i, jM=2n1。对所有r,有 r=pij (r)=P(Y(r)=jX=i)的每一行都是一概率分布,行元素之和为1。,玲睫胖钞散班此瑶我尘孰锤锐赐侣截晕京析嗜秸蛙酋挚纹殆颊攒屁贬沦斯现代密码学 (9)现代密码学 (9),5/23/2019,12,差分密码分析(Diff
8、erential cryptanalysis),对于Markov型密码,当X在非零元素上为均匀分布,则Y为一平稳Markov链,此时对于每个j有即各列元素之和亦为1,从而可知各列也构成一概率分布。,饲污宠桂疫知蚕输娱苔古宦卿裴欲甄油毡盗哈豆齿琼僻揽锈盂盎慈泵乖瞩现代密码学 (9)现代密码学 (9),5/23/2019,13,差分密码分析(Differential cryptanalysis),差分密码分析揭示出,迭代密码中的一个轮迭代函数f,若已知三元组Y(i1), Y(i), Y(i) Y(i)=f(Y(i1), k(i), Y(i)=f(Y(i1), k(i),则不难决定该轮密钥k(i)。
9、 因此轮函数f的密码强度不高。如果已知密文对,且有办法得到上一轮输入对的差分,则一般可决定出上一轮的子密钥(或其主要部分)。 在差分密码分析中,通常选择一对具有特定差分的明文,它使最后一轮输入对的差值Y(r1)为特定值的概率很高。,痰肛盼窃佩育嫁伍短涸陡液逻蹭简乌槐漳驱镊凸动蹋痔屎搁蝗吞均刁榴灌现代密码学 (9)现代密码学 (9),5/23/2019,14,差分密码分析(Differential cryptanalysis),差分密码分析的基本思想是在要攻击的迭代密码系统中找出某高概率差分来推算密钥。 一个i轮差分是一(, )对,其中是两个不同明文X和X的差分,是密码第i轮输出Y(i)和Y(i
10、)之间的差分。 在给定明文的差分X条件下,第i轮出现一对输出的差分为的条件概率称之为第i轮差分概率,以P(Y(i)=|X)表示。 对于Markov密码,第i差分概率就是第i阶转移概率矩阵i中的元素(, )。,只谁湍侗章絮充派素玻绳津撂鞭演敏跋肥斤突触痒蕊寇楞凤系胞疹撕窖技现代密码学 (9)现代密码学 (9),5/23/2019,15,r轮迭代密码的差分分析,寻求第(r1)轮差分(, )使概率P(Y(r1)=|X=)的值尽可能为最大。 随机地选择明文X,计算X使X与X之差分为,在密钥k下对X和X进行加密得Y(r)和Y(r),寻求能使Y(r1)=的所有可能的第r轮密钥K(r),并对各子密钥ki(r
11、)计数,若选定的X=,(X, X)对在ki(r)下产生的(Y, Y)满足Y(r1)=,就将相应ki(r)的计数增加1。 重复第2步,直到计数的某个或某几个子密钥ki(r)的值,显著大于其它子密钥的计数值,这一子密钥或这一小的子密钥集可作为对实际子密钥K(r)的分析结果。,吟迂弄绸谊再肚嘿撑巩罗踌露眯低兆陀测蛛唇瓤注蝗嫌譬符罕汛穴到荣棠现代密码学 (9)现代密码学 (9),5/23/2019,16,线性攻击,Rueppel1986的流密码专著中曾提出以最接近的线性函数逼近非线性布尔函数的概念,Matsui推广了这一思想以最隹线性函数逼近S盒输出的非零线性组合1993,即所谓线性攻击,这是一种已知
12、明文攻击法。 对已知明文x密文y和特定密钥k,寻求线性表示式 (ax)(by)=(dk) 其中(a, b, d)是攻击参数。对所有可能密钥,此表达式以概率成立。对给定的密码算法,使极大化。,伊臆秸始基怒狮磨聋榨稽荚笋殷熟獭荣耳漂贰刘丝摄喷屁逸枢大笨障剃赏现代密码学 (9)现代密码学 (9),5/23/2019,17,线性攻击,为此对每一S盒的输入和输出之间构造统计线性路径,并最终扩展到整个算法。 以此方法攻击DES的情况如下: PA-RISC/66MHz工作站, 对8轮DES可以用221个已知明文在40秒钟内破译; 对12轮DES以233个已知明文用50小时破译; 对16轮DES以247个已知
13、明文攻击下较穷举法要快。 如采用12个HP 9735/PA-RISC99MHz的工作站联合工作,破译16轮DES用了50天。,挂脓灾煤西饶箕札极甲乍谨幕远糕歼怀唱吠瑶琴溢插扦利坟楼疟焚栖晒波现代密码学 (9)现代密码学 (9),5/23/2019,18,第四章 单钥体制(二) 分组密码,本章到此结束。谢谢大家!,腮畅皂橡壕拙坟议唆迅匿范述宰源究烹淡上簇独及贝重坞甄领启万窿缘乍现代密码学 (9)现代密码学 (9),5/23/2019,19,第五章 公钥密码,诌锨落荡畏巢郡匪站勋黑渝垢胯铂所扛改乐担慑妆棠娩她沧款狭桅反脚遁现代密码学 (9)现代密码学 (9),5/23/2019,20,公钥密码,数
14、论简介 公钥密码体制的基本概念 RSA算法 椭圆曲线密码体制,漂袭徐泵缝略茹榜芜厂勃浦买嚷盔斯屏芍橇芋这镭靖苔笨锣绩撬堑塌粪锥现代密码学 (9)现代密码学 (9),5/23/2019,21,数论简介,创只乘浩未得他复对姬茫窒伪置戍撕贪卯簧渍播营执诬拔休诀唯何啮悯惋现代密码学 (9)现代密码学 (9),5/23/2019,22,素数和互素数,因子 整数a,b,如果存在m,使a=mb,称为b整除a,记为b|a,称b是a的因子。 性质 a|1,则a=1 a|b且b|a,则a=b 对任意b,b0,则b|0 b|g,b|h,对任意整数m,n,有b|(mg+nh) (证明留给大家),鸟视娄珍棋吧瘩耪览颈丹
15、躁壳屿鸳疮姬签诺耳屁齿岳制整茂胖送煮掸董舷现代密码学 (9)现代密码学 (9),5/23/2019,23,素数和互素数,素数 整数p(p1)为素数,如果p的因子只有1,p 整数分解的唯一性任一整数a(a1)可唯一的分解为其中p1p2pt是素数,ai0 例:91=711,11011=711213,锐处菏俺肚圈止应挛饮曲孺揩颠博先回哎铬迪占赚哲拟癌柔吼赃鼓睡剂胆现代密码学 (9)现代密码学 (9),5/23/2019,24,素数和互素数,整数分解唯一性的另一表示 P是所有素数的集合,任一a(a1)可表示为ap0,大多数指数项ap为0,任一整数可由非0指数列表表示。例如11011可以表示为a7=1, a11=2, a13=1 两数相乘等价于对应的指数相加 由a|b可得,对每一素数p, ap bp,沙蚊诡颜铰凹姿戌鞘庶茅妒寺叙庚焚鄂面耶卤害仅眼碎气乞睡怯笨唆褒铰现代密码学 (9)现代密码学 (9),5/23/2019,25,素数和互素数,c是a和b的最大公因子,c=gcd(a,b) c是a的因子也是b的因子 a和b的任一公因子也是c的因子 gcd(a,b)=1,称为a,b互素,度胆爪铀滋倘畏圈胜患量浴机嗽轮痘忘颓觅闲勃映帘响疼庚摔震默希纠灼现代密码学 (9)现代密码学 (9),