高级加密标准算法AES

高级加密标准算法AES

AES 算法简介

高级加密标准(AdvancedEncryptionStandard,AES)是美国联邦政府采用的分组密码标准,由比利时密码学家JoanDaemen和VincentRijmen设计,又称Rijndael加密法。该标准于2001年11月26日由美国国家标准与技术研究院(NIST)发布于FIPSPUB197文件,2002年5月26日生效,旨在替代数据加密标准(DES)。1999年4月从15个候选算法中筛选出5个入围方案,2000年10月选定Rijndael算法,2001年正式确立为AES。

AES 算法参数

采用代换-置换网络(SPN) 结构,加密和解密操作在4X4字节矩阵(称为状态)上进行。AES算法的分组大小固定为128比特,根据密钥长度的不同共分为3个版本,分别为AES-128(10轮),AES-192(12轮)和AES-256(14轮)。

AES算法状态矩阵

AES 算法轮函数

Xi+1=F(Xi,RKi)=RKA(RKi)○MixColumn○ShiftRow○SubByte(Xi)

轮函数F分为4步:

(1)字节替换(SubByte):将状态矩阵中的16个字节通过S盒进行非线性代换。如下图所示:

S盒的查找表和其逆查表如下图所示:

S盒查找表

S盒逆查表

(2)行移位(ShiftRow):将状态矩阵的第j行循环移位j个字节。如下图所示:

(3)列混合(MixColumn):将状态矩阵的每一列左乘MDS矩阵M。如下图所示:

矩阵M和其逆矩阵M^-1如下图所示:

(4)轮密钥加(RKA):将状态矩阵的每一个字节异或轮密钥对应位置的字节。如下图所示:

AES 的加密算法

记AES算法的轮数为R,则在第1轮之前有一个轮密钥加操作,第1到R-1轮的轮函数(为F)一致,第R轮的轮函数(为Fz)没有列混合操作。

AES 的解密算法

记AES算法的轮数为R,则在第R轮的轮函数(为Fz-1)没有列混合操作,第R-1到1轮的轮函数(为F-1)一致,第1轮之后有一个轮密钥加操作。

AES 算法密钥扩展算法

AES 算法总结

AES是当今全球应用最广泛、安全性最高的分组加密标准。相比被取代的DES,AES在密钥空间、抗攻击性、效率和灵活性 上都有质的提升。与其他算法的简单比较

算法 类型 密钥/分组长度 主要特点与适用场景
AES 分组加密算法 128/192/256位密钥,128位分组 全球标准,安全高效,通用性最强,适合绝大多数场景。
ChaCha20 序列密码算法 256位密钥,64位Nonce 软件性能好,常用于移动设备及作为TLS中AES的替代。
SM4 分组加密算法 128位密钥,128位分组 中国商用密码标准,用于需要符合中国密码法规的场景。
ACORN 认证加密算法 128位密钥 轻量级 ,为资源极度受限的物联网等设备设计,通用性弱
相关推荐
сокол2 小时前
【网安-Web渗透测试-内网渗透】域环境权限维持
服务器·windows·网络安全·系统安全
路baby6 小时前
RCE漏洞的原理详细讲解并基于pikachu靶场的实战演戏
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·rce
谪星·阿凯6 小时前
第三方应用软件提权全解析
windows·网络安全
X7x59 小时前
网络流量分析(NTA):企业安全运营的“数字听诊器“
网络安全·网络攻击模型·安全威胁分析·安全架构·nta
青山师9 小时前
HashMap深度解析:哈希冲突、扩容机制与线程安全
算法·安全·哈希算法·java面试·hashmap源码
承渊政道10 小时前
【贪心算法】(经典实战应用解析(五):单调递增的数字、坏了的计算器、合并区间、⽆重叠区间、⽤最少数量的箭引爆⽓球)
数据结构·c++·leetcode·贪心算法·排序算法·动态规划·哈希算法
Chockmans10 小时前
春秋云境CVE-2022-28512(手工注入和sqlmap自动)保姆级教学
安全·web安全·网络安全·网络攻击模型·安全威胁分析·春秋云境·cve-2022-28512
其实防守也摸鱼11 小时前
upload-labs靶场的pass-13~21的解题步骤及原理讲解
python·安全·网络安全·靶场·二进制·文件上传漏洞·文件包含漏洞
阿萨德528号12 小时前
纯前端RSA加密解密工具:基于JSEncrypt的浏览器端数据加解密实践
笔记·密码学
Lust Dusk12 小时前
2026年最新phpstorm安装下载教程(附带激活链接)
网络·ide·安全·网络安全·phpstorm