Leftover hashing from weak random sources #
The leftover hash lemma for (k, ε)-sources: hashing a (k, ε)-source with an independent
two-universal seed, which stays public, gives a distribution within
ε + √(|Output| · 2⁻ᵏ) / 2 of the seed paired with an independent uniform value. With
log₂ |Output| + 2 log₂ (1 / δ) ≤ k the error is at most ε + δ / 2, so a two-universal family
is a strong extractor that loses 2 log₂ (1 / δ) bits of min-entropy
Vadhan, Chapter 6, Håstad, Impagliazzo, Levin, Luby. With public side
information it suffices that every possible conditional source is a (k, ε)-source.
These are corollaries of the pointwise-mass form IsTwoUniversal.leftover_hash_of_mass_le and of
dist_seededHash_le. Sources with rare heavy outcomes are (k, ε)-sources by
Cslib.Probability.PMF.isSource_of_heavy_le; IsTwoUniversal.leftover_hash_of_heavy_probability
states the resulting extraction bound directly.
Main results #
Cslib.Probability.IsTwoUniversal.leftover_hash_of_isSource: the leftover hash lemma for(k, ε)-sources.Cslib.Probability.IsTwoUniversal.leftover_hash_of_isSource_of_logb_le: the entropy-loss form.Cslib.Probability.IsTwoUniversal.leftover_hash_conditional_of_isSource: extraction with side information.
References #
The leftover hash lemma for (k, ε)-sources. Hashing a (k, ε)-source with an
independent two-universal seed, revealed in the output, is within ε + √(|Output| · 2⁻ᵏ) / 2 of
the seed paired with an independent uniform value.
Entropy loss of leftover hashing. If the source is a (k, ε)-source with
log₂ |Output| + 2 log₂ (1 / δ) ≤ k, hashing with an independent public two-universal seed is
within ε + δ / 2 of the seed paired with an independent uniform value.
Leftover hashing with side information. If every possible conditional source is a
(k, ε)-source, hashing with an independent two-universal seed hides the hash value up to
ε + √(|Output| · 2⁻ᵏ) / 2, even when the side information and the seed are revealed.