MD5で署名するとき、秘密が最後にあることが重要なのはなぜですか?


16

MD5アルゴリズムを使用して任意の情報に署名する場合、共有秘密は最後にある必要があるとよく言われます。どうして?


2
「よく言われる」と言う代わりに、もっと具体的に言ってください。参考文献を引用してください。また、問題が関連している理由を詳しく説明してください。
スレシュヴェンカト

質問のタイトルにタイプミスがあります。「and」を「end」に変更できますか?
カルロスシェーデガー

回答:


16

Merkle-Damgardの「拡張攻撃」を参照してください。この問題はメッセージ認証のためのハッシュ関数の使用で起こります

つまり、シークレットを先頭に置くことで、攻撃者はメッセージとそのハッシュを与えられ、与えられたメッセージをプレフィックスとして持つメッセージを偽造することができます。これは単純なコードの問題ですが、HMACのような既知のコードでは回避されます。


1
入力ストリームを中断し、共有キーがストリームの始まりである場合、最初のブロックはほとんど常に同じハッシュを取得するため、レインボー攻撃を使用して共有キーを推測できると理解していますか?
アレクサンドル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.