Low-complexity pseudorandom generator
A low-complexity PRG is a pseudorandom generator in : each output bit depends on a constant number of input bits. For PRGs computable in , see PRG in . The existence of a Boolean PRG in (not ) with stretch for a constant is one of the four sub-exponentially hard assumptions from which JLS21 builds indistinguishability obfuscation.
TODO: syntax and security definition.
Variations
Polynomial-stretch PRG in NC0
A polynomial-stretch PRG in is a PRG in with for a constant .
Sub-exponential security
A polynomial-stretch PRG in is sub-exponentially secure if there is a constant such that for all sufficiently large every distinguisher of size at most has advantage at most .
Other results
- Conditional on the claimed algorithm of Ope26 (see ETH): for every fixed , every whose output bits each depend on at most input bits can be inverted on every point of its image, and computed exactly, in deterministic time and space — Ope26 (Corollary C.2). For , testing distinguishes from uniform with advantage at least , so no PRG in is secure against distinguishers running in time for a constant . The running time is , so sub-exponential security as defined above is unaffected.
Participates in
Builds on Low-complexity pseudorandom generator
- Sub-exponential SXDH + LWE + LPN + NC0-PRG ⇒ iO (via Sub-exponential security)
- Sub-exponentially secure NC0 PRG ⇒ NC0 PRG (via Sub-exponential security)
Produces Low-complexity pseudorandom generator