補題(DummyA)の証明のアイデア
πはダミー攻撃者AεについてφをUC模倣するとする。
このとき、Aεに対するシミュレータSεが存在する。
πに対する任意の攻撃者をAとすると、
AとSεを用いて、Aに対するシミュレータSを自然に構成できる。
補題(DummyA)の証明
πはダミー攻撃者AεについてφをUC模倣するとする。
このとき、Aεに対するシミュレータSεが存在し、
- EXECφ,Sε,Z ≡c EXECπ,Aε,Z. (∀Z)
πに対する任意の攻撃者をAとする。
AとSεを用いて、Aに対するシミュレータSを構成する。
シミュレータS:
- 自身の内部で、AとSεを起動する。
- [Zから] Zから(Aへの)メッセージを受け取ったら、そのまま内部Aに渡す。
- [パーティPから] Pから(Aへの)メッセージを受け取ったら、そのまま内部Sεに渡す。
- [内部Aから]
- 内部AがZへのメッセージを発したら、そのままZに送る。
- 内部AがあるパーティPにメッセージを配達したら、そのメッセージの配達指示をSεに渡す。
- [内部Sεから]
- 内部SεがあるパーティPにメッセージを配達したら、そのままPに渡す。
- 内部Sεの出力は、パーティの送信したメッセージとして、Aに渡す。
矛盾を導くために、φがSを通してπをUC模倣しないとする。すなわち、
- EXECφ,S,Z ≠c EXECπ,A,Z. (∃Z)
AとZを用いて新たに環境Zεを構成する。
環境Zε:
- 自身の内部で、自身の入力をZにセットして、ZとAを起動する。
- [内部Zから]
- 内部Zから(Aへの)メッセージを受け取ったら、そのまま内部Aに渡す。
- 内部Zからパーティへの入力は、そのまま自身のパーティへ入力する。
- [パーティPから] Pからその出力値を受け取ったら、そのまま内部Zに渡す。
- [内部Aから]
- 内部Aがあるパーティにメッセージを配達したら、そのメッセージの配達指示を自身の外部攻撃者に渡す。
- 内部Aが環境に向けて値を出力したら、そのままその値を内部Zに渡す。
- [出力] 内部Zが停止たら、その出力値を自身の出力として停止する。
このZεについて、明らかに、
- EXECφ,Sε,Zε ≡c EXECφ,S,Z
- EXECπ,Aε,Zε ≡c EXECπ,A,Z.
したがって、
- EXECφ,Sε,Zε ≠c EXECπ,Aε,Zε.
これは、φに対するSεが、πに対するダミー攻撃者をUC模倣するとの仮定に反する。
Q.E.D.
最終更新:2010年01月13日 18:14