对称加密-AES

AES是一种块加密算法,采用128位输入和输出。它支持128、192和256位密钥长度,执行相应轮数的运算。加密过程中,明文按16字节分组,经过字节代换、行移位、列混合和轮密钥加等步骤,而解密过程类似,只是顺序相反。S盒用于字节代换,轮密钥生成器扩展原始密钥以供各轮使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AES

AES是块加密,将128位明文作为AES的输入,产生128位密文输出。

AES加密和解密使用相同的算法和密钥,密钥长度支持128bit、192bit和256bit,根据密钥长度,分别使用10、12、14轮运算

AES的处理单位是字节,128位的明文分组和密钥都被分成16个字节,组成4*4的正方形矩阵,称为状态矩阵,在算法的每一轮中,状态矩阵的内容不断变化,最后的结果作为密文输出

128位密钥也是用字节为单位的矩阵表示,矩阵的每一列被称为一个32位比特字。通过轮密钥生成器,该密钥矩阵被扩展成一个44个字组成的序列W[0],W[1],...,W[43],该序列的前4个元素是原始密钥,用于加密运算中的初始密钥加,后面40个字分成10组,用于10轮加密运算中的轮密钥加

AES加密和解密

  • 字节代换:对状态矩阵的每个字节应用S盒(S盒是一个16行16列的表,表中每一项都是一个字节)。把状态矩阵的每个字节的高4位作为行值,低4位作为列值,取出S盒对应的元素作为输出。
  • 行移位:对状态矩阵行(0,1,2,3)进行左移(0,1,2,3)个字节
  • 列混合:使用一个常数矩阵和每一个状态列矩阵相乘
  • 轮密钥加:将128位轮密钥同状态矩阵中的数据进行逐位异或操作

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值