现代加密算法应用场景小结

2 阅读3分钟

一、核心加密算法(除AES,RSA外)

类别算法名称关键说明
对称加密ChaCha20现代流加密算法,在无AES硬件加速的环境(如移动设备)下性能更优,是TLS 1.3的标准套件之一。常与认证加密模式Poly1305组合使用。
非对称加密ECC椭圆曲线密码学。在相同安全强度下,比RSA密钥更短、计算更快、带宽消耗更低。是现代证书和协议(如TLS 1.3)的趋势。其衍生算法ECDSA用于数字签名,ECDH用于密钥交换。
哈希函数SHA-2家族包含SHA-256SHA-512等,是当前绝对的主流和安全标准。用于SSL/TLS证书、区块链(比特币)、数据完整性验证。必须用它替代不安全的MD4
哈希函数SHA-3新一代哈希标准(Keccak算法),采用与SHA-2不同的“海绵结构”,提供另一种可靠选择。
密钥交换Diffie-Hellman密钥协商协议,本身不用于加密,而是让双方在不安全的信道上安全地生成一个共享密钥。现代常用其椭圆曲线版本ECDH
认证加密GCM / CCM加密模式,而非独立算法。它们(如 AES-GCM)在加密的同时提供完整性认证,一步到位,高效且安全,是TLS和现代通信的首选。

二、需要特别注意的算法

算法状态关键说明
MD5已攻破,绝对不安全比MD4稍晚,但同样已产生严重碰撞,绝不可用于密码存储或证书签名,仅可用于非密码学的校验(如文件损坏检查)。
SHA-1已攻破,已淘汰曾经广泛使用,但谷歌于2017年公开了碰撞攻击。所有主流浏览器和证书机构已停止信任SHA-1证书。
DES / 3DES已淘汰,不安全早期的对称加密标准。DES密钥过短,3DES速度慢且存在安全隐患,已被AES全面取代。

三、应用场景专用算法

  1. 密码存储专用

    • bcryptscryptArgon2:这些是密钥派生函数,设计特点是计算慢、可配置成本,专门用于安全地存储用户密码。绝对不能用MD4、MD5或普通SHA系列来存储密码。
  2. 国密算法

    • SM2:基于椭圆曲线的非对称算法,对标ECC。
    • SM3:哈希算法,对标SHA-256。
    • SM4:对称加密算法,对标AES。
    • 应用场景:在中国境内涉及金融、政务等关键信息系统的合规性要求中必须使用。

总结与建议

现代安全应用通常是组合使用多种算法:

  1. 通信加密:通过 ECDH​ 协商密钥,然后用 AES-GCM​ 或 ChaCha20-Poly1305​ 加密通信内容,并用 SHA-256​ 保证完整性。
  2. 数字签名:使用 ECDSA​ 或 RSA​ 对数据的 SHA-256​ 哈希值进行签名。
  3. 密码存储:必须使用 Argon2​ 或 bcrypt

核心原则:避免使用已破译的算法(如MD4、MD5、SHA-1、DES),并优先选择经过广泛验证的现代算法(如AES、ChaCha20、SHA-256、ECC)。