已阅读5页,还剩148页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生学位课:现代密码学,第三章分组密码体制,主讲教师:董庆宽研究方向:密码学与信息安全Email:qkdong,.,2,3.1分组密码概述3.2数据加密标准DES3.3差分密码分析和线性密码分析3.4分组密码的运行模式3.5IDEA3.6AESRijndael,本章提要,.,3,3.1分组密码概述,分组密码(BlockCipher):将明文消息分组,逐组加密;对称密码算法,属于代换密码将明文消息编码表示后的数字序列x0,x1,xi,划分成长为n的组x=(x0,x1,xn-1)各组(长为n的矢量)分别在密钥k=(k0,k1,kt-1)控制下变换成等长的输出数字序列y=(y0,y1,ym-1)(长为m的矢量)其加密函数E:VnKVm,Vn和Vm分别是n维和m维矢量空间,K为密钥空间,如图所示。,.,4,与流密码不同之处:(1)分组加密。在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为n的明文数字有关。(2)无记忆性。在相同密钥下,分组密码对长为n的输入明文组所实施的变换是等同的,所以只需研究对任一组明文数字的变换规则。这种密码实质上是字长为m的数字序列的代换密码。算法的输入长度和输出长度通常取m=n(用于加密)若mn,则为有数据扩展的分组密码(用于认证)若m。另一方面,对每个不同的密钥,DES都定义了一个映射,总映射数为25610171/2)或1(p6有所不同。当Nk6时,扩展算法如下KeyExpansion(byteKey4*Nk,wordWNb*(Nr+1)for(i=0;iNk;i+)Wi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);for(i=Nk;i6时,扩展算法如下KeyExpansion(byteKey4*Nk,wordWNb*(Nr+1)for(i=0;iNk;i+)Wi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);for(i=Nk;i6与Nk6的密钥扩展算法的区别在于:当i为Nk的4的倍数时,须先将前一个字Wi-1经过SubByte变换。以上两个算法中,Rconi/Nk为轮常数,其值与Nk无关,定义为(字节用十六进制表示,同时理解为GF(28)上的元素):Rconi=(RCi,00,00,00)其中RCi是GF(28)中值为xi-1的元素,因此RC1=1(即01)RCi=x(即02)RCi-1=xi-1,.,145,(2)轮密钥选取轮密钥i(即第i个轮密钥)由轮密钥缓冲字WNb*i到WNb*(i+1)给出,如图3.23所示。Nb=6且Nk=4时的密钥扩展与轮密钥选取,.,146,4加密算法加密算法为顺序完成以下操作:初始的密钥加;(Nr-1)轮迭代;一个结尾轮。即Rijndael(State,CipherKey)KeyExpansion(CipherKey,ExpandedKey);AddRoundKey(State,ExpandedKey);for(i=1;iNr;i+)Round(State,ExpandedKey+Nb*i);FinalRound(State,ExpandedKey+Nb*Nr),.,147,其中CipherKey是种子密钥,ExpandedKey是扩展密钥。密钥扩展可以事先进行(预计算),且Rijndael密码的加密算法可以用这一扩展密钥来描述,即Rijndael(State,ExpandedKey)AddRoundKey(State,ExpandedKey);for(i=1;iNr;i+)Round(State,ExpandedKey+Nb*i);FinalRound(State,ExpandedKey+Nb*Nr),.,148,5.加解密的相近程度及解密算法首先给出几个引理。引理3.1设字节代换(ByteSub)、行移位(ShiftRow)的逆变换分别为InvByteSub、InvShiftRow。则组合部件“ByteSubShiftRow”的逆变换为“InvByteSubInvShiftRow”证明:组合部件“ByteSubShiftRow”的逆变换原本为“InvShiftRowInvByteSub”。由于字节代换(ByteSub)是对每个字节进行相同的变换,故“InvShiftRow”与“InvByteSub”两个计算部件可以交换顺序。(证毕),.,149,引理3.2设列混合(MixColumn)的逆变换为InvMixColumn则列混合部件与密钥加部件(AddRoundKey)的组合部件“MixColumnAddRoundKey(,Key)”的逆变换为“InvMixColumnAddRoundKey(,InvKey)”其中密钥InvKey与Key的关系为:InvKey=InvMixColumn(Key),.,150,证明:组合部件“MixColumnAddRoundKey(,Key)”的逆变换原本为“AddRoundKey(,Key)InvMixColumn”,由于列混合(MixColumn)实际上是线性空间GF(28)4上的可逆线性变换,因此“AddRoundKey(,Key)InvMixColumn”=“InvMixColumnAddRoundKey(,InvMixColumn(Key)”(证毕)由t(x)=a(x)*c(x)+key(x),知逆向列混淆后t(x)*c-1(x)=a(x)+key(x)*c-1(x),所以逆的列混淆后应该加上轮密钥列混淆后的结果,.,151,引理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个计算部件,因此可以得到如下定理。,.,152,定理3-2Rijndael密码的解密算法为顺序完成以下操作:初始的密钥加;(Nr-1)轮迭代;一个结尾轮。其中解密算法的轮函数为InvRound(State,RoundKey)InvByteSub(State);InvShiftRow(State);InvMixColumn(State);AddRoundKey(State,RoundKey)解密算法的结尾轮为InvFinalRound(State,RoundKey)InvByteSub(State);InvShiftRow(State);AddRoundKey(State,RoundKey),.,153,设加密算法的初始密钥加、第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),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不锈钢材料合同范本
- 广东韶关市2025年下半年市属事业单位招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 医疗战略协议书范本
- 广东广州市文化广电旅游局直属事业单位引进高层次急需专业人才易考易错模拟试题(共500题)试卷后附参考答案
- 危险品承揽协议合同
- 兽药原料转让协议书
- 山东寿光市2025年下半年部分教育卫生单位招考急需人才易考易错模拟试题(共500题)试卷后附参考答案
- 安徽铜陵县招考报社文字记者易考易错模拟试题(共500题)试卷后附参考答案
- 医疗设备投放协议书
- 供应商安全合同范本
- 传承红色弘扬老区精神
- 2026年甘肃农信校园招聘缴费笔试考试参考试题附答案解析
- 银联POS机MCC码详表(2025版)
- 自杀自伤应急预案
- 2025年幼儿园厨工考试题及答案
- 2025国网能源研究院限公司高校毕业生招聘【21人】事业单位易考易错模拟试题(共500题)试卷后附参考答案
- 白血病患者日常护理建议
- 2025年及未来5年中国鱼具行业市场运营现状及投资战略咨询报告
- 《政务信息系统运行维护费用定额测算方法》
- 【课件】消防月:消防安全知识培训
- 高考物理一轮复习 热点题型 专题14 动量与动量定理及其应用(原卷版)
评论
0/150
提交评论