0Pricing
Cryptology Academy · 课时

AES 结构:轮与状态矩阵

逐步了解 SubBytes、ShiftRows、MixColumns 和 AddRoundKey

AES 结构:轮与状态矩阵 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

欢迎

AES 是一种置换-替换网络,作用于一个由字节组成的 4×4 矩阵,该矩阵称为状态。每一轮都会应用四种操作来转换状态。

状态矩阵

AES 将 16 个明文字节加载到一个称为状态的 4×4 网格中: [b0 b4 b8 b12] [b1 b5 b9 b13] [b2 b6 b10 b14] [b3 b7 b11 b15] 所有操作都会转换这个矩阵。

轮数

AES-128:10 轮。AES-192:12 轮。AES-256:14 轮。每一轮都会应用 SubBytes、ShiftRows、MixColumns、AddRoundKey(最后一轮跳过 MixColumns)。

SubBytes:非线性替换

SubBytes 会将每个字节替换为其在 AES S-box 中的值——这是一个包含 256 个固定条目的查找表,使用 GF(2^8) 求逆构造而成。这是 AES 非线性和混淆的来源。

AES S-box

S-box 将 0x00→0x63、0x01→0x7C,……每个输入字节都会映射到唯一的输出字节。逆 S-box 可在解密时执行反向映射。没有字节会映射到自身(在逆映射中,0x63 映射到 0x00)。

ShiftRows:行置换

ShiftRows 会对状态中的每一行进行循环移位: 第 0 行:不移位。第 1 行:向左移 1 位。第 2 行:向左移 2 位。第 3 行:向左移 3 位。 这会将字节分散到不同的列中,以便下一步执行 MixColumns。

MixColumns:列扩散

MixColumns 将每个 4 字节的列视为 GF(2^8) 上的多项式,并将其与一个固定矩阵相乘。每个输出字节都取决于全部 4 个输入字节,从而提供扩散效果。

AddRoundKey

AddRoundKey 会将状态与一个由原始密钥派生的 16 字节轮密钥执行 XOR。这是唯一使用秘密密钥的步骤,也是唯一提供保密性的步骤。

轮结构

初始步骤:AddRoundKey 第 1 至 N-1 轮:SubBytes → ShiftRows → MixColumns → AddRoundKey 最后一轮:SubBytes → ShiftRows → AddRoundKey(无 MixColumns) 解密会按照相反顺序应用逆操作。

宽轨策略

AES 设计者使用宽轨策略来证明其抵抗差分密码分析和线性密码分析的能力。经过 4 轮后,任何攻击都必须检查 2^128 种可能性。

AES 硬件支持

现代 CPU(Intel、AMD、ARM)包含 AES-NI 指令:AESENC、AESENCLAST、AESDEC。一条 CPU 指令即可执行一轮 AES,使 AES 在硬件中的速度极快。

快速检查

哪种 AES 操作提供了能够防止代数攻击的非线性(混淆)?

回顾

您已经理解了 AES 的结构!接下来我们将学习密钥扩展,即 128 位密钥如何变成 11 个轮密钥。

常见问题解答

「AES 结构:轮与状态矩阵」课时是免费的吗?

是的 — 「AES 结构:轮与状态矩阵」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「AES 结构:轮与状态矩阵」这节课中我会学到什么?

逐步了解 SubBytes、ShiftRows、MixColumns 和 AddRoundKey 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「AES 结构:轮与状态矩阵」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 对称加密概念
  2. AES 结构:轮与状态矩阵
  3. AES 密钥扩展与密钥长度
  4. 使用 AES 实际加密文件
← 返回 Cryptology Academy