Lattice-Based Cryptography: Trapdoors, Discrete Gaussians, and Applications Chris Peikert
Georgia Institute of Technology crypt@b-it 2013
1 / 21
Lattice-Based Cryptography: Trapdoors, Discrete Gaussians, and - - PowerPoint PPT Presentation
Lattice-Based Cryptography: Trapdoors, Discrete Gaussians, and Applications Chris Peikert Georgia Institute of Technology crypt@b-it 2013 1 / 21 Agenda 1 Strong trapdoors for lattices 2 Discrete Gaussians, sampling, and preimage
1 / 21
1 “Strong trapdoors” for lattices 2 Discrete Gaussians, sampling, and “preimage sampleable” functions 3 Applications: signatures, ID-based encryption (in RO model)
2 / 21
(Images courtesy xkcd.org) 3 / 21
(Images courtesy xkcd.org) 3 / 21
(Images courtesy xkcd.org) 3 / 21
(Images courtesy xkcd.org) 3 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
4 / 21
s1 s2 b1 b2 5 / 21
s1 s2 x 5 / 21
b1 b2 x 5 / 21
s1 s2 x 5 / 21
s1 s2 x 5 / 21
s1 s2 x 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow)
5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
x
1 Generating “hard” lattice together with short basis (tomorrow) 2 Signing algorithm leaks secret basis!
⋆ Total break after 100s-1000s of signatures [NguyenRegev’06] 5 / 21
6 / 21
6 / 21
6 / 21
6 / 21
7 / 21
7 / 21
7 / 21
7 / 21
ε 1−ε] · s for all c ∈ R, where ε ≤ 2 exp(−πs2).
7 / 21
ε 1−ε] · s for all c ∈ R, where ε ≤ 2 exp(−πs2).
7 / 21
ε 1−ε] · s for all c ∈ R, where ε ≤ 2 exp(−πs2).
7 / 21
ε 1−ε] · s for all c ∈ R, where ε ≤ 2 exp(−πs2).
7 / 21
8 / 21
i ˜
˜ b1 = b1 b2 ˜ b2 8 / 21
i ˜
˜ b1 = b1 b2 ˜ b2 8 / 21
i ˜
8 / 21
i ˜
8 / 21
i ˜
8 / 21
i ˜
8 / 21
9 / 21
1 Choose x ∈ Zn from DZn,s.
9 / 21
1 Choose x ∈ Zn from DZn,s. 2 Reveal coset x + L.
9 / 21
1 Choose x ∈ Zn from DZn,s. 2 Reveal coset x + L.
9 / 21
1 Choose x ∈ Zn from DZn,s. 2 Reveal coset x + L.
1 Every coset c + L is equally∗ likely: we get uniform dist over Zn/L.
9 / 21
1 Choose x ∈ Zn from DZn,s. 2 Reveal coset x + L.
1 Every coset c + L is equally∗ likely: we get uniform dist over Zn/L. 2 Given that x ∈ c + L, it has conditional distribution Dc+L,s.
9 / 21
f
O (0, q) (q, 0) 10 / 21
f
q .
O (0, q) (q, 0) x 10 / 21
f
q .
O (0, q) (q, 0) x 10 / 21
f
q .
O (0, q) (q, 0) x
u (A),s. 10 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
11 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
u (A) s1 s2 O 11 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
u (A) s1 s2 O 11 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
u (A) s1 s2 O 11 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
u (A) s1 s2 O x 11 / 21
f −1
u (A),s given any short enough basis S: max˜
⋆ Unlike [GGH’96], output leaks nothing about S!
u (A) s1 s2 O x
11 / 21
12 / 21
Carol
12 / 21
Carol
12 / 21
Carol
12 / 21
1 [BonehFranklin’01,. . . ]: first IBE construction, using “new math”
13 / 21
1 [BonehFranklin’01,. . . ]: first IBE construction, using “new math”
2 [Cocks’01,BGH’07]: quadratic residuosity mod N = pq [GM’82]
13 / 21
1 [BonehFranklin’01,. . . ]: first IBE construction, using “new math”
2 [Cocks’01,BGH’07]: quadratic residuosity mod N = pq [GM’82] 3 [GPV’08]: lattices!
13 / 21
14 / 21
(public key) 14 / 21
(public key)
(ciphertext ‘preamble’) 14 / 21
(public key)
(ciphertext ‘preamble’)
2
(‘payload’) 14 / 21
(public key)
(ciphertext ‘preamble’)
2
2
(‘payload’) 14 / 21
(public key)
(ciphertext ‘preamble’)
2
2
(‘payload’)
14 / 21
(public key)
(ciphertext ‘preamble’)
2
2
(‘payload’)
14 / 21
(‘identity’ public key)
(ciphertext preamble)
2
2
(‘payload’)
A (u)
15 / 21
16 / 21
16 / 21
16 / 21
16 / 21
17 / 21
18 / 21
18 / 21
18 / 21
18 / 21
18 / 21
18 / 21
18 / 21
∗in cryptographic applications 18 / 21
s1 s2 O
19 / 21
s1 s2 O
19 / 21
s1 s2 O
19 / 21
s1 s2 O
19 / 21
s1 s2 O
19 / 21
s1 s2 O
19 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
20 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
20 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
2 Convolution of Gaussians:
20 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
2 Convolution of Gaussians:
3 Given Σ1, how small can s be? For Σ2 := s2 I − Σ1,
20 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
2 Convolution of Gaussians:
3 Given Σ1, how small can s be? For Σ2 := s2 I − Σ1,
20 / 21
1 Continuous Gaussian ↔ positive definite covariance matrix Σ.
2 Convolution of Gaussians:
3 Given Σ1, how small can s be? For Σ2 := s2 I − Σ1,
20 / 21
s1 s2 21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0
s1 s2 p 21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p 21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p
21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p
21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p
1 Precompute perturbations offline
21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p
1 Precompute perturbations offline 2 Batch multi-sample using fast matrix multiplication
21 / 21
1 Generate perturbation p with covariance Σ2 := s2 I − Σ1 > 0 2 Randomly round-off p to L + c: return S · frac(S−1 · (c + p))$
s1 s2 p
1 Precompute perturbations offline 2 Batch multi-sample using fast matrix multiplication 3 More tricks & simplifications for SIS lattices (tomorrow)
21 / 21