Pseudorandom generators: games and concrete security #
Attack Game 3.1 of [BS23] compares a deterministic generator applied to a
uniform seed with a uniform output. Adversaries are randomized Boolean tests. Security
is relative to a caller-supplied predicate Admissible, with an explicit advantage bound.
No computational model or efficiency assumption is built into the generator or the tests.
Generator.IsExpanding records the cardinality condition separately from security.
In particular, a generator need not expand, and an expanding generator need not be secure.
References #
A deterministic generator with seed space Seed and output space Output.
Efficiency, expansion, and security are separate properties.
- toFun : Seed → Output
Generate an output from a seed.
Instances For
A randomized statistical test on the output space.
Instances For
The absolute difference of the probabilities of outputting true in the two
experiments, as in Attack Game 3.1 of [BS23].
Instances For
Concrete security against admissible adversaries. The predicate is supplied by the
caller, for example to restrict tests to a chosen computational resource bound.
Taking Admissible := fun _ => True allows arbitrary adversaries.