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.

and parallelism of Algorithm 3 comes at almost no cost in quality versus slower, iterative algorithms that use<br />

high-precision arithmetic. (It seems very likely that the corresponding small loss in security can easily be<br />

mitigated with slightly larger parameters, while still yielding a significant net gain in performance.)<br />

Runtime analysis. We now analyze the computational cost of Algorithm 3, with a focus on optimizing the<br />

online runtime and parallelism (sometimes at the expense of the offline phase, which we do not attempt to<br />

optimize).<br />

The offline phase is dominated by sampling from D Z m ,r √ Σ<br />

for some fixed (typically non-spherical)<br />

covariance matrix Σ > I. By [Pei10, Theorem 3.1], this can be accomplished (up to any desired statistical<br />

distance) simply by sampling a continuous Gaussian D √ r Σ−I<br />

with sufficient precision, then independently<br />

randomized-rounding each entry of the sampled vector to Z using Gaussian parameter r ≥ η ɛ (Z).<br />

Naively, the online work is dominated by the computation of H −1 (u − ¯w) and Rz (plus the call to<br />

O(v), which as described in Section 4 requires only O(log c n) work, or one table lookup, by each of n<br />

processors in parallel). In general, the first computation takes O(n 2 ) scalar multiplications and additions<br />

in Z q , while the latter takes O( ¯m · w), which is typically Θ(n 2 log 2 q). (Obviously, both computations are<br />

perfectly parallelizable.) However, the special form of z, and often of H, allow for some further asymptotic<br />

and practical optimizations: since z is typically produced by concatenating n independent dimension-k<br />

subvectors that are sampled offline, we can precompute much of Rz by pre-multiplying each subvector by<br />

each of the n blocks of k columns in R. This reduces the online computation of Rz to the summation of n<br />

dimension- ¯m vectors, or O(n 2 log q) scalar additions (and no multiplications) in Z q . As for multiplication by<br />

H −1 , in some applications (like GPV signatures) H is always the identity I, in which case multiplication is<br />

unnecessary; in all other applications we know of, H actually represents multiplication in a certain extension<br />

field/ring of Z q , which can be computed in O(n log n) scalar operations and depth O(log n). In conclusion,<br />

the asymptotic cost of the online phase is still dominated by computing Rz, which takes Õ(n2 ) work, but the<br />

hidden constants are small and many practical speedups are possible.<br />

Theorem 5.5. Algorithm 3 is correct.<br />

To prove the theorem we need the following fact about products of Gaussian functions.<br />

Fact 5.6 (Product of degenerate Gaussians). Let Σ 1 , Σ 2 ∈ R m×m be symmetric positive semidefinite matrices,<br />

let V i = span(Σ i ) for i = 1, 2 and V 3 = V 1 ∩ V 2 , let P = P t ∈ R m×m be the symmetric matrix that projects<br />

orthogonally onto V 3 , and let c 1 , c 2 ∈ R m be arbitrary. Supposing it exists, let v be the unique point in<br />

(V 1 + c 1 ) ∩ (V 2 + c 2 ) ∩ V ⊥<br />

3 . Then<br />

ρ √ Σ 1<br />

(x − c 1 ) · ρ √ Σ 2<br />

(x − c 2 ) = ρ √ Σ 1 +Σ 2<br />

(c 1 − c 2 ) · ρ √ Σ 3<br />

(x − c 3 ),<br />

where Σ 3 and c 3 ∈ v + V 3 are such that<br />

Σ + 3 = P(Σ+ 1 + Σ+ 2 )P<br />

Σ + 3 (c 3 − v) = Σ + 1 (c 1 − v) + Σ + 2 (c 2 − v).<br />

Proof of Theorem 5.5. We adopt the notation from the algorithm, let V = span( [ R<br />

I<br />

]<br />

) ⊂ R m , let P be the<br />

matrix that projects orthogonally onto V , and define the lattice Λ = Z m ∩ V = L( [ R<br />

I<br />

]<br />

), which spans V .<br />

We analyze the output distribution of SampleD. Clearly, it always outputs an element of Λ ⊥ u (A), so let ¯x ∈<br />

Λ ⊥ u (A) be arbitrary. Now SampleD outputs ¯x exactly when it chooses in Step 1 some ¯p ∈ V + ¯x, followed in<br />

27<br />

4. Trapdoors for Lattices

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

Saved successfully!

Ooh no, something went wrong!