1. 对称加密
定义
加密和解密使用同一密钥,密钥需在通信双方保密共享。
核心特点
单密钥:加密和解密用同一把密钥(如 AES-256 密钥长度为 256 位)。
高效性:计算速度快,适合加密大量数据。
密钥管理困难:需安全渠道传输密钥,易被中间人窃取。
典型算法
AES(高级加密标准)、DES、3DES、RC4、Blowfish。
2. 非对称加密
定义
使用一对密钥(公钥和私钥),公钥可公开,私钥需严格保密。
核心特点
双密钥:公钥加密,私钥解密;或私钥签名,公钥验证。
密钥分发便捷:无需传输私钥,公钥可公开获取。
安全性依赖数学难题:如大数分解(RSA)、椭圆曲线离散对数(ECC)。
计算开销大:加密速度慢,适合小数据(如密钥交换、数字签名)。
典型算法
RSA、ECC(椭圆曲线加密)、Diffie-Hellman 密钥交换。
非对称加密与对称加密的核心区别
- 密钥数量与管理
- 对称加密:
- 单个密钥:加密和解密使用同一密钥(如DES、AES)。
- 密钥分发困难:需通过安全渠道共享密钥,易被中间人窃取。
- 非对称加密:
- 两个密钥:公钥(公开)和私钥(保密),如RSA、ECC。
- 无需安全分发:公钥可公开传播,私钥由持有者妥善保管。
- 加密与解密逻辑
- 对称加密:
- 可逆性:同一密钥可加密和解密。
- 示例:用AES密钥加密文件,必须用同一密钥解密。
- 非对称加密:
- 单向性:公钥加密的数据只能用私钥解密,反之亦然。
- 示例:用B的公钥加密消息,只有B的私钥能解密;用A的私钥签名消息,任何人可用A的公钥验证。
- 安全性与攻击难度
- 对称加密:
- 暴力破解:安全性依赖密钥长度(如AES-256几乎不可破)。
- 中间人攻击:若密钥泄露,通信完全暴露。
- 非对称加密:
- 数学难题:基于大数分解(RSA)或椭圆曲线离散对数(ECC),破解需极高计算资源。
- 私钥泄露风险:私钥丢失则无法解密,需通过证书吊销机制管理。
- 性能与应用场景
- 对称加密:
- 速度快:适合加密大量数据(如文件传输、视频流)。
- 典型应用:VPN、SSL/TLS数据传输。
- 非对称加密:
- 速度慢:计算复杂,适合小数据量(如密钥交换、数字签名)。
- 典型应用:数字证书、数字签名、密钥协商(如Diffie-Hellman)。
- 不可否认性与身份认证
- 对称加密:
- 无法验证身份:双方共享密钥,无法证明消息来源。
- 非对称加密:
- 数字签名:用私钥签名,公钥验证,确保消息不可否认(如用户A用私钥签名消息,B用A的公钥验证)。
- 身份认证:通过公钥证书(如SSL证书)验证通信方身份。
总结对比表
维度 | 对称加密 | 非对称加密 |
---|---|---|
密钥数量 | 1个(共享) | 2个(公钥+私钥) |
加密方向 | 双向(同一密钥) | 单向(公钥加密→私钥解密) |
速度 | 快 | 慢 |
密钥管理 | 需安全分发 | 公钥公开,私钥保密 |
典型算法 | AES、DES、3DES | RSA、ECC、Diffie-Hellman |
应用场景 | 数据加密(大量) | 密钥交换、数字签名、身份认证 |
实际应用中的结合
现代系统常结合两者:
- 非对称加密协商对称密钥(如TLS握手阶段)。
- 对称加密传输数据(如HTTPS加密网页内容)。
- 数字签名验证消息完整性和来源(如软件安装包的签名)。
这种组合兼顾了效率与安全性,是当前主流的加密方案。