SHA-224とSHA-256が異なる初期値を使用するのはなぜですか?


9

ウィキペディア-SHA-2によると

SHA-224はSHA-256と同じですが、次の点が異なります。

  • 初期変数値h0からh7は異なります。
  • 出力はh7を省略して作成されます。

RFC3874-224ビットの一方向ハッシュ関数:SHA-224は言います

異なる初期値を使用すると、切り捨てられたSHA-256メッセージダイジェスト値が、同じデータで計算されたSHA-224メッセージダイジェスト値と間違われることがなくなります。

私の質問:

  1. 上記の理由は、SHA-224とSHA-256が異なる初期値を使用する唯一の理由ですか?

  2. SHA-256メッセージダイジェスト値をSHA-224メッセージダイジェスト値と間違えないようにすることが重要なのはなぜですか?

  3. 両方のハッシュ関数に同じ初期値を使用すると、どちらかのハッシュ関数のセキュリティが低下しますか?はいの場合、どのように?


7
これはほぼ間違いなくcrypto.SEに適しています
Peter Taylor

1
少なくとも質問2はここでは話題から外れているようです。結局のところ、それは人々がコンピュータをどのように使用するか、そして彼らにとって何が便利かということに関係しています。本当にTCSの質問ではありません。
Jukka Suomela、2011年

回答:


4
  1. これを、同じアルゴリズムを異なる出力サイズに使用するとき、ドメイン分離と呼びました。
  2. ハッシュ値(SH256)を持つ2つのメッセージを見つけた場合、最後のオクテットのみが異なり、SHA224を使用したことを示す最初の7オクテットとしてハッシュ値を公開できるため、分離が必要です。SHA224で衝突する2つのメッセージがすでにあるので、後で偽造攻撃に使用できます。ドメイン分離を使用すると、このような状況を回避できます
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.