对称加密:AES 与流密码
学习对称密码的工作原理、密钥长度、分组密码与流密码的区别,以及各种工作模式。
对称加密: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 反馈 — 无需本地设置。
此课程中的所有课时
- 对称加密:AES 与流密码
- 非对称加密:RSA 与椭圆曲线
- 哈希函数:SHA-256 及更进一步
- 数字签名与证书