PRG

  • thus, pseudorandomness is property of a distribution and similar to how semantic security is computational relaxation of perfect secrecy, pseudorandomness is to true randomness.

Pseudorandom generator (PRG): Informally, PRG is a efficiently computable function that takes as input bit strings and output bit string where , and let be distribution of bit strings which are the outputs of , by choosing uniformly, then is PRG iff is pseudorandom, i.e. any polynomial-time observer can’t distinguish between and uniformly chosen l(n)-bit string.

  • define properties of PRG as:
    • expansion: PRG outputs l(n)-bit string, where
    • pseudorandomness:

prg

  • existence of PRG , depend on how computationally feasible it is to for a polynomial time distinguisher to distinguish between a uniform string and the one output by , because if were modelled as exponential time distinguisher then the probability of brute force attack become large.

Pseudorandom functions

  • A function is not pseudorandom, but chosen from a distribution.
  • Keyed function where
  • defining and fixing key creates a function
  • This induces a distribution of function in , where is distribution of all function that maps n-bit input to n-bit output strings.
  • How large is ? each function can be viewed as lookup table of n-bit length string rows, with output of function in the row. Thus, each function can be represented as bit string. Total functions are .
  • So, any function is called pseudorandom if polynomial-time Distinguisher cannot differentiate between or uniformly chosen function from .
    • Note that distinguisher doesn’t get full description of the function since it’s exponential length and is polynomial time. So, D is given access to oracle that can evaluate in polynomial time and can interact with oracle polynomial times.
  • PRG can be made from PRF by concatenating evaluations of , i.e. to get bit pseudorandom string.
  • in other direction, creating a PRF from PRG requires which is then viewed as lookup table with rows and n-bit outputs. But this is only possible for short input lengths, i.e.

Note, however, that F is efficient only if .

don’t understand why this?

  • Pseudorandom permutations: is the set of all bijection on . Total size of Perm distribution is .
  • keyed permutation defined as function for which and for key , is one-to-one and should be efficiently computable and invertible.
  • Proposition: If is a PRP, then it is also a PRF. Prove this.
  • Strong PRP: when distinguisher is given oracle access to and and need to distinguish between and uniform function , then it is called Pseudorandom permutation.

PRP

References