Course:Fall 2007 Exercises 2
From CRYPTUTOR
Revision as of 11:42, 18 September 2007; view current revision
←Older revision | Newer revision→
←Older revision | Newer revision→
This is the second set of exercise problems for the Fall 2007 introductory course.
The solutions are due in class on Friday, September 28. Up to two problems (and any extra-credit problems) may be submitted on Wednesday, October 3. (Mention on your Friday submission which ones you are postponing.)
[edit]
Exercises on One-Way Functions and Hardcore Predicates
- Existence of a one-way function
: For any function
, define a language
as
such that
(where
is the concatenation operator). That is,
is in the language if and only if
is a prefix of a preimage of
.
- [8 pts] Show that if
can be decided using a polynomial time algorithm (polynomial time in its input length), then show that
is not a one-way function (i.e., one can efficiently invert
).
- [2 pts] On the other hand note that if
is polynomial time computable, then
. Hence conclude that if
is a one-way function, then
.
- [8 pts] Show that if
- [10 pts] One-way, but every single bit of the preimage is predictable: For any function
, define a function
as follows
, where S is a subset of
(represented as a bit vector of length | x | ). Here
denotes a string obtained by choosing only those bits from x as specified by S and
contains the remaining bits.
- Show that if f is a one-way function, then so is
.
- Show that no single bit of the input is a hard-core bit for
.
- Show that if f is a one-way function, then so is
- [10 pts] If it has a hard-core bit, then it is one-way: Show that if a one-to-one, polynomial time computable function
has a hard-core bit, then the function is one-way. Explain where in your argument did you use the one-to-one property and the polynomial time computability of
.
[edit]
Exercises on Indistinguishability, Pseudorandomness Generators and Hybrid Arguments
- Statistical and computational indistinguishability.
- [3 pts] Show that if two (ensembles of) distributions
and
over
have negligible statistical distance between them (i.e., are statistically indistinguishable), then they are computationally indistinguishable.
- [7 pts] Suppose
is a PRG. Suppose G is one-to-one. What is the statistical distance between the uniform distribution
and the distribution
? What if G is not one-to-one?
- [3 pts] Show that if two (ensembles of) distributions
- [15 pts] PRG
OWF. Given a PRG G, construct a one-way function (with proof).
- Stream Ciphers and PRG.
- [7 pts] Show that a stream cipher can be constructed from a PRG (with a fixed stretch
).
- [1 pts] Show that a PRG of any polynomial stretch can be constructed from a stream cipher.
- [2 pts] If you take a PRG and convert it to a stream cipher (as in part 1) and then convert that back to a PRG (as in part 2) do you get back the original PRG?
- [7 pts] Show that a stream cipher can be constructed from a PRG (with a fixed stretch
- Equivalence of IND-PRG and NBU-PRG.
- [5 pts] Show that a PRG (defined using the IND-PRG definition) is also a Next Bit Unpredictable PRG.
- [10 pts] Complete the argument (from Lecture 4) that a Next Bit Unpredictable PRG is a PRG according to the IND-PRG definition.
- [Extra-credit] In the above did you use a uniform adversary or a non-uniform adversary? Modify the arguments so that they work for the other case too.
- [20 pts] An Application of the Hybrid Argument. In the definition of IND-CPA security for encryption, the adversary is allowed to send multiple pairs of challenge messages. Consider modifying this definition so that the adversary can send only one pair, but in addition gets oracle access to the encryption (i.e., it can send a message
and get back an encryption using the secret key). Show that this yields an equivalent definition. (Hint: First argue that adding the encryption oracle does not change the definition. Then use a hybrid argument to argue that negligible advantage with a single challenge implies negligible advantage with multiple challenges. Consider the two distributions when b = 0 and when b = 1 (in the multiple-challenges experiment), as the end points of our hybrid sequence.)

