22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

now,thinkforconvenienceofw = l).TheattackerD w,l startsbyissuinglqueries<br />

to Func to compute a chain of n-bit values (x 0 ,x 1 ,...,x l ) where x i = H 2 (x i−1 )<br />

and x 0 is a random n-bit string. Then, it also picks a random index j ∈ [1..w],<br />

and creates a list of n-bit strings u[1],...,u[w] with u[j] = x l , and all remaining<br />

u[i] for i ≠ j are chosen uniformly and independently. Then, for all i ∈ [1..w],<br />

the distinguisher D w,l proceeds in asking all Prim queries in order to compute<br />

v[i] = H(u[i]). Subsequently, the attacker compute y 0 = H(x 0 ) via Prim queries,<br />

and also computes the chain (y 0 ,y 1 ,...,y l ) such that y i = H 2 (y i−1 ) by making<br />

l Func queries. Finally, it decides to output 1 if and only if y l = v[j] and x l<br />

as well as v[i] for i ≠ j are not in {y 0 ,y 1 ,...,y l }. The attacker D w,l therefore<br />

issues a total of 2l Func queries and (2w+1)·Cost(H,n) Prim queries.<br />

In the real-world experiment, the distinguisher D w,l outputs 1 with very<br />

high probability, as the condition y l = v[j] always holds by the chain-shifting<br />

property of H 2 . In fact, the only reason for D outputting 0 is that one of x l and<br />

v[i] for i ≠ j incidentally happens to be in {y 0 ,y 1 ,...,y l }. The (typically small)<br />

probability that this occurs obviously depends on the particular construction<br />

H[P] at hand; it is thus convenient to define the shorthand<br />

p(H,w,l) = Pr[{x l ,H(U 1 ),...,H(U w−1 )}∩{y 0 ,y 1 ,...,y l } ≠ ∅] ,<br />

where x 0 ,y 0 ,x 1 ,...,y l−1 ,x l ,y l are the intermediate value of a chain of 2l +<br />

1 consecutive evaluations of H[P] starting at a random n-bit string x 0 , and<br />

U 1 ,...,U w−1 are further independent random n-bit values. In the full version of<br />

this paper we prove that for H[P] = P = R for a random oracle R : {0,1} ∗ →<br />

{0,1} n we have p(H,w,l) = Θ((wl+l 2 )/2 n ). Similar reasoning can be applied<br />

to essentially all relevant constructions.<br />

In contrast, in the ideal-world experiment, we expect the simulator to be<br />

completely ignorant about the choice of j as long as it does not learn x 0 , and<br />

in particular it does not know j while answering the Prim queries associated<br />

with the evaluations of H(u[i]). Consequently, the condition required for D w,l<br />

to output1appearsto forcethe simulator,for alli ∈ [1..w], toprepareadistinct<br />

chain of l consecutive R evaluations ending in v[i], hence requiring w·l random<br />

oracle queries.<br />

The following theorem quantifies the advantage achieved by the above distinguisher<br />

D w,l in differentiating against any simulator for the construction H[P].<br />

Its proof is given in the full version.<br />

Theorem 1. [Attack against H 2 ] Let H[P] be an arbitrary hash construction<br />

with n-bit outputs, calling a primitive P, and let R : {0,1} ∗ → {0,1} n be a<br />

random oracle. For all integer parameters w,l ≥ 1, there exists an adversary<br />

D w,l making 2l Func-queries and (w+1)·Cost(H,n) Prim-queries such that for<br />

all simulators S,<br />

Adv indiff<br />

H 2 [P],R,S (D w,l) ≥ 1−p(H,w,l)− 5l2<br />

2 n+1 − q Sl<br />

2 n − q2 S<br />

2 n − q S<br />

w·l − 1 w ,<br />

where q S is the overall number of R queries by S when replying to D w,l ’s Prim<br />

queries.<br />

12<br />

15. To Hash or Not to Hash Again?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!