第3章分组密码-zhp.ppt

  1. 1、本文档共168页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章分组密码-zhp

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 其中CipherKey是种子密钥,ExpandedKey是扩展密钥。密钥扩展可以事先进行(预计算),且Rijndael密码的加密算法可以用这一扩展密钥来描述,即 Rijndael (State, ExpandedKey) { AddRoundKey (State, ExpandedKey); for (i=1; i Nr; i ++) Round (State, ExpandedKey+Nb* i); FinalRound (State, ExpandedKey+Nb*Nr) } 5. 加解密的相近程度及解密算法 首先给出几个引理。 引理3.1 设字节代换(ByteSub)、行移位(ShiftRow)的逆变换分别为InvByteSub、InvShiftRow。则组合部件“ByteSub→ShiftRow”的逆变换为“InvByteSub→InvShiftRow”。 证明:组合部件“ByteSub→ShiftRow”的逆变换原本为“InvShiftRow→InvByteSub”。由于字节代换(ByteSub)是对每个字节进行相同的变换,故“InvShiftRow”与“InvByteSub”两个计算部件可以交换顺序。(证毕) 引理3.2 设列混合(MixColumn)的逆变换为InvMixColumn。 则列混合部件与密钥加部件(AddRoundKey)的组合部件 “MixColumn→AddRoundKey (·, Key)”的逆变换为“InvMixColumn→AddRoundKey (·, InvKey)”。 其中密钥InvKey与Key的关系为: InvKey=InvMixColumn (Key) 证明:组合部件“MixColumn→AddRoundKey (·, Key)” 的逆变换原本为 “AddRoundKey (·, Key)→InvMixColumn”, 因此“AddRoundKey (·, Key)→InvMixColumn” =“InvMixColumn→ AddRoundKey (·, InvMixColumn (Key))” 引理3.3 将某一轮的后两个计算部件和下一轮的前两个计算部件组成组合部件,该组合部件的程序为 MixColumn (State); AddRoundKey (State, Key(i)); ByteSub (State); ShiftRow (State) 则该组合部件的逆变换程序为 InvByteSub (State); InvShiftRow (State); InvMixColumn (State); AddRoundKey (State, InvMixColumn (Key(i))) 证明:这是引理3.1和引理3.2的直接推论。 注意到在引理3.3所描述的逆变换中,第2步到第4步在形状上很像加密算法的轮函数,这将是解密算法的轮函数。注意到结尾轮只有3个计算部件,因此可以得到如下定理。 定理3.2 Rijndael密码的解密算法为顺序完成以下操作:初始的密钥加;(Nr-1)轮迭代;一个结尾轮。其中解密算法的轮函数为 InvRound (State, RoundKey) { InvByteSub (State); InvShiftRow (State); InvMixColumn (State); AddRoundKey (State, RoundKey) } 解密算法的结尾轮为 InvFinalRound (State, RoundKey) { InvByteSub (State); InvShiftRow (State); AddRoundKey (State, RoundKey) } 设加密算法的初始密钥加、第1轮、第2轮、…、第Nr轮的子密钥依次为 k(0), k(1), k(2), …, k(Nr-1), k(Nr) 则解密算法的初始密钥加、第1轮、第2轮、…、第Nr轮的子密钥依次为 k(Nr), InvMixColumn (k(Nr-1)), InvMixColumn (k(Nr-2)), …, InvMixColumn (k(1)), k(0)。 证明:这是上述3个引理的直接推论。 综上所述,Rijndael密码的解密算法与加密算法的计

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档