Bounds for ε-Almost Universal Hashing #
Main results #
HashFamily.card_seed_lb_of_almostStronglyUniversal2: Every uniform ε-ASU₂ family (i.e.HashFamily.uniform H ∧ H.almostStronglyUniversal2 ε) satisfies|Seed| ≥ 1 + |Input| (|Output| − 1)² / (|Output| ε (|Input| − 1) + |Output| − |Input|). [Sti94], Theorem 4.3HashFamily.card_seed_lb_of_stronglyUniversal2: Every strongly-universal₂ family satisfies|Seed| ≥ 1 + |Input| (|Output| − 1). [Sti94], Corollary 4.4HashFamily.exists_collision_lb: For any hash family with|Input| > |Output|, some pair of distinct inputs has collision probability at least(|Input| − |Output|) / (|Output| (|Input| − 1)). [Sti94], Theorem 3.1HashFamily.almostUniversal2_comp: Composing an ε₁-AU₂ family with an ε₂-AU₂ family yields an(ε₁ + ε₂)-AU₂ family. [Sti94], Theorem 5.4
Every uniform ε-ASU₂ hash family
(i.e. HashFamily.uniform H ∧ H.almostStronglyUniversal2 ε) satisfies
|Seed| ≥ 1 + |Input|·(|Output|−1)² / (|Output|·ε·(|Input|−1) + |Output| − |Input|).
[Sti94], Theorem 4.3
Every strongly-universal₂ hash family satisfies |Seed| ≥ 1 + |Input| · (|Output| − 1).
[Sti94], Corollary 4.4
For any hash family, when |Input| > |Output|,
some pair of distinct inputs has collision probability at least
(|Input| − |Output|) / (|Output| · (|Input| − 1)).
This gives the optimality threshold: no family can be ε-AU for ε below this value.
[Sti94], Theorem 3.1
Composing an ε₁-AU family with an ε₂-AU family yields an (ε₁ + ε₂)-AU family.
Given H₁ : Seed₁ → Input → Middle and H₂ : Seed₂ → Middle → Output,
the family fun (s₁, s₂) x ↦ H₂ s₂ (H₁ s₁ x) is (ε₁ + ε₂)-AU.
[Sti94], Theorem 5.4