Introduction to Lattice Based Cryptography Eduardo Morais advisor: - - PowerPoint PPT Presentation

introduction to lattice based cryptography
SMART_READER_LITE
LIVE PREVIEW

Introduction to Lattice Based Cryptography Eduardo Morais advisor: - - PowerPoint PPT Presentation

Introduction to Lattice Based Cryptography Eduardo Morais advisor: Ricardo Dahab Unicamp ASCrypto 2013 October 18, 2013 Agenda Introduction Definitions Dual Lattices q-ary Lattices Hard Problems Schemes Goldreich,


slide-1
SLIDE 1

Introduction to Lattice Based Cryptography

Eduardo Morais advisor: Ricardo Dahab

Unicamp

ASCrypto 2013 October 18, 2013

slide-2
SLIDE 2

Agenda

◮ Introduction

◮ Definitions ◮ Dual Lattices ◮ q-ary Lattices ◮ Hard Problems

◮ Schemes

◮ Goldreich, Goldwasser and Halevi (GGH) ◮ Ajtai’s construction ◮ Learning With Errors (LWE), Ring LWE, NTRU-like ◮ Functional Encryption, Identity Based Encryption, Attribute

Based Encryption, Fully Homomorphic Encryption

slide-3
SLIDE 3

Lattices

b1 b2

slide-4
SLIDE 4

Lattices

b1 b2 L(b1, b2) = { xibi : xi ∈ Z}

slide-5
SLIDE 5

Lattices

b1 b2 Fundamental Domain { tibi, 0 ≤ ti < 1}

slide-6
SLIDE 6

Lattices

b1 b2 Centered Fundamental Domain { tibi, −1

2 ≤ ti < 1 2}

slide-7
SLIDE 7

Lattices

b1 b2 t t′ Reduction: t′ ≡ t (mod LB)

slide-8
SLIDE 8

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

slide-9
SLIDE 9

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • x1 = 3, x2 = 2
slide-10
SLIDE 10

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • x1 = 1, x2 = −1
slide-11
SLIDE 11

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • x1 = 0, x2 = 0
slide-12
SLIDE 12

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  b1,1 . . . bn,1 . . . ... . . . b1,n . . . bn,n       x1 . . . xn   

slide-13
SLIDE 13

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • Bx
slide-14
SLIDE 14

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • Volume of the

Domain?

slide-15
SLIDE 15

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge:

slide-16
SLIDE 16

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2

slide-17
SLIDE 17

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 d = |(9, 1) − (1, 9)|

slide-18
SLIDE 18

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 d = |(9, 1) − (1, 9)| d =

  • 82 + (−8)2
slide-19
SLIDE 19

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 d = |(9, 1) − (1, 9)| d =

  • 82 + (−8)2

d = 8 √ 2

slide-20
SLIDE 20

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 D = |(9, 1) + (1, 9)|

slide-21
SLIDE 21

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 D = |(9, 1) + (1, 9)| D =

  • 102 + (−10)2
slide-22
SLIDE 22

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 D = |(9, 1) + (1, 9)| D =

  • 102 + (−10)2

D = 10 √ 2

slide-23
SLIDE 23

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 D = |(9, 1) + (1, 9)| D =

  • 102 + (−10)2

D = 10 √ 2 A = (10 √ 2)(8 √ 2)/2

slide-24
SLIDE 24

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) Area of lozenge A = D.d/2 D = |(9, 1) + (1, 9)| D =

  • 102 + (−10)2

D = 10 √ 2 A = (10 √ 2)(8 √ 2)/2 A = 10.8 = 80

slide-25
SLIDE 25

Lattices

(9, 1) (1, 9) L : 9 1 1 9 x1 x2

  • (9, 1)

(1, 9) det B = 9.9 − 1.1 det B = 81 − 1 det B = 80 Volume: det B

slide-26
SLIDE 26

Orthogonality

||bi|| ≈ 9.05 A = 80 A/||bi||2 = 0.97 ||bi|| ≈ 9.05 A = 81.9 A/||bi||2 = 1

slide-27
SLIDE 27

Orthogonality

