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.

OWFPR (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

References