-
One-Way Function (OWF): A function that is easy to compute but difficult to reverse.
-
One-Way Permutation (OWP): A one-to-one function that is easy to compute but difficult to reverse.
-
Pseudo-Random Function (PRF): A function that is indistinguishable from a random function.
-
A hardcore bit for a one-way function is a bit in the function's output that is computationally hard to predict given its input but can be efficiently verified.
Hybrid Arguments and applications
Hybrid argument, much like induction, is a pr2oof technique to prove that two distributions are computaionally indistinguishable. Why would you need such a proof? Turns out, cryptographic primitives (especially one proof we will talk about later) depend on such proof mechanisms.
To put it down more formally, assume two distributions exist, and . Let us assume these two distributions are computationally indistinguable (this is a starting assumption). From here, we can define a hybrid distribution such that , where is an upperbound we don't have to worry about right now.
Assume now, that there exists an interpolation such that as is (reasonably) small and as it increases, we go from to .
Next assumption we can do is assume there is a probablistic efficieint algorithm (An algorithm that run in polynomial time and are allowed to use randomness in their computations). The advantage of A in distinguishing from is given by the following expression.
In simpler terms, the advantage of measures how much better can distinguish between samples drawn from and compared to a random guess. If is close to 0, it means cannot distinguish between and better than random chance, indicating that the two distributions are computationally indistinguishable. Conversely, if is significantly greater than 0, it implies that can successfully distinguish between and , suggesting that the two distributions are not computationally indistinguishable.
In the following image you can see two distributions (here visualised as true and pseudo randomness), and they start to become indistinguishable as we move "forward" in the values.
Let's prove a corollary using hybrid arguments
Corollary 81.7: Let be a one-way permutation (OWP) and a hard core bit for . Then the function is a pseudorandom generator (PRG).
Proof by intuition
- Hybrid 0: Start with a truly random string R_0.
- Hybrid 1: Replace the last bit of R_0 with h(f(x)). Since h is a hard core bit, Hybrid 1 is computationally indistinguishable from Hybrid 0.
- Hybrid 2: Replace the last two bits of R_0 with h(f(x)) | h(f^{(2)}(x)). Since h is a hard core bit and f is a one-way permutation, Hybrid 2 is computationally indistinguishable from Hybrid 1.
- Continue this process up to Hybrid n, where .
- Since each step only introduces a small change to the distribution, G(x) is computationally indistinguishable from a truly random string.
- Therefore, G(x) is a pseudorandom generator (PRG) based on the assumption that f is a one-way permutation and h is a hard core bit for f.
The formal proof is found in the reference.
Reference
Corollary 81.7 in Pass' A course in cryptography (opens in a new tab) Lecture Notes (opens in a new tab)