47
Simple extractors for all min-entropies and a new pseudo-random generator Ronen Shaltiel Chris Umans

Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Embed Size (px)

Citation preview

Page 1: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Simple extractors for all min-entropies and a new

pseudo-random generator

Ronen ShaltielChris Umans

Page 2: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Pseudo-Random Generators

pseudo-random

bits

PRG seed

Use a short “seed” of very few truly random bits to generate a long string of pseudo-random bits.

Pseudo-Randomness: No small circuit can distinguish truly random bits from pseudo-random bits.

few truly random bits

many “pseudo-random” bits

Nisan-Wigderson setting: The generator is more powerful than the circuit. (i.e., PRG runs in time n5 for circuits of size n3).

Hardness vs. Randomness paradigm: [BM,Y,S] Construct PRGs assuming hard functions. fEXP hard (on worst case) for small circuits. [NW88,BFNW93,I95,IW97,STV99,ISW99,ISW00]

Page 3: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Randomness Extractors [NZ]

random bits

Ext imperfect randomness

Extractors extract many random bits from arbitrary distributions which contain sufficient randomness.

A sample from a physical source of randomness. A high (min)-entropy distribution.

statistically close to uniform distribution.

Impossible for deterministic procedures!

Page 4: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Randomness Extractors [NZ]

random bits

Ext short seed

Extractors use a short seed of truly random bits extract many random bits from arbitrary distributions which contain sufficient randomness.

Extractors have many applications!

A lot of work on explicit constructions [vN53,B84, SV86,Z91,NZ93,SZ94,Z96,T96,T99,RRV99,ISW00, RSW00,TUZ01,TZS02].

Survey available from my homepage.

imperfect randomness

Page 5: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Trevisan’s argument

PRGs Extractors

Pseudo-random bits

PRG short seed hard function random

bits Ext short seed imperfect

randomness

Trevisan’s argument: Every PRG construction with certain relativization properties is also an extractor.

Extractors using the Nisan-Wigderson generator: [Tre99,RRV99,ISW00,TUZ01].

Page 6: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

The method of Ta-Shma, Zuckerman and Safra [TZS01] Use Trevisan’s argument to give a new

method for constructing extractors. Extractors by solving a “generalized list-

decoding” problem. (List-decoding already played a role in this area [Tre99,STV99]).

Solution inspired by list-decoding algorithms for Reed-Muller codes [AS,STV99].

Simple and direct construction.

Page 7: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Our results Use the ideas of [TZS01] in an improved way:

Simple and direct extractors for all min-entropies. (For every a>0, seed=(1+a)(log n), output=k/(log n)O(a) .)

New list-decoding algorithm for Reed-Muller codes [AS97,STV99].

Trevisan’s argument “the other way”: New PRG construction. (Does not use Nisan-Wigderson

PRG). Optimal conversion of hardness into pseudo-randomness.

(HSG construction using only “necessary” assumptions). Improved PRG's for nondeterministic circuits

(Consequence: better derandomization of AM). Subsequent paper [Uma02] gives quantitive improvements

for PRGs.

Page 8: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

The construction

Page 9: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Goal: Construct pseudo-random generators We’re given a hard function f on n

bits. We want to construct a PRG.

pseudo-random bits PRG short seed

n bits

n10 bits

Page 10: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Truth table of f

f(1)f(2)f(3)

…f(x)

…f(2n)

A naive idea

x

f(x)..f(x+n10)

G outputs n10 successive values of fG(x)=f(x),f(x+1),..,f(x+n10)

Previous: Make positions as independent as possible.[TZS01]: Make positions as dependent as possible.

Page 11: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Want to prove

f isn’t hard

G isn’t pseudo-random

f is hard

G is pseudo-random

Page 12: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Outline of Prooff isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

f is hard

G is pseudo-random

Page 13: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Next-Bit Predictorsf isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

f(x)..f(x+i-1)

f(x+i)

By the hybrid argument, there’s a small circuit P which predicts the next bit given the previous bits.

P(prefix)=next bit with probability ½+ε.

Page 14: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

To show that f is easy we’ll use P to construct a small circuit for f.

Circuits can use “non-uniform advice”.

We can choose nO(1) inputs and query f on these inputs.

Showing that f is easyf isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

Page 15: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Rules of the gameWe need to design an

algorithm that: Queries f at few

positions. (poly(n)). Uses the next-bit

