a unifying approach for proving hardcore predicates using list decoding

37
1 1 A Unifying Approach A Unifying Approach for Proving Hardcore for Proving Hardcore Predicates Predicates Using List Decoding Using List Decoding Adi Akavia Adi Akavia Shafi Goldwasser Shafi Goldwasser Muli Safra Muli Safra

Upload: kalea

Post on 05-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

A Unifying Approach for Proving Hardcore Predicates Using List Decoding. Adi Akavia Shafi Goldwasser Muli Safra. f(z). f(x). P(z) w.p ½ + . x. Hard Core Predicate. One-way function : easy to compute, but hard to invert P is hard core of f if predicting P implies inverting f - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

11

A Unifying Approach for A Unifying Approach for Proving Hardcore Proving Hardcore

PredicatesPredicatesUsing List DecodingUsing List Decoding

Adi AkaviaAdi AkaviaShafi Goldwasser Shafi Goldwasser

Muli SafraMuli Safra

Page 2: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

22

Hard Core PredicateHard Core Predicate One-way functionOne-way function: :

easy to compute, but hard to inverteasy to compute, but hard to invert

PP is is hard corehard core of of ff if if predicting predicting PP implies inverting implies inverting ff

Proving Proving PP hardcore of hardcore of ff by reduction: by reduction:

Guessing P(x), when given f(x)

Inversion Algorithm

Magic Boxf(z) P(z)

w.p ½ +

xf(x)

for non-neg fraction of x’s

Page 3: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

33

Examples Examples

““One-Way” Functions:One-Way” Functions: RSARSA(x) = x(x) = xee mod N mod N ExpExp(x) = g(x) = gxx mod p mod p

Predicates:Predicates: halfhalfNN(x) = 1(x) = 1 iff iff x<N/2x<N/2

Least significant bit:Least significant bit:lsblsb(x) = 1(x) = 1 iff iff xx is even is even

[BM,ACGS, GL,N,HN,FS,VV,Kali…][BM,ACGS, GL,N,HN,FS,VV,Kali…]

0 N

0 N

Page 4: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

44

GLGL(x.r) = (x.r) = i xiri ThmThm[GL]: [GL]: OWF OWF ff, , GLGL is a hard core is a hard core

predicate of predicate of f’(x.r)=f(x).rf’(x.r)=f(x).r.. ““Proof”Proof”: :

Hadamard codeHadamard code HadHadxx(j)=GL(x,j)(j)=GL(x,j).. Code AccessCode Access given given f(x)f(x), and a magic-box , and a magic-box

predicting predicting GLGL, access a , access a ww close to close to HadHadxx

Code AccessHadx(j) w.p ½ + ’

j

Goldreich-Levin PredicateGoldreich-Levin Predicate

Magic Boxf(z).r GL(x.r)

w.p ½ +

f(x)

Page 5: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

55

Inversion Algorithm

GLGL(x.r) = (x.r) = i xiri ThmThm[GL]: [GL]: OWF OWF ff, , GLGL is a hard core is a hard core

predicate of predicate of f’(x.r)=f(x).rf’(x.r)=f(x).r.. ““Proof”Proof”: :

Hadamard codeHadamard code HadHadxx(j)=GL(x,j)(j)=GL(x,j).. Code AccessCode Access given given f(x)f(x), and a magic-box , and a magic-box

predicting predicting GLGL, access a , access a ww close to close to HadHadxx

List DecodingList Decoding given a word close to given a word close to HadHadxx, find , find xx

Goldreich-Levin PredicateGoldreich-Levin Predicate

Code AccessHadx(j) w.p ½ + ’

j

Magic Boxf(z).r GL(x.r)

w.p ½ +

f(x)

Code Accessf(x) ww

(close(closeto to HadHadxx))

xList Decoding

Page 6: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

66

List Decoding Approach List Decoding Approach [GL,Im,Su] [GL,Im,Su]

ThmThm: If there exists a code : If there exists a code C={CC={Cxx}} with with Code AccessCode Access (with respect to (with respect to f,Pf,P): ):

Given Given f(x)f(x), and a magic-box that predicts , and a magic-box that predicts PP, , we can access we can access ww which is close to which is close to CCxx

An efficient An efficient List DecodingList Decoding algorithm for algorithm for CC (with few random queries)(with few random queries)

Then Then PP is hard core of is hard core of ff Proof:Proof:

Inversion AlgorithmCode Access

