# Leftover hash lemma

The leftover hash lemma is a lemma in cryptography first stated by Russell Impagliazzo, Leonid Levin, and Michael Luby.

Imagine that you have a secret key ${\displaystyle \scriptstyle X}$ that has ${\displaystyle \scriptstyle n}$ uniform random bits, and you would like to use this secret key to encrypt a message. Unfortunately, you were a bit careless with the key, and know that an adversary was able to learn about ${\displaystyle \scriptstyle t\;<\;n}$ bits of that key, but you do not know which. Can you still use your key, or do you have to throw it away and choose a new key? The leftover hash lemma tells us that we can produce a key of about ${\displaystyle \scriptstyle n\,-\,t}$ bits, over which the adversary has almost no knowledge. Since the adversary knows all but ${\displaystyle \scriptstyle n\,-\,t}$ bits, this is almost optimal.

More precisely, the leftover hash lemma tells us that we can extract a length asymptotic to ${\displaystyle \scriptstyle H_{\infty }(X)}$ (the min-entropy of ${\displaystyle \scriptstyle X}$) bits from a random variable ${\displaystyle \scriptstyle X}$ that are almost uniformly distributed. In other words, an adversary who has some partial knowledge about ${\displaystyle \scriptstyle X}$, will have almost no knowledge about the extracted value. That is why this is also called privacy amplification (see privacy amplification section in the article Quantum key distribution).

Randomness extractors achieve the same result, but use (normally) less randomness.

Let ${\displaystyle \scriptstyle X}$ be a random variable over ${\displaystyle \scriptstyle {\mathcal {X}}}$ and let ${\displaystyle \scriptstyle m\;>\;0}$. Let ${\displaystyle \scriptstyle h:\;{\mathcal {S}}\,\times \,{\mathcal {X}}\;\rightarrow \;\{0,\,1\}^{m}}$ be a 2-universal hash function. If

${\displaystyle m\leq H_{\infty }(X)-2\log \left({\frac {1}{\varepsilon }}\right)}$

then for ${\displaystyle \scriptstyle S}$ uniform over ${\displaystyle \scriptstyle {\mathcal {S}}}$ and independent of ${\displaystyle \scriptstyle X}$, we have

${\displaystyle \delta [(h(S,X),S),(U,S)]\leq \varepsilon }$

where ${\displaystyle \scriptstyle U}$ is uniform over ${\displaystyle \scriptstyle \{0,\,1\}^{m}}$ and independent of ${\displaystyle \scriptstyle S}$.[1]

${\displaystyle \scriptstyle H_{\infty }(X)\;=\;-\log \max _{x}\Pr[X=x]}$ is the Min-entropy of ${\displaystyle \scriptstyle X}$, which measures the amount of randomness ${\displaystyle \scriptstyle X}$ has. The min-entropy is always less than or equal to the Shannon entropy. Note that ${\displaystyle \scriptstyle \max _{x}\Pr[X=x]}$ is the probability of correctly guessing ${\displaystyle \scriptstyle X}$. (The best guess is to guess the most probable value.) Therefore, the min-entropy measures how difficult it is to guess ${\displaystyle \scriptstyle X}$.

${\displaystyle \scriptstyle 0\leq \delta (X,\,Y)\;=\;{\frac {1}{2}}\sum _{v}\left|\Pr[X=v]\,-\,\Pr[Y=v]\right|\leq 1}$ is a statistical distance between ${\displaystyle \scriptstyle X}$ and ${\displaystyle \scriptstyle Y}$.