2012-04-09 5 views
0

SHA2の実装をPythonで調べたところ、 。キーがわかってダイジェストが分かったら、プレーンテキストを元に戻すことは可能ですか? (brute-forceなしのプレイメージ攻撃)http://en.wikipedia.org/wiki/Preimage_attackSHA2 - ダイジェストとキーを持っているとメッセージを回復するのが難しい(実際にはブルートフォースを使用しないと不可能な)理由

ブロックサイズ(入力サイズ)が512ビットで、出力サイズが256ビットであると私の直感にNOと表示されます。これは、(暗号的に)良好なハッシュ関数であるためには、関数が多対1の関数(非可逆)でなければならないことを意味します。 {これは、関数が反転可能であるべきブロック暗号の要件と全く反対です。}

私の知る限り、多対1のランダムな関数を持つことです。

答えて

4

同じNビットキー(Nの任意の値)にマップされるテキストが多いため、ブルートフォースであっても、指定されたハッシュのプレーンテキストを復元することは不可能です。つまり、同じダイジェスト値を持つ異なるメッセージがあります。

+0

ええ、でも、ほんの少ししか完全に文字化けしていない(プログラマチックに確認できる)ナンセンスではない可能性があります。 –

+1

@arxanas間違っていて、この用語は「エントロピー」と呼ばれています。ハッシュがメッセージよりもエントロピーが著しく少ない場合、同じダイジェストにハッシュする多くの有効なメッセージが(指数関数的に)存在する可能性があります。 – Mysticial

+0

"有効"を定義します。 –

関連する問題