f(x) ww xList Decoding

Page 7: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

77

List Decoding Approach for List Decoding Approach for Natural OWFsNatural OWFs

List decoding approach is elegant, but is it List decoding approach is elegant, but is it usefullusefull ? ?

Can it be utilized to prove hardcore Can it be utilized to prove hardcore predicates for predicates for natural OWFsnatural OWFs? ?

YES! YES! We use the list-decoding approach to show We use the list-decoding approach to show hardcore predicates for the natural OWFs:hardcore predicates for the natural OWFs: ExpExp - - half half and othersand others RSARSA - - halfhalf,,lsb, lsb, and othersand others ECLECL - - half half and othersand others

Page 8: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

88

Main Tool – Main Tool – Fourier Analysis over Fourier Analysis over ZZNN

Identifying functions and vectorsIdentifying functions and vectors (a(a11,a,a22,…,a,…,aN-1N-1) ) g(i)=a g(i)=aii

g g (g(0), g(1),…, g(N-1)) (g(0), g(1),…, g(N-1)) Standard basis: Standard basis: eexx = (0,…,1,…,0) = (0,…,1,…,0)

Characters basis:Characters basis: Let Let be a primitive be a primitive NNthth root of unity. root of unity. Then the Then the characters basis characters basis is is

where where

(and not

{0,1}n)

x(x) x(x)

N

N

12

3

76

504

Page 9: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

99

Concentrated FunctionsConcentrated Functions

Fourier representationFourier representationwherewhere is the is the Fourier Fourier coefficientcoefficient, and its , and its weight weight isis

DefDef: the : the restriction restriction of of gg to to is is

DefDef: : ff is a is a concentrated functions concentrated functions if if >0>0, , of of poly(log(N)/poly(log(N)/) ) size s.t.size s.t.

g g( )

g g( )

g( ) g, g( ) g,

|g g( )

|g g( )

2

| 2g g

2

| 2g g

2g( )

2g( )

Page 10: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1010

Concentrated Functions - Concentrated Functions - ExamplesExamples

Any character Any character is concentrated. is concentrated.

halfhalf is concentrated. is concentrated. Note, Note, half half is imaginary sign of is imaginary sign of 11 : :

Not Boolean!

++

+

--

-

12

3

76

504 +-

characters

weight

…-5 -3 -1 1 3 5…

Page 11: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1111

Agreement and Agreement and ConcentrationConcentration

NotationNotation: : -Heavy(g)-Heavy(g)={characters of weight={characters of weight for for gg}. }.

PropProp: Let : Let PP be concentrated, and let be concentrated, and let BB s.t. s.t. (P,B)≤½-(P,B)≤½-, then for , then for =poly(log N/=poly(log N/))

-Heavy(P) -Heavy(P) -Heavy(B) -Heavy(B) Proof:Proof:

Fourier coefficients

weight Legend:

highly agrees

Concentrated

Page 12: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1212

New Algorithm for Learning Heavy New Algorithm for Learning Heavy Fourier Coefficients of functions over Fourier Coefficients of functions over

ZZNN

Learning Heavy coefficientsLearning Heavy coefficients:: InputInput: query access to : query access to gg, threshold , threshold OutputOutput: : -Heavy(g)-Heavy(g)

Kushilevitz & Mansour: Kushilevitz & Mansour: g g is over is over {0,1}{0,1}nn

Our work: Our work: g g is over is over ZZNN

Other ApplicationsOther Applications: : Approximating concentrated functionsApproximating concentrated functions

Page 13: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1313

Codes & FourierCodes & Fourier We think of a code We think of a code

C={CC={Cxx} } {1,-1} {1,-1}NN as a collection of functions as a collection of functions

CCxx:Z:ZNN{1,-1}{1,-1} (where (where CCxx(j) (j) is the is the jjthth entry of entry of CCxx))

and consider their Fourier representation…and consider their Fourier representation…

Page 14: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1414

Concentrated CodesConcentrated Codes

DefDef: : CC is a is a concentrated code concentrated code if if every every CCxx is a concentrated functionsis a concentrated functions

Example: Binary Hadamard CodeExample: Binary Hadamard Code Hadamard = {HadHadamard = {Hadx x = (-1)= (-1)<x,j><x,j>}}xx

PropProp: Hadamard is concentrated: Hadamard is concentrated Proof: Proof: HadHadxx = = xx

List DecodingList Decoding::Input: Input: wwOutput: Output: 22-Heavy(w)-Heavy(w) characters

