Cryptanalysis

向 Enigma 轉子添加更多字元會提高加密強度嗎?

  • March 8, 2019

這似乎是一個顯而易見的問題,但我無法找到它,所以這裡是:

Enigma 基於 AZ 字母表(26 個字元);顯然,這直接影響消息內容(例如,數字將使用其名稱一、四、二等來指定),並且它還直接影響可能排列的數量(加密強度)。

增加轉子的字母表(例如到 AZ、0-9 和一些特殊字元)會增加加密強度嗎?我知道這會增加可能排列的數量,但我不確定這是否會引入某種弱點。

更新(附加上下文)

我正在用 C# 建構 Enigma 的“有趣”軟體實現——目前作為 UWP 應用程序,可以在任何 Windows 10 設備(包括手機)上執行。它將包括一些現實世界歷史謎團(I、M3、M4)的實現以及採用“擴展”謎團的能力,您可以在其中創建具有任意數量轉子的自己的轉子組,包括新接線和字元集(即超出 AZ)。

根據提供的回饋,添加其他字元可能很危險。

我在想,對於“擴展”實現,您可能希望包含 0-9 和一些現在常用的特殊字元(例如:/)。我想這樣做的一個動機是方便。當然,考慮到現代計算的靈活性,我想我最好讓使用者輸入“方便純文字”,例如“HTTP://WWW”將其轉換為“標準謎 AZ 純文字”“HTTPCOLONBACKSLASHBACKSLASHWWW “然後對其進行加密,並可能在另一端執行相反的操作。也許這是另一個問題的基礎。

更新 - 2017 年 7 月 28 日

基於這個問答,我現在可以實際測量類似謎的系統的密鑰大小的增加;雖然擴展支持的字元集確實會增加密鑰大小,但添加額外的轉子會顯著增加它(儘管其他問題會影響 enigma 的整體加密強度)。

向(Enigma)轉子添加更多字元會提高加密強度嗎?

不是真的……因為 Enigma 的弱點遠遠超出了每個輪子的字元數!

當然,你可以——理論上——考慮使用非常大(讀作:巨大的)輪子和瘋狂的字元範圍。但是,在查看“時間”和“資源”時,您每次只想用這樣的野獸加密和解密事物時都需要投資,這根本沒有多大意義。現代密碼已經在速度、密碼強度等方面讓 Enigma 脫穎而出。

換一種說法:通過添加字元獲得的收益不足以將好的舊 Enigma 升級到更新和更好的預演算法(如aeschacha等)的領域。

此外,正如 CodesInChaos 在他的評論中已經暗示的那樣,它會讓你走上一條非常滑的路,很有可能你最終會引入額外的攻擊向量。在最壞的情況下,您可能會破壞 Enigma 的強大部分之一,而忽略 Enigma 已經帶來的真正加密弱點;這將導致類似(讓我們稱之為)加密噩夢。

然而,不要誤會我的意思:對於像一個非公開的“學生項目”,其目標是有大量機會來塑造你的密碼分析能力……這可能很有趣,也許值得考慮一分鐘. 但是如果你這樣做了,你最好準備好注意到你需要解決一大堆與 Enigma 相關的討厭的小問題。簡單地增加字元數是不行的。

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