IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 10, OCTOBER 2008 4575
On the Complexity of Hardness Amplification
Chi-Jen Lu, Shi-Chun Tsai, Member, IEEE, and Hsin-Lung Wu
Abstract—For and , we study the task of
transforming a hard function , with which
any small circuit disagrees on fraction of the input, into
a harder function , with which any small circuit disagrees on
fraction of the input. First, we show that such hard-
ness amplification, when carried out in some black-box way, must
require a high complexity. In particular, it cannot be realized by
a circuit of depth and size or by a nondeterministic cir-
cuit of size (and arbitrary depth) for any .
This extends the result of Viola, which only works when
is small enough. Furthermore, we show that even without any re-
striction on the complexity of the amplification procedure, such a
black-box hardness amplification must be inherently nonuniform
in the following sense. To guarantee the hardness of the resulting
function , even against uniform machines, one has to start with
a function , which is hard against nonuniform algorithms with
bits of advice. This extends the result of Trevisan and
Vadhan, which only addresses the case with . Fi-
nally, we derive similar lower bounds for any black-box construc-
tion of a pseudorandom generator (PRG) from a hard function. To
prove our results, we link the task of hardness amplifications and
PRG constructions, respectively, to some type of error-reduction
codes, and then we establish lower bounds for such codes, which
we hope could find interest in both coding theory and complexity
theory.
Index Terms—Computational complexity, hardness amplifica-
tion, list-decodable code, pseudorandom generator.
I. INTRODUCTION
A. Background
U
NDERSTANDING the power of randomness in compu-
tation is one of the central topics in theoretical computer
science. A major open question is the versus question,
asking whether all randomized polynomial-time algorithms can
be converted into deterministic polynomial-time ones. A stan-
dard approach to derandomizing relies on constructing
Manuscript received March 7, 2007; revised July 9, 2008. Current ver-
sion published September 17, 2008. The work of C.-J. Lu was supported
in part by the National Science Council of Taiwan under Contract NSC93-
2213-E-001-004. The work of S.-C. Tsai was supported in part by the Na-
tional Science Council of Taiwan under Contract NSC-93-2213-E-009-035.
The work of H.-L. Wu was supported in part by the National Science Council
of Taiwan under Contract NSC-97-2218-E-305-001-MY2. The material in this
paper was presented at the 20th Annual Computational Complexity Confer-
ence, San Jose, CA, June 2005.
C.-J. Lu is with the Institute of Information Science, Academia Sinica, Taipei
115, Taiwan (e-mail: cjlu@iis.sinica.edu.tw).
S.-C. Tsai is with the Department of Computer Science and Information En-
gineering, National Chiao Tung University, Hsinchu 30050, Taiwan (e-mail:
sctsai@csie.nctu.edu.tw).
H.-L. Wu is with the Department of Computer Science and Information En-
gineering, National Taipei University, Taipei, Taiwan (e-mail: hsinlung@mail.
ntpu.edu.tw).
Communicated by A. Canteaut, Associate Editor for Complexity and
Cryptography.
Digital Object Identifier 10.1109/TIT.2008.928988
the so-called pseudorandom generators (PRG), which stretch a
short random seed into a long pseudorandom string that looks
random to circuits of polynomial size. So far, all known con-
structions of PRG are based on unproven assumptions of the
nature that certain functions are hard to compute. The idea of
converting hardness into pseudorandomness first appeared in
the work of Blum and Micali [2] and Yao [29], who showed
how to obtain a PRG from a one-way function. Then, Nisan and
Wigderson [18] showed that a PRG can be constructed from a
Boolean function, which is hard in average case, and this initi-
ated a series of works. To get a stronger result, one would like
to weaken the hardness assumption, and [18], [1], [10] showed
that, in fact, one can start from a (slightly) hard Boolean func-
tion and transform it into a much harder one, before using it to
build a PRG. Finally, Impagliazzo and Wigderson [14] proved
that one can transform a function in that is hard in worst case
into one that is hard in average case, both against circuits of ex-
ponential size. As a result, they obtained under the
assumption that some function in cannot be computed by a
circuit of subexponential size. Simpler proofs and better trade-
offs have been obtained since then [23], [13], [22], [26].
Note that hardness amplification is the major step in deran-
domizing in the research discussed above, because the step
from an average-case hard function to a PRG is relatively simple
and has low complexity. We say that a Boolean function is
–hard (or has hardness ) against circuits of size if any such
circuit attempting to compute must make errors on at least
fraction of the input. The error bound is the main param-
eter characterizing the hardness; the size bound also reflects
the hardness, but it plays a lesser role in our study. Formally,
the task of hardness amplification is to transform a function
that is –hard against circuits of size
into a function that is –hard against
circuits of size , with and close to (usually
slightly smaller than) . Normally, one would like to have
as close to as possible, preferably with or even
, so that one could have close to ; other-
wise, one would only be able to have the hardness of against
much smaller circuits. Furthermore, one would like to stay
in the same complexity class of , so that one could establish
the relation among hardness assumptions within the same com-
plexity class.
Two issues come up from those works on hardness amplifi-
cation. The first is on the complexity of the amplification pro-
cedure. All previous amplification procedures going from worst
case hardness ( ) to average case hardness (
) need exponential time [1], [14], [23] (or slightly better,
in linear space [16] or [27]). As a result,
such a hardness amplification is only known for functions in
high complexity classes. Then, a natural question is as follows:
Can it be done for functions in lower complexity classes? For
0018-9448/$25.00 © 2008 IEEE