网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

高级加密标准(AES)

更新时间:2026年03月27日   作者:spoto   标签(Tag):

高级加密标准(AES)是一种非常可靠的加密算法。加密算法这种技术通过将数据转换为无法读取的格式来保护数据,而无需使用正确的密钥。该技术由美国国家标准与技术研究院(NIST)在2001年开发出来。如今,这种技术被广泛使用,因为其安全性要远远高于其他方法。DES虽然实现起来更为困难,但三重DES仍然是一种有效的加密算法。AES加密算法使用各种方式/手段密钥长度128、192或256位的数据长度,能够有效防止未经授权的访问。数据安全这种措施非常有效,而且被广泛用于确保安全。互联网通信保护敏感数据此外,它还可以对文件进行加密处理。AES是现代密码学的核心技术之一,其能够确保信息免受网络威胁的侵害,因此得到了全球范围内的认可。

  • AES是一种……密码加密算法.
  • 密钥的长度可以是128/192/256位。
  • 将数据以每块128位为单位进行加密。

这意味着,它需要将128位作为输入数据,然后输出128位的加密后的密文。AES基于替换-置换网络原理来工作,这种机制是通过一系列相互关联的操作来实现的,这些操作包括替换和打乱输入数据的内容。

密码的运作方式

AES对数据的字节进行操作,而不是以位为单位进行操作。由于块的大小为128位,因此该加密算法一次可以处理128位(即16字节)的输入数据。

轮数取决于密钥的长度,具体计算如下:

N(轮数)

关键大小(以位为单位)

10

128

12

192

14

256

圆形钥匙的制造

Key Schedule算法会从原始密钥中计算出所有需要使用的轮密钥。因此,初始密钥会被用来生成许多不同的轮密钥,这些轮密钥将在加密过程的相应轮次中被使用。

圆形钥匙的制造(AES)

加密

AES将每个数据块视为一个16字节的网格,这种排列方式是以列为主序的。具体来说,就是4个字节×4个字节=128字节的网格结构。

[b0 | b4 | b8 | b12 |
| b1 | b5 | b9 | b13 |
| b2 | b6 | b10 | b14 |
| b3 | b7 | b11 | b15 ]

AES

每一轮都包含4个步骤:

  • SubBytes
  • ShiftRows
  • MixColumns
  • 添加圆形键

步骤1:子字节处理

这一步骤实现了替换操作。

在这一步中,每个字节都被另一个字节所替换。这一过程是通过一个查找表来完成的,这个查找表也被称为……S盒这种替换方式的特点是:一个字节永远不会被单独替换,也不会被与当前字节互补的另一个字节所替换。经过这一步之后,最终得到的就是一个16字节的矩阵,其结构与之前相同,即4×4的矩阵。

接下来的两个步骤就是实现排列操作了。

步骤2:平移行

这一步的描述很简单:每一行都会被移动特定的距离。

  • 第一行并没有发生移动。
  • 第二行向左移动了一次。
  • 第三行向左移动了两次。
  • 第四行向左移动了三次。

进行了向左的循环移位操作。

[b0 | b1 | b2 | b3] [b0 | b1 | b2 | b3]
| b4 | b5 | b6 | b7 | -> | b5 | b6 | b7 | b4 |
| b8 | b9 | b10 | b11 | | b10 | b11 | b8 | b9 |
[b12 | b13 | b14 | b15] [b15 | b12 | b13 | b14]

步骤3:混合各列数据

这一步骤实际上是一种矩阵乘法。每一列都会与某个特定的矩阵进行相乘,因此,每列中各个字节的位置也会因此而发生相应的变化。

在最后一轮中,这一步骤被省略了。

[c0] [2 3 1 1] [b0]
| c1 | = | 1 2 3 1 | | b1 |
| c2 | | 1 1 2 3 | | b2 |
[c3] [3 1 1 2] [b3]

步骤4:添加圆形按键

  • 现在,上一阶段产生的输出结果需要与相应的轮密钥进行XOR运算。在这里,这16个字节并不被视作一个完整的网格,而只是相当于128位的数据而已。
  • 经过所有这些轮次之后,最终会得到128位加密后的数据作为输出结果。这个过程会一直重复下去,直到所有需要加密的数据都经过这一处理过程为止。

解密

这些阶段的执行过程可以很容易地撤销,因为这些阶段之间存在相互对应的关系,当执行相应的操作时,就可以恢复之前的更改。每个128个数据块会经历10、12或14轮的处理,具体取决于密钥的长度。

每一轮解密过程的步骤如下:

  • 添加圆形按键
  • 逆混合列
  • ShiftRows
  • 逆SubByte编码

解密过程实际上就是加密过程的逆过程。因此,我将以明显的差异来逐一说明各个步骤。

逆混合列

  • 这一步骤与加密过程中的“混合列操作”类似,但所使用的矩阵有所不同。
  • 混合列操作:每一列都独立地进行混合处理。
  • 这里使用了矩阵乘法。这一步骤的输出,就是原始数值与某个矩阵相乘后的结果。

常数矩阵

[b0] = [14 11 13 9] [c0]
[b1]=[ 9 14 11 13 ] [ c1 ]
[b2] = [13 9 14 11] [c2]
[b3] = [11 13 9 14] [c3]

逆SubBytes操作

  • 逆S盒被用作查找表,在解密过程中,这些字节会被替换成相应的数值。
  • Function Substitute 会对输入字符串中的每个字节进行替换操作。为此,它使用了一种 S-box 来辅助实现这一功能。

AES的应用

AES被广泛应用于那些需要安全存储和传输数据的各种场景中。一些常见的应用场景包括:

  • 无线网络安全:AES被用于保护无线网络的安全,例如:Wi-Fi网络为了确保数据的保密性,并防止未经授权的访问。
  • 数据库加密:AES可以用于加密存储在数据库中的敏感数据。这有助于保护个人信息、财务记录以及其他机密数据,避免在这些数据发生泄露时受到未经授权的访问。
  • 安全的通信:AES被广泛用于各种通信协议中,比如互联网通信、电子邮件、即时通讯以及语音/视频通话等。它确保了数据的机密性。
  • 数据存储:AES被用于加密存储在硬盘上的敏感数据。USB驱动器此外,还可以使用其他存储介质来保护它,以防止在丢失或被盗的情况下被未经授权的人员访问。
  • 虚拟私人网络(VPNs):AES通常被用于VPN协议中,以确保用户设备与远程服务器之间的通信安全。它能够确保通过该协议传输和接收的数据都是安全的。VPN这些信息仍然是保密的,不会被窃听者破解。
  • 密码的安全存储:AES加密技术常被用来安全地存储密码。与其直接存储明文形式的密码,不如将密码以加密的形式进行存储。这样就能增加一层额外的安全保障,从而保护用户的身份信息,避免其被未经授权的人员访问。
  • 文件和磁盘加密:AES它被用于加密计算机上的文件与文件夹,以及外部存储设备与云存储中的数据。它能够保护存储在设备上的敏感数据,同时防止在数据传输过程中发生未经授权的访问行为。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料