Some Recent Progress in Lattice-Based Cryptography Chris Peikert - - PowerPoint PPT Presentation

some recent progress in lattice based cryptography chris
SMART_READER_LITE
LIVE PREVIEW

Some Recent Progress in Lattice-Based Cryptography Chris Peikert - - PowerPoint PPT Presentation

Some Recent Progress in Lattice-Based Cryptography Chris Peikert SRI TCC 2009 1 / 17 Lattice-Based Cryptography p d o m x g = y N = = p m e mod N q e ( g a , g b ) (Images courtesy xkcd.org) 2 / 17 Lattice-Based


slide-1
SLIDE 1

Some Recent Progress in Lattice-Based Cryptography Chris Peikert

SRI TCC 2009

1 / 17

slide-2
SLIDE 2

Lattice-Based Cryptography

N = p · q

y = g

x

m

  • d

p

me mod N

e(ga, gb)

= ⇒

(Images courtesy xkcd.org) 2 / 17

slide-3
SLIDE 3

Lattice-Based Cryptography

= ⇒

(Images courtesy xkcd.org) 2 / 17

slide-4
SLIDE 4

Lattice-Based Cryptography

= ⇒ Why? ◮ Simple & efficient: linear, parallelizable ◮ Resists subexp & quantum attacks (so far) ◮ Security from worst-case assumptions [Ajtai96,. . . ]

(Images courtesy xkcd.org) 2 / 17

slide-5
SLIDE 5

If We Had 6 Hours. . .

◮ Worst-case / average-case reductions

[Aj96,AD97,CN97,Mi03,Re03,MR04,Re05,Pe07,GPV08,Pe09,. . . ]

◮ Cryptanalysis & concrete parameters

[LLL82,Sc87,BKW00,AKS01,NR06,GN08,NV08,MR08,. . . ]

◮ Cyclic / Ideal lattices

[Mi02,PR06,LM06,PR07,LM08,Ge09,. . . ]

⋆ Efficiency — complements general techniques

!! Functionality — uses ‘extra features’ of ideals

◮ Complexity of lattice problems

⋆ Hardness

[vEB81,Aj98,CN99,Mi00,Kh05,RR06,HR07,. . . ]

⋆ Limits on hardness

[LLS90,Ba93,GG97,Ca98,AR04,GMR05,LLM06,P07,. . . ]

3 / 17

slide-6
SLIDE 6

If We Had 6 Hours. . .

◮ Worst-case / average-case reductions

[Aj96,AD97,CN97,Mi03,Re03,MR04,Re05,Pe07,GPV08,Pe09,. . . ]

◮ Cryptanalysis & concrete parameters

[LLL82,Sc87,BKW00,AKS01,NR06,GN08,NV08,MR08,. . . ]

◮ Cyclic / Ideal lattices

[Mi02,PR06,LM06,PR07,LM08,Ge09,. . . ]

⋆ Efficiency — complements general techniques

!! Functionality — uses ‘extra features’ of ideals

◮ Complexity of lattice problems

⋆ Hardness

[vEB81,Aj98,CN99,Mi00,Kh05,RR06,HR07,. . . ]

⋆ Limits on hardness

[LLS90,Ba93,GG97,Ca98,AR04,GMR05,LLM06,P07,. . . ]

3 / 17

slide-7
SLIDE 7

If We Had 6 Hours. . .

◮ Worst-case / average-case reductions

[Aj96,AD97,CN97,Mi03,Re03,MR04,Re05,Pe07,GPV08,Pe09,. . . ]

◮ Cryptanalysis & concrete parameters

[LLL82,Sc87,BKW00,AKS01,NR06,GN08,NV08,MR08,. . . ]

◮ Cyclic / Ideal lattices

[Mi02,PR06,LM06,PR07,LM08,Ge09,. . . ]

⋆ Efficiency — complements general techniques

!! Functionality — uses ‘extra features’ of ideals

◮ Complexity of lattice problems

