Keyed PRF Security Assumption #
A PRFAssumption F packages the standard cryptographic hypothesis that a keyed
function family F is a secure pseudorandom function: there is an advantage
bound ε such that every single-query adversary distinguishes the keyed
evaluation F(k, ·) (with a uniform key) from a fresh uniform output with
advantage at most ε.
This is the reusable "PRF is ε-secure" assumption structure that reductions take
as a hypothesis. It is parameterized over the abstract PRFScheme of
SecurityDefs, so it composes with PRF_Real / PRF_Ideal / PRF_Adv.
Main definitions #
PRFAssumption F— the record⟨ε, bound⟩assertingPRF_Adv F x A ≤ εfor all inputsxand adversariesA.PRFAssumption.advantage_bound— the packaged advantage bound.
Main results #
PRFAssumption.of_perfect— a perfectly secure PRF (PRF_Adv = 0) satisfies the assumption withε = 0.
References #
- [Bellare & Rogaway, Introduction to Modern Cryptography]
- [Rosulek, The Joy of Cryptography, §6]
theorem
CatCrypt.Crypto.PRFAssumption.advantage_bound
{F : SecurityDefs.PRFScheme}
(H : PRFAssumption F)
(x : F.Input)
(A : F.Output → Core.SPComp Bool)
:
The packaged advantage bound of a PRF assumption.
def
CatCrypt.Crypto.PRFAssumption.of_perfect
(F : SecurityDefs.PRFScheme)
(h : ∀ (x : F.Input) (A : F.Output → Core.SPComp Bool), SecurityDefs.PRF_Adv F x A = 0)
:
A perfectly secure PRF (every adversary has advantage exactly 0) satisfies
the PRF assumption with ε = 0.
Equations
- CatCrypt.Crypto.PRFAssumption.of_perfect F h = { ε := 0, bound := ⋯ }