Cryptanalysis

在他們的消息前添加每日變化的空值會使 Engima 更難破解嗎?

  • June 28, 2016

英國人解密了德國之謎,因為他們知道他們會在每條消息的開頭重複兩次消息密鑰。

當然,使用嬰兒床加密謎團而不重複的技術是後來開發的,但只是在之前被破解之後。

Enigma 消息的加密密鑰每天都在變化,但如果德國人在消息開始之前也指定了一定數量的空值怎麼辦。然後他們不僅每天都更改外掛板設置和轉子設置,而且還會在每條消息前面加上 X 量的亂碼。

這會使 Engima 更難破解嗎?

不,填充會使消息更容易破解。這是為什麼密碼學留給專業人士的一個很好的例子(我不是專業的密碼學家,我什至不是一個非常好的業餘愛好者)。業餘愛好者往往只會讓事情變得更糟。


第一個問題是 Enigma 無法生成“null”。它只能產生字母。

軍事謎機

與您的方案最接近的等價物是選擇一個用作填充的字母(例如,A),然後將其添加到消息的開頭。是的,它使找到KEYKEY重複變得有點困難,但並不多。您只需將六個字元的視窗滑動一點,密碼學家已經在進行這種滑動視窗分析以找到其他嬰兒床。

但是因為它總是在消息的開頭是同一個字母,所以它給了密碼學家一個非常可靠的嬰兒床

(對於這個答案,我忽略了外掛板和戒指,還有其他技術可以解決這些問題)。

假設德國人總是在鍵前放置至少兩個填充字母。讓我們大方一點,說他們每天都選擇不同的填充字母。現在密碼學家知道至少前 2 個字母將是同一個字母,接下來的字母也很有可能是相同的。這為密碼學家提供了非常小的一組可能的文本來處理。由於它們位於消息的開頭,因此它們可以顯示轉子設置。

現在,如果解密不會產生以至少兩個相同字母開頭的消息,則可以快速消除任何設置。

它甚至不能很好地掩蓋密鑰,因為仍然知道重複的密鑰將從前 N 個字元的某個位置開始(其中 N 是德國人使用的最大填充量)。它最多增加了 N - 1 種可能性。

A A K E Y K E Y

A A A K E Y K E Y

A A A A K E Y K E Y

...and so on...

這不值得作為填充的密碼學黃金。


英國人解密了德國之謎,因為他們知道他們會在每條消息的開頭重複兩次消息密鑰。

雖然這是第一個也是最重要的嬰兒床它是由波蘭人發現的,但德國政府和武裝部隊的不同部門使用 Enigma 的程序不同,這在戰爭中發生了變化。這個缺陷並沒有持續多久。例如,到 1937 年,德國海軍謎團已經糾正了這個缺陷,但無論如何都被破解了。

重複鍵只是波蘭人和英國人可以使用的眾多方法之一。“Pinches”(竊取密碼本)就是其中之一,但最可靠的是有條不紊的德國人自己。

例如,密碼學家知道,某些操作員總是H E I L H I T L E R會以文本。

經營者還提供了自己的嬰兒床。加密消息的人必須拿出一個密鑰。人類非常不擅長產生隨機性。無線電操作員,可能在現場,可能累了,餓了,冷了,每天必須拿出幾十個獨特的鑰匙。他們會變得草率。密碼學家可以使用它來猜測密鑰可能是什麼,或者消除不太可能的密鑰(例如,它不會是AAA)。

此外,他們可以通過他們如何傳輸他們的摩爾斯電碼(稱為“拳頭”)來辨識單個無線電操作員。某些運營商會有特定的方式來挑選他們的密鑰,或者以特定的方式編寫他們的資訊來提供嬰兒床,而密碼學家可以利用這一點來發揮他們的優勢。

Enigma 機器還有其他被利用的數學缺陷。我不在這裡深入探討,而是推薦Numberphile關於該主題的優秀影片。

此外,Simon Singh 的密碼破解書《密碼書》

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