謎:一個來自二戰的問題
我在模仿遊戲中看到德國人在午夜時分重置 Enigma,然後他們通過在早上發送天氣預報開始消息傳遞。
但是由克里斯托弗的艾倫·圖靈製造的設備有時只需要幾分鐘就可以解碼 Enigma。
德國接收器是如何知道機器的設置的?我以為他們可能會在午夜發送第二天的設置,但如果他們被入侵一次,敵人也會知道所有第二天的設置。
那麼,他們是怎麼做到的呢?
簡單的答案也是使用對稱密鑰(AKA 預共享密鑰)的所有加密的一個弱點的一部分。持續 31 天的密鑰表由快遞員生成並發送。弱點當然是如果敵人得到它,那麼他們可以閱讀使用該密鑰的所有消息。是的 - 有時盟軍確實拿到了一張密鑰表,然後他們擁有一個網路的密鑰長達一個月。
使用 Enigma 的程序不止一個,而這被證明是有助於盟軍密碼分析的關鍵問題。
1940 年之前的德國陸軍 Enigma 程序
這些參數是可變的,通常設置為一個 24 小時周期,並且它們必須同步。為車輪設置選擇了一個隨機的三個字母值。讓我們使用GFB。
無線電網路上的每個人都有一個特定時間段的地面設置,並且它被列印在一個鍵表上——可以在這裡看到它的例子。我們的例子是:ZMF。
將車輪設置為地面設置 ( ZMF ),然後操作員在地面設置上兩次加密一個隨機的三字母值 ( GFB )。假設結果是LBEQHG。現在操作員已準備好發送流量。將輪子旋轉到所選的隨機設置 ( GFB ) 並加密消息。將指示符 ( LBEQHG ) 與消息的密文連接起來。發送。
接收器將 Enigma 置於地面 ( ZMF ) 並輸入指示器——致命的是,它是同一事物的雙重指示器***——LBEQHG***。具有諷刺意味的是,這種對錯誤的預防最終導致了 Enigma 的滅亡。引用 Dirk Rijmenants 的話:
然而,這個過程實際上是一個安全漏洞。消息密鑰被編碼兩次,導致第一個和第四個、第二個和第五個以及第三個和第六個字元之間的關係。此外,特定日期的許多消息鍵將具有相同的設置和起始位置。這一安全問題使波蘭密碼局能夠破解戰前的 Enigma 消息。
或者,在這裡,在Code and ciphers: Julius Caesar, the Enigma and the Internet中,第 122 頁,Robert Churchhouse 著:
導致 Enigma 消息解密的根本缺陷不是機器本身的設計,而是德國人用來發送消息的方法。
接收方得到密文消息。破譯指標應該會產生一對三元組,例如ZMFZMF。如果沒有,那就有問題了。然後接收器將輪子轉向ZMF並解密密文。
Dirk Rijmenants在他的網站上詳細介紹了 Enigma 。1940 年後,德國陸軍的程序變得更加複雜,可以在德克的網站上看到。
德國戰時海軍之謎程序
這些程序比德國陸軍或德國空軍的 Enigma 程序複雜得多,可以在上面列出的網站上詳細了解它們。