Matyas–Meyer–Oseas
ブロック暗号を一方向の圧縮関数に変える方式。連鎖値が鍵に、メッセージブロックが平文になる。
式は Hi = Eg(Hi−1)(mi) ⊕ mi で、gは連鎖値を鍵の形式に整える関数である。IBMのスティーブン・マティアス、カール・マイヤー、ジョナサン・オセアスが1985年に発表した。Davies–Meyerの役割を入れ替えたものと言ってよい。メッセージを最後にXORするフィードフォワードが逆算を難しくしており、それがなければただの暗号化にすぎない。
鍵がメッセージではなく連鎖値で変わるため、攻撃者は鍵スケジュールを直接操作できない。この構成はISO/IEC 10118-2に残っており、Zigbeeでも使われている。ZigbeeのAES-MMOハッシュは、小型機器が別にSHAの実装を持たずに済むためのものだ。