||bi|| ≈ 21.47 A = 80 A/||bi||2 = 0.17 ||bi|| ≈ 9.05 A = 20.46 A/||bi||2 = 0.125

slide-28
SLIDE 28

Orthogonality

||bi|| ≈ 28.32 A = 80 A/||bi||2 = 0.10 ||bi|| ≈ 9.05 A = 11.52 A/||bi||2 = 0.14

slide-29
SLIDE 29

Orthogonality

||bi|| ≈ 28.32 A = 80 A/||bi||2 = 0.10 ||bi|| ≈ 9.05 A = 11.52 A/||bi||2 = 0.14

det L Q

1≤i≤n ||bi||

slide-30
SLIDE 30

Orthogonality

||bi|| ≈ 28.32 A = 80 A/||bi||2 = 0.10 ||bi|| ≈ 9.05 A = 11.52 A/||bi||2 = 0.14

det L Q

1≤i≤n ||bi||

1/n Hadamard Ratio

slide-31
SLIDE 31

Dual Lattices

b1 b2 L∗ = {y | x, y ∈ Z, ∀x ∈ L}

slide-32
SLIDE 32

Dual Lattices

b1 b2 L∗ = {y | x, y ∈ Z, ∀x ∈ L} b∗

1, b1 = 0

b∗

1, b2 = 1

slide-33
SLIDE 33

Dual Lattices

b1 b2 L∗ = {y | x, y ∈ Z, ∀x ∈ L} b∗

1, b1 = 0

b∗

1, b2 = 1

b∗

2, b2 = 0

b∗

2, b1 = 1

slide-34
SLIDE 34

Dual Lattices

b1 b2 L∗ = {y | x, y ∈ Z, ∀x ∈ L} b∗

1, b1 = 0

b∗

1, b2 = 1

b∗

2, b2 = 0

b∗

2, b1 = 1

b∗

2

b∗

1

slide-35
SLIDE 35

Dual Lattices

b2 = (0, 3) b1 = (1, 2)

slide-36
SLIDE 36

Dual Lattices

b2 = (0, 3) b1 = (1, 2) (x1, y1), (0, 3) = 0 (x1, y1), (1, 2) = 1

slide-37
SLIDE 37

Dual Lattices

b2 = (0, 3) b1 = (1, 2) (x1, y1), (0, 3) = 0 (x1, y1), (1, 2) = 1 (x1 = 1, y1 = 0)

slide-38
SLIDE 38

Dual Lattices

b2 = (0, 3) b1 = (1, 2) (x1, y1), (0, 3) = 0 (x1, y1), (1, 2) = 1 (x1 = 1, y1 = 0) (x2, y2), (1, 2) = 0 (x2, y2), (0, 3) = 1

slide-39
SLIDE 39

Dual Lattices

b2 = (0, 3) b1 = (1, 2) (x1, y1), (0, 3) = 0 (x1, y1), (1, 2) = 1 (x1 = 1, y1 = 0) (x2, y2), (1, 2) = 0 (x2, y2), (0, 3) = 1 (x2 = −2/3, y2 = 1/3)

slide-40
SLIDE 40

Dual Lattices

b2 = (0, 3) b1 = (1, 2) (x1, y1), (0, 3) = 0 (x1, y1), (1, 2) = 1 (x1 = 1, y1 = 0) (x2, y2), (1, 2) = 0 (x2, y2), (0, 3) = 1 (x2 = −2/3, y2 = 1/3)

slide-41
SLIDE 41

Dual Lattices

b2 = (0, 3) b1 = (1, 2)

slide-42
SLIDE 42

Dual Lattices

b2 = (0, 3) b1 = (1, 2) Volume:

  • 1

3 2

  • = −3
  • 1

−2/3 1/3

  • = 1/3
slide-43
SLIDE 43

Dual Lattices

b2 = (0, 3) b1 = (1, 2) Volume:

  • 1

3 2

  • = −3
  • 1

−2/3 1/3

  • = 1/3

L(B)∗ = L((B−1)T)

slide-44
SLIDE 44

Dual Lattices

b2 = (0, 3) b1 = (1, 2) B−1 = 1/3

  • 2

−1 −3

  • (B−1)T =

−2/3 1 1/3

