2011-10-17 59 views
5

我需要一種算法(任何編程語言)來測試活力,用爬山算法來破解密碼挑戰的密碼。該算法應該測試一個隨機解密(沒有空格)是一個英文文本的可能性(也給予尚未完成的單詞的點數!)或只是一個隨機的字符序列。蠻力語言檢測

我試着用我開發的幾種算法,但他們不太好。

我的研究:

一個謎M4加密項目(http://www.bytereef.org/m4_project.html)使用Sinkov統計,我想用也。

我發現的唯一的東西是一個«quebra -pedra»文檔,它是一個Java框架,包括我正在尋找的Sinkov log-weight分析。

http://www.google.com/m?client=ms-android-samsung&source=android-home#q=Quebra-pedra+framework+java

但我還沒有找到在哪裏下載的框架。另外我還沒有找到Sinkov測試的任何實現或描述。

我會很高興任何提示。謝謝。

回答

5

我不知道Sinkov統計信息,但是來自自然語言處理的語言模型可以完全按照您的要求進行操作,通過與英語的相似程度對文本進行評分。

我在這裏寫了一個簡單的字符bigram,它應該是相當容易遵循的。

https://github.com/rrenaud/Gibberish-Detector

+0

感謝您的評論。我不知道馬爾可夫鏈,但我對計算bigrams得分有相同的想法。我用自己的公式得到的問題是,真實文本和垃圾之間的距離非常小。我會查看你的代碼,以更多地瞭解馬爾可夫鏈。 –

+0

我的同事將rrenaud的項目翻譯成Java,萬一這對任何人都有用https://github.com/paypal/Gibberish-Detector-Java – Eyal