trapdoors for lattices: simpler, tighter, faster, smallerdaniele/papers/mp12-slides.pdftrapdoor...

84
Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele Micciancio 1 Chris Peikert 2 1 UC San Diego 2 Georgia Tech April 2012 1 / 17

Upload: others

Post on 17-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Trapdoors for Lattices:Simpler, Tighter, Faster, Smaller

Daniele Micciancio1 Chris Peikert2

1UC San Diego

2Georgia Tech

April 2012

1 / 17

Page 2: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple & efficient: linear, highly parallel operations

I Resist quantum attacks (so far)

I Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

I Solve ‘holy grail’ problems like FHE [Gentry’09,. . . ]

(Images courtesy xkcd.org) 2 / 17

Page 3: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple & efficient: linear, highly parallel operations

I Resist quantum attacks (so far)

I Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

I Solve ‘holy grail’ problems like FHE [Gentry’09,. . . ]

(Images courtesy xkcd.org) 2 / 17

Page 4: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple & efficient: linear, highly parallel operations

I Resist quantum attacks (so far)

I Secure under worst-case hardness assumptions [Ajtai’96,. . . ]

I Solve ‘holy grail’ problems like FHE [Gentry’09,. . . ]

(Images courtesy xkcd.org) 2 / 17

Page 5: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices

b1

b2

A lattice is the set of all integerlinear combinations of (linearlyindependent) basis vectorsB = b1, . . . ,bn ⊂ Rd:

Λ =

n∑i=1

bi · Z

= Bx : x ∈ Zn

The same lattice has many bases

Λ = Cx : x ∈ Zn

Definition (Lattice)

Discrete additive subgroup of Rd

E.g. Λ = x ∈ Zd : Ax = 0

3 / 17

Page 6: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices

b1

b2

A lattice is the set of all integerlinear combinations of (linearlyindependent) basis vectorsB = b1, . . . ,bn ⊂ Rd:

Λ =

n∑i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

Λ = Cx : x ∈ Zn

Definition (Lattice)

Discrete additive subgroup of Rd

E.g. Λ = x ∈ Zd : Ax = 0

3 / 17

Page 7: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices

b1

b2

c1

c2

A lattice is the set of all integerlinear combinations of (linearlyindependent) basis vectorsB = b1, . . . ,bn ⊂ Rd:

Λ =

n∑i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

Λ = Cx : x ∈ Zn

Definition (Lattice)

Discrete additive subgroup of Rd

E.g. Λ = x ∈ Zd : Ax = 0

3 / 17

Page 8: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices

A lattice is the set of all integerlinear combinations of (linearlyindependent) basis vectorsB = b1, . . . ,bn ⊂ Rd:

Λ =

n∑i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

Λ = Cx : x ∈ Zn

Definition (Lattice)

Discrete additive subgroup of Rd

E.g. Λ = x ∈ Zd : Ax = 0

3 / 17

Page 9: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices: Examples

e1

e2

The simplest lattice in n-dimensionalspace is the integer lattice

Λ = Zn

b1

b2

Other lattices are obtained byapplying a linear transformation

Λ = BZn (B ∈ Rd×n)

Remark

All lattices have the same group structure, but different geometry

4 / 17

Page 10: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices: Examples

e1

e2

The simplest lattice in n-dimensionalspace is the integer lattice

Λ = Zn

b1

b2

Other lattices are obtained byapplying a linear transformation

Λ = BZn (B ∈ Rd×n)

Remark

All lattices have the same group structure, but different geometry

4 / 17

Page 11: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Point Lattices: Examples

e1

e2

The simplest lattice in n-dimensionalspace is the integer lattice

Λ = Zn

b1

b2

Other lattices are obtained byapplying a linear transformation

Λ = BZn (B ∈ Rd×n)

Remark

All lattices have the same group structure, but different geometry

4 / 17

Page 12: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