slide-45
SLIDE 45

Dual Lattices

b2 = (0, 3) b1 = (1, 2) B−1 = 1/3

  • 2

−1 −3

  • (B−1)T =

1 −2/3 1/3

slide-46
SLIDE 46

q-ary Lattices

(0, 0) (1, 3) (3, 2) (5, 1) (7, 0) (0, 7) (2, 6) (4, 5) (6, 4) (7, 7) b2 b1 Λq(A) = {y = As (mod q)} Λ⊥

q (A) = {y | Ay = 0 (mod q)}

Λ⊥

q (A) = qΛq(A)∗

Λq(A) = qΛ⊥

q (A)∗

slide-47
SLIDE 47

Successive Minima

b2 b1 λ1 λ2 λi: min r s.t. Br has i lin. ind. vectors

slide-48
SLIDE 48

Gram-Schmidt Orthogonalization Process

b2 b1 ˜ b2 ˜ B =       1 ... µ2,1 1 ... . . . . . . ... ... µn,1 ... µn,n−1 1       .B µi,j = bi,˜

bj ||˜ bj||2

slide-49
SLIDE 49

Minkowski’s Theorem

◮ Pigeonhole principle for lattices ◮ A symmetric and convex region with volume 2n det (B)1/n

has at least 2 non-zero vectors

◮ Hermite upper bound: λ1 ≤ √n det (B)1/n ◮ Gaussian heuristics: λ1 ≤

  • 2n

πe det (B)1/n ◮ Lower bound: λ1 ≥ mini ||˜

bi||

slide-50
SLIDE 50

Shortest Vector Problem (and Gap-SVP)

b2 b1 λ1 γλ1 Search:(v = 0) ||v|| ≤ γλ1 Decision: given d λ1 ≤ γd?

slide-51
SLIDE 51

GapSVP Complexity

| | | | NP hard NP ∩ coNP crypto P (LLL) 2(log n)1−ǫ γ : √n n 2n

slide-52
SLIDE 52

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b1 b2 ˜ b2

slide-53
SLIDE 53

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b1 b2 ˜ b2

slide-54
SLIDE 54

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b2 b1 ˜ b2

slide-55
SLIDE 55

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b2 b1 ˜ b2

slide-56
SLIDE 56

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b2 b1 ˜ b2

slide-57
SLIDE 57

LLL

||˜ bi+1||2 ≥ 1/2||˜ bi||2 ||b1|| ≤ 2(n−1)/2λ1(L) b2 = b2 − c.b1 if ||b2||2 < 3/4||b1||2, swap and loop b2 b1

slide-58
SLIDE 58

Shortest Independent Vectors Problem

b2 b1 λ1 λ2 γλ2 Search: (v1, v2)

  • lin. ind.

||v2|| ≤ γλ2

slide-59
SLIDE 59

Bounded Distance Decode

b2 b1 t Search: given d < λ1/2 Closest Vector Problem (CVP) Similar to the given t ∈ Bd(L) find v v

slide-60
SLIDE 60

Bounded Distance Decode

b2 b1 t + L Decision: given d given coset t + L decide if there is v s. t. ||t − v|| ≤ γd

slide-61
SLIDE 61

Babai’s Roundoff Algorithm

b2 b1 b⊥

2

b⊥

1

t Compute x ≡ t (mod B) Bd ⊂ PB d = mini(b⊥

i )

(linear system)

slide-62
SLIDE 62

Babai’s Nearest Plane Algorithm

b2 b1 ˜ b2 t Compute x ≡ t (mod ˜ B) (iteratively) Bd ⊂ P˜

B

d = mini(˜ bi)

slide-63
SLIDE 63

Babai’s Nearest Plane Algorithm

−4 −2 2 4 −5 5 −5 5 b2 b1 b3 t ˜ b3 t′ s′ x y z

slide-64
SLIDE 64

Babai’s Nearest Plane Algorithm

−4 −2 2 4 −5 5 −5 5 b2 b1 s′ ˜ b2 x y z

slide-65
SLIDE 65

Part II - Crypto

slide-66
SLIDE 66

Goldreich, Goldwasser and Halevi (GGH)

