现代密码学第四讲分组密码课件.ppt

现代密码学第四讲分组密码课件.ppt

ID:56929832

大小:2.10 MB

页数:46页

时间:2020-07-21

现代密码学第四讲分组密码课件.ppt_第1页
现代密码学第四讲分组密码课件.ppt_第2页
现代密码学第四讲分组密码课件.ppt_第3页
现代密码学第四讲分组密码课件.ppt_第4页
现代密码学第四讲分组密码课件.ppt_第5页
资源描述:

《现代密码学第四讲分组密码课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、分组密码(三)《现代密码学》第四讲1上讲内容回顾DES算法的整体结构——Feistel结构DES算法的轮函数DES算法的密钥编排算法DES的解密变换2本节主要内容AES算法的整体结构AES算法的轮函数AES算法的密钥编排算法AES的解密变换DES的扩散和AES的扩散3AES算法的整体结构Rijndael由比利时的JoanDaemen和VincentRijmen设计,算法的原型是Square算法,经过修改后确定为高级数据加密标准AES.典型的SPN结构有较好的数学理论作为基础;结构简单、速度快KeyLe

2、ngth(Nkwords)BlockSize(Nbwords)NumberofRounds(Nr)AES-1284410AES-1926412AES-25684144AES算法的整体结构5AES算法的轮函数Rijndael的轮函数由4个变换组成,依次为:1)字节代换(SubByte)2)行移位(ShiftRow)3)列混合(MixColumn)4)密钥加(AddRoundKey)61)字节代换(ByteSub)字节代换是非线形变换,独立地对状态的每个字节进行,代换表(即S-盒)是可逆的.AES算法的轮

3、函数7AES算法的轮函数8AES算法的轮函数例:字节代换(128比特分组)9AES算法的轮函数上述S-盒由以下两个变换的合成得到:约化多项式:m(x)=x8+x4+x3+x+1首先,将字节看作GF(28)上的元素:b7b6b5b4b3b2b1b0

4、b(x),b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0然后,映射到自己的乘法逆元,‘00’映射到‘00’.b(x)

5、b(x)-1最后,对字节做如下的(GF(2)上的,可逆的)仿射变换:10AES算法的轮函数112)行

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

7、制数表示):c(x)=‘03’x3+‘01’x2+‘01’x+‘02’AES算法的轮函数14列混合运算示意图AES算法的轮函数15列混合运算也可写为矩阵乘法.设b(x)=c(x)a(x),则AES算法的轮函数16AES算法的轮函数17AES算法的轮函数GF(28)的多项式乘法,约化多项式为m(x)=x8+x4+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+x1

8、1+x9+x8+x6+x5+x4+x3+1=x7+x6+1modm(x)18AES算法的轮函数课堂练习:列混合运算(128比特分组)194)密钥加(AddRoundKey)密钥加是将轮密钥简单地与状态进行逐比特异或.轮密钥由种子密钥通过密钥编排算法得到,轮密钥长度等于分组长度Nb.AES算法的轮函数20注.结尾轮的轮函数与前面各轮不同,将MixColumn这一步去掉.AES算法的轮函数21密钥编排指从种子密钥得到轮密钥的过程,AES的密钥编排由密钥扩展和轮密钥选取两部分组成,其基本原则如下:1)轮密钥

9、的总比特数等于轮数加1再乘以分组长度;如128比特的明文经过10轮的加密,则总共需要(10+1)*128=1408比特的密钥.2)种子密钥被扩展成为扩展密钥;3)轮密钥从扩展密钥中取,其中第1轮轮密钥取扩展密钥的前Nb个字,第2轮轮密钥取接下来的Nb个字,依次类推.AES算法的密钥编排算法221)密钥扩展扩展密钥是以4字节字为元素的一维阵列,表示为W[Nb*(Nr+1)],其中前Nk个字取为种子密钥,以后每个字按递归方式定义.扩展算法根据Nk≤6和Nk>6有所不同。AES算法的密钥编排算法23当Nk≤

10、6时,扩展算法如下:KeyExpansion(byteKey[4*Nk],W[Nb*(Nr+1)]){for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。