2014-02-13 128 views
0

誰能回答我的問題..如何用蠻力攻擊解密已知的密文?

如果我有一個已知的密文和唯一的信息,我知道的是,

明文是英語message.I不知道明​​文,只有是英語消息。

關鍵是16位。

如果我想用蠻力破解攻擊我應該遵循哪個程序?

+10

這是好還是壞? – pamphlet

+1

你知道它被加密的算法嗎? – christopher

+0

這聽起來非常類似於我最近解決的一個euler問題。 也許看人民解決方案[這只是有趣的謎題](http://projecteuler.net/problem=59)將幫助你。 –

回答

0

如果你想完全自動化暴力強制,你需要知道暴力強制/解密何時成功 - 也就是說,你需要不斷檢查解密輸出並將其與長英文單詞詞典匹配。如果與已知英文單詞的明文具有強烈的匹配性,那麼您可能已成功解密並可停止。

注意,即使有16位密鑰,根據加密是怎麼做的,這並不完全是微不足道的事,因爲你還需要知道一些有關的加密方法。

+0

對於初始掃描來說,在試用解密中通常足以查找隨機的偏離。隨着英語明文絕大多數字節在正確的明文都在範圍0x32至0x7F的。在該範圍內的字節超過75%的任何試驗是值得進一步看使用的字典。 – rossum

1

這很大程度上取決於加密算法。如果您的郵件是通過xoring每個字母與相同長度的密鑰進行加密的,則您沒有機會解密該郵件。 One-Time-Pad是一種完美的安全加密方法(至少如果它只用於一種加密)。

如果消息使用非完美安全的方法進行加密,則應該遍歷密鑰空間(所有可能用於加密的密鑰的空間)。之後,您必須檢查生成的解密消息是否可能是原始消息。爲此,您可以檢查dictonary是否包含候選人的子字符串。

再說一次,如果不知道用於加密的算法,就很難描述一種解密消息的方法。