Negligible bounds and real-valued estimates #
The security-game API uses nonnegative advantages. Real-valued estimates, including the pinned finite PRG API, express the same decay after coercion. A positive constant advantage cannot be negligible.
Main results #
Cslib.Crypto.negligible_iff_coe: pass between nonnegative and real-valued decay bounds.Cslib.Crypto.Negligible.eventually_le_inv_polynomial: compare with positive polynomial losses.Cslib.Crypto.negligible_geometric: geometric decay of nonnegative error bounds.Cslib.Crypto.not_negligible_const: constant nonzero success contradicts security.Cslib.Crypto.Negligible.comp_of_polynomial_bound: polynomially related parameters.Cslib.Crypto.Negligible.div_const: division of the parameter by a positive constant.Cslib.Crypto.Negligible.sqrt: taking square roots preserves negligible decay.
References #
The geometric, constant and inverse-polynomial bounds are adapted from
Crypto/Negligible.lean on the
cslib crypto branch at 5ff69ca93402e7c947208dc56396d6d86203ccd8, using the current upstream
nonnegative API.
Nonnegative advantages decay negligibly exactly when their real coercions do.
Geometric decay with a nonnegative ratio strictly below one is negligible.
A constant nonzero advantage is not negligible.
Negligible success is eventually smaller than the reciprocal of any positive polynomially bounded loss. The real coercion permits comparison with analytic bounds.
Negligible decay survives reindexing when the new parameter tends to infinity and the old parameter is polynomially bounded in it. The reindexing function need not be computable.
Dividing the security parameter by a fixed positive natural preserves negligible decay.
Taking a square root preserves negligible decay.
Shifting the security parameter by a fixed additive offset preserves negligibility.