什麼是 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 是一種流密碼,因此使用逐位元組異或生成密文。

  • 此密文現在以加密形式傳送到預期接收者。

對於解密 -

  • 對密文使用相同的逐位元組異或技術進行解密。

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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.