Course:Fall 2006 Exercises 2
From CRYPTUTOR
This is the second set of exercise problems for the Fall 2006 introductory course.
The solutions are due in class on Friday, September 29.
Exercises on One-Way Functions and Hardcore Predicates
- [10 pts] 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
. Show that if
can be decided using a polynomial time algorithm (polynomial time in its input length), then
is not a one-way function. Hence argue that if
is a one-way function, then
.
- [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
. Give a simple example of a function which is not one-to-one, has a hard-core bit and is not one-way.
Exercises on Indistinguishability, Pseudorandomness Generators and Hybrid Arguments
- [10 pts] Statistical and computational indistinguishability.
- Show that if two (ensembles of) distributions
and
over
have negligible statistical difference between them (i.e., are statistically indistinguishable), then they are computationally indistinguishable.
- 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?
- Show that if two (ensembles of) distributions
- [10 pts] PRG
OWF. Given a PRG G, construct a one-way function.
- [10 pts] Show that a PRG is also a Next Bit Unpredictable PRG.
- [10 pts] Uniform PRG and Uniform NBU PRG. Define a uniform PRG by modifying the definition of a PRG to consider only uniform adversaries. Similarly modify the definition of a Next Bit Unpredictable PRG to obtain the definition of a uniform NBU PRG. Show that a uniform NBU PRG is a uniform PRG. Point out how the proof differs from that of an NBU PRG being a PRG.
- [15 pts] Stream Ciphers, PRG and Stateful Encryption. A stream-cipher S is defined (for the purposes of this exercise) using a pair of deterministic, functions
and
. The security requirement is that, for any polynomial
, the function
defined as
is a PRG.
- How would you construct a stream cipher from a one extra bit PRG?
- Can you reverse the process to construct a one extra bit PRG from a stream-cipher? Elaborate, with a proof or counter-example.
- Modify SIM-CPA (or IND-CPA) definition to allow a stateful encryption algorithm (i.e., the encryption algorithm remembers its state from one invocation to the next). Show how to use a stream cipher to construct a private-key encryption scheme, which is (modified) SIM-CPA secure, but with a stateful Alice (and a stateless Bob). Prove its security.
- [15 pts] An Application of the Hybrid Argument. Recall the definition of IND-CPA security for encryption. In the experiment involved, we allowed the adversary access to an encryption oracle, as well as allowed it to provide multiple pairs of plaintext challenges.
- Show that the adversary's access to encryption oracle can be removed from the definition, to get an equivalent security definition. (No hybrid argument here.)
- Use a hybrid argument to show that in the IND-CPA definition (allowing the adversary access to encryption oracle), the adversary can be restricted to sending only one challenge (i.e., pair of messages m0,m1) to the experiment, to get an equivalent security definition. (Use a hybrid argument. Consider the two distributions when b = 0 and when b = 1, as the end points of our hybrid sequence.)
- If we remove both the access to encryption oracle, and the multiple challenges simultaneously from the IND-CPA definition, does the security remain unchanged?