⋆ Hardness

[vEB81,Aj98,CN99,Mi00,Kh05,RR06,HR07,. . . ]

⋆ Limits on hardness

[LLS90,Ba93,GG97,Ca98,AR04,GMR05,LLM06,P07,. . . ]

3 / 17

slide-8
SLIDE 8

If We Had 6 Hours. . .

◮ Worst-case / average-case reductions

[Aj96,AD97,CN97,Mi03,Re03,MR04,Re05,Pe07,GPV08,Pe09,. . . ]

◮ Cryptanalysis & concrete parameters

[LLL82,Sc87,BKW00,AKS01,NR06,GN08,NV08,MR08,. . . ]

◮ Cyclic / Ideal lattices

[Mi02,PR06,LM06,PR07,LM08,Ge09,. . . ]

⋆ Efficiency — complements general techniques

!! Functionality — uses ‘extra features’ of ideals

◮ Complexity of lattice problems

⋆ Hardness

[vEB81,Aj98,CN99,Mi00,Kh05,RR06,HR07,. . . ]

⋆ Limits on hardness

[LLS90,Ba93,GG97,Ca98,AR04,GMR05,LLM06,P07,. . . ]

3 / 17

slide-9
SLIDE 9

If We Had 6 Hours. . .

◮ Worst-case / average-case reductions

[Aj96,AD97,CN97,Mi03,Re03,MR04,Re05,Pe07,GPV08,Pe09,. . . ]

◮ Cryptanalysis & concrete parameters

[LLL82,Sc87,BKW00,AKS01,NR06,GN08,NV08,MR08,. . . ]

◮ Cyclic / Ideal lattices

[Mi02,PR06,LM06,PR07,LM08,Ge09,. . . ]

⋆ Efficiency — complements general techniques

!! Functionality — uses ‘extra features’ of ideals

◮ Complexity of lattice problems

⋆ Hardness

[vEB81,Aj98,CN99,Mi00,Kh05,RR06,HR07,. . . ]

⋆ Limits on hardness

[LLS90,Ba93,GG97,Ca98,AR04,GMR05,LLM06,P07,. . . ]

3 / 17

slide-10
SLIDE 10

This Talk

Hard Avg-Case Problems

4 / 17

slide-11
SLIDE 11

This Talk

Hard Avg-Case Problems Crypto Functions Abstract Properties

4 / 17

slide-12
SLIDE 12

This Talk

Hard Avg-Case Problems Crypto Functions Abstract Properties Applications

4 / 17

slide-13
SLIDE 13

This Talk

Hard Avg-Case Problems Crypto Functions Abstract Properties Applications Goals

1 ‘De-mystify’ lattice-based crypto

4 / 17

slide-14
SLIDE 14

This Talk

Hard Avg-Case Problems Crypto Functions Abstract Properties Applications Goals

1 ‘De-mystify’ lattice-based crypto 2 Advocate a geometric perspective

4 / 17

slide-15
SLIDE 15

This Talk

Hard Avg-Case Problems Crypto Functions Abstract Properties Applications Goals

1 ‘De-mystify’ lattice-based crypto 2 Advocate a geometric perspective 3 Answer your questions

4 / 17

slide-16
SLIDE 16

Lattices

◮ Today: full-rank subgroup L of Zm

(x, y ∈ L ⇒ x ± y ∈ L; dim span = m)

O 5 / 17

slide-17
SLIDE 17

Lattices

◮ Today: full-rank subgroup L of Zm ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

O b1 b2 5 / 17

slide-18
SLIDE 18

Lattices

◮ Today: full-rank subgroup L of Zm ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

O b1 b2 5 / 17

slide-19
SLIDE 19

Lattices

◮ Today: full-rank subgroup L of Zm ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

(Other representations too . . . )

O b1 b2 5 / 17

slide-20
SLIDE 20

Lattices

◮ Today: full-rank subgroup L of Zm ◮ Basis B = {b1, . . . , bm} : L =

