CoderTools

RC加密套件加密解密工具

Ron Rivest设计的RC2/RC4/RC5/RC6对称加密算法

⚠️ 安全提示

RC4存在已知漏洞,已从TLS/SSL中弃用。为获得最高安全性,建议使用AES-256。所有数据均在浏览器本地处理。

RC2密钥长度: 1-128字节。分组大小: 64位。建议有效密钥位: 128
格式选项

关于RC加密套件

RC系列密码由MIT和RSA Security的Ron Rivest设计。'RC'最初代表'Rivest Cipher'或'Ron's Code'。该系列包括RC2、RC4、RC5和RC6,各具特点。

RC2是1987年设计的64位分组密码。RC4是曾广泛用于SSL/TLS和WEP的流密码。RC5引入了新颖的参数化结构。RC6作为AES候选算法设计,通过整数乘法增强扩散。

算法对比

算法 类型 密钥长度 分组大小 安全性 状态
RC2 分组密码 1-128字节 64位 较弱 已弃用
RC4 流密码 1-256字节 不适用(流) 较弱 已弃用
RC5 分组密码 0-255字节 32/64/128位 良好 安全
RC6 分组密码 16/24/32字节 128位 优秀 AES决赛

RC2 (Rivest Cipher 2)

RC2是1987年设计的64位分组密码。它使用可变长度密钥(1-128字节),并具有独特的'有效密钥位'参数,可以限制密钥搜索空间。

最初作为机密设计,RC2旨在实现40位有效密钥长度的出口兼容性。由于已知漏洞,它应仅用于旧系统兼容性。

RC4 (Rivest Cipher 4)

RC4是1987年设计的流密码。它生成伪随机字节流(密钥流),与明文进行XOR运算。以简单和快速著称,曾广泛用于SSL/TLS、WEP和WPA协议。

由于发现的漏洞(特别是密钥流的前几个字节),RC4已从现代安全协议中弃用。'RC4-Drop'变体通过丢弃初始密钥流字节来缓解这些问题。

RC5 (Rivest Cipher 5)

RC5于1994年发布,引入了参数化设计,包含三个变量:字长(w)、轮数(r)和密钥长度(b)。这种灵活性使RC5可以适应不同的安全需求。

RC5使用数据相关旋转作为主要非线性运算,简单而有效。常见配置包括RC5-32/12/16(32位字长,12轮,16字节密钥)。

RC6 (Rivest Cipher 6)

RC6于1998年作为AES候选提交,是五个决赛算法之一。它通过整数乘法扩展RC5以获得更好的扩散,并使用四个工作寄存器而不是两个。

RC6具有固定的128位分组大小,支持128/192/256位密钥,提供优秀的安全性。虽然Rijndael被选为AES,但RC6仍然是一个受尊敬且安全的算法。

主要特点

  • RC2: 可变密钥长度的传统分组密码,仅用于兼容旧系统
  • RC4: 极快的流密码,适合实时应用
  • RC5: 参数化设计允许灵活的安全/性能权衡
  • RC6: 具有强大安全保证的现代分组密码
  • 所有算法均无专利,可免费用于任何用途

加密模式 (RC5/RC6)

  • CBC: 密码分组链接 - 每个块与前一个密文块XOR。推荐用于大多数场景。
  • ECB: 电子密码本 - 每个块独立加密。不推荐用于敏感数据。
  • CFB: 密码反馈 - 将分组密码转换为流密码。自同步。
  • OFB: 输出反馈 - 独立生成密钥流。无错误传播。

安全建议

  • RC4不应用于新应用,因为存在已知漏洞
  • RC4-Drop(丢弃前768-3072字节)可以缓解某些攻击,但不推荐使用
  • 具有足够轮数(12+)和密钥长度(128+位)的RC5被认为是安全的
  • RC6提供与AES相当的优秀安全性

使用场景

  • 旧系统兼容性和迁移
  • 教育和研究目的
  • 嵌入式系统使用RC5(实现简单)
  • 高安全性应用使用RC6

参考资料