Pseudo-Random-Generator
讓GGG成為PRG。以下是G′G′G’基於的建築GGG一定是PRG?
$ G $ 是一個 PRG,其中 $ |G(s)| > 2 \cdot |s| $ .
- $ G’(s) = G(s0^{|s|}) $ .
- $ G’(s) = G(s_1…s_{n/2}) $ , 在哪裡 $ s = s_1…s_n $ .
我的問題是我自己提出的解決方案是否正確並且有意義。
在我看來很好!我的直覺是 PRG 屬性的意思是“隨機輸入,隨機輸出”。
在 1. 輸入不是隨機的,所以我們不能保證 - 實際上,形式上可以採用任何帶有 2s 位輸入的 PRG H,然後將 G 定義為 H,除了最後 s 位為 0 的字元串,在這種情況下 G輸出全零字元串。現在 G 仍然是一個 PRG,因為命中其中一個修改點的機率最多為 $ 2^{-s} $ 這總體上的差異可以忽略不計。但 $ G’ $ 現在是始終輸出全零字元串的函式。
我在這裡添加的是從直覺到正式證明的步驟:我給出了一個案例 $ G $ 可以證明是 PRG(好吧,我沒有在這裡證明,但這是一個簡單的練習)和 $ G’ $ 可證明不是PRG。
在 2. 如果 $ s_1 \ldots s_n $ 是均勻的 $ {0,1}^n $ 然後 $ s_1 \ldots s_{n/2} $ 肯定是統一的 $ {0,1}^{n/2} $ . 所以申請 $ G $ 到這個字元串產生一些均勻分佈在範圍內的東西 $ G $ ,因此就像你說的那樣,整個事情都是PRG。