On Obtaining Pseudorandomness from Error-Correcting Codes
A number of recent results have constructed randomness extractors and pseudorandom generators (PRGs) directly from certain error-correcting codes. The underlying construction in these results amounts to picking a random index into the codeword and outputting m consecutive symbols (the codeword is obtained from the weak random source in the case of extractors, and from a hard function in the case of PRGs). We study this construction applied to general cyclic error-correcting codes, with the goal of understanding what pseudorandom objects it can produce. We show that every cyclic code with sufficient distance yields extractors that fool all linear tests. Further, we show that every polynomial code with sufficient distance yields extractors that fool all low-degree prediction tests. These are the first results that apply to univariate (rather than multivariate) polynomial codes, hinting that Reed-Solomon codes may yield good randomness extractors. Our proof technique gives rise to a systematic way of producing unconditional PRGs against restricted classes of tests. In particular, we obtain PRGs fooling all linear tests (which amounts to a construction of ε-biased spaces), and we obtain PRGs fooling all low-degree prediction tests.
© Springer-Verlag Berlin Heidelberg 2006. This research was supported by NSF grant CCF-0346991 and by BSF grant 2004329. We thank Eli Ben-Sasson for helpful discussions and Andrej Bogdanov for sharing a draft of [Bog05] with us.We also thank the anonymous referees for their insightful comments.