m

  • i=1

(Z · bi)

(Other representations too . . . )

O b1 b2

Hard Computational Problems ◮ Find ‘relatively short’ (nonzero) vectors ◮ Estimate geometric quantities

(minimum distance, covering radius, . . . )

5 / 17

slide-21
SLIDE 21

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

6 / 17

slide-22
SLIDE 22

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

  | a1 |     | a2 |   · · ·   | am |   ∈ Zn

q

6 / 17

slide-23
SLIDE 23

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

◮ Goal: find nontrivial z1, . . . , zm ∈ {0, ±1} such that: z1 ·   | a1 |   + z2 ·   | a2 |   + · · · + zm ·   | am |   =   | |   ∈ Zn

q

6 / 17

slide-24
SLIDE 24

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

6 / 17

slide-25
SLIDE 25

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Hash Function

[Ajtai96,GGH97]

◮ Set m > n lg q. Define fA : {0, 1}m → Zn

q

fA(x) = Ax

6 / 17

slide-26
SLIDE 26

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Hash Function

[Ajtai96,GGH97]

◮ Set m > n lg q. Define fA : {0, 1}m → Zn

q

fA(x) = Ax ◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . .

6 / 17

slide-27
SLIDE 27

A Combinatorial Problem

◮ Security param n, modulus q: group Zn

q

(e.g., q = poly(n))

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · · A · · · ·  

  • m

    z      = 0 ∈ Zn

q

Hash Function

[Ajtai96,GGH97]

◮ Set m > n lg q. Define fA : {0, 1}m → Zn

q

fA(x) = Ax ◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields solution z = x − x′ ∈ {0, ±1}m.

6 / 17

slide-28
SLIDE 28

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0}

O 7 / 17

slide-29
SLIDE 29

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0}

O (0, q) (q, 0) 7 / 17

slide-30
SLIDE 30

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0}

O (0, q) (q, 0) 7 / 17

slide-31
SLIDE 31

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0}

O (0, q) (q, 0)

Average / Worst-Case Connection

[Ajtai96,. . . ]

Finding ‘short’ nonzero z ∈ L⊥(A) ⇓ approx lattice problems in worst case

7 / 17

slide-32
SLIDE 32

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0}

O (0, q) (q, 0)

Average / Worst-Case Connection

[Ajtai96,. . . ]

Finding ‘short’ nonzero z ∈ L⊥(A) ⇓ approx lattice problems in worst case

7 / 17

slide-33
SLIDE 33

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0} ◮ Each x ∈ Zm has syndrome u = Ax ∈ Zn

q

O (0, q) (q, 0) x

Average / Worst-Case Connection

[Ajtai96,. . . ]

Finding ‘short’ x with (uniform) syndrome u ⇓ approx lattice problems in worst case

7 / 17

slide-34
SLIDE 34

Geometric Perspective

◮ ‘Parity check’ matrix A ∈ Zn×m

q

L⊥(A) = {z ∈ Zm : Az = 0} ◮ Each x ∈ Zm has syndrome u = Ax ∈ Zn

q

◮ Enlarge domain of fA to . . . . . . still O-W & C-R!

O (0, q) (q, 0) x

Average / Worst-Case Connection

[Ajtai96,. . . ]

Finding ‘short’ x with (uniform) syndrome u ⇓ approx lattice problems in worst case

7 / 17

slide-35
SLIDE 35

Gaussians and Lattices

8 / 17

slide-36
SLIDE 36

Gaussians and Lattices

8 / 17

slide-37
SLIDE 37

Gaussians and Lattices

8 / 17

slide-38
SLIDE 38

Gaussians and Lattices

“Uniform” over Rm when std dev ≥ min basis length

(Used in worst/average-case reductions [Re03,MR04,. . . ])

8 / 17

slide-39
SLIDE 39

Discrete Gaussians

◮ Fix uniform A. Choose Gaussian input x ∈ Zm:

