0Pricing
Cryptology Academy · 课时

AES 与流密码中的 XOR

追踪 XOR 如何用于实际的加密算法

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

欢迎

XOR 是每种现代密码中的基础构件。本课将追踪 XOR 如何出现在 AES 的 AddRoundKey 和流密码的密钥流混合中。

XOR 在 AES 中:AddRoundKey

AES 有 10–14 轮。每一轮都从 AddRoundKey 开始:将 16 字节的状态与 16 字节的轮密钥进行 XOR。这是唯一真正引入秘密密钥的步骤。

AES 轮密钥派生

原始的 128/192/256 位密钥会通过密钥调度扩展为 11/13/15 个轮密钥。每个 AddRoundKey 步骤都会使用不同的派生轮密钥。

XOR 为何能在 AES 中发挥作用

在 AES 中,XOR 运算发生在 GF(2^8) 算术内部。周围的非线性运算(SubBytes、MixColumns)赋予 XOR Claude Shannon 所描述的扩散和混淆性质。

流密码密钥流

流密码根据密钥和随机数生成伪随机密钥流: keystream = CSPRNG(key, nonce) ciphertext = plaintext XOR keystream ChaCha20 使用其四分之一轮函数,以 64 字节的数据块生成密钥流。

ChaCha20 四分之一轮

ChaCha20 的混合函数: a += b; d ^= a; d <<<= 16 c += d; b ^= c; b <<<= 12 a += b; d ^= a; d <<<= 8 c += d; b ^= c; b <<<= 7 XOR(^)和旋转(<<<)是其中的关键运算。

流密码中的随机数与计数器

ChaCha20 使用:256 位密钥 + 96 位随机数 + 32 位计数器。不同的计数器会生成不同的密钥流数据块。重复使用(密钥、随机数)组合会造成灾难性后果——绝不能这样做。

AES-CTR 模式:将分组密码用作流密码

AES-CTR 使用 AES 加密连续的计数器值,然后将结果与明文进行 XOR。这样就能把 AES(一种分组密码)转换为流密码,从而生成任意长度的输出。

OFB 和 CFB 模式中的 XOR

OFB:keystream = AES(AES(AES(IV)...))。明文 XOR 密钥流 = 密文。 CFB:密文块 = 明文 XOR AES(上一个密文块)。 两者都使用 XOR 作为混合步骤。

通过 XOR + S 盒实现混淆与扩散

Shannon 的混淆:S 盒(SubBytes)使密钥与密文之间的关系变得复杂。扩散:ShiftRows+MixColumns 传播每个字节的影响。XOR 将这两者与密钥连接起来。

绝不要自行设计密码算法

理解 XOR 的作用有助于您明白业余密码设计为何会失败:它们使用 XOR,却没有非线性层。没有 S 盒和扩散,基于 XOR 的密码在代数上很容易破解。

快速检查

哪个 AES 运算会直接将状态与轮密钥进行 XOR?

回顾

现在您已经理解了 XOR 在真实密码中的作用。接下来我们将学习哈希函数,从 MD5 开始,直到 SHA-256。

常见问题解答

「AES 与流密码中的 XOR」课时是免费的吗?

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

「AES 与流密码中的 XOR」这节课中我会学到什么?

追踪 XOR 如何用于实际的加密算法 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

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

「AES 与流密码中的 XOR」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 位运算复习
  2. XOR 加密与一次一密
  3. 为什么单独使用 XOR 并不安全
  4. AES 与流密码中的 XOR
← 返回 Cryptology Academy