- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3-高级加密标准AES-1.ppt
高级加密标准----AES 高级加密标准AES AES概述 Rijndael算法 AES的特点 AES概述 1997年1月2日,美国国家标准和技术协会(NIST)宣布征集一个新的对称密钥分组密码算法作为取代DES的新的加密标准,该标准被命名为高级加密标准(AES)。 NIST对AES算法的要求简述如下: 必须是一个非必威体育官网网址的,公开的,对称密钥加密算法 算法必须支持128比特分组长度,128、192、256比特的密钥长度,强度应该相当于三重DES,但比三重DES更有效。 2000年10月,NIST宣布选中由比利时密码学家Daemen和Rijmen共同设计的Rijndael算法作为AES Rijndael算法 Rijndael算法概述 Rijndael算法内部函数 密钥的扩展 Rijndael算法解密过程 Rijndael算法概述 Rijndael是分组长度和密钥长度均可变的分组密码。其分组长度和密钥长度可独立的指定为128比特、192比特和256比特。为了方便描述,我们只考虑128比特的情况。在此情况下, Rijndael算法是通过十轮迭代而成。 128比特的消息被分组为16个字节(组),每个字节8比特记为: 输入分组=m0,m1…m15 同理,密钥也分为16组,记为:输入密钥=k0,k1…k15 其内部结构为 Rijndael算法 Rijndael算法概述 Rijndael算法内部函数 密钥的扩展 Rijndael算法解密过程 Rijndael算法加密解密结构 Rijndael算法内部函数 每一轮变换的内部函数为: Round(State,RoundKey){ SubBytes(State); ShiftRows(State); MixColumns(State); AddRoundKey(State,RoundKey); } 最后一轮记为: FinalRound(State,RoundKey) 是不使用MixColumns函数。 轮变换是可逆的 Round–1(State,RoundKey) FinalRound–1(State,RoundKey) Rijndael算法内部函数 Rijndael算法是在F2[X]f域中实现,该域中的元素是F2上的所有多项式模不可约多项式 f(X)=X8+X4+X3+X+1 得到的。该域共有28=256个元素。 该域又称“Rijndael域” 下面将依次介绍Rijndael算法的四个内部函数 SubBytes(State)——字节转换函数 该函数用一个S盒完成各组中按字节代换,任意非零字节X∈F28作如下代换 Y=AX-1+B (X-1记为X7X6X5X4X3X2X1X0,是对于每个分组在F28中求的逆 Y7 Y6Y5Y4Y3Y2Y1Y0即为所求) SubBytes(State)——字节转换函数 例如开始字节即X7+X6+X3+X+1) 在F28中求逆利用扩展欧基里德算法) 然后按下式计算,故得到字 SubBytes(State)——字节转换函数 SubBytes(State)——字节转换函数 SubBytes得到了一个非线形的代换密码(通过求X-1实现),实现了明文消息在密文消息空间的随机非线形分布,以抵抗差分分析(DC) ShiftRows(State)——行移位函数 此函数只进行简单的置换(如下图所示):将字节转换函数所得16个分组的第i行元素循环向右移动4-i个位置。(i=0,1,2,3) MixColumns(State)——列混淆变换 若只考虑矩阵中的一列,列混淆的运算可定义为: c(x)*a(x)(mod x4+1) 其中:C(X)=C3X3+C2X2+C1X+C0=’03’X3+’01’X2+’01’X+’02’ a(X)=a3X3+a2X2+a1X+a0 这样,每一列的输出结果为: 由此可得到此函数得输出结果 AddRoundKey(State,RoundKey)——轮密钥加 该函数的运算是由该轮的循环密钥与混合列变换的输出结果进行异或运算。 Rijndael算法 Rijndael算法概述 Rijndael算法内部函数 密钥的扩展 Ri
文档评论(0)