Lecture 13
Pseudorandom Generator (PRG)
is a pseudorandom generator if the following is true:
- is efficiently computable.
- (expansion)
Hard-core bit (predicate) (HCB)
Hard-core bit (predicate) (HCB): is a hard-core bit of if for every adversary ,
Idea: is a one-way function.
Given , it is hard to recover . A cannot produce all of but can know some bits of .
is just a yes/no question regarding .
Example:
In RSA function, we pick as primes and . and .
is a HCB of . Given RSA assumption.
h(x) is not necessarily one of the bits of .
Theorem Any one-way function has a HCB.
A HCB can be produced for any one-way function.
Let be a strong one-way function.
Define as . is a strong one-way function. (proved in homework)
Idea of proof:
If A could reliably find , with being completely random, then it could find too often.
Pseudorandom Generator from HCB
For (1),
Theorem HCB generates PRG
Let be a one-way permutation (bijective) with a HCB . Then is a PRG.
Proof:
Efficiently computable: is one-way so is efficiently computable.
Expansion:
Pseudorandomness:
We proceed by contradiction.
Suppose . Then there would be a next-bit predictor such that for some bit .
Since is a bijection, and .
So could not predict with advantage given any first bits.
So the last bit, could predict.
This contradicts the HCB definition of .
Construction of PRG
using PRG
Let be a random string.
We proceed by the following construction:
We claim is a PRG.
Corollary: Combining constructions
is a one-way permutation with a HCB .
is a PRG. Where .
Proof:
is a PRG:
- Efficiently computable: since we are computing by applying multiple times (polynomial of times).
- Expansion: .
- Pseudorandomness: We proceed by contradiction. Suppose the output is not pseudorandom. Then there exists a distinguisher that can distinguish from with advantage .
Strategy: use hybrid argument to construct distributions.
By the hybrid argument, there exists an such that can distinguish and by
Show that there exists for
with advantage . (contradiction)