第四讲:分组密码4_第1页
第四讲:分组密码4_第2页
第四讲:分组密码4_第3页
第四讲:分组密码4_第4页
第四讲:分组密码4_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1分组密码分组密码( (四四) )现代密码学现代密码学第四讲第四讲2上讲内容回顾上讲内容回顾nAES算法的整体结构nAES算法的轮函数nAES算法的密钥编排算法nAES的解密变换3本节主要内容本节主要内容nSMS4加/解密算法nSMS4密钥编排算法n分组密码算法的运行模式4SMS4SMS4加加/ /解密算法解密算法无线局域网产品使用的SMS4密码算法是国内官方公布的第一个商用密码算法5SMS4SMS4加加/ /解密算法解密算法n128比特明文分为4个32比特字( 中元素),分别赋值给四个寄存器A、B,C,D(D为最高).n进行32轮F运算,设每轮输入为寄存器当前状态值 和轮密钥为 ,则轮函数F

2、为: 将寄存器最右边字A的值移出,高三个字顺次右移32位,F函数的输出赋值给最左边的寄存器字D.n32轮的输出 进行反序变换R,然后输出密文. Z322432(D,C,B, )2ZA 32i2rkZ( , , , ,)()iiF DC B ArkA T BCDrk 35343332()X X X X3534333232333435()()RX X X XX X X X6SMS4SMS4加加/ /解密算法解密算法n轮函数轮函数F以字为单位进行运算 ,输入寄存器值 和轮密钥 :n合成置换TT: 是一个可逆变换,由非线性变换和线性变换L复合而成, 即T(.)=L(.)4123321(, ; )()i

3、iiiiiiiiiiFXXX XTrkrkXXXXX0,1,.,31i 321(,)iiiiXXXXirk323222ZZ7SMS4SMS4加加/ /解密算法解密算法n非线性变换非线性变换由4个并行的S盒构成, 设输入 ,输出 则n线性变换线性变换L 设输入为 输出为 ,则432108(,)2Aa a a aZ432108(,)2Bb b b bZ32103210( , , , )( ) ( ),( ),( ),( )ASboxSboxSboxSboxb b b baaaa322,BZ322CZ( )(2)(10)(18)(24)CL BBBBBB 8SMS4SMS4加加/ /解密算法解密算法

4、9SMS4SMS4加加/ /解密算法解密算法本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。 加密时轮密钥的使用顺序为: 解密时轮密钥的使用顺序为: 0131,.,rk rkrk31300,.,rk rkrk10SMS4SMS4密钥编排算法密钥编排算法密钥及密钥参量密钥及密钥参量1)加密密钥长度为128比特 , 其中 为字; 2)轮密钥表示为 ,其中 为字 3) 为系统参数, 为固定参数,用于密钥扩展算法,其中 均为字. 0123MK=()MK MK MK MK,0131()rk rkrk, ,.,0123FK=()FK FK FK FK, ,0131CK=(.)CK CKCK

5、,i(i=0,.,31)rki(i=0,1,2,3)MKi(i=0,.,3)FKi(i=0,.,31)CK11SMS4SMS4密钥编排算法密钥编排算法密钥扩展算法密钥扩展算法 加密密钥 , 轮密钥为 ,其生成方法为: 1) 系统参数FK的取值,采用16进制表示为: 2)对i=0,1,2,31 322,i0,1,2,3iMKZ012301230123(,)=(,)FKFKFKFKK K K KMKMKMKMK322,0,1,.,31iirkZ0123MK=(,)MK MK MK MK0123(A3B1BAC6),(56AA3350),=(677D9197), (B27022DC) .FKFKFK

6、FK41i 23()iiiiiirkCKKKT KKK12SMS4SMS4密钥编排算法密钥编排算法说明:说明: nT变换与加密算法轮函数中的T基本相同,只将其中的线性变换L修改为:n固定参数CKi的取值方法为:设 为 的第j 字节(i=0,1,31;j=0,1,2,3,即 ,则 .( )(13)(23)L BBBB4,0,1,2,38(,)2iiiiickck ck ck ckZ,(4)(mod256)i jijck, i jckCKi13SMS4SMS4密钥编排算法密钥编排算法 32个固定参数 ,其16进制表示为: CKi14分组密码在加密时,明文分组的长度是固定的,而实际应用中待加密消息的

7、数据量是不定的,数据格式多种多样. 1) 为了能在各种应用场合使用DES,美国在FIPS PUS 74和81中定义了DES的4种运行模式: ECB, CBC, CFB, OFB 2) FIPS PUB 140-2 推荐了AES的另外一种运行模式:CTR分组密码的运行模式分组密码的运行模式151 ECB (electronic codebook) 模式最简单的运行模式,首先将明文分为64比特(调用的分组密码算法的分组长度)的明文块,它一次对一个64比特长的明文分组加密,每次的加密密钥都相同.分组密码的运行模式分组密码的运行模式16分组密码的运行模式分组密码的运行模式n如果明文长于如果明文长于64

8、64比特,首先将其分为长为比特,首先将其分为长为6464比特的分组比特的分组; ; 若最后一个分组如果不够若最后一个分组如果不够6464比比特,则需要填充;特,则需要填充;n明文加密过程和解密过程分别调用加密算法明文加密过程和解密过程分别调用加密算法和解密算法和解密算法. .n不需要额外的初始向量不需要额外的初始向量. .17分组密码的运行模式分组密码的运行模式n密文块可以分别独立解密,无顺序要求密文块可以分别独立解密,无顺序要求. .n密钥相同时,明文中相同的密钥相同时,明文中相同的6464比特分组产生比特分组产生相同的相同的6464比特密文块;比特密文块;n不存在错误传播,一块密文传送错误