x 9 / 17

slide-40
SLIDE 40

Discrete Gaussians

◮ Fix uniform A. Choose Gaussian input x ∈ Zm:

1 Uniform coset/syndrome u = Ax = fA(x)

x 9 / 17

slide-41
SLIDE 41

Discrete Gaussians

◮ Fix uniform A. Choose Gaussian input x ∈ Zm:

1 Uniform coset/syndrome u = Ax = fA(x) 2 Conditional ‘discrete Gaussian’ DA,u on x, given u

9 / 17

slide-42
SLIDE 42

Discrete Gaussians

◮ Fix uniform A. Choose Gaussian input x ∈ Zm:

1 Uniform coset/syndrome u = Ax = fA(x) 2 Conditional ‘discrete Gaussian’ DA,u on x, given u (Analyzed in [Ba93,Re03,AR04,MR04,Re05,PR06,LM06,Pe07,. . . ])

9 / 17

slide-43
SLIDE 43

A ‘Master’ Trapdoor

Suitable ‘trapdoor’ ⇓ Invert fA in a very strong sense

10 / 17

slide-44
SLIDE 44

A ‘Master’ Trapdoor

Short basis B of L⊥(A) ⇓ Invert fA in a very strong sense

10 / 17

slide-45
SLIDE 45

A ‘Master’ Trapdoor

Short basis B of L⊥(A) ⇓ Invert fA in a very strong sense Theorem

[GPV08]

Given any short B and u, can efficiently sample x ← f −1

A (u)

according to DA,u

10 / 17

slide-46
SLIDE 46

A ‘Master’ Trapdoor

Short basis B of L⊥(A) ⇓ Invert fA in a very strong sense Theorem

[GPV08]

Given any short B and u, can efficiently sample x ← f −1

A (u)

according to DA,u ◮ Dist DA,u leaks nothing about B !

10 / 17

slide-47
SLIDE 47

A ‘Master’ Trapdoor

Short basis B of L⊥(A) ⇓ Invert fA in a very strong sense Theorem

[GPV08]

Given any short B and u, can efficiently sample x ← f −1

A (u)

according to DA,u ◮ Dist DA,u leaks nothing about B ! ◮ Generate A with B [Aj99,AP09]

10 / 17

slide-48
SLIDE 48

Abstractly: Preimage Sampleable Function

D R x u fA

11 / 17

slide-49
SLIDE 49

Abstractly: Preimage Sampleable Function

D R x u fA

11 / 17

slide-50
SLIDE 50

Abstractly: Preimage Sampleable Function

D R x u f −1

A

11 / 17

slide-51
SLIDE 51

Abstractly: Preimage Sampleable Function

D R x u f −1

A

◮ Generalizes TDPs, claw-free pairs, Rabin, . . .

11 / 17

slide-52
SLIDE 52

Abstractly: Preimage Sampleable Function

D R x u f −1

A

◮ Generalizes TDPs, claw-free pairs, Rabin, . . . ◮ Can generate (x, u) in two equivalent ways:

11 / 17

slide-53
SLIDE 53

Abstractly: Preimage Sampleable Function

D R x u f −1

A

◮ Generalizes TDPs, claw-free pairs, Rabin, . . . ◮ Can generate (x, u) in two equivalent ways: REAL SIMULATION R u x

f −1

A

D x u

fA

11 / 17

slide-54
SLIDE 54

Abstractly: Preimage Sampleable Function

D R x u f −1

A

◮ Generalizes TDPs, claw-free pairs, Rabin, . . . ◮ Can generate (x, u) in two equivalent ways: REAL SIMULATION R u x

f −1

A

D x u

fA

◮ Apps: ‘hash-and-sign’ sigs [GPV08], NISZK [PV08], . . .

11 / 17

slide-55
SLIDE 55

Onward, to Cryptomania . . .

12 / 17

slide-56
SLIDE 56

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. a1 , b1 = a1 , s + e1 a2 , b2 = a2 , s + e2 . . .

