什么是 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 流密码不能用于小型数据流。