5 / 17

Page 13: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

5 / 17

Page 14: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

5 / 17

Page 15: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I Lattice interpretation: Λ⊥(A) = x ∈ Zm : fA(x) = Ax = 0 mod q

O

(0, q)

(q, 0)

5 / 17

Page 16: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I Lattice interpretation: Λ⊥(A) = x ∈ Zm : fA(x) = Ax = 0 mod q

O

(0, q)

(q, 0)

x

5 / 17

Page 17: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I Lattice interpretation: Λ⊥(A) = x ∈ Zm : fA(x) = Ax = 0 mod q

O

(0, q)

(q, 0)

x

O

(0, q)

(q, 0)

a1

a2

5 / 17

Page 18: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I Lattice interpretation: Λ⊥(A) = x ∈ Zm : fA(x) = Ax = 0 mod q

O

(0, q)

(q, 0)

x

O

(0, q)

(q, 0)

a1

a2

Ats

e

5 / 17

Page 19: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I fA, gA in forward direction yield CRHFs, CPA-secure encryption. . . and not much else.

I Remark:F fA and gA are essentially equivalent functionsF See e.g. “Duality in lattice cryptography” [M’10]F Main difference: e is even shorter than xF Notational convention:

Function x/e Injective Surjective

fA short 7 4

gA very short 4 7

5 / 17

Page 20: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Lattice-Based One-Way Functions

I Public key[· · · A · · ·

]∈ Zn×m

q for q = poly(n), m = Ω(n log q).

fA(x) = Ax mod q ∈ Znq

(“short” x, surjective)

CRHF if SIS hard [Ajtai’96,. . . ]

gA(s, e) = stA + et mod q ∈ Zmq

(“very short” e, injective)

OWF if LWE hard [Regev’05,P’09]

I fA, gA in forward direction yield CRHFs, CPA-secure encryption. . . and not much else.

I Remark:F fA and gA are essentially equivalent functionsF See e.g. “Duality in lattice cryptography” [M’10]F Main difference: e is even shorter than xF Notational convention:

Function x/e Injective Surjective

fA short 7 4

gA very short 4 7

5 / 17

Page 21: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Trapdoor InversionI Many cryptographic applications need to invert fA and/or gA.

Invert u = fA(x′) = Ax′ mod q:

sample random x← f−1A (u)

with prob ∝ exp(−‖x‖2/σ2).

InvertgA(s, e) = stA + et mod q:

find the unique preimage s

(equivalently, e)

I How? Use a “strong trapdoor” for A: a short basis of Λ⊥(A)[Babai’86,GGH’97,Klein’01,GPV’08,P’10]

O

6 / 17

Page 22: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Trapdoor InversionI Many cryptographic applications need to invert fA and/or gA.

Invert u = fA(x′) = Ax′ mod q:

sample random x← f−1A (u)

with prob ∝ exp(−‖x‖2/σ2).

InvertgA(s, e) = stA + et mod q:

find the unique preimage s

(equivalently, e)

I How? Use a “strong trapdoor” for A: a short basis of Λ⊥(A)[Babai’86,GGH’97,Klein’01,GPV’08,P’10]

O

6 / 17

Page 23: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Trapdoor InversionI Many cryptographic applications need to invert fA and/or gA.

Invert u = fA(x′) = Ax′ mod q:

sample random x← f−1A (u)

with prob ∝ exp(−‖x‖2/σ2).

InvertgA(s, e) = stA + et mod q:

find the unique preimage s

(equivalently, e)

I How? Use a “strong trapdoor” for A: a short basis of Λ⊥(A)[Babai’86,GGH’97,Klein’01,GPV’08,P’10]

O

6 / 17

Page 24: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Trapdoor InversionI Many cryptographic applications need to invert fA and/or gA.

Invert u = fA(x′) = Ax′ mod q:

sample random x← f−1A (u)