b2 b1 v2 v1 c v r No security proof Trapdoor: orthogonality Good base: V = (v1, v2) Bad base: B = (b1, b2) Encrypt r: c = v + r (mod B) Decrypt: r = c − v

slide-67
SLIDE 67

Ajtai’s Construction

(0, 0) (1, 3) (3, 2) (5, 1) (7, 0) (0, 7) (2, 6) (4, 5) (6, 4) (7, 7) b2 b1 fA(x) = Ax surjective small x (SIS problem) collision: x, x′ short vector: (x − x′) in Λ⊥

q

worst to average quantum reduction

slide-68
SLIDE 68

Learning With Errors

Search problem: Given bi = ai, s + ei Find s Decision problem: Distinguish (ai, bi) from uniform Search to decision reduction

slide-69
SLIDE 69

Learning With Errors

(0, 0) (1, 3) (3, 2) (5, 1) (7, 0) (0, 7) (2, 6) (4, 5) (6, 4) (7, 7) b2 b1 gA(x) = Ax + e injective

slide-70
SLIDE 70

Learning With Errors

(0, 0) (1, 3) (3, 2) (5, 1) (7, 0) (0, 7) (2, 6) (4, 5) (6, 4) (7, 7) b2 b1 gA(x) = Ax + e injective worst to average quantum reduction

slide-71
SLIDE 71

LWE Based Cryptosystem

Alice s Bob b = As + e

slide-72
SLIDE 72

LWE Based Cryptosystem

Alice s Bob b = As + e (c1, c2) = (Ax, bx + mq/2)

slide-73
SLIDE 73

LWE Based Cryptosystem

Alice s Bob b = As + e (c1, c2) = (Ax, bx + mq/2) m.q/2 = c2 − c1s

slide-74
SLIDE 74

Cyclotomic Rings

(0, 0) (5, 0) (0, 5) (5, 5) (3, 3) Φ2n(x) = (x2n−1 + 1) if ζ2n ∈ Zq then Φ2n ≡

i∈Z∗

2n(x − ζi

2n)

Ring: Z5[x]/(x2 + 1) x2 + 1 ≡ (x + 2)(x + 3) a(x) = 3x + 3

slide-75
SLIDE 75

Coefficient Representation

(0, 0) (5, 0) (0, 5) (5, 5) Ring: Z5[x]/(x2 + 1) x2 + 1 ≡ (x + 2)(x + 3) ≡ (x − 3)(x − 2) a(x) = 3x + 3 2(3x + 3) ≡ x + 1 (3, 3) (1, 1)

  • 3

3 T ,

  • 1

1 T

slide-76
SLIDE 76

Evaluation Representation

(0, 0) (5, 0) (0, 5) (5, 5) Ring: Z5[x]/(x2 + 1) x2 + 1 ≡ (x + 2)(x + 3) a(x) = 3x + 3 2a(x) ≡ x + 1 (4, 2) (3, 4) a(2) ≡ 4, a(3) ≡ 2

  • 4

2 T ,

  • 3

4 T FFT

slide-77
SLIDE 77

Cyclotomic Rings

(3, 3) (4, 2) (3, 4) (1, 1) FFT FFT−1 1 2 1 3

  • Vandermond

3 3

  • =

4 2

  • 3

−2 −1 1

  • Vandermond inverse

3 4

  • =

1 1

slide-78
SLIDE 78

Ring LWE

(0, 0) (1, 3) (2, 1) (4, 2) (3, 4) (5, 0) (0, 5) (5, 5) b2 b1 gA(x) = Ax + e A = 2 1 1 3

  • ideal: p(x) = x + 2

xp(x) (−1, 2)

slide-79
SLIDE 79

Ring LWE

◮ Better reductions, better parameters

slide-80
SLIDE 80

Ring LWE

◮ Better reductions, better parameters

◮ Encryption, decryption, keygen: ˜

O(n)

slide-81
SLIDE 81

Ring LWE

◮ Better reductions, better parameters

◮ Encryption, decryption, keygen: ˜

O(n)

◮ Preimage sampleable trapdoors

slide-82
SLIDE 82

Ring LWE

◮ Better reductions, better parameters

◮ Encryption, decryption, keygen: ˜

