Loading [MathJax]/jax/output/HTML-CSS/jax.js
Now you are in the subtree of Lecture Notes public knowledge tree. 

"Расширение" генератора псевдослучайных чисел

По генератору 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(gk1(x))gk(x) Gk(x,r1,r2)=r1r2h(x)h(g(x))h(g(g(x)))h(gk2(x))gk1(x) G1(x,r)=r1r2rk+1x G0(x,r)=r1r2rkh(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 - не генератор:
отличили r1r2rki+1h(x)h(g(x))h(gi1(x))gi(x)
от r1r2rkih(x)h(g(x))h(gi(x))gi+1(x)

Переобозначим: y=gi(x), s=r1rki, T(x)=h(x)h(gi1(x))gi(x).

В этих обозначения мы отличили srki+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) - генератор псевдослучайных чисел.