predictor P. Computes f

everywhere. (on all 2n positions).

f isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

Page 16: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Computing f using few queries

Simplifying assumption: P(prefix)=next bit with probability 1.

Queries (non-uniform advice) f(0),..,f(i-1) - n10 bits

Use P to compute f(i),f(i+1),f(i+2)…

f isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

f(0)…f(i-1)

f(i)

f(1)……f(i)

f(i+1)

f(2)..f(i+1)

f(i+2)

Compute f everywhere

Page 17: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Rules of the gameWe need to design an

algorithm that: Queries f at few

positions. (poly(n)). Uses the next-bit

predictor P. Computes f

everywhere. (on all 2n positions).

f isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

*To get a small circuit we also need that for every x, f(x) can be computed in time nO(1) given the non-uniform advice.

Page 18: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

A Problem: The predictor makes errors

We’ve made a simplifying assumption that:

Prx[P(prefix)=next bit] = 1

We are only guaranteed that:

Prx[P(prefix)=next bit] > ½+ε

f(x)..f(x+i-1)

f(x+i)

vXvvXXXvXXvvvXvvXXVXvXXvXf(0)…f(i-1)f(1)……f(i)

Error: cannot

Continue!

Use Error-Correcting

techniques to recover from

errors!

Prefix

Page 19: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Using multivariate polynomials

The function f

2n

A line:One

Dimension

Page 20: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Using multivariate polynomials

f(1,1)f(1,2)

f(2,1)

2n/2

2n/2

A cube:many

dimensions

f(x1,x2)

*Low degree extension [BF]: We take a field F with about 2n/d elements and extend f to a degree about 2n/d polynomial in d variables.

w.l.o.g f(x1,..,xd) is a low degree polynomial in d

variables*

x1

x2

j

ji

iji xxaxxf 2

