什么是对称加密?

对称加密是一种使用相同密钥进行加密和解密的加密方式。它是现代密码学中最基础、最常见的加密方法。

原理图示

1
2
3
4
明文 → [加密算法] → 密文
          ↑↓
        密钥
密文 → [解密算法] → 明文

常见对称加密算法

1. AES (Advanced Encryption Standard)

AES 是目前最广泛使用的对称加密算法,支持 128、192 和 256 位密钥长度。

特点:

  • 安全性高
  • 计算效率高
  • 被美国国家标准与技术研究院 (NIST) 采用

典型应用场景:

  • HTTPS 数据传输
  • 数据库加密
  • 文件加密

2. DES (Data Encryption Standard)

DES 是早期的对称加密标准,使用 56 位密钥。

现状:

  • 已被证明不安全
  • 易受暴力破解
  • 已被 AES 取代

3. 3DES (Triple DES)

3DES 通过三次 DES 加密提高安全性。

特点:

  • 比 DES 更安全
  • 比 AES 慢
  • 正在被逐步淘汰

OpenSSL 命令示例

1
2
3
4
5
# 使用 AES-256-CBC 加密文件
openssl enc -aes-256-cbc -in plaintext.txt -out encrypted.bin

# 使用 AES-256-CBC 解密文件
openssl enc -d -aes-256-cbc -in encrypted.bin -out plaintext.txt

安全实践

  1. 密钥管理:密钥是安全的核心,必须安全存储
  2. 随机 IV:使用加密时必须使用随机的初始化向量
  3. 算法选择:优先使用 AES-256
  4. 避免 ECB:不要使用 ECB 模式,选择 CBC 或 GCM

总结

对称加密是现代密码学的基石,虽然它解决了数据加密的问题,但密钥分发问题需要结合非对称加密来解决。在实际应用中,对称加密常用于大量数据的加密,而非对称加密用于密钥交换。

参考来源