定理(NMinRO)の証明

構成(CCAinRO)に対する任意のPPT攻撃者を(F,A)とする。Aを用いてシミュレーターA*を構成する。

シミュレーターA*: (pk=i,π)を入力として、
  • x* ← π(1n), r ← {0,1}n, α = (fi(r), G(r)+x*, H(r,x*))
  • α' ← A(pk,π,α)
  • return α'

Exp1:
  • G,H ← {0,1}, (i,ti) ← Genf(1n), pk = (i,G,H), π ← F(pk),
  • x ← π, r ← {0,1}n, α = (a=fi(r), w=G(r)+x, b=H(r,x)),
  • α' = (a',w',b') ← A(pk,π,α), r' = fi-1(a'), x' = w' + G(r')
  • H(r',x') ≠? b' : x' = ⊥
  • return ρ(x, x')      // ε(n) = Pr[Exp1 = 1]

ε(n)の分析:
  • Case 1: α' = α. x'=xとなるので、定義より ρ(x,x') = 0.
  • Case 2: α' ≠ α, AはHオラクルに(r',x')を問い合わせていない.
    • α' ≠ αより、x' ≠ x または r' ≠ r. よって、H(r',x')はAにとって一様ランダム。よって、Pr[ρ(x,x') = 1] ≦ Pr[b' = H(r',x')] = 2-n.
  • Case 3: α' ≠ α, AはHオラクルに(r',x')を問い合わせている. λ1 := Pr[Case3].
    • Case 3-(i): AはGまたはHオラクルに r を問い合わせていない. λ2 := Pr[Case3-(i),ρ(x,x') = 1 | Case3].
      • このとき、AにとってG(r)は一様ランダム。よって、wにxの情報はなく、xはsupp(π)上一様分布。
    • Case 3-(ii): AはGまたはHオラクルに r を問い合わせている.
      • このときAはfiの一方向性を破っているので、あるネグリジブルな関数ηがあって、Pr[Case3-(ii)] ≦ η(n).

以上より、ε(n) ≦ 2-n + λ1 ( λ2 + η(n) ).

Exp2:
  • G,H ← {0,1}, (i,ti) ← Genf(1n), pk = (i,G,H), π ← F(pk),
  • x ← π, x* ← π, r ← {0,1}n, α = (a=fi(r), w=G(r)+x*, b=H(r,x*)),
  • α' = (a',w',b') ← A(pk,π,α), r' = fi-1(a'), x' = w' + G(r')
  • H(r',x') ≠? b' : x' = ⊥
  • return ρ(x, x')      // ε*(n) = Pr[Exp2 = 1]


Exp2においてもAのviewは、Exp1におけるそれと全く同じ。よって、
  • 上のケースわけは、Exp2においても、全く同じ確率分布で行われる。
  • Case 3-(i)では、G(r)はAにとって一様ランダムなので Pr[ρ(x,x')] = Pr[ρ(x*,x')].
  • よって、ε*(n) ≧ λ1 λ2.

したがって、ε(n) - ε*(n) ≦ 2-n + λ1 η(n).
Q.E.D.







最終更新:2009年08月14日 18:55