with prob ∝ exp(−‖x‖2/σ2).

InvertgA(s, e) = stA + et mod q:

find the unique preimage s

(equivalently, e)

I How? Use a “strong trapdoor” for A: a short basis of Λ⊥(A)[Babai’86,GGH’97,Klein’01,GPV’08,P’10]

O

6 / 17

Page 25: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

7 / 17

Page 26: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

7 / 17

Page 27: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

7 / 17

Page 28: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

7 / 17

Page 29: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

Other “Black-Box” Applications of f−1, g−1

I Standard model (no RO) signatures [CHKP’10,R’10,B’10]

I SM CCA-secure encryption [PW’08,P’09]

I SM (Hierarchical) IBE [GPV’08,CHKP’10,ABB’10a,ABB’10b]

I Many more: OT, NISZK, homom enc/sigs, deniable enc, func enc, . . .[PVW’08,PV’08,GHV’10,GKV’10,BF’10a,BF’10b,OPW’11,AFV’11,ABVVW’11,. . . ]

7 / 17

Page 30: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

Some Drawbacks. . .

7 Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09]

7 Known inversion algorithms trade quality for efficiency

tight, iterative, fp looser, parallel, offline

g−1A [Babai’86] [Babai’86]

f−1A [Klein’01,GPV’08] [P’10]

7 / 17

Page 31: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

Some Drawbacks. . .

7 Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09]

7 Known inversion algorithms trade quality for efficiency

tight, iterative, fp looser, parallel, offline

g−1A [Babai’86] [Babai’86]

f−1A [Klein’01,GPV’08] [P’10]

7 / 17

Page 32: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Applications of Strong Trapdoors

Canonical App: [GPV’08] Signatures

I pk = A, sk = short basis for A, random oracle H : 0, 1∗ → Znq .

I Sign(m): let u = H(m) and output Gaussian x← f−1A (u)

I Verify(m,x): check fA(x) = Ax = H(m) and x “short enough”

I Security: finding “short enough” preimages in fA must be hard

Some Drawbacks. . .

7 Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09]

7 Known inversion algorithms trade quality for efficiency

tight, iterative, fp looser, parallel, offline

g−1A [Babai’86] [Babai’86]

f−1A [Klein’01,GPV’08] [P’10]

7 / 17

Page 33: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 34: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 35: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 36: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 37: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 38: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Taming the Parameters

n

[· · · A · · ·

]︸ ︷︷ ︸

m

fA(x) = AxO

1 Trapdoor construction yields some lattice dim m = Ω(n log q).

2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev σ.

3 Dimension m, std dev s =⇒ preimage length β = ‖x‖ ≈ σ√m.

4 Choose n, q so that finding β-bounded preimages is hard.

4 Better dimension m & quality σ=⇒ “win-win-win” in security-keysize-runtime

8 / 17

Page 39: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Our Contributions

New “strong” trapdoor generation and inversion algorithms:

4 Very simple & fast

F Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09])

F Inversion: practical, parallel, & mostly offline

F No more efficiency-vs-quality tradeoff

4 Tighter parameters m and σ

F Asymptotically optimal with small constant factors

F Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize

4 New kind of trapdoor — not a basis! (But just as powerful.)

F Half the dimension of a basis ⇒ 4x size improvement

F Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]

4 More efficient applications (beyond “black-box” improvements)

9 / 17

Page 40: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Our Contributions

New “strong” trapdoor generation and inversion algorithms:

4 Very simple & fast

F Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09])

F Inversion: practical, parallel, & mostly offline

F No more efficiency-vs-quality tradeoff

4 Tighter parameters m and σ

F Asymptotically optimal with small constant factors

F Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize

4 New kind of trapdoor — not a basis! (But just as powerful.)

F Half the dimension of a basis ⇒ 4x size improvement

F Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]

4 More efficient applications (beyond “black-box” improvements)

9 / 17

Page 41: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Our Contributions

