原创不易,转载请注明出处。
目录
1.算法简介
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES算法属于对称加密算法,是一个分组密码。AES加密算法分为3种,分别是AES-128,AES-192,AES-256。它们之间区别如表1-1所示。
表1-1 3种AES加密算法区别
AES |
密钥长度(bit) |
分组长度(bit) |
加密轮数 |
AES-128 |
128 |
128 |
10 |
AES-192 |
192 |
128 |
12 |
AES-256 |
256 |
128 |
14 |
本文以最常见的AES-128为例,详细介绍AES加密算法的加密流程。
2.算法流程
AES加密算法主要由4中操作组成:字节代替、行位移、列混淆、轮密钥加。另外还需要对原始密钥进行扩展。主流程图如图2-1所示。