Weights of Hadx

x

Page 15: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1515

Main TheoremMain Theorem

Main ThmMain Thm: Let : Let ff be a function, and let be a function, and let CCPP={C={Cxx}} be a code which is be a code which is

1.1. ConcentratedConcentrated,,2.2. RecoverableRecoverable, namely, given a character , namely, given a character

, and a threshold , and a threshold ,, one can efficiently one can efficiently find all find all xx s.t. s.t. -Heavy(C-Heavy(Cxx)), ,

3.3. with with code accesscode access with respect to with respect to ff and and PP..

Then Then PP is hard core of is hard core of ff.. ProofProof: :

(1)+(2) imply that (1)+(2) imply that CC is list decodable. is list decodable.

Page 16: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1717

Segment PredicatesSegment Predicates

DefDef: : Let Let PP be a balanced predicate. Then be a balanced predicate. Then PP is a is a basic t-segment predicatebasic t-segment predicate if if

P(x+1)P(x+1)P(x)P(x) for at most for at most tt xx's.'s.

PP is a is a tt-segment predicate -segment predicate if if P(x)=P'(x/a)P(x)=P'(x/a)

for for P'P' a basic a basic tt-segment predicate, -segment predicate, and and (a,N)=1(a,N)=1..

When When t=poly(log N)t=poly(log N), we say that , we say that PP is a is a segment predicatesegment predicate..

0 N

Page 17: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1818

ExamplesExamples

halfhalfNN(x) = 1(x) = 1 iff iff x<N/2x<N/2

this is a basic this is a basic 22-segment predicate-segment predicate Least significant bit:Least significant bit:

lsb(x) = 1lsb(x) = 1 iff iff xx is even is even

When When NN is odd, is odd, this is a this is a 22-segment predicate, since-segment predicate, sincelsb(x) = halflsb(x) = halfNN(x/2)(x/2)

0 N

0 N

Page 18: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

1919

Segment Predicate TheoremSegment Predicate Theorem Theorem (segment predicate)Theorem (segment predicate)::

Let Let PP be a segment predicate. be a segment predicate. Define a code: Define a code: CCPP={C={Cxx}}, by , by

CCxx(j) = P(jx mod N)(j) = P(jx mod N)Then, Then, if there is if there is code accesscode access to to CCPP with with respect to respect to f,Pf,P, , then then PP is hard core of is hard core of ff..

ProofProof: By Main Theorem it suffice to : By Main Theorem it suffice to show that show that CCPP is concentrated and is concentrated and recoverable.recoverable.

Page 19: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2020

CCPP is Concentrated is Concentrated

Claim 1Claim 1: A basic : A basic tt-segment predicate -segment predicate PP is concentrated on low characters. is concentrated on low characters.

ProofProof::

P = P = ii IIi i (sum of (sum of tt intervals) intervals) IIii is concentrated on low characters. is concentrated on low characters.

0 N

characters

Fourier coefficients of I

ZN

I

Page 20: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2222

CCPP is Concentrated – Cont. is Concentrated – Cont.

Claim 2Claim 2: if : if g(y) = f(y/a)g(y) = f(y/a) then then

Since Since PP is a segment predicate, there is a segment predicate, there is a basic segment predicate is a basic segment predicate P’P’ such such that that P(y)=P’(y/a)P(y)=P’(y/a)

Now, Now, CCxx(j) = P(jx) = P’(jx/a)(j) = P(jx) = P’(jx/a), so , so P’P’ concentrated implies concentrated implies CCxx concentrated.concentrated.

g( ) f( a)

Page 21: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2323

CCPP is Recoverable is Recoverable

By Claims 1,2: By Claims 1,2: If If is a heavy character of is a heavy character of CCxx, , then then = x = x /a/a, where , where is a low is a low character.character.

Therefore, the algorithm that returns Therefore, the algorithm that returns all all xx such that such that = x = x /a/a, where , where is a low character is a low characteris a recovery algorithm.is a recovery algorithm.

Page 22: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2424

CCPP is concentrates, recoverable, and is concentrates, recoverable, and with access algorithm, with access algorithm, thus, any segment predicate thus, any segment predicate PP is is hard core of hard core of ff..

Page 23: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2525

Hard Core Segment Hard Core Segment Predicate Predicate

CorollaryCorollary: Every segment predicate is : Every segment predicate is hard core of hard core of RSARSA, , ExpExp and and ECLECL..