New “strong” trapdoor generation and inversion algorithms:

4 Very simple & fast

F Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09])

F Inversion: practical, parallel, & mostly offline

F No more efficiency-vs-quality tradeoff

4 Tighter parameters m and σ

F Asymptotically optimal with small constant factors

F Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize

4 New kind of trapdoor — not a basis! (But just as powerful.)

F Half the dimension of a basis ⇒ 4x size improvement

F Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]

4 More efficient applications (beyond “black-box” improvements)

9 / 17

Page 42: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Our Contributions

New “strong” trapdoor generation and inversion algorithms:

4 Very simple & fast

F Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09])

F Inversion: practical, parallel, & mostly offline

F No more efficiency-vs-quality tradeoff

4 Tighter parameters m and σ

F Asymptotically optimal with small constant factors

F Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize

4 New kind of trapdoor — not a basis! (But just as powerful.)

F Half the dimension of a basis ⇒ 4x size improvement

F Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]

4 More efficient applications (beyond “black-box” improvements)

9 / 17

Page 43: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Our Contributions

New “strong” trapdoor generation and inversion algorithms:

4 Very simple & fast

F Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09])

F Inversion: practical, parallel, & mostly offline

F No more efficiency-vs-quality tradeoff

4 Tighter parameters m and σ

F Asymptotically optimal with small constant factors

F Ex improvement: 32x in dim m, 25x in quality s ⇒ 67x in keysize

4 New kind of trapdoor — not a basis! (But just as powerful.)

F Half the dimension of a basis ⇒ 4x size improvement

F Delegation: size grows as O(dim), versus O(dim2) [CHKP’10]

4 More efficient applications (beyond “black-box” improvements)

9 / 17

Page 44: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Concrete Parameter Improvements

Before [AP’09] Now (fast f−1) Improvement

Dim mslow f−1: > 5n log q 2n log q (

s≈)

2.5 – log qfast f−1: > n log2 q n(1 + log q) (

c≈)

Quality σslow f−1: 20

√n log q

1.6√n log q 12.5 – 10

√log q

fast f−1: 16√n log2 q

Example parameters for (ring-based) GPV signatures:

n q δ to break pk size (bits)

Before (fast f−1) 436 232 1.007 ≈ 17× 106

Now 284 224 1.007 ≈ 36× 104

Bottom line: ≈ 45-fold improvement in key size.

10 / 17

Page 45: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Concrete Parameter Improvements

Before [AP’09] Now (fast f−1) Improvement

Dim mslow f−1: > 5n log q 2n log q (

s≈)

2.5 – log qfast f−1: > n log2 q n(1 + log q) (

c≈)

Quality σslow f−1: 20

√n log q

1.6√n log q 12.5 – 10

√log q

fast f−1: 16√n log2 q

Example parameters for (ring-based) GPV signatures:

n q δ to break pk size (bits)

Before (fast f−1) 436 232 1.007 ≈ 17× 106

Now 284 224 1.007 ≈ 36× 104

Bottom line: ≈ 45-fold improvement in key size.

10 / 17

Page 46: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Concrete Parameter Improvements

Before [AP’09] Now (fast f−1) Improvement

Dim mslow f−1: > 5n log q 2n log q (

s≈)

2.5 – log qfast f−1: > n log2 q n(1 + log q) (

c≈)

Quality σslow f−1: 20

√n log q

1.6√n log q 12.5 – 10

√log q

fast f−1: 16√n log2 q

Example parameters for (ring-based) GPV signatures:

n q δ to break pk size (bits)

Before (fast f−1) 436 232 1.007 ≈ 17× 106

Now 284 224 1.007 ≈ 36× 104

Bottom line: ≈ 45-fold improvement in key size.10 / 17

Page 47: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Overview of Methods

1 Design a fixed, public lattice defined by “gadget” G.

Give fast, parallel, offline algorithms for f−1G , g−1

