2010-10-14 99 views
1

輸入: 使用隨機生成的替換密碼加密的英文正常文本(A-Z)。識別替代密碼隨機密鑰。 (英文文本)

輸出: 鍵

思路: 讀取整個文本存儲在某些陣列的每個字符/二元/三字母組的頻率,並將它們進行比較:
http://en.wikipedia.org/wiki/Letter_frequencies
http://en.wikipedia.org/wiki/Bigram
http://en.wikipedia.org/wiki/Trigram

缺點:字母/ bigrams /相近百分比的卦(如「c」和「u」)

我的軟件應該能夠猜出最大值。來自加密文本的可能字符(最少2000個字符)。
我必須猜測至少18-20個字母。

問題:
有什麼辦法/知算法猜測所有的字符=>全鍵?
或者你可以給我一些有用的參考或建議,我可以如何改善整個猜測過程?

回答

1

我認爲你是在正確的軌道上。如果所有字符(或全1)都存在於純文本中,則可以恢復完整密鑰的唯一方法是。

我會考慮做一些統計猜測,然後用statically檢查明文Bigrams/Trigrams結果的結果。或者在單詞列表中檢查整個單詞(如果您知道單詞邊界在哪裏)。

+0

這是一個問題..我只有從A到Z沒有空格的字母..和1字+來自下一個單詞的第一個字母的最後一個字母將在我的統計數據中形成一個digram ..我想知道是否找到頻率在維基百科會爲我工作。 – sdadffdfd 2010-10-14 04:05:04

+0

只要它是一個26字符的密鑰,你正在尋找有26個字符的文字是好的。我的觀點是,如果純文本不包含字母Q,X和Z,例如,您將無法確定這些字符的替換。不知道字邊界可能會搞砸digram統計。 – 2010-10-14 04:12:07