Stream-Cipher

為什麼不經常使用交替步進發生器?

  • January 5, 2021

根據交替步偽隨機數生成器的維基百科條目,自從 CG Gunther 於 1987 年發明以來,該設備沒有公開的密碼分析。我對此有幾個問題:

  1. 如果它自 1987 年以來還沒有被破解,為什麼它不被認為是 RSA 密碼系統、離散對數係統等“單向函式”的候選者?
  2. 如果它是牢不可破的,為什麼不是每個人都使用它?
  3. 為什麼岡瑟先生沒有為如此偉大的發明申請美國專利?

流密碼、RSA 或任何你用“離散對數係統”表示的東西,都不是“單向函式”。特別是,非對稱加密算法和數字簽名算法提供了僅使用對稱密碼學的“加擾”技術無法實現(或不具有相同可用性)的功能。讓我們不要混淆事物。

ASG 是一種流密碼:它產生一個依賴於密鑰的偽隨機位序列,可以與一些數據(按位異或)組合以對其進行加密或解密。這是對稱加密。作為一個對稱加密引擎,它相當糟糕:

  • 線性回饋移位寄存器在軟體中效率低下。它們曾經在 70 年代和 80 年代流行,因為當在定制 ASIC 中實施時,LFSR 在矽面積方面很便宜。然而,世界從那以後發生了演變,並且越來越基於軟體。截至 2011 年,極高的矽效率僅與非常小的平台(RFID 標籤)相關。對於所有其他人來說,ASG 只是很慢。
  • ASG 浪費了它的狀態。對於n位安全性,它需要三個大小至少為n位的 LFSR。與A5/1比較:A5/1,具有m位狀態,具有相當於2 2m/3的安全性. 原始A5/1狀態大小僅為64位,因此其安全性處於高度易破解的領域,並且可以通過預計算進行多種優化;但是 A5/1 的結構可以擴展到更長的寄存器,並產生足夠的安全性。例如,使用三個總大小為 192 位的 LFSR,您可以使用類似 A5/1 的密碼獲得大約 128 位的安全性,簡而言之,“在可預見的未來完全牢不可破”。要獲得與 ASG 相同的安全級別,您需要 384 位狀態,即兩倍。
  • 流密碼不僅僅是簡單地噴出比特。一個完整的規範應該定義如何將密鑰轉換為初始狀態,最好與初始化向量一起,以便可以使用相同的密鑰加密多個消息(這正是RC4所缺乏的,並且它被證明是易受攻擊的實現的無盡來源)。弱點通常隱藏在這些步驟中。沒有這樣的規範,ASG 就像一個汽車發動機:不管它的動力如何,除非你增加輪子,否則它不會讓你走遠。

正如@Marsh 指出的那樣,ASG 已獲得專利。僅此一項就足以說明它沒有被廣泛使用。不乏我們不知道如何破解的好的流密碼;為什麼有人會使用另一個效率值得懷疑並受使用條件和各種版稅的影響?在密碼學中,專利通常是一種確保給定算法不會被使用的方法。

維基百科條目的一些要點 :在概述中:

但是,它們不能按原樣使用,因為它們的輸出很容易預測。

在安全部分:

在對交替步生成器的降低複雜性攻擊中,Shahram Khazaei、Simon Fischer 和 Willi Meier 給出了 ASG 的密碼分析,允許在時間複雜度和發起攻擊所需的輸出量之間進行各種權衡,例如漸近複雜度 $ O(L^{2} 2^{2L/3}) $ 和 $ O(2^{2L / 3}) $ 位,在哪裡 $ L $ 是三個 LFSR 中最短的一個的大小。

如果證券相當於 $ 2^{128} $ 是必需的,我們至少需要 $ 3*170 $ 3個LFSR的位( $ log_{2}(170^{2}) + 2 * 170 / 3) = 128.15 $ 位)。在流密碼設計中,作為SOSEMANUK送出者之一的Thomas Pornin可以提供一個很好的答案。

引用自:https://crypto.stackexchange.com/questions/340