CBC-MAC
CBC-MACの不適切な利用に対する攻撃法を示す。
ブロック暗号が安全であれば、CBC-MACは固定長のメッセージについては安全であるが、可変長のメッセージについては安全ではない。そのため、ある鍵は固定長かつ既知の長さのメッセージにしか用いることはできない。これは、攻撃者が2組のメッセージ‐CBC-MACのペア ( m , t ) {\displaystyle (m,t)} および ( m ′ , t ′ ) {\displaystyle (m',t')} を知っている場合、CBC-MACが t ′ {\displaystyle t'} となるメッセージ m ′′ {\displaystyle m''} を生成することが可能であるためである。メッセージ m ′′ {\displaystyle m''} の生成は以下の手順となる。メッセージ m ′ {\displaystyle m'} の最初のブロックと t {\displaystyle t} の排他的論理和をとり、メッセージ m {\displaystyle m} とこの改変したメッセージ m ′ {\displaystyle m'} を連結する: m ′′ = m ‖ [ ( m 1 ′ ⊕ t ) ‖ m 2 ′ ‖ ... ‖ m x ′ ] {\displaystyle m''=m\|[(m_{1}'\oplus t)\|m_{2}'\|\dots \|m_{x}']} 。