"Расширение" генератора псевдослучайных чисел
По генератору G(x)=g(x)h(x) построим G′(x)=h(x)h(g(x))h(g(g(x)))….
Утверждение
Если G(x) - генератор псевдослучайных чисел, то G′(x) - тоже генератор псевдослучайных чисел.
Доказательство
Метод гибридного аргумента: Gk+1(x)=h(x)h(g(x))h(g(g(x)))…h(gk(x))gk+1(x) Gk(x,r1)=r1h(x)h(g(x))h(g(g(x)))…h(gk−1(x))gk(x) Gk(x,r1,r2)=r1r2h(x)h(g(x))h(g(g(x)))…h(gk−2(x))gk−1(x) G1(x,r)=r1r2…rk+1x G0(x,r)=r1r2…rkh(x)g(x) G0 - истинно случайные биты. Gk - претендент на генератор.
Если Gk+1=G′ - не генератор, то ∃D ∃q(⋅) ∀N ∃n>N |Prx,r{D(G0(x,r))=1}−Prx,r{D(Gk(x,r))=1}|≥1q(n) ⇒∃q′ ∀N ∃n>N ∃i|Prx,r{D(Gi(x,r))=1}−Prx,r{D(Gi+1(x,r))=1}|≥1q′(n) Тогда G - не генератор:
отличили r1r2…rk−i+1h(x)h(g(x))…h(gi−1(x))gi(x)
от r1r2…rk−ih(x)h(g(x))…h(gi(x))gi+1(x)
Переобозначим: y=gi(x), s=r1…rk−i, T(x)=h(x)…h(gi−1(x))gi(x).
В этих обозначения мы отличили srk−i+1T(x) от sh(x)T(g(x)).
Фиксируя s, отличили rT(x) от h(x)T(g(x)). D′(x,r)=D(srT(x)) D′ будет отличать xr от g(x)h(x). Это приводит к противоречию с тем, что g(x)h(x) - генератор псевдослучайных чисел.