1、Key

加密和解密用到的key是同一个,key总共有三种


Key128

Key的长度为128bit,需要计算10轮,包含本身1轮,key扩展为11轮128bit的key数据;


Key192


Key的长度为192bit,需要计算12轮,包含本身1轮,key扩展为13轮128bit的key数据;


Key256


Key的长度为256bit,需要计算14轮,包含本身1轮,key扩展为15轮128bit的key数据;

轮密钥生成公式:

2、S盒

S盒为字节替换矩阵,共256个字节查找表;加密和解密的S盒查找表不一样;

3、AES加密运算核

明文以128bit为单位,针对3种key,分别计算11轮、13轮、15轮运算,把最后一轮运算结果输出即为密文;大概18个时钟周期出1个计算结果;

4、AES解密运算核

密文以128bit为单位,针对3种key,分别进行逆运算,把最后一轮运算结果输出即为明文;大概18个时钟周期出1个计算结果;

5、五种加解密模式

ECB(电子密码本模式)

CBC(密码块链接模式)
 
CFB(密文反馈模式)
 
OFB(输出反馈模式)
 
CTR(计算器模式)
 

6、ECB加解密模式验证

ECB加密验证
Key128 = 0
明文P = text_in = 128‘hf34481ec3cc627bacd5dc3fb08f273e6

得到的密文C = text_out = 128'h0336763e966d92595a567cc9ce537f5e

ECB解密验证
Key128 = 0
密文C = text_out = 128'h0336763e966d92595a567cc9ce537f5e

得到的明文P = text_in = 128‘hf34481ec3cc627bacd5dc3fb08f273e6

7、支持的特性

兼容key128 192 256,兼容五种加解密模式,支持S盒参数化替换;

8、后记

        大家如果有这方面的技术问题,欢迎私信与我交流和探讨;

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