什么是 RC4 加密?(工作原理、用途、优点和缺点)


什么是 RC4?

RC4 代表 Rivest 密码 4。Ron Rivest 于 1987 年发明了 RC4,它是一种流密码。由于 RC4 是一种流密码,因此它以比特为单位加密数据字节。由于其速度和简单性,RC4 是所有流密码中使用最广泛的流密码。

虽然 RC4 以其易用性和软件速度而闻名,但人们发现它存在一些弱点,使其不安全。当输出密钥流的开头未被破坏,或使用非随机或链接密钥时,它极易受到攻击。特别是 RC4 的使用导致了相对不安全的协议,例如 WEP。

截至 2015 年,一些国家密码学机构被怀疑能够在 TLS 协议中使用 RC4 时破解 RC4。互联网工程任务组发布的 RFC 7465 禁止在 TLS 中使用 RC4,Mozilla 和 Microsoft 也发布了类似的建议。

RC4 的工作原理

RC4 创建一个伪随机比特流(密钥流)。这些,就像任何其他流密码一样,可以通过使用逐位异或将其与明文组合来用于加密。解密使用相同的过程(因为异或是一种对称运算)。

该密码使用一个秘密的内部状态,该状态分为两个部分来生成密钥流 -

  • 256 个可用字节中的每一个都被置换。

  • 两个索引指针(每个 8 位)。

密钥调度算法(KSA)已知使用可变长度密钥初始化置换,通常在 40 到 256 位之间。然后,伪随机生成技术生成比特流。

对于加密 -

  • 用户输入明文和密钥。

  • 对于输入的密钥,加密引擎使用 KSA 和 PRGA 算法创建密钥流。

  • 明文与生成的密钥流进行异或运算。由于 RC4 是一种流密码,因此使用逐字节异或生成密文。

  • 此密文现在以加密形式发送到预期接收者。

对于解密 -

  • 对密文使用相同的逐字节异或技术进行解密。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

RC4 的用途

多年来,RC4 越来越受欢迎,并已成为商业应用中的标准。它以简单、快速和廉价的加密技术而闻名。

RC4 的主要优点是易于实现和使用,以及其操作和部署速度。它能够高效快速地处理大型数据流。在内存使用方面,RC4 流密码也效率很高。

然而,由于近年来证明了缺陷和网络攻击,人们呼吁停止使用 RC4 加密算法。还发现了其他缺点,例如无法使用小型数据流以及在实施新系统之前需要进行额外调查。

互联网工程任务组 (IETF) 于 2015 年禁止在 TLS 协议中使用 RC4。由于威胁漏洞,Microsoft 和 Mozilla 也发布了限制使用 RC4 的建议。有许多基于 RC4 的生态系统,例如 WEP、WPA、BitTorrent 协议加密、Microsoft 点对点加密等。

RC4A 是 RC4 的更强大的变体。RC4A+ 是 RC4 的修改版本,具有更复杂的 3 阶段密钥调度,比基本 RC4 长 1.7 倍。

使用 RC4 加密的优点和缺点

以下是使用 RC4 加密的优点 -

  • 使用 RC4 流密码很容易。

  • 与其他密码相比,RC4 的操作速度很快。

  • RC4 流密码具有很高的编码强度,并且易于构建。

  • RC4 流密码不需要额外的内存。

以下是使用 RC4 加密的缺点 -

  • 如果 RC4 未与强大的 MAC 一起使用,则加密容易受到比特翻转攻击。

  • 无法使用 RC4 流密码进行身份验证。

  • 在向 RC4 算法添加新系统之前,需要进行更多研究。

  • RC4 流密码不能用于小型数据流。

更新于:2022-06-22

11K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告