Predicting a bit from a distinguishing test #
The predictor supplies a trial bit to a test and returns that bit on acceptance, or its complement on rejection. Averaging over an independent fair trial turns the test's signed distinguishing gap into prediction bias. The hidden bit is not an input to the predictor.
Pr[p] is the scoped notation of Cslib.Probability for the probability, in the reals, that p
returns true, so gaps and biases are signed differences.
Main definitions #
Cslib.Crypto.trialPredictor: prediction using a fixed trial bit.Cslib.Crypto.bitPredictor: prediction using an independent fair trial.Cslib.Crypto.calibratedTest: orient a test with a fresh real-or-ideal reference.
Main results #
Cslib.Crypto.trialPredictor_gap: the gap is the average of two signed prediction biases.Cslib.Crypto.bitPredictor_bias: a randomized trial realizes that average.Cslib.Crypto.calibratedTest_gap: calibration squares the distinguishing advantage.
References #
- L. Trevisan, CS276 Lecture 13: Pseudorandom Generators, scribed by Siu-On Chan, the prediction reduction in Theorem 2.
Adapted from Crypto/Computational/Prediction.lean on the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8, using the shared nonnegative game API.
The two fixed trials recover the test's signed distinguishing gap.
Randomizing the trial averages the two fixed predictors' correctness probabilities.
The randomized predictor's bias equals the gap between the real label and a fair label.
Trial prediction charges for both the supplied bit and the complete test.
A certified test gives a strict PPT predictor without a length-dependent choice of trial.
Calibration multiplies the challenge's bias by the signed gap of the reference games.
The same calibration on both sides turns a possibly negative gap into its square.
Calibration is an ordinary PPT composition of its three supplied experiments.