AES加密算法

  1. AES算法处理的单位是字节,分组长度只能是128位,即16字节。密钥的长度可以使用128,192,256位,分别对应的加密轮数为10,12,14.
  2. 首先将128位的输入明文转换为以字节为单位的4*4的状态矩阵,每一列是一个状态字。
  3. 128位的秘钥通过秘钥编排函数扩展成一个44个字组成的序列,前4个元素是原始秘钥,用于加密运算的初秘钥加,后40个分成10组,用于10轮加密的轮秘钥加。

字节代换:借助S盒实现字节到字节的代替。
行移位:循环左移0,1,2,3字节
列混合:矩阵相乘,同时还要模m(x)
轮秘钥加:和扩展秘钥进行按位异或。

具体操作方法:
字节代换:高4位表示行,低4位表示列,查表代换。
行移位:循环左移0,1,2,3字节
列混合:矩阵相乘,同时还要模m(x)
在这里插入图片描述
秘钥扩展:
在这里插入图片描述
T函数:

  1. 字循环:将一个字中的4个字节循环左移1个字节
  2. 字节代替:S盒代换
  3. 轮常量异或:
    在这里插入图片描述
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值