2011-07-20 13 views
3

私は暗号を研究しており、DES(データ暗号化規格)を破るためにJavaまたはCコードを開発する必要があります。私はDESで使用されているアルゴリズムを認識していますが、JavaまたはCでコーディングするにはどうすればよいかわかりません。Java暗号化アーキテクチャーについて聞いたことがありますが、使用方法がわかりません。誰かに私のための短いチュートリアルを提供することはできますか?破損するコードDES

おかげ

+0

そして、あなたはブレークとはどういう意味ですか?ブルートフォースや何か良い? – CodesInChaos

+0

ブルートフォースは、私がそれで使用されている方法を知っているので、行うでしょう –

+0

あなたはGPUでそれを行うことを検討するかもしれません。 – CodesInChaos

答えて

4

どのようにDESを "中断"しようとしているかによって決まります...あなたは与えられた暗号文(ciphertext-only attack)を解読しようとしています。

DESエンコードをサポートできるライブラリの他に、おそらく追加で探す必要があるものは、暗号解析をサポートするライブラリで、これを実装する方法を感じることができます。ブルートフォースはそのようなライブラリを必要とせず、56ビットキーの可能な値を繰り返し、あなたの暗号文を解読しようとするのと同じくらい簡単です。 DESをサポートしている限り、これには事実上あらゆるプログラミング言語を使用できます。

もっと洗練されたものをご希望の場合は、線形または差分暗号解読の場合、良い紹介はModern Cryptanalysisです。その本のコードサンプルはPythonを使用しています。 PythonやRubyなどの高水準言語の使用を検討することもできます。これは、C言語のようなものを実装するのに比べて開発プロセスをスピードアップするためです。メモリ管理、ポインタによる厄介なエラーに対処する必要はありませんPythonとRubyはDES暗号化と復号化をサポートしています。欠点は、あなたのコードはおそらくより低レベルの言語でパフォーマンスが良いということです(あなたが正しいとすれば) - 速度が本質であれば、CはOpenSSL(あるいはDESサポート付きの他の暗号ライブラリ)と組み合わせて、良い選択だろう。暗号解読ライブラリの

0

は、DESの攻撃ベクトル1上の参照のためのDES Wiki entryのセキュリティセクションを参照してください。

+0

はい私はそれを見ましたが、私が言ったように、JavaやCを使って同じコードを書くのは難しいと思っています。どこから始めるべきかわかりません –

関連する問題