G .

2 Randomize G↔ A via a “nice” unimodular transformation.

(The transformation is the trapdoor!)

3 Reduce f−1A , g−1

A to f−1G , g−1

G plus pre-/post-processing.

11 / 17

Page 48: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Overview of Methods

1 Design a fixed, public lattice defined by “gadget” G.

Give fast, parallel, offline algorithms for f−1G , g−1

G .

2 Randomize G↔ A via a “nice” unimodular transformation.

(The transformation is the trapdoor!)

3 Reduce f−1A , g−1

A to f−1G , g−1

G plus pre-/post-processing.

11 / 17

Page 49: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Overview of Methods

1 Design a fixed, public lattice defined by “gadget” G.

Give fast, parallel, offline algorithms for f−1G , g−1

G .

2 Randomize G↔ A via a “nice” unimodular transformation.

(The transformation is the trapdoor!)

3 Reduce f−1A , g−1

A to f−1G , g−1

G plus pre-/post-processing.

11 / 17

Page 50: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 51: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 52: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 53: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 54: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 55: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 56: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 57: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 58: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Let q = 2k. Define 1-by-k “parity check” vector

g :=[1 2 4 · · · 2k−1

]∈ Z1×k

q .

I Invert LWE function gg : Zq × Zk → Zkq

s · g + e =[s+ e0 2s+ e1 · · · 2k−1s+ ek−1

]mod q.

F Get lsb(s) from 2k−1s+ ek−1. Then get next bit of s, etc.

Works exactly when every ei ∈ [− q4 ,

q4 ).

F OR round entries and lookup in table.

F OR a hybrid of the two approaches.

I Sample Gaussian preimage for u = fg(x) := 〈g,x〉 mod q.

F For i← 0, . . . , k − 1: choose xi ← (2Z + u), let u← (u− xi)/2 ∈ Z.

F OR presample many x← Zk and store in ‘buckets’ fg(x) for later.

F OR a hybrid of the two approaches.

12 / 17

Page 59: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Another view: for g =[1 2 · · · 2k−1

]the lattice Λ⊥(g) has basis

S =

2−1 2

−1. . .

2−1 2

∈ Zk×k, with S = 2 · Ik.

The iterative inversion algorithms for fg, gg are special cases of the(randomized) “nearest-plane” algorithm [Babai’86,Klein’01,GPV’08].

I Define G = In ⊗ g =

· · ·g · · ·

· · ·g · · ·. . .

· · ·g · · ·

∈ Zn×nkq .

Now f−1G , g−1

G reduce to n parallel (and offline) calls to f−1g , g−1

g .

Also applies to H ·G for any invertible H ∈ Zn×nq .

13 / 17

Page 60: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Another view: for g =[1 2 · · · 2k−1

]the lattice Λ⊥(g) has basis

S =

2−1 2

−1. . .

2−1 2

∈ Zk×k, with S = 2 · Ik.

The iterative inversion algorithms for fg, gg are special cases of the(randomized) “nearest-plane” algorithm [Babai’86,Klein’01,GPV’08].

I Define G = In ⊗ g =

· · ·g · · ·

· · ·g · · ·. . .

· · ·g · · ·

∈ Zn×nkq .

Now f−1G , g−1

G reduce to n parallel (and offline) calls to f−1g , g−1

g .

Also applies to H ·G for any invertible H ∈ Zn×nq .

13 / 17

Page 61: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Another view: for g =[1 2 · · · 2k−1

]the lattice Λ⊥(g) has basis

S =

2−1 2

−1. . .

2−1 2

∈ Zk×k, with S = 2 · Ik.

The iterative inversion algorithms for fg, gg are special cases of the(randomized) “nearest-plane” algorithm [Babai’86,Klein’01,GPV’08].

I Define G = In ⊗ g =

· · ·g · · ·

· · ·g · · ·. . .

· · ·g · · ·

