CBC-MACが可変長メッセージに対して安全でない理由を誰かが説明できますか?
私はたくさんの本を読みましたが、まだいくつかの混乱があります。次の写真でハイライトされている部分のように
最初の質問、なぜT "= C0を設定する必要があるのですか?
理解できない最大の質問である2番目の質問、なぜT "'= T"なのか。この関係を証明する方法は?
3番目の質問、なぜ新しいメッセージ= P0.P1。(P0 xor T ')ですか?
誰かが私を助けてくれますか?ありがとう!
単純な形式では、CBC-MACは「長さ拡張攻撃」に対して脆弱であり、最後にブロックを追加するだけです。
したがって、人々がそうするのを止めるためには、どういうわけか最終ブロックを最終ブロックとしてマークする必要があります。そしてnotそれを他のブロックのように扱います。
Wikipediaには2つの方法がリストされています :ブロックカウントのプレフィックス、または独立したキーで最終ブロックを暗号化(これは "暗号化CBC-MAC"またはECBC-MACとして知られています)。