,1,21 ),(

Page 21: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Adjusting to Many Dimensions

Problem: No natural meaning to successive in many dimensions.

Successive in [TZS01]: move one point right.

The Generator: G(x1,x2)=f(x1,x2)..f(x1,x2+n10)

2n/2

f(x1,x2)..f(x1,x2+n10)

X1

X

2

Page 22: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Decoding ErrorsApply the Predictor in

parallel along a random line.

With high probability we get (½+ε)-fraction of correct predictions.*

Apply error correction:Learn all points on line

2n/2

*By pairwise independence properties of random lines.

v

x

v

v

x

x

v

v

x

v

v

v

v

v

v

v

v

v

A restriction of fto a line:

A univariate polynomial!

v

v

v

v

v

v

v

v

v

v

x

v

v

x

x

v

v

x

Low degree univariate polynomials have error-correcting properties!

Basic idea: Use decoding algorithms for Reed-Solomon

codes to decode and continue.

If #errors is small (<25%) then it is possible to recover

the correct values.

The predictor is only correct with probability ½+ε . May make almost 50% errors.

Page 23: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Too many errors Coding Theory: Not

enough information on on the line to uniquely decode.

It is possible to List-Decode to get few polynomials one of which is correct [S97].

[TZS01]: Use additional queries to pin down the correct polynomial.

2n/2

We also have the information we

previously computed!

v

x

v

v

x

x

v

v

x

Page 24: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Curves Instead of LinesLines: deg. 1

polynomials: L(t)=at+bCurves: higher deg. (nO(1))

C(t)=artr+ar-1tr-1..+a0

2n/2

Observation: f restricted to a low-degree curve is still a low-degree univariate polynomial.

Points on degree r curve are r-wise independent. (crucial for analysis).

Page 25: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

A special curve with intersection properties.

Curve passes through: Few (random) points Successive points.

2n/2

This curve intersects itself when moved!

Page 26: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Recovering From Errors2n/2

No errors!

Previously computed.

(½+ε)-fraction of correct

predictions.

Just like before:

Query n10 successive curves.

Apply the predictor in parallel.

Page 27: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Recovering From Errors2n/2

No errors!

Previously computed.

(½+ε)-fraction of correct

predictions.

Lemma:

+ =

Given: - “Noisy” predicted values. - Few correct values.

We can correct!

Page 28: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Given: - “Noisy” predicted values. - Few correct values.

We can correct!

Recovering From Errors2n/2

Lemma:

+ =

We implemented an errorless Predictor!

Warning: This presentation is oversimplified. The lemma works only for randomly placed points.

Actual solution is slightly more complicated and uses two

“interleaved” curves.

Page 29: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Story so far… We can “error-correct” a predictor

that makes errors. Coding Theory: Our strategy gives

a new list-decoding algorithm for Reed-Muller codes [AS97,STV99].

Short version

Page 30: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

List decoding

Given a corrupted message p: Pr[p(x)=f(x)]>ε

Output f1,..,ft s.t. f in list.

Page 31: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Our setup: List decoding with predictor

Given a predictor P: Pr[P(f(x-1),f(x-2),..,f(x-i))=f(x)]>ε

Use k queries to compute f everywhere.

Page 32: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Our setup: List decoding with predictor

Given a predictor P: Pr[P(x,f(x-1),f(x-2),..,f(x-i))=f(x)]>ε

Use k queries to compute f everywhere.

The decoding scenario is a special case when i=0 (predictor from empty prefix).

Page 33: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Our setup: List decoding with predictor

Given a predictor P: Pr[P(x,f(x-1),f(x-2),..,f(x-i))=f(x)]>ε

Use k queries to compute f everywhere.

To list-decode output all possible f’s for all 2k possible answers to queries.

Page 34: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Reducing the number of queries

Page 35: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Want: nO(1)

Make: n10 · |Curve|

How many queries?2n/2

2n/2

n10

Want to use short curves.

Page 36: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Using many dimensions1 dimension:

2n

2 dimensions: 2n/2

3 dimensions: 2n/3

d dimensions: 2n/d

d=Ω(n/log(n)) => length = nO(1)

Page 37: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Conflict?

Many Dimensions One Dimension

Error correction.Few queries.

Natural meaningto successive.

We’d like to have both!

Page 38: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

A different Successor Function

Fd Vector-Space.

Base Field F.

Fd Extension Field of F.

Multiplicative group has a generator g.

Fd \ 0={1,g,g2,g3,…}

Successor(v)=g·v

Covers the space.

Many Dimensions One Dimension

1 g g2 g3 ……. gi …………………….

We compute f Everywhere!

Page 39: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

A New Successor Function

Many Dimensions One Dimension

1 g g2 g3 ……. gi …………………….

Successor(v)=g·v

Covers the space.

We compute f Everywhere!

Invertible linear transform.

Maps curves to curves!

Page 40: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

We use our decoding algorithm succesively.

Choice of successor function guarantees that we learn f at every point!

Nothing Changes!2n/2

Lemma:

+ =

Page 41: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

The final Construction

Ingredients: f(x1,..,xd): a d-variate polynomial. g: generator of the extension field

Fd.Pseudo-Random Generator: )(),...,(),(),()(

102 vgfvgfvgfvfvG n

This is essentially the naive idea we started from.

*The actual construction is a little bit more complicated.

Page 42: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Query f at few short successive “special curves”.

Use predictor to learn the next curve with errors.

Use intersection properties of the special curve to error correct the current curve.

Successive curves cover the space and so we compute f everywhere.

Summary of prooff isn’t hard

Use P to compute f

Exists next-bit predictor P for G

G isn’t pseudo-random

Page 43: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Conclusion A simple construction of PRG’s.

(Almost all the complications we talked about are in the proof, not the construction!)

This construction and proof are very versatile and have many applications: Randomness extractors, (list)-decoding,

hardness amplification, derandomizing Arthur-Merlin games, unbalanced expander graphs.

Further research: Other uses for the naive approach for PRG’s. Other uses for the error-correcting technique.

Page 44: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

That’s it…

Page 45: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

What I didn’t show Next step: Use error corrected predictor to

compute f everywhere. The cost of “error-correction”:

We’re using too many queries just to get started.

We’re using many dimensions. (f is a polynomial in many variables).

It’s not clear how to implement the naive strategy in many dimensions!

More details from the paper/survey: www.wisdom.weizmann.ac.il/~ronens

Page 46: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

Conclusion A simple construction of PRG’s.

(Almost all the complications we talked about are in the proof, not the construction!)

This construction and proof are very versatile and have many applications: Randomness extractors, (list)-decoding,

hardness amplification, derandomizing Arthur-Merlin games, unbalanced expander graphs.

Further research: Other uses for the naive approach for PRG’s. Other uses for the error-correcting technique.

Page 47: Simple extractors for all min- entropies and a new pseudo- random generator Ronen Shaltiel Chris Umans

That’s it…