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.

The algorithm is similar to the algorithm of [vD98], though generalized to handle arbitrary range<br />

sizes. This algorithm has the same success probability as in Theorem 4.1, showing that both our<br />

attack and lower bound of Theorem 4.1 are optimal. This proves the second part of Theorem 1.1.<br />

Proof. Assume that Y = {0, ..., n − 1}. For a vector y ∈ Y k , let ∆(y) be the number of coordinates<br />

of y that do not equal 0. Also, assume that x i = i.<br />

Initially, prepare the state that is a uniform superposition of all vectors y ∈ Y k such that<br />

∆(y) ≤ q:<br />

|ψ 1 〉 = √ 1 ∑<br />

|y〉<br />

V<br />

y:∆(y)≤q<br />

Notice that the number of vectors of length k with at most q non-zero coordinates is exactly<br />

( q∑ k<br />

(n − 1)<br />

r)<br />

r = C k,q,n .<br />

r=0<br />

We can prepare the state efficiently as follows: Let Setup k,q,n : [C k,q,n ] → [n] k be the following<br />

function: on input l ∈ [C k,q,n ],<br />

• Check if l ≤ C k−1,q,n . If so, compute the vector y ′ = Setup k−1,q,n (n), and output the vector<br />

y = (0, y ′ ).<br />

• Otherwise, let l ′ = l − C k−1,q,n . It is easy to verify that l ′ ∈ [(n − 1)C k−1,q−1,n ].<br />

• Let l ′′ ∈ C k−1,q−1,n and y 0 ∈ [n]\{0} be the unique such integers such that l ′ = (n−1)l ′′ +y 0 −n.<br />

• Let y ′ = Setup k−1,q−1,n (l ′′ ), and output the vector y = (y 0 , y ′ ).<br />

The algorithm relies on the observation that a vector y of length k with at most q non-zero<br />

coordinates falls into one of either two categories:<br />

• The first coordinate is 0, and the remaining k − 1 coordinates form a vector with at most q<br />

non-zero coordinates<br />

• The first coordinate is non-zero, and the remaining k − 1 coordinates form a vector with at<br />

most q − 1 non-zero coordinates.<br />

There are C k−1,q,n vectors of the first type, and C k−1,q−1,n vectors of the second type for each<br />

possible setting of the first coordinate to something other than 0. Therefore, we divide [A k,q,n ] into<br />

two parts: the first C k−1,q,n integers map to the first type, and the remaining (n − 1)C k−1,q−1,n<br />

integers map to vectors of the second type.<br />

We note that Setup is efficiently computable, invertible, and its inverse is also efficiently<br />

computable. Therefore, we can prepare |ψ 1 〉 by first preparing the state<br />

1<br />

√<br />

Ck,q,n<br />

∑<br />

l∈[C k,q,n ]<br />

and reversibly converting this state into |φ 1 〉 using Setup k,q,n .<br />

Next, let F : Y k → [k] q be the function that outputs the indexes i such that y i ≠ 0, in order of<br />

increasing i. If there are fewer than q such indexes, the function fills in the remaining spaces the<br />

|l〉<br />

15<br />

8. Quantum-Secure Message Authentication Codes

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

Saved successfully!

Ooh no, something went wrong!