Let $G(x)$ be a pseudo-random generator such that:
$G(x)$ = $f_x(0^k)f_x(1^k)$ where $k=|x|$.

I don't understand the meaning of $1^n$, $0^n$ and the differences between them within that context.
What do they represent?

EDIT:
I know it represent a string of zeros or ones but why always in cryptography $1^k$ and $0^k$ are used? Why not other combinations? Do they have a symbolic value? That is the part that confuses me.

1 Answer
1

Without seeing the entire formal construction: It seems like they wanted different strings. Meaning they needed $f_x(a)||f_x(b)$ where $a≠b$. The easiest way to express this is using the all $0$ and all $1$ strings, but any other pair of distinct strings of that length would yield the same effect.

As to why they wanted this: They're using a PRF twice to construct a PRG. Consider what would happen if they used the same string both times. You'd get
$$G(x)=f_x(0^k)||f_x(0^k)$$

And the output string would have the property that the first half of the bits are same as the second half of the bits and this would not be pseudorandom(a distinguisher can just check if the the first half and second half of the bits are the same), so $G$ would definitely not be a PRG.