0% found this document useful (0 votes)
16 views1 page

CSA E0 235: Cryptography Tutorial Questions

This document contains 3 questions regarding pseudorandom generators (PRGs). Question 1 asks whether concatenating the outputs of two PRGs Ga and Gb results in a PRG, and requires a proof or disproof. Question 2 asks which of three derived PRGs that modify the output of a secure PRG G are also secure. Question 3 asks whether shortening the input or output of a PRG necessarily results in a PRG for five given options.

Uploaded by

Monsoon 123
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views1 page

CSA E0 235: Cryptography Tutorial Questions

This document contains 3 questions regarding pseudorandom generators (PRGs). Question 1 asks whether concatenating the outputs of two PRGs Ga and Gb results in a PRG, and requires a proof or disproof. Question 2 asks which of three derived PRGs that modify the output of a secure PRG G are also secure. Question 3 asks whether shortening the input or output of a PRG necessarily results in a PRG for five given options.

Uploaded by

Monsoon 123
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CSA E0 235: Cryptography 27/08/2019

Tutorial 3
Instructor: Arpita Patra Question Set

1. We define a PRG Gc (s) = Ga (s)||Gb (s) where || is the concatenation operator. Let
Ga , Gb are two different pseudorandom generators i.e., their outputs aren’t necessarily
the same on all inputs s. Is Gc a pseudorandom generator? Prove or disprove.

2. Suppose G(s) is a secure PRG that outputs bit-strings in {0, 1}n . Which of are the
following derived generators are secure?
(a) G1 (s1 ||s2 ) := G(s1 ) ∧ G(s2 ) where ∧ denotes bit-wise AND.
(b) G2 (s1 ||s2 ) := G(s1 ) ⊕ G(s2 ).
(c) G3 (s) := G(s) ⊕ 1n .

3. Let G be a pseudorandom generator where |G(s)| > 2|s|. Is G0 necessarily a pseudo-


random generator?
(a) G0 (s) = G(s1 , . . . , sn/2 ), wheres = s1 , . . . , sn .
(b) G0 (s) = G(s||0|s| ).
(c) G0 (s) = G(s1 , . . . , s|s|−1 )||s|s| .
(d) G0 (s) = G(s)||0.
(e) G0 (s) = G(s||0).

3-1

Common questions

Powered by AI

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 .

You might also like