一、对称加密基础:原理、常见算法与密钥强度
1.1 对称加密核心原理
对称加密(Symmetric Encryption)是密码学中最基础、应用最广泛的加密方式。其核心特征是:加密密钥和解密密钥完全相同。通信双方必须在安全信道中预先共享同一密钥,才能完成加密通信。
核心流程: 明文 + 密钥 → 加密算法 → 密文 → 解密算法 + 同一密钥 → 原始明文
1.2 常见对称加密算法
目前业界主流的对称加密算法包括 AES、SM4 以及已逐步淘汰的 DES。下表从多个维度对比这三种算法:
| 算法 | 分组长度 | 密钥长度 | 轮数 | 设计年份 | 安全状态 |
|---|---|---|---|---|---|
| AES | 128 bit | 128 / 192 / 256 bit | 10 / 12 / 14 | 2001 | 安全,广泛使用 |
| SM4 | 128 bit | 128 bit | 32 | 2006 | 安全,国标推荐 |
| DES | 64 bit | 56 bit | 16 | 1977 | 已淘汰,可被暴力破解 |
面试高频点: AES 是目前全球最通用的对称加密标准;SM4 是中国国家密码管理局发布的商用密码算法,在金融、政务等领域强制使用;DES 因 56 位密钥过短,1999 年后已被证明不安全,面试中常作为"弱算法"案例出现。
1.3 密钥长度与安全强度
对称加密的安全强度直接取决于密钥长度。密钥每增加 1 位,暴力破解的复杂度翻倍。以下是不同密钥长度的安全等级对照:
| 密钥长度 | 算法示例 | 暴力破解复杂度 | 安全等级 | 推荐场景 |
|---|---|---|---|---|
| 56 bit | DES | 2⁵⁶ ≈ 7.2×10¹⁶ | ❌ 不安全 | 已禁用 |
| 64 bit | RC2 | 2⁶⁴ ≈ 1.8×10¹⁹ | ⚠️ 弱安全 | 仅兼容遗留系统 |
| 128 bit | AES-128, SM4 | 2¹²⁸ ≈ 3.4×10³⁸ | ✅ 安全 | 通用数据加密 |
| 192 bit | AES-192 | 2¹⁹² ≈ 6.3×10⁵⁷ | ✅ 高安全 | 机密级数据 |
| 256 bit | AES-256 | 2²⁵⁶ ≈ 1.1×10⁷⁷ | ✅ 极高安全 | 绝密级数据、量子安全预备 |
1.4 对称加密的优缺点与面试避坑
- 优点:加解密速度快,适合大数据量加密;算法成熟,硬件支持广泛(如 AES-NI 指令集)。
- 缺点:密钥分发困难——通信双方必须事先共享密钥;密钥数量随通信方数平方增长(n 方需要 n(n-1)/2 个密钥)。
面试常见误区:
- 误认为"密钥越长一定越安全"——实际还需考虑算法设计缺陷(如 DES 的弱密钥)和实现安全性(侧信道攻击)。
- 混淆"分组长度"与"密钥长度"——AES 分组固定 128 bit,密钥长度可选 128/192/256 bit。
- 忽略 SM4 的国标地位——在涉及中国合规性要求的场景中,SM4 是强制选项而非可选项。
1.5 对称加密工作模式简述
对称加密算法通常需要配合工作模式使用。面试中常被问及以下模式的区别:
| 模式 | 全称 | 特点 | 典型应用 |
|---|---|---|---|
| ECB | 电子密码本 | 每个分组独立加密,相同明文产生相同密文 | ❌ 不推荐,存在模式泄露 |
| CBC | 密码分组链接 | 前一分组密文参与当前分组加密,需 IV | ✅ 文件加密、传统协议 |
| CTR | 计数器模式 | 将分组密码变为流密码,可并行加解密 | ✅ 高性能场景、磁盘加密 |
| GCM | 伽罗瓦/计数器模式 | CTR + 认证标签,同时提供加密和完整性校验 | ✅ 现代安全通信(TLS 1.3) |
面试加分点: 能清晰解释 ECB 模式为何不安全(明文模式保留)、GCM 模式为何成为现代首选(认证加密 AEAD,同时防窃听和防篡改),以及 SM4 同样支持这些工作模式。