翻訳と辞書 |
CBC-MAC CBC-MAC (cipher block chaining message authentication code) は、ブロック暗号からメッセージ認証符号を生成する手法である。あるブロック暗号のCBCモードでメッセージを暗号化することで暗号ブロックの連鎖を形成すると、それぞれのブロックの暗号化はその前のブロックの暗号化の結果に依存する。そのため、平文が1ビットでも変化すると、暗号化後の最終ブロックも変化することとなる。 メッセージ のCBC-MACを計算するには、初期化ベクトルを0としてCBCモードで暗号化を行う。次の図は、メッセージ を とブロックに分割し、秘密鍵 とブロック暗号 を用いてCBC-MACを計算する様子を示している。
== 固定長及び可変長のメッセージにおけるセキュリティ == ブロック暗号が安全であれば、CBC-MACは固定長のメッセージについては安全であるが〔M. Bellare, J. Kilian and P. Rogaway. The security of the cipher block chaining message authentication code. JCSS 61(3):362–399, 2000.〕、可変長のメッセージについては安全ではない。そのため、ある鍵は固定長かつ既知の長さのメッセージにしか用いることはできない。これは、攻撃者が2組のメッセージ‐CBC-MACのペア および を知っている場合、CBC-MACが となるメッセージ を生成することが可能であるためである。メッセージ の生成は以下の手順となる。メッセージ の最初のブロックと の排他的論理和をとり、メッセージ とこの改変したメッセージ を連結する:。メッセージ を計算する場合、メッセージ の場合と同様タグ までは通常に計算される。しかし、続く の計算において、 と の排他的論理和を計算することとなるためこれは打ち消され、本来のメッセージ はMAC値に寄与しないこととなる( であるからメッセージ のCBC-MACタグは となる)。 この問題は、メッセージ長の情報を最後に追加することでは解決できない〔。可変長メッセージにおいてもCBC-MACを安全に利用するためには3つの主な改良法が存在する。一つ目は鍵の入力長の分割、2つめはメッセージ長の情報を先頭に追加すること、3つめは最後のブロックを暗号化することである〔。CMACやHMACのような、可変長メッセージでも安全な他の暗号利用モードを用いることも検討すべきである。
抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「CBC-MAC」の詳細全文を読む
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|