
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
PSEUDORANDOM GENERATORS
we only provide a very rough overview of some of the ideas involved. We mention that
these ideas make extensive use of adequate hashing functions (e.g., pairwise independent
hashing functions; see Appendix D.2).
We first note that, in general (when f may not be 1-1), the ensemble f (U
k
) may not be
pseudorandom, and so Construction 8.9 (i.e., G(s) = f (s)b(s), where b is a hard-core of f )
cannot be used directly. One idea underlying the known construction is hashing f (U
k
)toan
almost uniform string of length related to its entropy, using adequate hashing functions.
17
But “hashing f (U
k
) down to length comparable to the entropy” means shrinking the
length of the output to, say, k
< k. This foils the entire point of stretching the k-bit seed.
Thus, a second idea underlying the construction is compensating for the loss of k − k
bits by extracting these many bits from the seed U
k
itself. This is done by hashing U
k
,
and the point is that the (k − k
)-bit long hash value does not make the inverting task any
easier. Implementing these ideas turns out to be more difficult than it seems, and indeed
an alternative construction would be most appreciated.
8.2.6. Non-uniformly Strong Pseudorandom Generators
Recall that we said that truly random sequences can be replaced by pseudorandom se-
quences without affecting any efficient computation that uses these sequences. The spe-
cific formulation of this asser tion, presented in Proposition 8.3, refers to randomized
algorithms that take a “primary input” and use a secondary “random-input” in their com-
putation. Proposition 8.3 asserts that it is infeasible to find a primary input for which
the replacement of a truly random secondary input by a pseudorandom one affects the
final output of the algorithm in a noticeable way. This, however, does not mean that such
primary inputs do not exist (but rather that they are hard to find). Consequently, Proposi-
tion 8.3 falls short of yielding a (worst-case)
18
“derandomization” of a complexity class
such as BPP. To obtain such results, we need a stronger notion of pseudorandom gen-
erators, presented next. Specifically, we need pseudorandom generators that can fool all
polynomial-size circuits (cf. §1.2.4.1), and not merely all probabilistic polynomial-time
algorithms.
19
Definition 8.12 (strong pseudorandom generator – fooling circuits): A determinis-
tic polynomial-time algorithm G is called a
non-uniformly strong pseudorandom
generator
if there exists a stretch function, :N →N, such that for any family {C
k
}
k∈N
17
This is done after guaranteeing that the logarithm of the probability mass of a value of f (U
k
) is typically
close to the entropy of f (U
k
). Specifically, given an arbitrary one-way function f
, one first constructs f by
taking a “direct product” of sufficiently many copies of f
. For example, for x
1
,...,x
k
2/3
∈{0, 1}
k
1/3
, we let
f (x
1
,...,x
k
2/3
)
def
= f
(x
1
),..., f
(x
k
2/3
).
18
Indeed, Proposition 8.3 yields an average-case derandomization of BPP. In particular, for every polynomial-
time constructible ensemble {X
n
}
n∈N
, every Boolean function f ∈ BP P,andeveryε>0, there exists a randomized
algorithm A
of randomness complexity r
ε
(n) = n
ε
such that the probability that A
(X
n
) = f (X
n
) is negligible. A
corresponding deterministic (exp(r
ε
)-time) algorithm A
can be obtained, as in the proof of Theorem 8.13, and again
the probability that A
(X
n
) = f (X
n
) is negligible, where here the probability is taken only over the distribution
of the primary input (represented by X
n
). In contrast, worst-case derandomization, as captured by the assertion
BP P ⊆ D
TIME(2
r
ε
), requires that the probability that A
(X
n
) = f (X
n
) is zero.
19
Needless to say, strong pseudorandom generators in the sense of Definition 8.12 satisfy the basic definition
of a pseudorandom generator (i.e., Definition 8.1); see Exercise 8.15. We comment that the underlying notion of
computational indistinguishability (by circuits) is strictly stronger than Definition 8.4, and that it is invariant under
multiple samples (regardless of the constructibility of the underlying ensembles); for details, see Exercise 8.16.
304