安全性(一):加密算法总结
一、加密算法分类总览
加密类型 | 关键特性 | 代表算法 | 主要用途 |
---|---|---|---|
对称加密 | 加解密使用同一个密钥 | DES、3DES、AES、SM4 | 数据加密传输、存储 |
非对称加密 | 公钥加密,私钥解密(或反向) | RSA、DSA、ECC、SM2 | 密钥交换、数字签名、身份认证 |
哈希算法 | 不可逆摘要 | MD5、SHA-1、SHA-2、SM3 | 完整性校验、数字签名 |
二、对称加密算法(Symmetric Encryption)
特点:
- 加密与解密使用相同密钥。
- 加密速度快,适合大数据量加密。
- 密钥分发困难是主要缺点。
常见算法:
算法 | 特点 |
---|---|
DES | 最早的对称加密算法,已不安全(56位密钥) |
3DES | 对 DES 加密三次,安全性增强但速度慢 |
AES | 高性能、高安全性,现代主流标准 |
SM4 | 中国自主对称加密标准 |
三、非对称加密算法(Asymmetric Encryption)
特点:
- 使用一对密钥:公钥加密,私钥解密,或反过来。
- 速度慢,但安全性高,常用于密钥交换、数字签名。
- 解决了密钥分发问题。
常见算法:
算法 | 特点 |
---|---|
RSA | 最经典,基于大数因子分解,广泛用于 HTTPS |
DSA | 仅用于签名,速度较快 |
ECC | 基于椭圆曲线,密钥短、安全性高、性能好 |
SM2 | 中国国家标准,基于 ECC |
四、哈希算法(Hash Algorithm / 摘要算法)
特点:
- 输入任意长度,输出固定长度。
- 不可逆,不可篡改。
- 常用于完整性校验、数字签名。
常见算法:
算法 | 特点 |
---|---|
MD5 | 128 位输出,已被破解,慎用 |
SHA-1 | 160 位输出,已不推荐使用 |
SHA-2 | 包括 SHA-256、SHA-512,安全性较高 |
SM3 | 中国国家标准,160 位输出,安全性高 |
五、数字签名
利用非对称加密和哈希函数实现的安全机制,具有防篡改、身份认证、抗否认性等作用。
流程简述:
- 用哈希算法生成消息摘要;
- 用发送者私钥加密该摘要(生成签名);
- 接收者用发送者公钥解密签名并比对哈希,验证签名合法性。