对称加密算法:

  1. DES(Data Encryption Standard):

    • 适用场景:历史上的数据加密,由于密钥长度较小(56位),安全性不足以应对现代威胁,目前较少单独使用,但有时出现在过渡性的3DES加密中。
    • 特点:速度快,但安全性相对较低。
  2. TripleDES(3DES):

    • 适用场景:为弥补DES安全性不足,3DES通过三次DES加密过程来增强安全性,曾在金融等领域广泛使用,但随着AES的推广,其使用逐渐减少。
    • 特点:安全性提高,但计算开销增大。
  3. AES(Advanced Encryption Standard):

    • 适用场景:目前全球范围内最为广泛使用的对称加密算法,应用于各种数据加密需求,如硬盘加密、网络通信加密等。
    • 特点:拥有128、192、256位三种密钥长度规格,速度快,安全强度高。

密码散列函数(哈希函数):

  1. MD5:

    • 适用场景:早期广泛用于数据完整性校验、文件检验,现已不推荐用于敏感信息的保护,因为存在碰撞攻击的风险。
    • 特点:计算速度快,但不适用于密码存储和安全场景。
  2. SHA-1:

    • 适用场景:同MD5,以前广泛用于数字签名和文件校验,但因安全问题,已不再推荐在新的安全环境中使用。
    • 特点:与MD5类似,安全性相对较弱。
  3. SHA-2 系列(SHA-224、SHA-256、SHA-384、SHA-512):

    • 适用场景:目前主流的安全散列算法,广泛应用于数字签名、文件完整性校验、密码哈希(但注意不直接用于存储用户密码,应结合盐值和KDF算法使用)。
    • 特点:安全性强于SHA-1,至今仍被认为是安全的。
  4. SHA-3 系列:

    • 适用场景:作为SHA-2系列的补充和潜在替代品,设计时考虑到未来可能存在的攻击,提供额外的安全冗余。
    • 特点:与SHA-2算法相比,采用了全新的设计原理,即便SHA-2算法在未来出现问题,SHA-3也可以继续提供安全保障。

HMAC(基于哈希的消息认证码):

  1. HMAC-MD5,HMAC-SHA1:

    • 适用场景:用于消息认证,增强消息的完整性与真实性,即使基础哈希函数存在安全问题,HMAC也能在一定程度上提高安全性。
    • 特点:结合密钥与哈希函数,增强了防篡改能力。
  2. HMAC-SHA2 系列(HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512):

    • 适用场景:与SHA-2系列哈希函数配套使用,提供更安全的消息认证服务。
    • 特点:继承了对应哈希函数的安全性和性能特点。
  3. RIPEMD-160:

    • 适用场景:与其他哈希函数类似,可用于数据完整性校验和消息认证,但使用不如SHA系列广泛。
    • 特点:相对SHA系列, RIPEMD-160提供了一个不同的哈希算法选项,以增加多样性,避免所有系统都依赖同一种哈希函数。

RC4及其变体:

  1. RC4:

    • 适用场景:过去广泛应用于流式加密,尤其是WEP和早期TLS/SSL协议中,但现在因为安全漏洞已不再推荐使用。
    • 特点:运行速度快,但存在诸多安全问题,如相关性攻击等。
  2. RC4Drop:

    • 适用场景:RC4的一种改良版本,通过丢弃初始部分密钥流试图缓解RC4原有的漏洞。
    • 特点:尽管尝试改善安全性,但鉴于RC4的根本缺陷,依然不建议在新的安全场景中使用。

Rabbit 和 RabbitLegacy:

  1. Rabbit 和 RabbitLegacy:
    • 适用场景:这两种均为流密码算法,Rabbit被认为是一个高性能且安全的流密码算法,可用于实时通信加密等场景。
    • 特点:Rabbit提供高速流加密服务,尤其适合于资源有限的嵌入式设备或需要实时加密的应用。RabbitLegacy可能是该算法的早期版本或修订版。

国密算法(中国商用密码标准)

  1. SM1:

    • 类型:对称加密算法
    • 适用场景:适用于国内的机密数据加密、密钥管理和数字签名等场景,常见于国家重要信息系统、金融、电信等领域。
    • 特点:由我国自主设计研发,算法细节未公开,安全性高,运算速度快。
  2. SM2:

    • 类型:非对称加密算法
    • 适用场景:广泛用于数字签名、密钥协商和数据加密,特别适合于电子签名、网上银行和电子商务等环境。
    • 特点:基于椭圆曲线密码学,密钥长度为256位,与国际上流行的RSA、ECC算法相比,在相同安全等级下具有更高的计算效率。
  3. SM3:

    • 类型:密码散列函数
    • 适用场景:与国际上的SHA-256类似,用于消息摘要、数据完整性校验、以及在SM2签名和密钥派生中。
    • 特点:提供256位的散列值,具有较好的抗碰撞性和安全性。
  4. SM4:

    • 类型:对称加密算法
    • 适用场景:广泛应用于无线局域网(如WAPI)、数据存储加密等领域。
    • 特点:128位块加密,密钥长度为128位,加密速度快,安全性较高。
  5. SM9:

    • 类型:标识密码算法
    • 适用场景:简化密钥管理和证书颁发,适合大规模网络应用和云计算环境。
    • 特点:基于身份的公钥密码体制,用户的身份信息可以直接作为公钥使用。

其他非对称加密算法

除了上述提到的SM2以外,还有国际上广泛应用的非对称加密算法:

  1. RSA:

    • 适用场景:广泛用于公钥基础设施(PKI)中的数字签名、密钥交换和加密,也是HTTPS、SSH等协议的基础。
    • 特点:基于大数质因数分解难题,密钥长度可变,但随着计算能力的提升,需要使用越来越大的密钥长度来保证安全。
  2. ECC(Elliptic Curve Cryptography):

    • 适用场景:移动设备和嵌入式系统等资源受限环境,也用于常规网络通信、数字货币等领域。
    • 特点:利用椭圆曲线数学原理,能在较小的密钥长度下达到与RSA相当的安全水平,减小了加密运算的负担和存储空间需求。

更多推荐