2011-10-17 13 views
5

暗号チャレンジの暗号を解除するヒルクライミングアルゴリズムで活力をテストするアルゴリズム(プログラミング言語)が必要です。アルゴリズムは、ランダムな解読(スペースを持たない)が英語のテキスト(まだ不完全な単語の点を与える!)か、ランダムな文字の並びである可能性をテストする必要があります。ブルートフォース言語の検出

私が開発したいくつかのアルゴリズムで試しましたが、あまり良くありませんでした。

私の研究:

謎M4の暗号化プロジェクト(http://www.bytereef.org/m4_project.htmlは)あまりにも、私が使用したいSinkov統計を、使用しています。

私が見つけた唯一の事は、私が探しているSinkov対数分析を含むJavaフレームワークの「quebra -pedra」です。

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

ご意見ありがとうございます。私はマルコフ連鎖を知らなかったが、私はバイグラムのスコアを計算することについて同じ考えを持っていた。私が自分の数式で持っていた問題は、実際のテキストとゴミとの距離が非常に小さいことでした。私はあなたのコードを見て、マルコフ連鎖についてもっと学びます。 –

+0

私の同僚がrrenaudのプロジェクトをJavaに翻訳しました。これは誰にでも役立ちます。https://github.com/paypal/Gibberish-Detector-Java – Eyal