9、只导致不存在错误传播,一块密文传送错误只导致对应明文解密错误;对应明文解密错误;n主要用于发送少数量的分组数据主要用于发送少数量的分组数据. .182 CBC(cipher block chaining)模式首先对明文分组,它一次对一个明文分组加密,加密算法的输入是当前明文分组和前一次密文分组的异或.分组密码的运行模式分组密码的运行模式19注注:在产生第1个密文分组时,需要有一个初始向量IV与第1个明文分组异或. 解密时,IV和解密算法对第1个密文分组的输出进行异或以恢复第1个明文分组. IV对于收发双方都应是已知的,为使安全性最高,IV应像密钥一样被保护 (可使用ECB加密模式来发送IV).

10、 如果敌手能欺骗接收方使用不同的IV值,则接收方收到的P1中相应的比特也发生了变化.1111KKCEIVPPIVDC分组密码的运行模式分组密码的运行模式 11KP iIV iDCi 11KP iIV iDCi20n如果消息长于64比特,首先将其分为长为64比特的分组,最后一个分组如果不够64比特,则需要填充.n明文加密过程和解密过程分别调用加密算法和解密算法.n需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使第1块明文解密错误n密文块需按顺序逐一解密.分组密码的运行模式分组密码的运行模式21分组密码的运行模式分组密码的运行模式n密钥相同时,明文中相同的64比特分组产生不相同的64比特

11、密文块;n存在错误传播,一块密文传输错误会导致之后的密文解密失败n适合加密长度大于64比特的消息n还可以用来进行用户鉴别还可以用来进行用户鉴别( (见消息鉴别码部分见消息鉴别码部分) )223 CFB(cipher feedback)模式)模式设传送的每个单元(如一个字符)是j比特,0j64长,通常取j=8. 加密时,设加密算法的输入是64比特移位寄存器,其初值为某个初始向量IV. 加密算法输出的最左(最高有效位)j比特与明文的第一个单元P1进行异或,产生出密文的第1个单元C1. 传送该单元并将输入寄存器的内容左移j位,用C1补齐最右边(最低有效位)j位. 这一过程继续到明文的所有单元都被加密

12、为止. 解密时,将加密算法输出的最左(最高有效位)j比特与密文的相应单元异或,产生明文. 反馈到输入寄存器的值为密文单元.分组密码的运行模式分组密码的运行模式23分组密码的运行模式分组密码的运行模式nCFB加密模式64-j比特 j比特DES加密K选j比特 丢弃64-j比特64-j比特 j比特DES加密K选j比特 丢弃64-j比特64-j比特 j比特DES加密K选j比特 丢弃64-j比特c1c21mC1P2PmPIV(移位寄存器)Cm24分组密码的运行模式分组密码的运行模式25n消息被看作bit流,无须分组填充;适合数据以比特或字节为单位出现标准允许反馈任意比特 (1,8 or 64 or wh

13、atever)记作 CFB-1, CFB-8, CFB-64n只使用加密算法,且所有加密都使用同一密钥.n需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使第1块明文解密错误.分组密码的运行模式分组密码的运行模式26n密文块需按顺序逐一解密.n密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.n存在错误传播(只传播后面的几块)存在错误传播(只传播后面的几块). .nCFBCFB模式除能获得保密性外,还能用于认证模式除能获得保密性外,还能用于认证. .分组密码的运行模式分组密码的运行模式274 OFB(output feedback)模式 类似于CFB, 不同之处在于OFB

14、模式是将加密算法的输出输出反馈到移位寄存器,而CFB模式中是将密文密文单元单元反馈到移位寄存器。分组密码的运行模式分组密码的运行模式28寄存器DES加密DES加密DES加密c1c21P2PmPIV初值Cmnnnnnnnn寄存器寄存器分组密码的运行模式分组密码的运行模式加密模式29DES加密DES加密DES加密c1c21P2PmPIV初值初值Cmnnnnnnn分组密码的运行模式分组密码的运行模式解密模式30分组密码的运行模式分组密码的运行模式n消息被看作比特流,无须分组填充.n只使用加密算法,且所有加密都使用同一密钥.n需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使所有明文解密错误.

15、n密钥流可以在已知消息之前计算,不需要按顺序解密.n密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.n不存在比特错误传播.n发送者和接收者必须保持同步.31分组密码的运行模式分组密码的运行模式nVernam密码的改进版,(key+IV)不能重复使用.nOFB的缺点是它比CFB模式更易受到对消息流的篡改攻击,比如在密文中取1比特的补,那么在恢复的明文中相应位置的比特也为原比特的补.因此使得敌手有可能通过对消息校验部分的篡改和对数据部分的篡改,而以纠错码不能检测的方式篡改密文.32计数器模式计数器模式 Counter(CTR)Counter(CTR)分组密码的运行模式分组密码的运行模式33分组密码的运行模式分组密码的运行模式n消息被看作bit流,无须分组填充;n只使用加密算法,且所有加密都使用同一密钥.n需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使所有明文解密错误.n密钥相同时,明文中相同的分组产生不相同的密文块.n不存在比特错误传播.n效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论