您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 对称密码学及其应用-02第四章 典型分组密码算法
北邮信息安全中心北邮计算机学院《对称密码学及其应用》1计算机学院李晖lihuill@bupt.edu.cn《对称密码学及其应用》《对称密码学及其应用》第四章典型分组密码算法北京邮电大学北邮信息安全中心北邮计算机学院《对称密码学及其应用》2第四章典型分组密码算法分组密码算法的结构DES算法AES算法IDEA算法RC5算法北邮信息安全中心北邮计算机学院《对称密码学及其应用》3本次课程目标复习分组密码算法的结构掌握IDEA算法的设计思路掌握RC5算法的设计思路北邮信息安全中心北邮计算机学院《对称密码学及其应用》43.3分组密码的整体结构SPN结构Shannon提出是一种采用混乱和扩散的迭代密码结构属于乘积密码AES,SAFER和SHARK等著名的密码算法都采用此结构北邮信息安全中心北邮计算机学院《对称密码学及其应用》53.3分组密码的整体结构Feistel结构由IBM公司的HorstFeistel在20世纪60年代末设计Lucifer分组密码时发明的在Lucifer密码的基础上,IBM提出的算法中标美国国家标准局(NBS)公开征集的标准密码算法,即DES算法许多分组密码也都采用了Feistel结构,如Blowfish、E2、FEAL、GOST、LOKI和RC5等北邮信息安全中心北邮计算机学院《对称密码学及其应用》6IDEA简介作者:瑞士的XuejiaLai和JamesMassey1990年公布了IDEA密码算法第一版,称为PES(ProposedEncryptionStandard)。为抗击差分密码攻击,他们增强了算法的强度,称IPES(ImprovedPES),并于1992年改名为IDEA(InternationalDataEncryptionAlgorithm,国际数据加密算法。)北邮信息安全中心北邮计算机学院《对称密码学及其应用》7IDEA(Cont.)IDEA是对称、分组密码算法,输入明文为64位,生成的密文为64位;设计目标从两个方面考虑加密强度易实现性密钥长度为128位(抗强力攻击能力比DES强)同一算法既可加密也可解密。IDEA的“混淆”和“扩散”设计原则来自三种运算,它们易于软、硬件实现(加密速度快)北邮信息安全中心北邮计算机学院《对称密码学及其应用》8IDEA简介(Cont.)IDEA能抗差分分析和相关分析;IDEA似乎没有DES意义下的弱密钥;IDEA是PGP的一部分;IDEA是TETRA端到端加密的一部分;北邮信息安全中心北邮计算机学院《对称密码学及其应用》9IDEA简介(Cont.)异或运算()整数模216加(+)整数模216+1乘()(IDEA的S盒)扩散由称为MA结构的算法基本构件提供。Z6F2F1Z5G1G2北邮信息安全中心北邮计算机学院《对称密码学及其应用》10补充:的伪代码1.if(a=0)2.r(0x10001-b)(因为216b=-b)3.elseif(b=0)4.r(0x10001-a)(因为216a=-a)5.else{6.cab;7.r((cAND0xffff)-(c16));8.ifr0r(0x10001+r);9.}10.return(rand0xffff).北邮信息安全中心北邮计算机学院《对称密码学及其应用》11伪代码的解释设c=ab=c0▪232+cH▪216+cL其中c0∈{0,1};0≤cH,cL<216为了计算c’=cmod(216+1)对于a=b=216时,c0=1,cH=cL=0而且c’=(-1)(-1)=1;否则c0=0;因此,如果cH≤cL,则c’=cL-cH+c0;如果cH>cL,则c’=cL-cH+(216+1);北邮信息安全中心北邮计算机学院《对称密码学及其应用》12IDEA简介(Cont.)实现上的考虑使用子分组:16bit的子分组;使用简单操作(易于加法、移位等操作实现)加密解密过程类似;规则的结构(便于VLSI实现)。北邮信息安全中心北邮计算机学院《对称密码学及其应用》13IDEA加密的总体方案图循环2循环8循环1输出变换64位密文64位明文Z1Z6Z7Z12Z43Z48Z49Z52子密钥生成器128位密钥Z1Z5216……北邮信息安全中心北邮计算机学院《对称密码学及其应用》14北邮信息安全中心北邮计算机学院《对称密码学及其应用》15IDEA的一轮运算北邮信息安全中心北邮计算机学院《对称密码学及其应用》16IDEA的密钥生产52个16bit的子密钥从128bit的密钥中生成前8个子密钥直接从密钥中取出;对密钥进行25bit的循环左移,接下来的密钥就从中取出;重复进行直到52个子密钥都产生出来。北邮信息安全中心北邮计算机学院《对称密码学及其应用》17IDEA的密钥生产52个16bit的子密钥从128bit的密钥中生成前8个子密钥直接从密钥中取出;对密钥进行25bit的循环左移,接下来的密钥就从中取出;重复进行直到52个子密钥都产生出来。北邮信息安全中心北邮计算机学院《对称密码学及其应用》18IDEA的解密加密解密实质相同,但使用不同的密钥;解密密钥以如下方法从加密子密钥中导出:解密运算的第i轮迭代的前4个子密钥是从加密运算的第10-i轮迭代的前4个子密钥中导出。第1个和第4个解密子密钥等于对应的第1个和第4个加密子密钥的乘法逆元。第1轮和第9轮迭代的第2个和第3个解密子密钥等于对应的第2个和第3个加密子密钥的加法逆元;从第2轮到第8轮迭代,第2个和第3个解密子密钥等于对应的第3个和第2个加密子密钥的加法逆元。对前8轮迭代来说,第i轮迭代的最后两个解密子密钥等于加密运算的第9-i轮迭代的最后两个子密钥;北邮信息安全中心北邮计算机学院《对称密码学及其应用》19RC5加密算法作者RonRivestProfessorofElectricalEngineeringandComputerScienceinMIT'sDepartmentofElectricalEngineeringandComputerScience.memberofMIT'sComputerScienceandArtificialIntelligenceLaboratory(CSAIL)memberofthelab'sTheoryofComputationGroupandafounderofitsCryptographyandInformationSecurityGroup.founderofRSADataSecurity,nownamedRSASecurity(thesecuritydivisionofEMC)andofPeppercoin.researchinterestsincryptography,computerandnetworksecurity,electronicvoting,andalgorithms.RonRivest北邮信息安全中心北邮计算机学院《对称密码学及其应用》20RC5加密算法1.适用于软件或者硬件实现2.运算速度快3.能适应于不同字长的程序(一个字的bit数是RC5的一个参数;)加密的轮数可变(轮数是RC5的第二个参数)密钥长度是可变的(密钥长度是RC5的第三个参数)6.对内存要求低7.依赖于数据的循环移位(增强抗攻击能力)北邮信息安全中心北邮计算机学院《对称密码学及其应用》21RC5加密算法算法特点三个参数参数w:表示字长,RC5加密两字长分组,可用值为16、32、64参数r:表示轮数,可用值0,1,…,255参数b:表示密钥K的字节数,可用值0,1,…,255RC5版本:RC5-w/r/b算法作者建议标定版本为RC5-32/12/16北邮信息安全中心北邮计算机学院《对称密码学及其应用》22RC5加密算法三个基本运算字的加法,模2w+按位异或⊕左循环移位算法:A=A+S[0];B=B+S[1];Fori=1tordoA=((A⊕B)B+S[2*i]B=((B⊕A)A+S[2*i+1]+LE0++RE0+S[0]S[1]S[2]S[3]第1轮LE1+RE1+S[2r]第r轮LErREr密文输出明文输入AB北邮信息安全中心北邮计算机学院《对称密码学及其应用》23RC5的密钥扩展算法密钥扩展算法由三个简单的算法构成。密钥扩展算法中使用的两个常数定义为e=2.718281828459...(自然对数的基底),phi=1.618033988749…(黄金分割比),odd(x)是不小于x的最小奇整数。((2)2)Podde((2)2)Qoddphi北邮信息安全中心北邮计算机学院《对称密码学及其应用》24密钥扩展的第一个简单算法转换:把b个字节长的秘密密钥K[0,1,...,b-1]转换成一个c个字的数组LK[0,1,...,c-1]。北邮信息安全中心北邮计算机学院《对称密码学及其应用》25密钥扩展的第二个简单算法初始化:利用常数和获得初始化矩阵S:S[0]=;Fori=1tot-1doS[i]=S[i-1]+PQ北邮信息安全中心北邮计算机学院《对称密码学及其应用》26密钥扩展的第三个简单算法混合:把用户的秘密密钥K混合到S之中:i=j=0;A=B=0;执行下列步骤3max(t,c)次;A=S[i]=(S[i]+A+B)3;B=L[j]=(L[j]+A+B)(A+B);i=(i+1)modt;j=(j+1)modc;北邮信息安全中心北邮计算机学院《对称密码学及其应用》27RC5解密过程与加密过程相类似,容易从加密过程中获得,只是将循环左移变为循环右移,模加法运算变为模减法运算。北邮信息安全中心北邮计算机学院《对称密码学及其应用》28作业题任选下面一题:1.画图并描述IDEA算法的解密过程,试比较IDEA算法和DES算法。2.画图并描述RC5算法的解密过程,试比较RC5算法和RC4算法。北邮信息安全中心北邮计算机学院《对称密码学及其应用》29讨论时间。。。
本文标题:对称密码学及其应用-02第四章 典型分组密码算法
链接地址:https://www.777doc.com/doc-6421815 .html