消除謎團最大的缺陷會在多大程度上改善它?
Enigma 最大的缺陷是一封信永遠不能像它本身一樣被加密。如果一封信可以像它本身一樣被加密,那麼 enigma 的安全性會提高多少?我知道這會使 Turing 和 co 使用的方法無效。
請在答案中提供盡可能詳細的資訊。
編輯:澄清改進
用最簡單的術語來說,改進是:
一旦信號通過轉子並進入反射器,轉子就會在允許信號返回之前向前移動,這意味著每次加密操作將使用兩次而不是一次。
編輯 2:此外,在消除了謎團缺陷後,它的安全性與現代算法有多大可比性?另外一點,我不是在談論修改二戰中的謎,我現在談論的是基於虛擬軟體的模組。
消除謎團缺陷後,它的安全性與現代算法有多大可比性?
通過您指定的特定更改,它仍然(按照現代標準)被認為是“損壞的”。
以下是如何執行區分攻擊,並使用大約 400 個已知明文字元進行部分密鑰恢復(恢復前兩個轉子設置,並很有可能恢復第三個轉子設置)。
我將假設一個 26 個字元的轉子,但是攻擊可以擴展到其他大小。
以下是如何恢復第一個轉子設置(如果您確實恢復了一個有效的設置,那就是一個顯著的攻擊):
在加密操作中,注意:
- 明文字元通過第一個轉子發送: $ A := R_i({Pt}) $
- 密文字元在步進一個位置後通過第一個轉子發送: $ B = R_{i+1}(Ct) $
- 映射的明文 $ A $ 不同於映射的密文 $ B $
這是因為內部轉子和反射器在操作期間不會步進,因此永遠不會將角色映射到自身。
請注意,如果在加密操作期間第二個轉子步進,這可能不是真的;但是,每 13 個字元加密只會發生一次。
因此,如果我們猜測初始轉子設置,我們可以確定所有明文和密文字元是如何映射的。然後,如果我們找到兩個實例,其中明文和密文字元映射到相同的 $ A, B $ 值(並且這些位置不是 13 的倍數),我們知道初始轉子設置是不可能的。
在 400 個字元之後,盡可能顯示不正確的轉子設置的機率約為 $ 2^{-13} $ ; 因為有明顯少於 $ 2^{13} $ 第一個轉子的可能設置,那麼很有可能只保留正確的設置(如果沒有設置保留,那麼這不是修改的 Enigma)。
現在,我們已經恢復了第一個轉子設置(和位置),我們可以剝離第一個轉子操作(通過將現在已知的第一個轉子操作應用於已知的明文/密文),並使用類似的攻擊來恢復第二個轉子(實際上更容易;每個轉子步驟我們有更多資訊)。並且,如果在 400 個字元加密期間第三個轉子步進而不是第四個(機率 > 50%),那麼我們可以恢復第三個轉子(使用相同的技巧)
底線:這將被認為(按照現代標準)完全被打破