Pseudorandomness against circuits #
Concrete security of generators (Cslib.Crypto.PRG.Generator.Secure) is relative to a class of
admissible tests. This module supplies the nonuniform class: the deterministic tests computed by
De Morgan circuits with at most t gates (IsCircuitTest), where every AND, OR, NOT and constant
gate counts. It states the security notions used by the natural proofs barrier
[RazborovRudich1997, Section 4]:
- a keyed family of Boolean functions is pseudorandom against circuits when the generator mapping
a key to the truth table of its function is (
truthTableGenerator). The tests read the whole truth table, that is they query the function at every input. The family is exponentially secure when it resists circuits of size2 ^ (c n)with error2 ^ (-c n)for everyc(IsExponentiallySecure); - a family of length-doubling generators is subexponentially secure when, for all long seeds of
length
k, it resists circuits of size2 ^ mwith error2 ^ (-m)form ^ d ≤ k(IsSubexponentiallySecure). Security against circuits of size2 ^ (k ^ ε)with error2 ^ (-k ^ ε)gives it ford ε ≥ 1(IsSubexponentiallySecure.of_rpow).
It also proves the hybrid argument for independent samples in the form of averages
(abs_expect_comp_sub_expect_le): replacing |ι| independent outputs of a function by uniform
values, one coordinate at a time, costs at most |ι| times the cost of one replacement with all
other coordinates fixed.
Main definitions #
Cslib.Crypto.PRG.IsCircuitTest: the tests computed by circuits with at mosttgates.Cslib.Crypto.PRG.truthTableGenerator: a keyed family of Boolean functions, as a generator of truth tables.Cslib.Crypto.PRG.IsExponentiallySecure: keyed families pseudorandom against circuits of size2 ^ (c n)with error2 ^ (-c n), for everyc.Cslib.Crypto.PRG.IsSubexponentiallySecure: length-doubling generators resisting circuits of size2 ^ (k ^ (1 / d)).
Main results #
Cslib.Crypto.PRG.IsSubexponentiallySecure.of_rpow: security against circuits of size2 ^ (k ^ ε)gives subexponential security.Cslib.Crypto.PRG.abs_expect_comp_sub_expect_le: the hybrid argument for independent samples.
References #
Tests computed by circuits #
The tests on m-bit strings computed by De Morgan circuits with at most t gates: the
deterministic tests whose circuit complexity is at most t. As the admissible adversaries of
Cslib.Crypto.PRG.Generator.Secure, they express security against circuits of size t.
Instances For
The generator mapping a key to the truth table of the function F key. Its security against
IsCircuitTest t is the pseudorandomness of the keyed family F against circuits with at most
t gates that read the whole truth table, that is that query the function at every input.
Instances For
A keyed family F of Boolean functions is exponentially secure against circuits when, for
every c, eventually no test computed with at most 2 ^ (c n) gates distinguishes the truth
table of F n key, for a uniformly random key, from a uniformly random truth table with advantage
more than 2 ^ (-c n). This is the hypothesis of the natural proofs barrier
[RazborovRudich1997, Section 4]. The tests read the whole truth table, that is they query the
function at every input.
Instances For
A family of length-doubling generators is subexponentially secure against circuits, with
exponent 1 / d, when for all sufficiently long seeds, of length k, no test computed with at
most 2 ^ m gates has advantage more than 2 ^ (-m) against G k, for every m with
m ^ d ≤ k. Up to rounding, G k resists circuits of size 2 ^ (k ^ ε) with advantage
2 ^ (-k ^ ε) for ε = 1 / d, the hypothesis of [RazborovRudich1997, Section 4].
Instances For
A generator family that, for all long seeds, resists circuits of size 2 ^ (k ^ ε) with
advantage 2 ^ (-k ^ ε), for some ε > 0, is subexponentially secure with exponent 1 / d for
every d ≥ 1 / ε.
The hybrid argument for independent samples #
The hybrid argument for independent samples. Let T be a statistic of ι-indexed tuples
in β. If, with all other coordinates fixed, replacing g a for a uniform a by a uniform b at
one coordinate changes the average of T by at most ε, then replacing every coordinate changes
it by at most |ι| ε. For T the acceptance probability of a test, this is the security of
independent copies of a generator g with loss |ι|.