O(n)

◮ Preimage sampleable trapdoors

◮ Digital Signatures

slide-83
SLIDE 83

Ring LWE

◮ Better reductions, better parameters

◮ Encryption, decryption, keygen: ˜

O(n)

◮ Preimage sampleable trapdoors

◮ Digital Signatures

◮ Cryptomania: IBE, ABE, FE, FHE

slide-84
SLIDE 84

NTRU-like Cryptosystem [13]

Alice f, g Bob A ≡ f/g (mod q)

slide-85
SLIDE 85

NTRU-like Cryptosystem [13]

Alice f, g Bob A ≡ f/g (mod q) c ≡ 2(Ax + e) + m

slide-86
SLIDE 86

NTRU-like Cryptosystem [13]

Alice f, g Bob A ≡ f/g (mod q) c ≡ 2(Ax + e) + m cg ≡ 2(fx + eg) + mg m ≡ (cg (mod 2))/g

slide-87
SLIDE 87

Dual LWE

Alice e Bob u ≡ fA(e)

slide-88
SLIDE 88

Dual LWE

Alice e Bob u ≡ fA(e) c1 = gA(s, x) c2 = uTs + e′ + b.⌊q/2⌋

slide-89
SLIDE 89

Dual LWE

Alice e Bob u ≡ fA(e) c1 = gA(s, x) c2 = uTs + e′ + b.⌊q/2⌋ b ≡ c2 − eTc1

slide-90
SLIDE 90

Identity Based Encryption

PKG Setup A with trapdoor s Alice Bob u = H(ID) (c1, c2) = DualEnc(u, mA)

slide-91
SLIDE 91

Identity Based Encryption

PKG Setup A with trapdoor s Alice Bob u = H(ID) (c1, c2) = DualEnc(u, mA) sIDB?

slide-92
SLIDE 92

Identity Based Encryption

PKG Setup A with trapdoor s Alice Bob u = H(ID) (c1, c2) = DualEnc(u, mA) sIDB? e = f −1(u) Extract

slide-93
SLIDE 93

Identity Based Encryption

PKG Setup A with trapdoor s Alice Bob u = H(ID) (c1, c2) = DualEnc(u, mA) sIDB? e = f −1(u) Extract DualDec(c1, c2)

slide-94
SLIDE 94

Identity Based Encryption

PKG Setup A with trapdoor s Alice Bob u = H(ID) (c1, c2) = DualEnc(u, mA) sIDB? e = f −1(u) Extract DualDec(c1, c2)

slide-95
SLIDE 95

Functional Encryption

PKG Setup f(x, y) Alice Bob Carol Dave Eve Fred

slide-96
SLIDE 96

Functional Encryption

PKG Setup f(x, y) Alice Bob Carol Dave Eve Fred syA syB syC syD syE syF

slide-97
SLIDE 97

Functional Encryption

PKG Setup f(x, y) Alice Bob Carol Dave Eve Fred policy x cA = EncxA(mA)

slide-98
SLIDE 98

Functional Encryption

PKG Setup f(x, y) Alice Bob Carol Dave Eve Fred policy x cA = EncxA(mA) DecyB(cA) DecyC(cA)

slide-99
SLIDE 99

Attribute Based Encryption

PKG Setup Alice Bob Carol Dave Eve Fred

slide-100
SLIDE 100

Attribute Based Encryption

PKG Setup Alice Bob Carol Dave Eve Fred sA sB sC sD sE sF

slide-101
SLIDE 101

Attribute Based Encryption

PKG Setup Alice Bob Carol Dave Eve Fred policy P cA = EncP(mA)

slide-102
SLIDE 102

Attribute Based Encryption

PKG Setup Alice Bob Carol Dave Eve Fred policy P cA = EncP(mA) DecsB(cA) DecsC(cA)

slide-103
SLIDE 103

Fully Homomorphic Encryption

◮ Operations over encrypted messages

slide-104
SLIDE 104

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments

slide-105
SLIDE 105

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications

slide-106
SLIDE 106

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

slide-107
SLIDE 107

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

◮ Bootstrapping

slide-108
SLIDE 108

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

