0Pricing
Cloud & IT Cert Prep · 课时

对称加密算法

了解 AES、DES 和 3DES:共享密钥加密的工作方式、密钥长度,以及每种算法的适用场景。

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

对称加密的工作原理

对称加密使用同一个共享密钥来加密和解密数据。发送方和接收方都必须持有相同的密钥,而保护该密钥的安全至关重要——任何拥有密钥的人都可以解密数据。对称加密的计算速度快且效率高,非常适合加密大量数据。对称加密的核心难题是密钥分发:双方在尚未建立安全信道之前,如何安全地共享密钥?

AES:黄金标准

高级加密标准(AES)是目前应用最广泛的对称加密算法。NIST 于 2001 年采用它,作为 DES 的后继标准。AES 以 128 位块为单位运行,并支持三种密钥长度:AES-128、AES-192和AES-256,其中数字表示密钥长度(以位为单位)。AES-256 提供最强的安全裕度。AES 用于 TLS 中的 HTTPS、全磁盘加密(BitLocker)、文件加密,以及几乎所有现代安全应用程序。在正确实施的情况下,目前没有已知的实际安全弱点。

# Encrypting a file with AES-256 using OpenSSL
openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin -k 'mysecretpassword'

# Decrypting
openssl enc -aes-256-cbc -pbkdf2 -d -in encrypted.bin -out decrypted.txt -k 'mysecretpassword'

# AES-256 key: 256 bits = 32 bytes = extremely secure

DES 及其弱点

数据加密标准(DES)是首个得到广泛采用的对称算法,于 1977 年标准化,使用 56 位 key。56 位 key 意味着只有 2^56 种可能的 key——1999 年,一个分布式计算项目在不到 24 小时内破解了一条经过 DES 加密的消息。如今,DES 被认为在密码学上已经失效,绝不能用于新系统。由于理解 DES 失败的原因(key 长度不足)有助于进一步理解现代算法为何使用 128 至 256 位 key,因此它仍是 Security+ 考试中的重要内容。

3DES:过渡性修复方案

三重 DES(3DES 或 TDEA)通过对每个数据块应用三次 DES 算法,作为解决 DES 弱点的临时方案而创建。使用三个不同的 56 位 key 可提供 112 位的有效 key 强度,在 2000 年代初以前通常被认为足够安全。不过,3DES 的速度明显慢于 AES(需要执行三次加密),并且容易受到长连接上的Sweet32 生日攻击。NIST 已于 2023 年正式弃用 3DES。它正被所有应用中的 AES 取代。

分组密码与流密码

对称算法分为分组密码和流密码。分组密码(AES、DES)会加密固定大小的数据块(即“分组”)——AES 使用 128 位分组。流密码使用密钥流一次加密一位或一个字节的数据,因此速度更快,适合实时通信。RC4曾是占主导地位的流密码,但如今已经失效并被弃用。ChaCha20是现代首选的流密码,因其在没有 AES 硬件加速的设备上兼具速度与安全性,被用于 TLS 1.3 和 WireGuard。

工作模式:ECB、CBC 和 GCM

分组密码如何处理多个数据块,由其工作模式决定。ECB(电子密码本)独立加密每个分组,因此相同的明文分组会产生相同的密文——这一点在著名的“ECB 企鹅”图像演示中清晰可见。它绝不安全。CBC(密码分组链接)会先将每个明文分组与前一个密文分组进行异或,再执行加密,从而增加扩散性。GCM(伽罗瓦/计数器模式)同时提供加密和完整性认证(AEAD),是 TLS 1.3 中首选的模式。

Key 长度与安全性

对称加密算法的安全性与其key 长度直接相关。key 越长,可能的 combinations 越多,暴力破解攻击者需要付出的工作量也会呈指数级增加。128 位 key 有 2^128 种可能的 combinations——即使每秒尝试一百万亿亿次,暴力破解所需时间也会超过宇宙的年龄。NIST 建议新系统中的对称加密至少使用128 位 key;对于需要长期抵御未来量子计算威胁的应用,则首选 256 位 key。