ProofProof: : It remains to show code access for It remains to show code access for CCPP w.r. to w.r. to RSARSA,,ExpExp,,ECLECL. . Since Since CCxx(j)=P(jx)(j)=P(jx), we return the , we return the answer of the magic box on “answer of the magic box on “f(jx)f(jx)”:”: RSA(jx) = RSA(jx) = xxee j jee mod N mod N,.,. Exp(jx) = (Exp(jx) = (ggxx))jj mod p mod p, , ECL(jx) = j (ECL(jx) = j (xQxQ)), ,

Page 24: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2626

Comments Comments on the Code Access Algorithmson the Code Access Algorithms RSA: RSA: magic box is defined only for magic box is defined only for

jxjxZZNN**. Nonetheless, . Nonetheless, ZZNN\Z\ZNN** is is negligible, negligible, thus we have good code-access.thus we have good code-access.

Exp:Exp: When When ggxx is a generator, the is a generator, the code-access algorithm succeeds with code-access algorithm succeeds with same probability as the magic box.same probability as the magic box.

Page 25: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2727

CommentsComments on Segment Predicates on Segment Predicates

lsblsb is not a segment predicate of is not a segment predicate of ExpExp, since , since ExpExp‘s domain is ‘s domain is ZZp-1p-1 and and p-1p-1 is even. is even.

A natural extension of A natural extension of halfhalfNN is: is: bbjj(x) = half(x) = halfNN(x/2(x/2jj)). .

This is a This is a 22-segment predicate, when -segment predicate, when NN is odd. is odd.

Non-balanced segment predicates: must be Non-balanced segment predicates: must be non negligibly far from any constant function.non negligibly far from any constant function.

Page 26: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

2828

Comments on CodesComments on Codes

list decoding other concentrated list decoding other concentrated recoverable codes?recoverable codes?

Example of concentrated code which Example of concentrated code which is NOT recoverable: Reed-Solomon is NOT recoverable: Reed-Solomon code.code.

Page 27: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3030

ENDEND

Page 28: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3131

Learning…Learning…

Page 29: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3232

Learning Heavy Fourier Learning Heavy Fourier CoefficientsCoefficients

Learning Heavy coefficientsLearning Heavy coefficients:: InputInput: query access to : query access to ff, threshold , threshold OutputOutput: : -Heavy(f)-Heavy(f)

MotivationMotivation:: Approximating concentrated functionsApproximating concentrated functions Application in list decoding and hard Application in list decoding and hard

core predicatescore predicates Related WorkRelated Work: Kushilevitz & Mansour: Kushilevitz & Mansour

Page 30: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3333

Binary SearchBinary Search

Page 31: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3434

Multi-Target Multi-Target Binary SearchBinary Search

Page 32: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3535

First TryFirst TryFourier

coefficient of f

||f|low||22

||f|high||22

Parseval-Parseval-identityidentity2 2

2f ( ) f 1

2 2

2f ( ) f 1

Can’t query f|low , f|high …

Page 33: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3636

Convolution with IntervalConvolution with Interval

Interval: Interval:

Convolution: Convolution:

Convolution with Interval:Convolution with Interval:

1/ I y II (y)

0 o/ w

y

g h(x) g(y)h(x y)

yf ,IAvg (x) I f (x) f(x y)

Page 34: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3737

Convolution with IntervalConvolution with Interval

Fact:Fact:

Therefore Therefore

High characters:High characters: Let Let g = f g = f -a-a, then , then Use Use AvgAvgg,Ig,I..

g h( ) g( )h( )

22

f ,I |low2 2Avg f

22

f ,I |low2 2Avg f

g( ) f( a)

akavia
I or I-complete?
Page 35: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3838

ComputingComputing

Chernoff

2

f ,I 2Avg

2

f ,I 2Avg

yf ,IAvg (x) f(x y)

2 2

xf ,I f ,I2Avg Avg (x)

Page 36: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

3939

Second TrySecond TryFourier

coefficient

s of f||Avgf,I||22

||Avgg,I||22

||Avg||Avgf,If,I||||2222 is only APPROXIMATELY is only APPROXIMATELY ||f||f|low|low||||22

22

Page 37: A Unifying Approach for Proving Hardcore Predicates Using List Decoding

4040

BlindfoldedBlindfolded SearchSearch

??

??

??

Fourier coefficient

s of f

||Avgf,I||22

||Avgg,I||22