We study the parallel time-complexity of basic cryptographic primitives such as one-way functions (OWFs) and pseudorandom generators (PRGs). Specifically, we study the possibility of computing instances of these primitives by NC⁰ circuits, in which each output bit depends on a constant number of input bits. Despite previous efforts in this direction, there has been no significant theoretical evidence supporting this possibility, which was posed as an open question in several previous works.
We essentially settle this question by providing overwhelming positive evidence for the possibility of cryptography in NC⁰ Our main result is that every "moderately easy" OWF (resp., PRG), say computable in NC¹, can be compiled into a corresponding OWF (resp., low-stretch PRG) in NC_4^0 i.e. whose output bits each depend on at most 4 input bits. The existence of OWF and PRG in NC¹ is a relatively mild assumption, implied by most number-theoretic or algebraic intractability assumptions commonly used in cryptography. Hence, the existence of OWF and PRG in NC⁰ follows from a variety of standard assumptions. A similar compiler can also be obtained for other cryptographic primitives such as one-way permutations, encryption, commitment, and collision-resistant hashing.
The above results leave a small gap between the possibility of cryptography in NC_4^0 and the known impossibility of implementing even OWF in NC_2^0 We partially close this gap by providing evidence for the existence of OWF in NC_3^0. resolving an open question posed by Mossel et al. [25], as well as a PRG for logspace in NC⁰.
Our results make use of the machinery of randomizing polynomials [19], which was originally motivated by questions in the domain of information-theoretic secure multiparty computation.