13 / 17

slide-57
SLIDE 57

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. a1 , b1 a2 , b2 . . .

13 / 17

slide-58
SLIDE 58

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. m            . . . At . . .     ,     . . . b . . .     = Ats + e

13 / 17

slide-59
SLIDE 59

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. m            . . . At . . .     ,     . . . b . . .     = Ats + e ◮ Generator matrix At: L(A) = {z ∈ Zm : ∃s. z ≡ Ats mod q} ‘Bounded-distance’ (unique) decoding

13 / 17

slide-60
SLIDE 60

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. m            . . . At . . .     ,     . . . b . . .     = Ats + e ◮ Generator matrix At: L(A) = {z ∈ Zm : ∃s. z ≡ Ats mod q} ‘Bounded-distance’ (unique) decoding ◮ Worst-case hardness

[Re05,Pe09]

13 / 17

slide-61
SLIDE 61

Learning with Errors

◮ Goal: distinguish ‘noisy inner products’ from uniform. m            . . . At . . .     ,     . . . b . . .     = Ats + e ◮ Generator matrix At: L(A) = {z ∈ Zm : ∃s. z ≡ Ats mod q} ‘Bounded-distance’ (unique) decoding ◮ Worst-case hardness

[Re05,Pe09]

◮ Basis of much crypto

[Re05,PW08,GPV08,PVW08,CDMW08,AGV09,CPS09,. . . ] 13 / 17

slide-62
SLIDE 62

Key Agreement & Encryption

A x s, e

14 / 17

slide-63
SLIDE 63

Key Agreement & Encryption

A x s, e u = Ax

(public key) 14 / 17

slide-64
SLIDE 64

Key Agreement & Encryption

A x s, e u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’) 14 / 17

slide-65
SLIDE 65

Key Agreement & Encryption

A x s, e u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

b′ = u, s + e′

(key / ‘pad’) 14 / 17

slide-66
SLIDE 66

Key Agreement & Encryption

A x s, e u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ u, s b′ = u, s + e′

(key / ‘pad’) 14 / 17

slide-67
SLIDE 67

Key Agreement & Encryption

A x s, e u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ u, s b′ = u, s + e′

(key / ‘pad’)

(A, u, b, b′)

14 / 17

slide-68
SLIDE 68

Key Agreement & Encryption

A x s, e u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ u, s b′ = u, s + e′

(key / ‘pad’)

(A, u, b, b′)

14 / 17

slide-69
SLIDE 69

ID-Based Encryption [GPV08]

A s, e u = H(“alice”)

(public key)

b = Ats + e

(ciphertext randomness)

x, b ≈ u, s b′ = u, s + e′

(key / ‘pad’)

x ← f −1

A (u)

15 / 17

slide-70
SLIDE 70

Some Open Areas

1 Hash-and-sign sigs / IBE without random oracle ?

RSA / pairing-style ‘accumulator’ ?

16 / 17

slide-71
SLIDE 71

Some Open Areas

1 Hash-and-sign sigs / IBE without random oracle ?

RSA / pairing-style ‘accumulator’ ?

2 More expressive encryption / IBE schemes ?

16 / 17

slide-72
SLIDE 72

Some Open Areas

1 Hash-and-sign sigs / IBE without random oracle ?

RSA / pairing-style ‘accumulator’ ?

2 More expressive encryption / IBE schemes ? 3 Connections to number-theoretic problems ?

16 / 17

slide-73
SLIDE 73

Further Reading

◮ Survey “Cryptographic functions from worst-case complexity assumptions” [Micciancio07] ◮ Survey “Lattice-based cryptography” [MicciancioRegev09]

17 / 17

slide-74
SLIDE 74

Further Reading

◮ Survey “Cryptographic functions from worst-case complexity assumptions” [Micciancio07] ◮ Survey “Lattice-based cryptography” [MicciancioRegev09]

Thanks!

17 / 17