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

Produces Low-complexity pseudorandom generator