One-way functions put NP outside BPP #
If one-way functions exist then NP ⊄ BPP Goldreich, Chapter 2: the
preimage-prefix problem of a one-way function (Cslib.Crypto.preimagePrefix) is not in BPP
(Cslib.Crypto.OneWay.preimagePrefix_notMem_BPP).
A decider with error at most 2 ^ (-(L + 1)) on instances of encoded length L exists for every
problem in BPP (Cslib.Complexity.mem_BPP_iff_forall_decidesWithErrorExponent). The randomized
search (Cslib.Crypto.randomizedPreimageSearch) samples one string of coins and runs the
deterministic bit-by-bit search, answering each query with the decider on a prefix of the coins of
the length the decider expects. The search with exact answers asks n fixed queries, each with
encoded length at least n; whenever the decider answers these correctly, the randomized search
follows the exact one (Cslib.Crypto.preimageSearch_congr) and finds a preimage. Each of them is
answered wrongly with probability at most 2 ^ (-(n + 1)), so by a union bound the randomized
search inverts with probability at least 1 / 2
(Cslib.Crypto.half_le_succProbability_inversionGame), and it is a uniform strict PPT inverter.
Since BPP is closed under polynomial-time reductions
(Cslib.Complexity.PolyTimeReducible.mem_BPP), the Cook–Levin theorem puts SAT outside BPP
as well (Cslib.Crypto.OneWay.SAT_notMem_BPP).
Main definitions #
Cslib.Crypto.randomizedPreimageSearch: the search answering queries with a randomized decider on shared coins.
Main results #
Cslib.Crypto.isPPT_randomizedPreimageSearch: the randomized search is a uniform strict PPT inverter.Cslib.Crypto.half_le_succProbability_inversionGame: with a decider of error2 ^ (-(L + 1)), the randomized search inverts with probability at least1 / 2.Cslib.Crypto.exists_inverter_of_preimagePrefix_mem_BPP: if the preimage-prefix problem is inBPP, some uniform strict PPT inverter succeeds with probability at least1 / 2.Cslib.Crypto.OneWay.preimagePrefix_notMem_BPP,Cslib.Crypto.OneWay.not_NP_subset_BPP,Cslib.Crypto.OneWay.SAT_notMem_BPP,Cslib.Crypto.not_oneWay_of_SAT_mem_BPP: one-way functions implyNP ⊄ BPP.
References #
The coins read by the randomized search for a preimage of length q.1 of q.2: enough for
the decider on every query, whose prefix has at most q.1 bits.
Instances For
The randomized search: sample searchCoinLength p (n, y) coins once, and run the
bit-by-bit search, answering every query with V on the prefix of the coins of the length
p (L) that V expects on an instance of encoded length L.
Instances For
The randomized search is a uniform strict PPT inverter when V is polynomial-time.
The randomized search inverts with probability at least 1 / 2, for a decider of the
preimage-prefix problem with error at most 2 ^ (-(L + 1)) on instances of encoded length L.
The union bound runs over the n queries of the exact search, each of encoded length at least
n.
Inversion from BPP. If the preimage-prefix problem of f is in BPP, a uniform strict
PPT inverter, told the length of the input, inverts f with probability at least 1 / 2 at every
length.
If SAT is in BPP, no function is one-way.