◮ Bootstrapping ◮ Initially close to GGH cryptosystem

slide-109
SLIDE 109

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

◮ Bootstrapping ◮ Initially close to GGH cryptosystem ◮ Now: RLWE and NTRU-like

slide-110
SLIDE 110

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

◮ Bootstrapping ◮ Initially close to GGH cryptosystem ◮ Now: RLWE and NTRU-like ◮ Not practical yet

slide-111
SLIDE 111

Fully Homomorphic Encryption

◮ Operations over encrypted messages ◮ Evaluate functions with encrypted arguments ◮ Very interesting applications ◮ The error allows the computation, but can’t decrypt after

some point

◮ Bootstrapping ◮ Initially close to GGH cryptosystem ◮ Now: RLWE and NTRU-like ◮ Not practical yet ◮ More with Zvika Brakerski

slide-112
SLIDE 112

Conclusion

◮ Worst case reductions

slide-113
SLIDE 113

Conclusion

◮ Worst case reductions ◮ Efficient (at least asymptotically): ˜

O(n)

slide-114
SLIDE 114

Conclusion

◮ Worst case reductions ◮ Efficient (at least asymptotically): ˜

O(n)

◮ Cryptomania: IBE, FE, ABE, FHE

slide-115
SLIDE 115

Conclusion

◮ Worst case reductions ◮ Efficient (at least asymptotically): ˜

O(n)

◮ Cryptomania: IBE, FE, ABE, FHE ◮ Post-quantum cryptography

slide-116
SLIDE 116

Conclusion

◮ Worst case reductions ◮ Efficient (at least asymptotically): ˜

O(n)

◮ Cryptomania: IBE, FE, ABE, FHE ◮ Post-quantum cryptography ◮ Lattices are not yet recommended by NSA!

slide-117
SLIDE 117

References

  • M. Ajtai.

Generating hard instances of lattice problems (extended abstract). In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, STOC ’96, pages 99–108, New York, NY, USA, 1996. ACM. L Babai. On lov´ asz lattice reduction and the nearest lattice point problem. Combinatorica, (6), 1986. Sanjam Garg, Craig Gentry, and Shai Halevi. Candidate multilinear maps from ideal lattices. In EUROCRYPT, pages 1–17, 2013. Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, and Brent Waters. Candidate indistinguishability obfuscation and functional encryption for all circuits. IACR Cryptology ePrint Archive, 2013:451, 2013. Craig Gentry. A fully homomorphic encryption scheme. PhD thesis, Stanford University, 2009. crypto.stanford.edu/craig. Craig Gentry and Shai Halevi. Hierarchical identity based encryption with polynomially many levels. In TCC, pages 437–456, 2009. Craig Gentry, Amit Sahai, and Brent Waters. Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based. In CRYPTO (1), pages 75–92, 2013.

slide-118
SLIDE 118

Jeffrey Hoffstein, Jill Pipher, and J.H. Silverman. An Introduction to Mathematical Cryptography. Springer Publishing Company, Incorporated, 1 edition, 2008. Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. Ntru: A ring-based public key cryptosystem. In Lecture Notes in Computer Science, pages 267–288. Springer-Verlag, 1998. Vadim Lyubashevsky, Chris Peikert, and Oded Regev. On ideal lattices and learning with errors over rings. Advances in Cryptology EUROCRYPT 2010, 6110/2010(015848):1?23, 2010. Daniele Micciancio and Chris Peikert. Trapdoors for lattices: Simpler, tighter, faster, smaller. In David Pointcheval and Thomas Johansson, editors, Advances in Cryptology - EUROCRYPT 2012, volume 7237 of Lecture Notes in Computer Science, pages 700–718. Springer Berlin Heidelberg, 2012. Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, STOC ’05, pages 84–93, New York, NY, USA, 2005. ACM. Damien Stehl´ e and Ron Steinfeld. Making ntru as secure as worst-case problems over ideal lattices. In Proceedings of the 30th Annual international conference on Theory and applications of cryptographic techniques: advances in cryptology, EUROCRYPT’11, pages 27–47, Berlin, Heidelberg, 2011. Springer-Verlag.

slide-119
SLIDE 119

Thank you

Questions?