Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele Micciancio1 Chris Peikert2
1UC San Diego 2Georgia Tech
IBM Research 8 September 2011
1 / 17
Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele - - PowerPoint PPT Presentation
Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele Micciancio 1 Chris Peikert 2 1 UC San Diego 2 Georgia Tech IBM Research 8 September 2011 1 / 17 Lattice-Based Cryptography p d o m x g = y N = = p m e mod N
1UC San Diego 2Georgia Tech
1 / 17
(Images courtesy xkcd.org) 2 / 17
(Images courtesy xkcd.org) 2 / 17
(Images courtesy xkcd.org) 2 / 17
3 / 17
3 / 17
3 / 17
O (0, q) (q, 0) 3 / 17
O (0, q) (q, 0) x 3 / 17
3 / 17
4 / 17
4 / 17
4 / 17
O 4 / 17
5 / 17
5 / 17
5 / 17
5 / 17
5 / 17
5 / 17
5 / 17
A : [Babai’86] (tight,iterative,fp) vs [Babai’86] (looser,parallel,offline)
A : [Klein’01,GPV’08] (ditto) vs [P’10] (ditto)
5 / 17
O 6 / 17
O
6 / 17
O
6 / 17
O
6 / 17
O
6 / 17
O
6 / 17
7 / 17
⋆ Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09]) ⋆ Inversion: practical, parallel, & mostly offline ⋆ No more efficiency-vs-quality tradeoff 7 / 17
⋆ Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09]) ⋆ Inversion: practical, parallel, & mostly offline ⋆ No more efficiency-vs-quality tradeoff
⋆ Asymptotically optimal with small constant factors ⋆ Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize 7 / 17
⋆ Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09]) ⋆ Inversion: practical, parallel, & mostly offline ⋆ No more efficiency-vs-quality tradeoff
⋆ Asymptotically optimal with small constant factors ⋆ Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize
⋆ Half the dimension of a basis ⇒ 4x size improvement ⋆ Delegation: size grows as O(dim), versus O(dim2) [CHKP’10] 7 / 17
⋆ Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09]) ⋆ Inversion: practical, parallel, & mostly offline ⋆ No more efficiency-vs-quality tradeoff
⋆ Asymptotically optimal with small constant factors ⋆ Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize
⋆ Half the dimension of a basis ⇒ 4x size improvement ⋆ Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]
7 / 17
s
c
8 / 17
s
c
8 / 17
s
c
8 / 17
9 / 17
9 / 17
9 / 17
10 / 17
10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
⋆ OR a hybrid of the two approaches. 10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
⋆ OR a hybrid of the two approaches.
10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
⋆ OR a hybrid of the two approaches.
⋆ For i ← 0, . . . , k − 1: choose xi ← (2Z + u), let u ← (u − xi)/2 ∈ Z. 10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
⋆ OR a hybrid of the two approaches.
⋆ For i ← 0, . . . , k − 1: choose xi ← (2Z + u), let u ← (u − xi)/2 ∈ Z. ⋆ OR presample many x ← Zk and store in ‘buckets’ fg(x) for later. 10 / 17
⋆ Get lsb(s), ek−1 from 2k−1s + ek−1. Then get next bit of s, etc.
4, q 4)k.
⋆ OR round to q
8-multiple and lookup in size-q3 table.
⋆ OR a hybrid of the two approaches.
⋆ For i ← 0, . . . , k − 1: choose xi ← (2Z + u), let u ← (u − xi)/2 ∈ Z. ⋆ OR presample many x ← Zk and store in ‘buckets’ fg(x) for later. ⋆ OR a hybrid of the two approaches. 10 / 17
11 / 17
11 / 17
11 / 17
11 / 17
11 / 17
12 / 17
12 / 17
⋆ A is uniform if [¯
12 / 17
⋆ A is uniform if [¯
12 / 17
⋆ A is uniform if [¯
⋆ [I | ¯
12 / 17
13 / 17
13 / 17
13 / 17
13 / 17
13 / 17
13 / 17
13 / 17
14 / 17
14 / 17
14 / 17
14 / 17
14 / 17
15 / 17
15 / 17
15 / 17
16 / 17
16 / 17
16 / 17
16 / 17
16 / 17
17 / 17
17 / 17
17 / 17
17 / 17