どちらかの定義に従って
安全なメッセージ認証コードがある場合
、本の定義が安全な
メッセージ認証コードとして分類され、定義が安全でないと分類されるシステムが
あります。
しましょう ⟨Gen,MAC,Verif⟩ どちらかの定義に従って安全であること。 本の定義
はあなたの定義よりも弱いので、本の定義に
よれば特に安全です。
効率的に計算可能で効率的に逆変換可能な
順序付けされたペアのコーディングを修正
します。たとえば、効率的に計算可能で
効率的に逆変換可能な 左のエントリの表現を右のエントリに連結します
。
ましょうMAC kの出力を空の文字列とペアにすることで機能します。
ましょう VERIFのkはMACk′MACk
[[ Verif kがメッセージと
タグの左のエントリを受け入れる]および[入力の右のエントリが kのプレフィックスである ]場合にのみ受け入れます
。Verifk′Verifk
k ⟨Gen,MAC′,Verif′⟩ 明らかに効率的で、要件を満たしています。 [タグと空の文字列をペアにする]
と[出力の左側のエントリを取得する]ので、本の
セキュリティの定義を攻撃する実行可能な敵対者
⟨Gen,MAC′,Verif′⟩
の本のセキュリティの定義を破る無視できない確率を持つことはできません
⟨Gen,MAC,Verif⟩、 本の
定義も分類します⟨Gen,MAC′,Verif′⟩安全なメッセージ認証コードとして。
ただし、攻撃者がkの有効なメッセージタグペアを取得すると、k2⋅(length(k)+1)
Verif k
への適応クエリは kを学習するのに十分ですVerifk′k、どのメッセージでも偽造が可能です。
したがって、あなたの定義は分類します⟨Gen,MAC′,Verif′⟩ 安全ではない。 QED
2つの定義の強力な偽造防止バージョンは同等です。
Q
Q+
初期化 Q+ 空のセットとして、 ⟨m,t⟩ に Q+
MACktm
Verifk すでに入れられたペア Q+。
クエリを試行し
ていて、試行したクエリの後に来なかった場合にのみ
、クエリを早期試行するように定義します。
Verifk
BMACk(⋅)(1n,q,j)A
未満を使用 jr∈{1,2,3,...,q−2,q−1,q}ほぼ均一。
すべてを「転送」AMACk(⋅) クエリ MACk(⋅)
A0r−1
1Verifk試みていないそれへのクエリで。
もしAMACk(⋅),Verifk(⋅,⋅)(1n)r
AMACk(⋅),Verifk(⋅,⋅)(1n)出力を与え、次に同じ出力を与えます。
すべてのランダム性が修正された場合、AMACk(⋅),Verifk(⋅,⋅)(1n) 正確に作る r−1
BA,MACk(⋅)(1n,q,j) 強力な偽造不可バージョンの本の実験に成功。
Bϵ
q
(1q−q2^j)⋅ϵ
Bj
q
MACk
MACkの そのクエリへの応答]、そしてそれ以上にささいな追加の複雑さしかありません。
Verifk