∈ Zn×nkq .

Now f−1G , g−1

G reduce to n parallel (and offline) calls to f−1g , g−1

g .

Also applies to H ·G for any invertible H ∈ Zn×nq .

13 / 17

Page 62: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Another view: for g =[1 2 · · · 2k−1

]the lattice Λ⊥(g) has basis

S =

2−1 2

−1. . .

2−1 2

∈ Zk×k, with S = 2 · Ik.

The iterative inversion algorithms for fg, gg are special cases of the(randomized) “nearest-plane” algorithm [Babai’86,Klein’01,GPV’08].

I Define G = In ⊗ g =

· · ·g · · ·

· · ·g · · ·. . .

· · ·g · · ·

∈ Zn×nkq .

Now f−1G , g−1

G reduce to n parallel (and offline) calls to f−1g , g−1

g .

Also applies to H ·G for any invertible H ∈ Zn×nq .

13 / 17

Page 63: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 1: Gadget G and Inversion Algorithms

I Another view: for g =[1 2 · · · 2k−1

]the lattice Λ⊥(g) has basis

S =

2−1 2

−1. . .

2−1 2

∈ Zk×k, with S = 2 · Ik.

The iterative inversion algorithms for fg, gg are special cases of the(randomized) “nearest-plane” algorithm [Babai’86,Klein’01,GPV’08].

I Define G = In ⊗ g =

· · ·g · · ·

· · ·g · · ·. . .

· · ·g · · ·

∈ Zn×nkq .

Now f−1G , g−1

G reduce to n parallel (and offline) calls to f−1g , g−1

g .

Also applies to H ·G for any invertible H ∈ Zn×nq .

13 / 17

Page 64: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 2: Randomize G↔ A

1 Define semi-random [A | G] for uniform (universal) A ∈ Zn×mq .

(Computing f−1, g−1 easily reduce to f−1G , g−1

G .)

2 Choose “short” (Gaussian) R← Zm×n log q and let

A := [A | G]

[I −R

I

]︸ ︷︷ ︸unimodular

= [A | G− AR].

F A is uniform if [A | AR] is: leftover hash lemma for m ≈ n log q.

With G = 0, we get Ajtai’s original method for constructing A with a“weak” trapdoor of ≥ 1 short vector (but not a full basis).

F [I | A | −(AR1 + R2)] is pseudorandom (under LWE) for m = n.

14 / 17

Page 65: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 2: Randomize G↔ A

1 Define semi-random [A | G] for uniform (universal) A ∈ Zn×mq .

(Computing f−1, g−1 easily reduce to f−1G , g−1

G .)

2 Choose “short” (Gaussian) R← Zm×n log q and let

A := [A | G]

[I −R

I

]︸ ︷︷ ︸unimodular

= [A | G− AR].

F A is uniform if [A | AR] is: leftover hash lemma for m ≈ n log q.

With G = 0, we get Ajtai’s original method for constructing A with a“weak” trapdoor of ≥ 1 short vector (but not a full basis).

F [I | A | −(AR1 + R2)] is pseudorandom (under LWE) for m = n.

14 / 17

Page 66: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 2: Randomize G↔ A

1 Define semi-random [A | G] for uniform (universal) A ∈ Zn×mq .

(Computing f−1, g−1 easily reduce to f−1G , g−1

G .)

2 Choose “short” (Gaussian) R← Zm×n log q and let

A := [A | G]

[I −R

I

]︸ ︷︷ ︸unimodular

= [A | G− AR].

F A is uniform if [A | AR] is: leftover hash lemma for m ≈ n log q.

With G = 0, we get Ajtai’s original method for constructing A with a“weak” trapdoor of ≥ 1 short vector (but not a full basis).

F [I | A | −(AR1 + R2)] is pseudorandom (under LWE) for m = n.

14 / 17

Page 67: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 2: Randomize G↔ A

