Cyber Security Academy · 课时

对称加密:AES 与流密码

学习对称密码的工作原理、密钥长度、分组密码与流密码的区别,以及各种工作模式。

第 1 / 4 课13 个步骤

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

什么是对称加密?

对称加密在加密和解密时使用同一个密钥。它快速且高效,非常适合大批量数据加密。密钥分发问题——双方如何安全地共享密钥——是它面临的主要挑战。

AES:高级加密标准

AES 是对称加密的全球标准,由 NIST 于 2001 年采用。它以 128 位为一个分组,密钥长度可以是 128、192 或 256 位。AES 用于 TLS、磁盘加密、Wi-Fi(WPA2)以及无数其他协议。

AES 分组密码模式

分组密码模式决定了 AES 如何处理大于一个分组的数据:

  • ECB — 每个分组独立加密(不安全——会泄露模式)
  • CBC — 每个分组与前一个密文进行 XOR 运算(需要 IV)
  • GCM — 认证加密;同时提供机密性和完整性(首选)
  • CTR — 将分组密码转换为流密码

为何首选 GCM 模式

AES-GCM 提供带有关联数据的认证加密(AEAD):在一次操作中同时完成加密和完整性检查。对密文进行的任何篡改都会被检测到。它用于 TLS 1.3 和现代协议。对于新系统,应始终优先选择 GCM,而不是 CBC。

流密码

流密码使用伪随机密钥流与明文进行 XOR 运算,逐位或逐字节加密数据。示例包括:RC4(已被破解)、ChaCha20(现代算法,用于 TLS 1.3)。流密码适合处理可变长度数据以及硬件资源受限的环境。

ChaCha20-Poly1305

ChaCha20-Poly1305 是一种现代 AEAD 加密算法,用于 TLS 1.3 和 WireGuard。ChaCha20 是流密码;Poly1305 提供认证标签。在没有硬件 AES 加速的设备(移动设备、物联网设备)上,它的性能优于 AES。

密钥分发问题

双方必须拥有相同的密钥,但如何安全地交换密钥呢?可选方案:

  • 预共享密钥(物理交换)
  • 使用非对称加密进行密钥封装
  • 通过不可信信道进行 Diffie-Hellman 密钥交换

AES 密钥长度

AES-128 已能为大多数用途提供足够的安全性。AES-256 用于绝密数据以及需要考虑后量子安全性的场景。在硬件加速(AES-NI CPU 指令)下,AES-256 相比 AES-128 产生的额外开销很小。

实际应用中的对称加密

对称加密的使用示例:

# Encrypt a file with AES-256-CBC using OpenSSL:
openssl enc -aes-256-cbc -pbkdf2 -in file.txt -out file.enc
# Decrypt:
openssl enc -d -aes-256-cbc -pbkdf2 -in file.enc -out file.txt

磁盘加密

全磁盘加密(FDE)使用对称加密来保护静态数据:

  • BitLocker(Windows)— AES-XTS-128 或 256
  • FileVault 2(macOS)— AES-XTS-128
  • LUKS(Linux)— 可配置,通常为 AES-XTS-256

应避免的已破解算法

新系统中绝不要使用以下算法:

  • DES — 56 位密钥,自 1999 年起已被破解
  • 3DES — 速度慢,已在 TLS 中弃用
  • RC4 — 存在多种弱点的流密码
  • ECB 模式 — 会泄露数据模式(“ECB 企鹅”)

快速检查:对称加密

哪种 AES 模式同时提供机密性和完整性(认证加密),并且是现代协议的首选?

课程回顾

对称加密使用同一个密钥进行加密和解密。AES 是标准算法,其中 GCM 模式是认证加密的首选。ChaCha20-Poly1305 是面向资源受限设备的现代替代方案。应避免使用 DES、3DES、RC4 和 ECB 模式。密钥分发需要使用非对称密码学或 Diffie-Hellman。

免费开始

用 AI 导师学习 Cyber Security Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
76
课程
303

常见问题解答

「对称加密:AES 与流密码」课时是免费的吗?

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

「对称加密:AES 与流密码」这节课中我会学到什么?

学习对称密码的工作原理、密钥长度、分组密码与流密码的区别,以及各种工作模式。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

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

「对称加密:AES 与流密码」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 对称加密:AES 与流密码
  2. 非对称加密:RSA 与椭圆曲线
  3. 哈希函数:SHA-256 及更进一步
  4. 数字签名与证书
← 返回 Cyber Security Academy