加密算法是信息安全的核心,用于保护数据的机密性、完整性和身份验证。以下是主要加密算法的分类及典型代表:
一、对称加密(Symmetric Encryption)
特点:加密和解密使用相同密钥,速度快,适合大数据加密。
核心问题:密钥分发需安全通道。
常见算法:
- AES(Advanced Encryption Standard)
- 密钥长度:128/192/256位
- 块大小:128位
- 应用:Wi-Fi加密(WPA2)、文件加密(如ZIP)、TLS。
- DES(Data Encryption Standard)
- 已淘汰(56位密钥过短),被3DES(三重DES)替代。
- ChaCha20
- 流加密,比AES更快,适合移动设备(如TLS 1.3的可选算法)。
二、非对称加密(Asymmetric Encryption)
特点:使用公钥(公开)和私钥(私有),解决密钥分发问题,但速度慢。
常见算法:
- RSA
- 基于大数分解难题,密钥长度通常2048位以上。
- 用途:数字签名、密钥交换。
- ECC(Elliptic Curve Cryptography)
- 相同安全性下密钥比RSA更短(如256位ECC≈3072位RSA)。
- 应用:比特币(secp256k1曲线)、移动设备。
- Diffie-Hellman(DH)
- 用于密钥交换,不直接加密数据(如TLS中的密钥协商)。
三、哈希算法(Hash Functions)
特点:单向不可逆,固定长度输出,用于验证数据完整性。
常见算法:
- SHA-256(Secure Hash Algorithm)
- 输出256位,比特币和TLS常用。
- MD5
- 已淘汰(易碰撞攻击),仅用于校验文件完整性。
- Bcrypt
- 专为密码哈希设计,内置盐值和慢哈希特性(防暴力破解)。
四、数字签名(Digital Signature)
作用:验证消息来源和完整性。
常用方案:
- RSA + SHA-256:用私钥签名,公钥验证。
- ECDSA:基于ECC的高效签名(如比特币)。
五、密钥交换协议(Key Exchange)
- Diffie-Hellman(DH)
- 双方通过公开信道协商共享密钥。
- ECDH
- DH的ECC版本,更高效。
六、实际应用场景
- HTTPS(TLS协议)
- 混合加密:RSA/ECDH交换密钥 + AES加密数据 + SHA-256验证完整性。
- 区块链
- 比特币:ECDSA签名 + SHA-256哈希。
- 密码存储
- 推荐:Bcrypt/PBKDF2(加盐+慢哈希)。
七、选择建议
- 机密性:AES(对称)或 RSA/ECC(非对称)。
- 完整性:SHA-256或SHA-3。
- 身份验证:数字签名(如ECDSA)。
- 密码存储:Bcrypt/Argon2。
八、注意事项
- 避免过时算法:如DES、MD5、SHA-1。
- 密钥管理:比算法本身更重要(如定期轮换、安全存储)。
- 量子计算威胁:RSA/ECC可能被Shor算法破解,未来可转向抗量子算法(如格密码)。
理解这些算法的适用场景和原理,是设计安全系统的基础。

2871

被折叠的 条评论
为什么被折叠?



