AES分组密码

admin2024-05-15  0

一、AES明文和密钥位数

RIJNDAEL 算法数据块长度和密钥长度都可独立地选定为大于等于 128 位且小于等于 256 位的 32 位的任意倍数。
而美国颁布 AES 时却规定数据块的长度为 128 位、密钥的长度可分别选择为 128 位, 192 位或 256 位

1.1 状态

中间结果叫做状态,把状态表示为二维字节数组,矩阵中元素排序从上到下,从左到右

1.1.1 数据块状态

四行, Nb列。Nb等于数据块长度除以 32,数据块长度为128时,Nb=4。数据块长度为192时,Nb=6。数据块长度为 256 时, Nb=8 。(AES时Nb=4)
AES分组密码,在这里插入图片描述,第1张
一个元素一个字节即8位

1.1.2 密钥状态

密钥与数据块相同,表示为Nk列
AES分组密码,在这里插入图片描述,第2张

1.1.3 算法迭代圈数

算法的迭代圈数 Nr 由Nb和Nk共同决定:
AES分组密码,在这里插入图片描述,第3张

二、算法结构

采用代替/置换网络结构 (SP 结构)
AES分组密码,在这里插入图片描述,第4张

2.1 圈密钥产生算法

2.2.1 S盒变换ByteSub

2.2.2 行移位变换 ShiftRow

2.2.3 列混合变换 MixColumn

2.2.4 圈密钥加变换 AddRoundKey

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!