1 Define semi-random [A | G] for uniform (universal) A ∈ Zn×mq .

(Computing f−1, g−1 easily reduce to f−1G , g−1

G .)

2 Choose “short” (Gaussian) R← Zm×n log q and let

A := [A | G]

[I −R

I

]︸ ︷︷ ︸unimodular

= [A | G− AR].

F A is uniform if [A | AR] is: leftover hash lemma for m ≈ n log q.

With G = 0, we get Ajtai’s original method for constructing A with a“weak” trapdoor of ≥ 1 short vector (but not a full basis).

F [I | A | −(AR1 + R2)] is pseudorandom (under LWE) for m = n.

14 / 17

Page 68: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 2: Randomize G↔ A

1 Define semi-random [A | G] for uniform (universal) A ∈ Zn×mq .

(Computing f−1, g−1 easily reduce to f−1G , g−1

G .)

2 Choose “short” (Gaussian) R← Zm×n log q and let

A := [A | G]

[I −R

I

]︸ ︷︷ ︸unimodular

= [A | G− AR].

F A is uniform if [A | AR] is: leftover hash lemma for m ≈ n log q.

With G = 0, we get Ajtai’s original method for constructing A with a“weak” trapdoor of ≥ 1 short vector (but not a full basis).

F [I | A | −(AR1 + R2)] is pseudorandom (under LWE) for m = n.

14 / 17

Page 69: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 70: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 71: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 72: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 73: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 74: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.

(But we’ll never need to.)

15 / 17

Page 75: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

A New Trapdoor NotionI We constructed A = [A | G− AR].

Definition

I R is a trapdoor for A with tag H ∈ Zn×nq (invertible) if

A ·[RI

]= H ·G.

I The quality of R is s1(R) := max‖u‖=1

‖Ru‖. (smaller is better.)

I Fact: s1(R) ≈ (√

rows +√

cols) · r for Gaussian entries w/ std dev r.

I Note: R is a trapdoor for A− [0 | H′ ·G] w/tag (H−H′) [ABB’10].

Relating New and Old Trapdoors

Given a basis S for Λ⊥(G) and a trapdoor R for A,

we can efficiently construct a basis SA for Λ⊥(A)

where ‖SA‖ ≤ (s1(R) + 1) · ‖S‖.(But we’ll never need to.)

15 / 17

Page 76: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 3: Reduce f−1A , g−1

A to f−1G , g−1

G

I Suppose R is a trapdoor for A (w/ tag H = I): A[RI

]= G.

Inverting LWE Function

Given bt = stA + et, recover s from

bt[RI

]= stG + et

[RI

].

Works if each entry of et[RI

]in [− q

4 ,q4), e.g. if ‖e‖ < q/(4s1(

[RI

])).

Sampling Gaussian Preimages

Given u = fA(x′) = Ax′, sample z← f−1G (u) and output x =

[RI

]z ?

I We have Ax = Gz = u as desired.

I Problem:[RI

]z is non-spherical Gaussian, leaks R !

I Solution: use offline ‘perturbation’ [P’10] to get spherical Gaussian w/std dev ≈ s1(R): output x = p +

[RI

]z.

16 / 17

Page 77: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 3: Reduce f−1A , g−1

A to f−1G , g−1

G

I Suppose R is a trapdoor for A (w/ tag H = I): A[RI

]= G.

Inverting LWE Function

Given bt = stA + et, recover s from

bt[RI

]= stG + et

[RI

].

Works if each entry of et[RI

]in [− q

4 ,q4), e.g. if ‖e‖ < q/(4s1(

[RI

])).

Sampling Gaussian Preimages

Given u = fA(x′) = Ax′, sample z← f−1G (u) and output x =

[RI

]z ?

I We have Ax = Gz = u as desired.

I Problem:[RI

]z is non-spherical Gaussian, leaks R !

