An Efficient and Parallel Gaussian Sampler for Lattices Chris Peikert
Georgia Tech CRYPTO 2010
1 / 10
An Efficient and Parallel Gaussian Sampler for Lattices Chris - - PowerPoint PPT Presentation
An Efficient and Parallel Gaussian Sampler for Lattices Chris Peikert Georgia Tech CRYPTO 2010 1 / 10 Lattice-Based Crypto L R n b 2 b 1 2 / 10 Lattice-Based Crypto L R n p 1 p 2 2 / 10 Lattice-Based Crypto L R n b 2 p 1 b 1 =
1 / 10
b1 b2 2 / 10
p1 p2 2 / 10
b1 b2 p1 p2
(Images courtesy xkcd.org) 2 / 10
b1 b2 p1 p2
(Images courtesy xkcd.org)
2 / 10
b1 b2 p1 p2
(Images courtesy xkcd.org)
2 / 10
b1 b2 p1 p2
(Images courtesy xkcd.org)
⋆ ‘Hash-and-sign’ signatures
⋆ (Hierarchical) IBE
⋆ Fully homomorphic encryption
2 / 10
c b1 b2
3 / 10
⋆ ‘Zero-knowledge’ operation: leaks no information about B [GPV’08] c b1 b2
3 / 10
⋆ ‘Zero-knowledge’ operation: leaks no information about B [GPV’08] c b1 b2
3 / 10
⋆ ‘Zero-knowledge’ operation: leaks no information about B [GPV’08] c b1 b2
3 / 10
⋆ ‘Zero-knowledge’ operation: leaks no information about B [GPV’08] c b1 b2
3 / 10
c b1 b2 4 / 10
c b1 b2 4 / 10
c b1 b2 4 / 10
c b1 b2 4 / 10
c b1 b2
4 / 10
c b1 b2
4 / 10
c b1 b2
4 / 10
c b1 b2
4 / 10
c b1 b2
4 / 10
5 / 10
⋆ Simple & efficient: ≈ 4n2 online adds and mults, modulo a small integer 5 / 10
⋆ Simple & efficient: ≈ 4n2 online adds and mults, modulo a small integer
5 / 10
⋆ Simple & efficient: ≈ 4n2 online adds and mults, modulo a small integer
⋆ Fully parallelizable: n2/P operations on each of P ≤ n2 processors 5 / 10
⋆ Simple & efficient: ≈ 4n2 online adds and mults, modulo a small integer
⋆ Fully parallelizable: n2/P operations on each of P ≤ n2 processors ⋆ High quality: for crypto lattices, same∗ Gaussian width as GPV 5 / 10
⋆ Simple & efficient: ≈ 4n2 online adds and mults, modulo a small integer
⋆ Fully parallelizable: n2/P operations on each of P ≤ n2 processors ⋆ High quality: for crypto lattices, same∗ Gaussian width as GPV
5 / 10
c b1 b2 6 / 10
c b1 b2 6 / 10
c b1 b2 6 / 10
c b1 b2 6 / 10
c b1 b2 6 / 10
c b1 b2
6 / 10
c b1 b2
6 / 10
7 / 10
7 / 10
7 / 10
7 / 10
7 / 10
7 / 10
c b1 b2 8 / 10
c b1 b2 c′ 8 / 10
c b1 b2 c′ 8 / 10
c b1 b2 c′
8 / 10
c b1 b2 c′
8 / 10
c b1 b2 c′
8 / 10
c b1 b2 c′
8 / 10
c b1 b2 c′
8 / 10
c b1 b2 c′
8 / 10
c b1 b2 p1 p2
8 / 10
c b1 b2 p1 p2
8 / 10
c b1 b2 p1 p2
8 / 10
9 / 10
9 / 10
9 / 10
9 / 10
10 / 10
10 / 10
10 / 10
10 / 10