6.5620 (6.875), Fall 2022: Template
6.5620 (6.875), Fall 2022: Template
6.5620 (6.875), Fall 2022: Template
• Typsetting: You are encouraged to use LATEX to typeset your solutions. You can use
the following template.
• Reference your sources: If you use material outside the class, please reference your
sources (including papers, websites, wikipedia).
Problems:
1
2. (11 points) Statistical and computational indistinguishability. We think of
distributions
P PY on a (finite) set Ω as functions X, Y : Ω → [0, 1] such that for
X,
ω∈Ω X(w) = ω∈Ω Y (ω) = 1. The statistical distance (also known as variational or
L1 distance) between X and Y is defined as
1X
∆(X, Y ) := |X(ω) − Y (ω)| .
2 ω∈Ω
3. (8 points) PRG or not? Let G : {0, 1}2n → {0, 1}ℓ be a pseudorandom generator,
where ℓ ≥ 2n + 1. In each of the following, say whether Gc is necessarily a pseudo-
random generator. If yes, give a proof. Otherwise, show a counterexample. Your
counterexamples must rely only on the existence of pseudorandom generators.
(a) (2 points) Consider G0 : {0, 1}2n → {0, 1}ℓ , where G0 (s) := G(s). Here, s is the
bit-wise complement of s.
(b) (3 points) Consider G1 : {0, 1}n → {0, 1}ℓ , where G1 (s) := G(0n ||s).
(c) (3 points) Consider G2 : {0, 1}2n → {0, 1}2ℓ , where G2 (s) := G(s)||G(s + 1
mod 22n ).
2
4. (3 points) A PRG from a PRF. Prove that, if F is a length preserving pseudorandom
def
function, then G(s) = Fs (⟨1⟩)∥Fs (⟨2⟩)∥ . . . ∥Fs (⟨ℓ⟩), where ⟨i⟩ is the n-bit binary
representation of i, is a pseudorandom generator with expands ℓ bits to ℓ · n bits.
(a) Veronica (we’ll call her V ) sends Lucy a string v (of a certain length that they
decided on), chosen at random.
(b) Lucy (we’ll call her L) chooses a random bit σ ∈ {0, 1}, and Veronica has to guess
what this bit is. To do this, Lucy sends
ℓ ← L(σ, v; r)
to Veronica, where r is Lucy’s private random coins that only she knows.
(c) Now, Veronica reads Lucy’s mind and guesses what σ is.
(d) Finally, Lucy “unlocks” her bit σ by sending σ and r to Veronica. Veronica verifies
that ℓ is indeed L(σ, v; r).
(a) (1 point) Veronica should not gain any information about Lucy’s bit from viewing
the lock (i.e. after step 2 of the game). In other words, a malicious (but compu-
tationally bounded ) Veronica V ∗ should not be able to learn anything about the
honest L’s choice bit σ, no matter what initial message v ∗ she sent.
Using the notion of indistinguishability, give a formal definition of this concealing
property of L.
(b) (1 point) Lucy should not be able to unlock her bit both ways, otherwise she can
always get away with not paying Veronica $100 even if Veronica is a mind-reader
(do you see why?) To ensure this, the locking algorithm L has to be “unmodifiable”.
Give a formal definition of this property.
(c) (2 points) Let G be any length-tripling function, i.e., one for which |G(x)| = 3|x|
for every x ∈ {0, 1}∗ . Give an upper bound on the probability, over the choice of
a random 3n-bit string v, that there exist two inputs x1 , x2 ∈ {0, 1}n such that
G(x1 ) ⊕ G(x2 ) = v.
3
(d) (4 points) Let G be a length-tripling PRG (which we have seen can be obtained
from any PRG). Use G to construct a secure locking scheme (i.e. define the
algorithms V and L), and prove that it is both concealing and unmodifiable
according to your definitions.