A function that can be computed in polynomial time but computationally infeasible for a PPT adversary to invert, i.e. find a pre-image of value .
Inverting experiment :
- Choose uniform , compute
- gets , outputs
- succeeds if
Any function is one-way if:
-
easy to compute
-
hard to invert
-
But any function that isn’t one-way doesn’t have to be easy to invert. There can an inverse polynomial probability of finding pre-image of function for certain values of x for to not be one-way.
-
Since is actually statistically invertible, by trying all values of , we’re intereted in computational hardness.
-
is one-way permutation, when and one-one. then .
-
One-way function families are used to output candidate one-way functions: :
- : outputs parameter . Each I corresponds to domain and range of function .
- : outputs uniformly distributed elements of
- : inputs , outputs .
-
is a permutation family if and is a bijection.
-
Similar experiment to: .
-
OWFs are usually based on certain problems that are deemed to be hard, i.e. computationally hard. This is because even if a problem is NP-complete, we only know it can’t be solved in polynomial time with the current known algorithms but still not mathematically proven whether solution to the problem is almost always non-invertible.
- Classic example to this is Subset-Sum Problem where . This problem is NP-complete.
- Thus, usual OWF are based on other hard problems like DLP.
-
To define better OWFs, one need to identify what sort of information does hides about input , hard-core predicates are exactly that. They’re the function that defines the information that is hidden by .
-
Hard-core predicates: a function of a function that can be computed in polynomial time, and for every PPT adversary, , i.e. boolean functions that are hard to guess right.
-
Note that: HC isn’t necessarily defined for OWFs, but for permutations, hc is only defined, if it’s one-way.
OWF→PR (pseudorandom)
Let’s understand how each of these constructions happen and their proofs.
- Goldreich-Levin Theorem states that if OWF exist, then there exists a function and hard-core predicate of . defined as, and , i.e. if is OWF, then hides the XOR of a random subset of .
- : Main result of [Goldreich-Levin][GL89] was to show how a pseudorandom generator of length can be calculated from a one-way permutation, such that with .
- : [Blum-Micali][BM82] showed that it’s possible to construct a PRG of any polynomial with from a PRG of .
- : For creating CPA-secure encryption, PRFs are needed, [Goldreich-Goldwasser-Micali][GGM86] showed how to construct PRF from PRG.
- : it was shown by [Luby-Rackoff][LR98], how to construct PRPs from PRFs.
Goldreich-Levin Theorem
To Prove: if is a OWF, then there exists a function , of .
Can be proven by modelling 2 adversaries where , i.e. can give hard-core predicate and , i.e. if can output hard-core predicate of , then can invert with some probability.
Prove this using three intermediate results:
- If can output with probability 1 always, then works for all n and for all x.
- Tighten probability such that for some polynomial , then
- Make more involved by , then .
- This proves that if can output of with some non-negligible probability which is better than guessing the hard-core predicate, then can be inverted with some non-negligible probability, and hence, OWF exist if doesn’t exist.
Complete proof: TODO
PRG from OWF
To prove: if is a OWP with hard-core predicate , then algorithm is a PRG with .
- First prove that above relation is equivalent to .
- Then, create a reduction proof with adversary that can output , if can differentiate between and .
- so, . this means that if D outputs 0 then outputs
Now our goal is to prove that if PRG of expansion factor of N+1 exsits then a PRG of expansion factor