定理(PSG2)の証明のアイデア
p(n) = n + 2 のとき、G(s) = (f2(s), hc(f(s)), hc(s)).
- 真の乱数 R = (r, σ0, σ1)
- ハイブリッドH = (f(s), hc(s), σ1)
- 疑似乱数 G = (f2(s), hc(f(s)), hc(s))
RとHは、(r, σ0)と(f(s), hc(s))が区別できないので、区別できない。
HとGは、(s, σ1)と(f(s), hc(s))が区別できないので、区別できない。
よって、RとGは区別できない。
定理(PSG2)の証明
任意のPPT識別者DのGに対する識別利得をε(n)とおく:
ε(n) =

Pr[ s ← {0,1}
n : D(G(s)) = 1 ] - Pr[ r ← {0,1}
p(n) : D(r) = 1 ]

.
0以上p'(n)以下の各jについて、以下のハイブリッド分布Hnjを考える:
Hnj:
- sj ← {0,1}n+j
- i ∈ [(j+1)..p'(n)] :
- (s'i-1, σi-1) = si-1
- si = (G0(s'i-1), σi-1)
- return sp'(n)
あきらかに、
ε(n) =

Pr[ s' ← H
n0 : D(s') = 1 ] - Pr[ s' ← H
np'(n) : D(s') = 1 ]

.
ここで、Gに対する識別者Dを用いて、G0に対する識別者D0を以下のように構成する:
D0: w (∈{0,1}n+1)を入力として、
- j ← [1..p'(n)], σj ← {0,1}j-1, sj ← (w,σj) /* n+j ビット */
- i ∈ [(j+1)..p'(n)] :
- (s'i-1, σi-1) = si-1
- si = (G0(s'i-1), σi-1)
- return D(sp'(n))
識別者D0の解析:
- D0への入力が、w ← {0,1}n+1 のとき、
- j として J が選択されたら、
- sJ は n+J ビットのランダム文字列。
- よって、sp'(n)の分布はHnJの分布と同一。
- 以上より、
- Pr[ w ← {0,1}n+1 : D0(w) = 1 ]
- = 1/p'(n) ΣJ=1..p'(n) Pr[ w ← {0,1}n : D0(w) = 1
j=J ]
- = 1/p'(n) ΣJ=1..p'(n) Pr[ s' ← HnJ : D(s') = 1 ].
- D0への入力が、w = G0(s) (s ← {0,1}n) のとき、
- j として J が選択されたら、
- sJ は n+(J-1) ビットのランダム文字列に一回G0を適用した形。
- よって、sp'(n)の分布はHnJ-1の分布と同一。
- 以上より、
- Pr[ s ← {0,1}n : D0(G0(s)) = 1 ]
- = 1/p'(n) ΣJ=1..p'(n) Pr[ s ← {0,1}n : D0(G0(s)) = 1
j=J ]
- = 1/p'(n) ΣJ=1..p'(n) Pr[ s' ← HnJ-1 : D(s') = 1 ]
- = 1/p'(n) ΣJ=0..(p'(n)-1) Pr[ s' ← HnJ : D(s') = 1 ].
よって、D0のG0に対する識別利得は
- 1/p'(n) | Pr[ s' ← Hnp'(n) : D(s') = 1 ] - Pr[ s' ← Hn0 : D(s') = 1 ] |
に等しいが、G0は疑似乱数生成器なので、これはネグリジブル。よって、ε(n)もネグリジブルである。
Q.E.D.
最終更新:2009年10月01日 15:53