Got some theoretical questions about PRGs to solve (given by lecturer for self-learning, no score involved).
Tried to find on the internet but couldn't figure out how to solve them, so I will mention my own intuition but I would appreciate a formal answer to the questions to fully understand.
$G_1$ , $G_2$ are safe PRGs in range $\{0,1\}^n \rightarrow \{0,1\}^{2n}$, s.t. $G_1 \not = G_2$. Is $G$ necessarily a PRG? Prove your answer.
- $G(s) = G_1(s) \oplus G_2(s)$
- $G(s) = \overline{G_1(s)} \oplus G_2(s)$
- $G(s) = G_1(s) \oplus G_2(s \oplus 1^{|s|})$
- $G(s) = \overline{G_1(s)} \oplus G_2(s \oplus 1^{|s|})$
- $G(s) = G_1(s) \oplus G_2(0^{|s|})$
- $G(s) = \overline{G_1(s)} \oplus G_2(0^{|s|})$
- $G(s) = \overline{G_1(s) \oplus G_2(0^{|s|})}$
Now $G$ is in range $\{0,1\}^n \rightarrow \{0,1\}^{n+1}$. Is $G'$ necessarily a PRG? Prove your answer.
- $G'(s) = G(s \oplus s^R)$ ($R$ is reverse)
- $G'(s) = G(s \oplus G(s)^{1,...,n})$ ($G(s)^{1,..,n}$ stands for $G(s)$ first $n$-bits).
Intuition:
I belive XOR maintains the PRG attribute, so a. (and therefore b.) is true.
In 3. we essentialy flipping the bits of $G_2$ input, can't see any harm at this, same goes for d. but we flip bits of result.
Well, I think I should stop the guessing now and get a true answer for the questions, since I really have no clue.