I Solution: use offline ‘perturbation’ [P’10] to get spherical Gaussian w/std dev ≈ s1(R): output x = p +

[RI

]z.

16 / 17

Page 78: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 3: Reduce f−1A , g−1

A to f−1G , g−1

G

I Suppose R is a trapdoor for A (w/ tag H = I): A[RI

]= G.

Inverting LWE Function

Given bt = stA + et, recover s from

bt[RI

]= stG + et

[RI

].

Works if each entry of et[RI

]in [− q

4 ,q4), e.g. if ‖e‖ < q/(4s1(

[RI

])).

Sampling Gaussian Preimages

Given u = fA(x′) = Ax′, sample z← f−1G (u) and output x =

[RI

]z ?

I We have Ax = Gz = u as desired.

I Problem:[RI

]z is non-spherical Gaussian, leaks R !

I Solution: use offline ‘perturbation’ [P’10] to get spherical Gaussian w/std dev ≈ s1(R): output x = p +

[RI

]z.

16 / 17

Page 79: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 3: Reduce f−1A , g−1

A to f−1G , g−1

G

I Suppose R is a trapdoor for A (w/ tag H = I): A[RI

]= G.

Inverting LWE Function

Given bt = stA + et, recover s from

bt[RI

]= stG + et

[RI

].

Works if each entry of et[RI

]in [− q

4 ,q4), e.g. if ‖e‖ < q/(4s1(

[RI

])).

Sampling Gaussian Preimages

Given u = fA(x′) = Ax′, sample z← f−1G (u) and output x =

[RI

]z ?

I We have Ax = Gz = u as desired.

I Problem:[RI

]z is non-spherical Gaussian, leaks R !

I Solution: use offline ‘perturbation’ [P’10] to get spherical Gaussian w/std dev ≈ s1(R): output x = p +

[RI

]z.

16 / 17

Page 80: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Step 3: Reduce f−1A , g−1

A to f−1G , g−1

G

I Suppose R is a trapdoor for A (w/ tag H = I): A[RI

]= G.

Inverting LWE Function

Given bt = stA + et, recover s from

bt[RI

]= stG + et

[RI

].

Works if each entry of et[RI

]in [− q

4 ,q4), e.g. if ‖e‖ < q/(4s1(

[RI

])).

Sampling Gaussian Preimages

Given u = fA(x′) = Ax′, sample z← f−1G (u) and output x =

[RI

]z ?

I We have Ax = Gz = u as desired.

I Problem:[RI

]z is non-spherical Gaussian, leaks R !

I Solution: use offline ‘perturbation’ [P’10] to get spherical Gaussian w/std dev ≈ s1(R): output x = p +

[RI

]z.

16 / 17

Page 81: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Conclusions

I A new, simpler, more efficient trapdoor notion and construction

I Exposing structure of trapdoor to applications yields further efficiencyimprovements

I Key sizes and algorithms for “strong” trapdoors are now practical

Questions?

17 / 17

Page 82: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Conclusions

I A new, simpler, more efficient trapdoor notion and construction

I Exposing structure of trapdoor to applications yields further efficiencyimprovements

I Key sizes and algorithms for “strong” trapdoors are now practical

Questions?

17 / 17

Page 83: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Conclusions

I A new, simpler, more efficient trapdoor notion and construction

I Exposing structure of trapdoor to applications yields further efficiencyimprovements

I Key sizes and algorithms for “strong” trapdoors are now practical

Questions?

17 / 17

Page 84: Trapdoors for Lattices: Simpler, Tighter, Faster, Smallerdaniele/papers/MP12-slides.pdfTrapdoor Inversion I Many cryptographic applications need toinvert f A and/or g A. Invert u =

Conclusions

I A new, simpler, more efficient trapdoor notion and construction

I Exposing structure of trapdoor to applications yields further efficiencyimprovements

I Key sizes and algorithms for “strong” trapdoors are now practical

Questions?

17 / 17