Security of Boolean experiments #
A Game is the distribution of the Boolean output of a security experiment, independent of the
language used to write the experiment. A game has a success probability, and two games have a
distinguishing advantage: the absolute difference of their success probabilities, as in
[BS23], Section 3.1. The convention where the advantage of a single game is its
success probability is comparison with certain failure, and the convention measuring bias away
from a fair coin is guessingAdvantage.
Families of games indexed by a natural-number security parameter are indistinguishable for a class of adversaries when every admissible adversary has negligible advantage. Adversaries are whole objects, which may themselves be families of tests, and the game at each parameter is obtained from the adversary. Finite cryptographic primitives instantiate these definitions directly, and computational definitions over infinite sample spaces can reuse them.
Main definitions #
Cslib.Crypto.Game: Boolean experiment distributions with nonnegative success and advantage.Cslib.Crypto.Game.Indistinguishable: negligible advantage for each admissible adversary.
Main results #
Cslib.Crypto.Game.Indistinguishable.of_reduction: preserve admissibility and transfer security with a polynomial loss and negligible error.
References #
Copied from cslib PR #1069 at 1d14c55a10cfe3fe4463cffa61a7f02f0d56f502.
The distribution of the Boolean output of a security experiment.
Instances For
The probability that an experiment succeeds, that is, outputs true.
Instances For
The probability that an experiment fails, that is, outputs false.
Instances For
Success probability is at most one.
An experiment either succeeds or fails.
Failure probability is the complement of success probability.
Complementing a game's answer exchanges success and failure.
The distinguishing advantage between two games is the absolute difference of their success probabilities.
Instances For
As a real number, the advantage is the absolute difference of the success probabilities.
Distinguishing advantage is at most one.
Equal games have zero advantage.
Comparing with certain failure measures the probability of success.
The advantage of a game over a fair coin, measuring its prediction bias.
Instances For
As a real number, the guessing advantage is the distance of the success probability from one half.
Two families of games are indistinguishable for a class of adversaries when each admissible adversary has negligible advantage. The admissibility predicate applies to the whole adversary before the security parameter is supplied, so it can constrain the adversary across all parameters at once.
Instances For
Restricting admissibility preserves a concrete bound.
Restricting admissibility preserves indistinguishability.
Enlarging an error budget preserves its guarantee.
A family of games is indistinguishable from itself.
Swapping the games preserves a concrete bound.
Swapping the games preserves indistinguishability.
Concrete bounds add across a game hop.
Indistinguishability composes through an intermediate family of games.
A negligible common error bound implies indistinguishability.
A reduction turns each target adversary into a source adversary. It transfers indistinguishability from the source games to the target games when it preserves admissibility and bounds the target advantage by the source advantage up to a polynomial loss and a negligible error. The loss and the error may depend on the target adversary, while the reduction maps whole adversaries and does not depend on the security parameter.
As a real number, the success probability is the real-valued probability of true.