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