欢迎来到天天文库
浏览记录
ID:52186309
大小:2.82 MB
页数:32页
时间:2020-04-02
《现代密码学 第6讲AES.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.6AES算法——Rijndael1997年4月15日,美国ANSI发起征集AES(advancedencryptionstandard)的活动,并为此成立了AES工作小组。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。1998年8月12日,在首届AES候选会议(firstAEScandidateconference)上公布了AES的15个候选算法,任由全世界各机构和个人攻
2、击和评论。2021/9/1811999年3月,在第2届AES候选会议(secondAEScandidateconference)上经过对全球各密码机构和个人对候选算法分析结果的讨论,从15个候选算法中选出了5个。分别是RC6、Rijndael、SERPENT、Twofish和MARS。2000年4月13日至14日,召开了第3届AES候选会议(thirdAEScandidateconference),继续对最后5个候选算法进行讨论。2000年10月2日,NIST宣布Rijndael作为新的AES。经过3年多的讨论,Rijndae
3、l终于脱颖而出。Rijndael由比利时的JoanDaemen和VincentRijmen设计算法的原型是Square算法,它的设计策略是宽轨迹策略(widetrailstrategy)。算法有很好的抵抗差分密码分析及线性密码分析的能力。2021/9/1823.6.1Rijndael的数学基础和设计思想1.有限域GF(28)GF(2)上的8次不可约多项式可扩展为有限域GF(28)。加法定义两个多项式的模2加两个多项式的对应系数的异或乘法定义为两个多项式的模乘特别不可约多项式m(x)=x8+x4+x3+x+12021/9/183
4、多项式加法系数表示法GF(28)中任一多项式(bi{0,1})b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0→b7b6b5b4b3b2b1b0(一个字节)多项式加法:对应系数模2加(异或)如多项式(x6+x4+x2+x+1)+(x7+x+1)=x7+x6+x4+x2(modm(x))二进制表示为01010111+10000011=11010100十六进制表示‘57’+‘83’=‘D4’,多项式系数表示法2021/9/184b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b
5、0→b7b6b5b4b3b2b1b0x·b(x)=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x(modm(x))m(x)=x8+x4+x3+x+1b7=0b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x→b6b5b4b3b2b1b00b(x)在字节内左移一位(最后一位补0)b7=1,b(x)在字节内左移一位(最后一位补0)与‘1B’(00011011)逐比特异或x的幂乘运算可以重复应用xtime来实现多项式乘法2021/9/185‘1B’00011011例如,‘57’·‘13’
6、可按如下方式实现:‘57’·‘02’=xtime(57)=‘AE’;10101110‘57’·‘04’=xtime(AE)=‘47’;01000111‘57’·‘08’=xtime(47)=‘8E’;‘57’·‘10’=xtime(8E)=‘07’;‘57’·‘13’=‘57’·(‘01’‘02’‘10’)=‘57’‘AE’‘07’=‘FE’。‘1B’00011011‘57’=010101111010111001011100010001111000111010001110000111000000011100000111
7、01010111101011101111111000000111‘57’=01010111‘13’=00010011000000010000001000010000‘01’=‘02’=‘10’=‘57’·‘13’=‘57’·(‘01’‘02’‘10’)2021/9/1862.系数在GF(28)上的多项式模取M(x)=x4+1,系数在GF(28)上的任意多项式可表示为a3x3+a2x2+a1x+a0,aiGF(28)系数对应4个字节构成的向量。加法定义如下对应系数相加;4字节向量的逐比特异或。2021/9/187设a(x)=
8、a3x3+a2x2+a1x+a0,b(x)=b3x3+b2x2+b1x+b0,c(x)=a(x)b(x)=c3x3+c2x2+c1x+c0。由于xjmod(x4+1)=xjmod4,所以c0=a0b0a3b1a2b2a1b3;c1=a1b0a0b1a3b2a2b3
此文档下载收益归作者所有