定理(InfCom)の証明のアイデア

あるプロトコルπが機能FCOMを安全に実現するならば、
  • ある環境ZCにおいてダミー攻撃者によるREAL(なプロトコルπの実行)をエミュレートするシミュレータSが存在しなければならない。
  • そのシミュレータSを、別のある環境ZRのもとで、ある攻撃者ARが利用するとエミュレート不可能なREALが存在してしまう。

定理(InfCom)の証明

あるプロトコルπが機能FCOMを安全に実現するとする。

まず、以下の環境ZCを構成する。
環境ZC:
  • 攻撃者にパーティCのコラプトを指示。
  • b ← {0,1}
  • 攻撃者をダミー攻撃者として用いて、Cの名前で、パーティRに値bを(プロトコルπを用いて)コミットする。
  • Rが Receipt を出力するのを確認し、攻撃者をダミー攻撃者として用いて、Cの名前で、パーティRに値bをオープンする。
  • Rの出力 b' を得て、b =? b' を出力する。
明らかに、REALでは、ZCは常に1を出力する。

πは機能FCOMを安全に実現するので、あるシミュレータSが存在し、
  • SはFCOMとやり取りしながら、ZCにネグリジブルな例外を除いて1を出力させる。
このとき、FCOMは、コミットメントとして、コミットメント対象の値そのものしか受け取らないので、
  • (Cをコラプトした)Sは、ZCのコミットメントから正しい値bを抽出していなければならない。

このSを用いて、以下の攻撃者ARを構成する。
攻撃者AR:
  • (環境からの指示に従い)Rをコラプトする。
  • (Rの立場で)Cからのコミットメントを受け取る。
    • このとき、内部でSを起動し、受け取ったメッセージをSに中継する。(Sに対してZCとして振る舞う。)
  • Sが値b' を抽出したら、b' を環境に渡す。

以下の環境ZRを考える。
環境ZR:
  • 攻撃者にパーティRのコラプトを指示する。
  • b ← {0,1}
  • パーティCに b へのコミットを指示する。
  • 攻撃者から値b' を受け取り、b =? b' を出力する。

[ZRの解析]
  • AR内部のSの抽出機能のため、REALでは、ZRはほぼ常に1を出力する。
  • ところが、FCOMは、コミットメントフェーズにおいて、Receiptしか出力しない。(Receiptにはbの情報は全く含まれない。)
  • よって、IDEALでは、任意のシミュレータについて、ZRが1を出力する確率は1/2である。
  • よって、イデアルプロセスでどのようなシミュレータを用いても、ZRはREAL/IDEALを識別する。
  • これは、πが機能FCOMをUC実現することに矛盾する。

Q.E.D.




















最終更新:2010年01月26日 17:59