22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

strictly necessary.) Let h t = [1, 2, . . . , 2 l−1 ] ∈ Z 1×l<br />

2 l be a parity-check matrix defining the 2 l -ary lattice<br />

Λ ⊥ (h t ) ⊆ Z l , and observe that g t = [h t , 2 l · h t , . . . , 2 k−l · h t ]. The hybrid algorithm then works as follows:<br />

1. For i = 0, . . . , k/l−1, choose (x il , . . . , x (i+1)l−1 ) ← D Λ ⊥<br />

u mod 2 l(ht ),s and let u ← (u−x)/2l , where<br />

x = ∑ l−1<br />

j=0 x il+j · 2 j ∈ Z.<br />

2. Output x = (x 0 , . . . , x k−1 ).<br />

As above, we can precompute samples x ← D Z l ,s and store them in a lookup table having 2 l buckets,<br />

indexed by the value 〈h, x〉 ∈ Z 2 l, thereby making the algorithm deterministic in its online phase.<br />

4.2 Arbitrary Modulus<br />

For a modulus q that is not a power of 2, most of the above ideas still work, with slight adaptations. Let<br />

k = ⌈lg(q)⌉, so q < 2 k . As above, define g t := [1, 2, . . . , 2 k−1 ] ∈ Z 1×k<br />

q , but now define the matrix<br />

⎡<br />

⎤<br />

2 q 0<br />

−1 2 q 1<br />

−1 q 2<br />

S k :=<br />

. .. ∈ Z k×k<br />

⎢<br />

.<br />

⎥<br />

⎣<br />

2 q k−2<br />

⎦<br />

−1 q k−1<br />

where (q 0 , . . . , q k−1 ) ∈ {0, 1} k is the binary expansion of q = ∑ i 2i · q i . Again, S is a basis of Λ ⊥ (g t )<br />

because g t · S k = 0 mod q, and det(S k ) = q. Moreover, the basis vectors have squared length ‖s i ‖ 2 = 5<br />

for i < k and ‖s k ‖ 2 = ∑ i q i ≤ k. The next lemma shows that S k also has a good Gram-Schmidt<br />

orthogonalization.<br />

Lemma 4.3. With S = S k defined as above and orthogonalized in forward order, we have ‖˜s i ‖ 2 = 4−4−i<br />

1−4 −i<br />

(4, 5] for 1 ≤ i < k, and ‖ ˜s k ‖ 2 = 3q2<br />

4 k −1 < 3.<br />

Proof. Notice that the the vectors s 1 , . . . , s k−1 are all orthogonal to g k = (1, 2, 4, . . . , 2 k−1 ) ∈ Z k . Thus,<br />

the orthogonal component of s k has squared length<br />

‖ ˜s k ‖ 2 = 〈s k, g k 〉 2<br />

‖g k ‖ 2 =<br />

q 2<br />

∑<br />

j

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

Saved successfully!

Ooh no, something went wrong!