One negligible bound for a bounded family of tests #
Sample a dyadic index and calibrate its test with a fresh sample from the selected reference ensemble. The resulting advantage is the average of the indexed squared advantages, so positive and negative gaps cannot cancel. This supplies one negligible bound for all indices in a polynomially bounded range, even if the chosen index is not computable.
Both ensembles must have uniform efficient samplers: calibration samples a direction and runs the selected real-or-ideal reference experiment, followed by the challenge. The adversary is one uniformly efficient indexed program, not a family of separate certificates. Runtime charges include the unary index, reference sample and challenge.
Main definitions #
Cslib.Crypto.UniformChoice.test: the calibrated indexed reduction.
Main results #
Cslib.Crypto.UniformChoice.advantage_eq: exact average of squared advantages.Cslib.Crypto.ComputationallyIndistinguishable.uniform_bound: one bound for every allowed index.
References #
This uniform sampling argument supplies the parameter conversion used with T. Holenstein, Pseudorandom Generators from One-Way Functions, Section 5.
Adapted from Crypto/Computational/UniformChoice.lean
on the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8, using typed machine certificates and the
nonnegative game API.
The reduction charges sampling, reference data and both captured adversary calls.
The challenge commutes with the independent index and calibration trial.
Averaging calibrated tests averages their squared advantages without sign cancellation.
Efficient samplers allow one negligible bound for every polynomially bounded index of one uniform test. Choosing the index requires no computability assumption.