CSA E0 235: Cryptography Tutorial Questions
CSA E0 235: Cryptography Tutorial Questions
G0(s) = G(s||0|s|) maintains pseudorandomness. The addition of a known sequence like 0|s| does not affect the security as long as |G(s)| > 2|s|, thereby not reducing its unpredictability or pseudorandomness .
G0(s) = G(s||0) can remain a pseudorandom generator if the output size condition |G(s)| > 2|s| is fulfilled. The additional bit does not compromise pseudorandomness unless the generator's expanding mechanism is weak .
The concatenation in G0(s) = G(s)||0 maintains pseudorandomness. The static append of '0' is predictable and does not affect the randomness of the rest of the output string, as long as G(s) is securely pseudorandom and |G(s)| > 2|s| .
G2(s1||s2) := G(s1) ⊕ G(s2) is not secure because using XOR on two outputs of the secure pseudorandom generator G does not necessarily maintain the pseudorandomness. The XOR operation can potentially cancel out the randomness if there is some dependency between G(s1) and G(s2).
Using G1(s1||s2) := G(s1) ∧ G(s2) as a pseudorandom generator is insecure. The bit-wise AND operation significantly reduces entropy, potentially allowing adversaries to predict the output. This violation of unpredictability makes it insecure .
The condition |G(s)| > 2|s| is essential for ensuring the pseudorandomness of G0(s) because a greater expansion factor provides more entropy and reduces any chance of pattern predictability. It ensures that even with some known bits (e.g., appending zeroes), the pseudorandom properties are not compromised .
G0(s) = G(s1, ..., sn/2) might not be a pseudorandom generator. Reducing the input from s to only half the bits potentially loses randomness and unpredictability that depends on the full input size, thus it may not maintain the pseudorandom properties .
Gc(s) = Ga(s)||Gb(s) is a pseudorandom generator only if both Ga and Gb are individually secure pseudorandom generators. The concatenation of two secure pseudorandom bit-strings is also pseudorandom, assuming that the security of Ga and Gb are not correlated. However, the security might be compromised if either Ga or Gb is not secure .
The implications of defining Gc(s) as Ga(s)||Gb(s) are that Gc can be a pseudorandom generator only if both Ga and Gb are independently pseudorandom. The concatenated result will maintain the unpredictability characteristics of both inputs provided they are individually secure. This leverage allows combining outputs to achieve a potentially larger, still secure pseudorandom output .
Applying a bit-wise XOR with 1n in G3(s) := G(s) ⊕ 1n effectively flips all the bits, maintaining the randomness and unpredictability of G. This transformation does not compromise the security or the pseudorandom properties of G provided G is secure .