书签 分享 收藏 举报 版权申诉 / 45
上传文档赚钱

类型现代密码学第四讲:分组密码3-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4964773
  • 上传时间:2023-01-28
  • 格式:PPT
  • 页数:45
  • 大小:2.42MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《现代密码学第四讲:分组密码3-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    现代 密码学 第四 分组 密码 课件
    资源描述:

    1、2023-1-28北邮现代密码学1分组密码分组密码(三)(三)现代密码学现代密码学第四讲第四讲2023-1-28北邮现代密码学2上讲内容回顾上讲内容回顾nDES算法的整体结构Feistel结构nDES算法的轮函数nDES算法的密钥编排算法nDES的解密变换2023-1-28北邮现代密码学3本节主要内容本节主要内容nAES算法的整体结构nAES算法的轮函数nAES算法的密钥编排算法nAES的解密变换nDES的扩散和AES的扩散2023-1-28北邮现代密码学6AESAES算法的轮函数算法的轮函数Rijndael的轮函数由4个变换组成,依次为:1)字节代换(SubByte)2)行移位(ShiftR

    2、ow)3)列混合(MixColumn)4)密钥加(AddRoundKey)2023-1-28北邮现代密码学71)字节代换(ByteSub)字节代换是非线形变换,独立地对状态的每个字节进行,代换表(即S-盒)是可逆的.AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学8AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学9AESAES算法的轮函数算法的轮函数例:字节代换(128比特分组)2023-1-28北邮现代密码学10AESAES算法的轮函数算法的轮函数上述S-盒由以下两个变换的合成得到:约化多项式:m(x)=x8+x4+x3+x+1 首先,将字节看作GF(

    3、28)上的元素:b7b6b5b4b3b2b1b0|b(x),b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0然后,映射到自己的乘法逆元,00映射到00.b(x)|b(x)-1 最后,对字节做如下的(GF(2)上的,可逆的)仿射变换:2023-1-28北邮现代密码学110011223344556677100011111110001111111000110111100010111110000011111001001111101000111110yxyxyxyxyxyxyxyx AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学122)行移位(Sh

    4、iftRow)行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同:第0行不移动,第1行循环左移C1个字节,第2行循环左移C2个字节,第3行循环左移C3个字节。位移量C1、C2、C3的取值与Nb有关,由下表给出:AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学13例:当Nb=4时,具体的操作如下:AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学143)列混合(MixColumn)列混合变换中,将状态阵列的每列视为GF(28)4)上的多项式,再与一个固定的多项式c(x)进行模x4+1乘法.Rijndael的设计者给出的c(x)为(系数用十六进制数表

    5、示):c(x)=03x3+01x2+01x+02AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学15列混合运算示意图AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学16列混合运算也可写为矩阵乘法.设b(x)=c(x)a(x),则3210321002010103030201010103020101010302aaaabbbbAESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学17AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学18AESAES算法的轮函数算法的轮函数GF(28)的多项式乘法,约化多项式为m(x)=x8+x

    6、4+x3+x+1 例:57x乘以83x (x6+x4+x2+x+1)(x7+x+1)=(x13+x11+x9+x8+x7)(x7+x5+x3+x2+x)(x6+x4+x2+x+1)=x13+x11+x9+x8+x6+x5+x4+x3+1=x7+x6+1 mod m(x)2023-1-28北邮现代密码学19AESAES算法的轮函数算法的轮函数课堂练习:列混合运算(128比特分组)2023-1-28北邮现代密码学204)密钥加(AddRoundKey)密钥加是将轮密钥简单地与状态进行逐比特异或.轮密钥由种子密钥通过密钥编排算法得到,轮密钥长度等于分组长度Nb.AESAES算法的轮函数算法的轮函数2

    7、023-1-28北邮现代密码学21注注.结尾轮的轮函数与前面各轮不同结尾轮的轮函数与前面各轮不同,将将MixColumnMixColumn这一步去掉这一步去掉.AESAES算法的轮函数算法的轮函数2023-1-28北邮现代密码学22密钥编排指从种子密钥得到轮密钥的过程,AES的密钥编排由密钥扩展和轮密钥选取两部分组成,其基本原则如下:1)轮密钥的总比特数等于轮数加1再乘以分组长度;如128比特的明文经过10轮的加密,则总共需要(10+1)*128=1408比特的密钥.2)种子密钥被扩展成为扩展密钥;3)轮密钥从扩展密钥中取,其中第1轮轮密钥取扩展密钥的前Nb个字,第2轮轮密钥取接下来的Nb个字

    8、,依次类推.AESAES算法的密钥编排算法算法的密钥编排算法2023-1-28北邮现代密码学231)密钥扩展 扩展密钥是以4字节字为元素的一维阵列,表示为WNb*(Nr+1),其中前Nk个字取为种子密钥,以后每个字按递归方式定义.扩展算法根据Nk6和Nk6有所不同。AESAES算法的密钥编排算法算法的密钥编排算法2023-1-28北邮现代密码学24当当Nk6Nk6时,扩展算法如下时,扩展算法如下:KeyExpansion(byteKey4*Nk,WNb*(Nr+1)for(i=0;i Nk;i+)Wi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);for(i=Nk;i

    9、 6Nk6时,扩展算法如下:时,扩展算法如下:KeyExpansion(byte Key4*Nk,WNb*(Nr+1)for(i=0;i Nk;i+)Wi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);for(i=Nk;i Nb*(Nr+1);i+)temp=Wi-1;if(i%Nk=0)temp=SubByte(RotByte(temp)Rconi/Nk;else if(i%Nk=4)temp=SubByte(temp);Wi=Wi-Nk temp;AESAES算法的密钥编排算法算法的密钥编排算法2023-1-28北邮现代密码学27Rconi/Nk 为轮常数,其值与

    10、Nk无关,定义为(字节用十六进制表示,同时理解为GF(28)上的元素):Rcon i=(RCi,00,00,00)其中RCi 是GF(28)中值为xi-1的元素,因此 RC1=1(即01)RC2=x(即02)RCi=xRCi-1=xi-1AESAES算法的密钥编排算法算法的密钥编排算法2023-1-28北邮现代密码学282)轮密钥选取 轮密钥i(即第i 个轮密钥)由轮密钥缓冲字WNb*i到WNb*(i+1)给出:AESAES算法的密钥编排算法算法的密钥编排算法Nb=4及Nk=4时的密钥扩展与轮密钥选取2023-1-28北邮现代密码学29AESAES算法的密钥编排算法算法的密钥编排算法Nb=4及

    11、Nk=6时的密钥扩展与轮密钥选取Nb=4及Nk=8时的密钥扩展与轮密钥选取2023-1-28北邮现代密码学30AES解密运算是加密运算的逆运算,其中轮解密运算是加密运算的逆运算,其中轮函数的逆为:函数的逆为:1)ByteSub的逆变换由代换表的逆表做字节代换,可通过如下两步实现:首先进行仿射变换的逆变换,再求每一字节在GF(28)上逆元.2)行移位运算的逆变换是循环右移,位移量与左移时相同.AES AES 的解密变换的解密变换2023-1-28北邮现代密码学313)列混合运算的逆运算是类似的,即每列都用一个特定的多项式d(x)相乘,d(x)满足(03x3+01x2+01x+02)d(x)=01

    12、由此可得 d(x)=0Bx3+0Dx2+09x+0E.4)密钥加运算的逆运算是其自身.AES AES 的解密变换的解密变换2023-1-28北邮现代密码学32第一轮扩散第一轮扩散2023-1-28北邮现代密码学33第一轮扩散第一轮扩散2023-1-28北邮现代密码学34第二轮扩散第二轮扩散2023-1-28北邮现代密码学35第二轮扩散第二轮扩散2023-1-28北邮现代密码学36DES扩散扩散2023-1-28北邮现代密码学37DES扩散扩散n思考:L0的一块数据(4比特)要几轮才能影响所有的数据块?nS盒的扩散和混淆情况如何?2023-1-28北邮现代密码学38第一轮扩散第一轮扩散2023-

    13、1-28北邮现代密码学39第二轮扩散第二轮扩散2023-1-28北邮现代密码学40AES扩散扩散轮函数轮函数2023-1-28北邮现代密码学41AES扩散扩散n思考:字节代换的扩散和混淆作用?2023-1-28北邮现代密码学42主要知识点小结主要知识点小结nAES算法的整体结构nAES算法的轮函数2023-1-28北邮现代密码学43作业作业1 对于分组长度128比特,密钥长度128比特的AES算法,若已知 明文:0 x3243f6a8885a308d313198a2e0370734;密文:0 x2b7e151628aed2a6abf7158809cf4f3c.求第一轮字节代换、行移变换和列变换的输出.2023-1-28北邮现代密码学44思考题思考题 根据AES的设计原理,设计一个分组长度为32比特,密钥长度为32比特的分组密码算法。注:轮函数包含“4比特字”代换,行移位,列混合2023-1-28北邮现代密码学45THE END!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:现代密码学第四讲:分组密码3-课件.ppt
    链接地址:https://www.163wenku.com/p-4964773.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库