Cryptanalysis
協助破解經典密碼
下面是我試圖破解的密文,你可以看到它相當短,這就是我遇到這麼多麻煩的原因。
WOYFN ZCMSH VUVTG BFUTW ABTZP FHIMF TFOSU UXFQC HKVKG MPUUQ MHRXI OVBRZ EPJYF KKVJW GEIOV HUKEB JUNSM THIMF TFKUB ULMMQX
我對這個密文的了解:
- 密鑰長度為 6 個字元並且重複(由加密它的人給出)
- 密文開頭缺少一個字元!(也給出)
- 它使用一個簡單的密碼,我相信是一個維吉尼亞密碼。
- Friedman IC: 1.143 (kappa-plaintext: 0.4396) 這就是為什麼我認為它是 vigenere 密碼
我在這上面花了很多時間,但說實話,我不太擅長破解這些程式碼。
我遇到的問題是,一旦我將密碼分成幾個部分,它們都非常短,因此頻率分析失敗。
如果有人可以確認或找到正在使用的加密系統以及有關如何找到明文+密鑰或更好地找到密鑰本身並解釋您如何用這麼短的一段來管理它的更多資訊,我將非常感激密文
編輯:關於這個問題的有效性存在一些爭論,所以這裡有一些來自我嘗試的更多資訊:
流:
- ?ZUUZFUKUXZKEKSFU IC = 3.6833 (kappa-plaintext: 1.4167)
- WCVTPTXVUIEKIEMTL IC = 1.1471 (kappa-plaintext: 0.4412)
- OMTWFFFKQOPVOBTFM IC = 2.1029(kappa 明文:0.8088)
- YSGAHOQGMVJJVJHKM IC = 1.3382 (kappa-plaintext: 0.5147)
- FHBBISCMHBYWUIUQ IC = 1.5294(kappa 明文:0.5882)
- NVFTMUHPRRFGUNMBX IC = 0.9559(kappa 明文:0.3676)
這些數字看起來不太好。對於任何語言,它們幾乎都大大偏離了正態分佈。
我的問題的要點是:
- Vigenere 是否看起來很合適(假設這些流是正確的)?
- 是否可以以任何方式使用該分析?我看不出每個流只有 17 個字元如何有效。大多數字母頻率為 0。
- 還有哪些其他密碼是可能的?我如何確定它們正在使用中?
我很高興提供更多資訊,我只是不確定還有什麼有用的。
我不知道解決方案,但是既然您說您只是在尋求提示,那麼我想到了一些:
- 如果這是一個 Vigenère 密碼,那麼開頭失去的字元應該無關緊要(很多):如果您使用密鑰加密消息
FOOBAR
並刪除輸出的第一個字母,您可以使用密鑰解密生成的密文OOBARF
。- 正如 ewanm89 所指出的,在確定密鑰長度之後,攻擊 Vigenère 密碼的明顯方法是 $ n $ , 是用 $ n $ 每行字母並攻擊每一列,就好像它是凱撒密碼一樣。有一些自動化工具可以做到這一點,例如pygenere;對於非常短的消息,他們可能並不總是給出正確的答案,但你的看起來足夠長,他們至少應該有一個不錯的機會。
- 我在您的密文中看到的最顯著的特徵是該字元串
HIMFTF
出現兩次,偏移量分別為 26 和 86。這確實強烈表明密鑰長度可能是 60 的除數;唉,60 有很多小的除數(包括 6,你認為密鑰長度是),所以這並沒有真正提供那麼多資訊。它至少排除了 7、8 和 9 作為可能的密鑰長度。
在這種情況下,確定它是否是 vigenere 的最簡單方法是暴力破解。
您知道密鑰只有 6 個字元。取一個 vigenere 解密函式和一個 6 個字元單詞的字典文件。使用第一個單詞解密,然後計算生成的明文的直方圖。考慮到英文文本中的字元分佈,與您期望看到的內容進行比較。如果兩者接近,目視檢查。如果它們沒有關閉或目視檢查失敗,請繼續。
在Google上四處尋找直方圖比較的想法。一個簡單的差異總和應該起作用,然後為顯示的內容設置一個門檻值。