# Key size comparison
# DES:    56-bit key  =  72 quadrillion combinations (broken in hours)
# 3DES:  112-bit key  =  5 x 10^33 combinations (adequate, but slow)
# AES-128: 128-bit key = 3.4 x 10^38 combinations (secure)
# AES-256: 256-bit key = 1.2 x 10^77 combinations (quantum-resistant)

# Generate a random AES-256 key
openssl rand -hex 32  # 32 bytes = 256 bits

Key 管理挑战

对称 Encryption 的核心弱点是key 管理。Encryption 的安全性不会超过 key 本身。key 管理的挑战包括:key 分发(通信前安全地共享 key)、key 存储(使用硬件安全模块或 key 保管库保护静态存储的 key)、key 轮换(定期更换 key 以限制暴露范围),以及key 销毁(不再需要时安全删除 key)。糟糕的 key 管理导致的现实世界 Encryption 失效,比算法本身的数学弱点所导致的失效更多。

AES 实践:磁盘与文件加密

AES 是安全专业人员日常使用的最常见 Encryption 工具背后的算法。BitLocker(Windows)和 FileVault(macOS)使用 AES-128 或 AES-256 加密整个磁盘卷,在笔记本电脑被盗时保护数据。VeraCrypt提供跨平台磁盘加密。云服务提供商(AWS S3、Google Cloud)使用AES-256-GCM加密静态存储的对象。了解某个产品采用的底层算法,有助于您评估其 Encryption 实现是否适合相应的数据敏感级别。

# Check BitLocker encryption status on Windows
manage-bde -status C:
# Shows: Protection Status, Encryption Method (AES 256)
# Key Protectors: TPM, Password, Recovery Key

# Check if a macOS volume is FileVault encrypted
fdesetup status
# FileVault is On.

Blowfish 与 Twofish:历史背景

Security+ 材料中经常会出现另外两种对称算法。Blowfish(1993 年)是一种可变 key 长度的分组密码(32 至 448 位),由 Bruce Schneier 设计,作为 DES 的公有领域替代方案。它虽然速度快且免费,但 64 位分组大小使其容易受到长会话中的生日攻击。Twofish(1998 年)是 AES 竞赛的决赛入围算法,提供 128/192/256 位 key 和 128 位分组大小。虽然这两种算法目前仍然安全,但 AES 赢得了 NIST 竞赛,并主导着现代实现。了解这些算法有助于理解选择 AES 的背景。

对称加密与非对称加密:如何选择

对称加密和非对称加密承担着互补的角色。对称加密(AES)速度快,适合加密大量数据。非对称加密(RSA)速度慢,但能够解决 key 分发问题。在实际应用中,两者会结合使用:先使用非对称加密安全交换对称会话 key,再使用对称加密处理所有大批量数据传输。这种混合方案是 TLS(HTTPS)、VPN 和 PGP 电子邮件加密的基础,同时提供非对称 key 交换的安全性和对称数据加密的速度。

快速检查

测试您对本课 CompTIA Security+(SY0-701)概念的理解。

课程回顾

本课学习了以下内容:对称加密使用同一个共享 key 进行加密和解密;AES(128/192/256 位)是当前标准;DES(56 位)已经失效并被弃用;分组密码模式(首选 GCM)决定分组如何链接;而 key 管理是主要的运行挑战。接下来,我们将学习非对称加密与密钥对。

常见问题解答

「对称加密算法」课时是免费的吗?

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

「对称加密算法」这节课中我会学到什么?

了解 AES、DES 和 3DES:共享密钥加密的工作方式、密钥长度,以及每种算法的适用场景。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

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

「对称加密算法」课时需要多长时间?

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

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

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

此课程中的所有课时

  1. 对称加密算法
  2. 非对称加密与密钥对
  3. 哈希与数据完整性
  4. 密钥交换与混合加密
← 返回 Cloud & IT Cert Prep