Symmetric Encryption 对称加密
用同一个秘密密钥来加密和解密。发送方和接收方共享这把钥匙。
跟[asymmetric-encryption|非对称加密]正好相反 —— 那个是两把不同的钥匙。
工作流程
明文 + 密钥 → [加密算法] → 密文
密文 + 密钥 → [解密算法] → 明文
密钥 一旦泄露,加密就废了。
主流算法
| 算法 | 状态 | 备注 |
|---|---|---|
| AES (128/192/256) | 现役标准 | NIST 钦定,硬件加速,无已知有效攻击 |
| ChaCha20 | 现役 | 软件实现快,移动端友好 |
| 3DES | 已淘汰 | 2023 NIST 正式弃用 |
| DES | 已死 | 56 位密钥,几小时暴破 |
| RC4 | 已死 | 太多漏洞 |
优点 vs 缺点
| 优点 | 缺点 |
|---|---|
| 速度快(比非对称快几个数量级) | 密钥分发难 —— 怎么安全地把钥匙告诉对方? |
| 实现简单 | n 个人通信要 n(n-1)/2 把钥匙 |
| 适合海量数据 | 没法做数字签名 / 不可否认 |
实战中怎么用
几乎所有现代协议(TLS、SSH、VPN)都是混合:
- 用非对称加密协商一个临时对称密钥
- 之后的所有数据用对称密钥加密
兼顾安全(解决密钥分发)和速度。