Cryptography from Rings Chris Peikert University of Michigan HEAT - - PowerPoint PPT Presentation

cryptography from rings chris peikert
SMART_READER_LITE
LIVE PREVIEW

Cryptography from Rings Chris Peikert University of Michigan HEAT - - PowerPoint PPT Presentation

Cryptography from Rings Chris Peikert University of Michigan HEAT Summer School 13 Oct 2015 1 / 13 Agenda 1 Polynomial rings, ideal lattices and Ring-LWE 2 Basic Ring-LWE encryption 3 Fully homomorphic encryption Selected bibliography:


slide-1
SLIDE 1

Cryptography from Rings Chris Peikert

University of Michigan

HEAT Summer School 13 Oct 2015

1 / 13

slide-2
SLIDE 2

Agenda

1 Polynomial rings, ideal lattices and Ring-LWE 2 Basic Ring-LWE encryption 3 Fully homomorphic encryption

Selected bibliography:

LPR’10 and ’13 V. Lyubashevsky, C. Peikert, O. Regev. “On Ideal Lattices and Learning with Errors Over Rings,” Eurocrypt’10 and JACM’13. “A Toolkit for Ring-LWE Cryptography,” Eurocrypt’13. BV’11 Z. Brakerski and V. Vaikuntanathan. “Fully Homomorphic Encryption from Ring-LWE. . . ” CRYPTO’11.

2 / 13

slide-3
SLIDE 3

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient)

3 / 13

slide-4
SLIDE 4

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient) 1996 NTRU efficient “ring-based” encryption (heuristic security)

3 / 13

slide-5
SLIDE 5

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient) 1996 NTRU efficient “ring-based” encryption (heuristic security) 2002 Micciancio’s ring-based one-way function with worst-case hardness from ideal lattices (no encryption)

3 / 13

slide-6
SLIDE 6

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient) 1996 NTRU efficient “ring-based” encryption (heuristic security) 2002 Micciancio’s ring-based one-way function with worst-case hardness from ideal lattices (no encryption) 2005 Regev’s LWE: encryption with worst-case hardness (inefficient)

3 / 13

slide-7
SLIDE 7

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient) 1996 NTRU efficient “ring-based” encryption (heuristic security) 2002 Micciancio’s ring-based one-way function with worst-case hardness from ideal lattices (no encryption) 2005 Regev’s LWE: encryption with worst-case hardness (inefficient) 2008– Countless applications of LWE (still inefficient)

3 / 13

slide-8
SLIDE 8

Rings in Lattice Cryptography (A Selective History)

1996-97 Ajtai(-Dwork) worst-case/average-case reduction,

  • ne-way function & public-key encryption

(very inefficient) 1996 NTRU efficient “ring-based” encryption (heuristic security) 2002 Micciancio’s ring-based one-way function with worst-case hardness from ideal lattices (no encryption) 2005 Regev’s LWE: encryption with worst-case hardness (inefficient) 2008– Countless applications of LWE (still inefficient) 2010 Ring-LWE: very efficient encryption, worst-case hardness ()

3 / 13

slide-9
SLIDE 9

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m.

4 / 13

slide-10
SLIDE 10

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m. ◮ Fact: Xm − 1 =

d|m Φd(X) for irreducible

Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C.

4 / 13

slide-11
SLIDE 11

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m. ◮ Fact: Xm − 1 =

d|m Φd(X) for irreducible

Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C. ω1 ω3 ω5 ω7 Φ8(X) = 1 + X4 ω1 ω2 ω4 ω5 ω7 ω8 Φ9(X) = 1 + X3 + X6

4 / 13

slide-12
SLIDE 12

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m. ◮ Fact: Xm − 1 =

d|m Φd(X) for irreducible

Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C. Therefore, Z[ζ] ∼ = Z[X]/Φm(X) via ζ ↔ X. ω1 ω3 ω5 ω7 Φ8(X) = 1 + X4 ω1 ω2 ω4 ω5 ω7 ω8 Φ9(X) = 1 + X3 + X6

4 / 13

slide-13
SLIDE 13

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m. ◮ Fact: Xm − 1 =

d|m Φd(X) for irreducible

Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C. Therefore, Z[ζ] ∼ = Z[X]/Φm(X) via ζ ↔ X. ◮ We have deg(R) = deg(Φm) = n := ϕ(m), and R has a Z-basis {ζ0, ζ1, . . . , ζn−1}: the power basis. This corresponds to Z[X]/Φm(X) representation.

4 / 13

slide-14
SLIDE 14

Cyclotomic Rings

◮ The mth cyclotomic ring is R = Z[ζ] where ζ = ζm has order m. I.e., ζm = 1 and ζj = 1 for 1 < j < m. ◮ Fact: Xm − 1 =

d|m Φd(X) for irreducible

Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C. Therefore, Z[ζ] ∼ = Z[X]/Φm(X) via ζ ↔ X. ◮ We have deg(R) = deg(Φm) = n := ϕ(m), and R has a Z-basis {ζ0, ζ1, . . . , ζn−1}: the power basis. This corresponds to Z[X]/Φm(X) representation. ◮ There are other Z-bases, e.g., {ζ0

p, . . . ζk−1 p

, ζk+1

p

, . . . , ζp−1

p

}.

4 / 13

slide-15
SLIDE 15

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1.

5 / 13

slide-16
SLIDE 16

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

5 / 13

slide-17
SLIDE 17

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

5 / 13

slide-18
SLIDE 18

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

Reduction to the Prime-Power Case

◮ Say m has prime-power factorization m1 · · · mℓ.

5 / 13

slide-19
SLIDE 19

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

Reduction to the Prime-Power Case

◮ Say m has prime-power factorization m1 · · · mℓ. By ζmi ↔ ζm/mi

m

, R = Z[ζm] ∼ = Z[ζm1, . . . , ζmℓ].

5 / 13

slide-20
SLIDE 20

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

Reduction to the Prime-Power Case

◮ Say m has prime-power factorization m1 · · · mℓ. By ζmi ↔ ζm/mi

m

, R = Z[ζm] ∼ = Z[ζm1, . . . , ζmℓ]. ◮ R has powerful Z-basis {ζj1

m1 · · · ζjℓ mℓ} =

  • {ζji

mi}, 0 ≤ ji < ϕ(mi).

5 / 13

slide-21
SLIDE 21

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

Reduction to the Prime-Power Case

◮ Say m has prime-power factorization m1 · · · mℓ. By ζmi ↔ ζm/mi

m

, R = Z[ζm] ∼ = Z[ζm1, . . . , ζmℓ]. ◮ R has powerful Z-basis {ζj1

m1 · · · ζjℓ mℓ} =

  • {ζji

mi}, 0 ≤ ji < ϕ(mi).

In general, powerful basis = power basis {ζj

m}, 0 ≤ j < ϕ(m).

5 / 13

slide-22
SLIDE 22

Cyclotomic Rings

Key Facts

1 For prime p: Φp(X) = 1 + X + X2 + · · · + Xp−1. 2 For m = pe: Φm(X) = Φp(Xm/p) = 1 + Xm/p + · · · + Xm−m/p.

✗ Otherwise, Φm(X) is less “regular” and more “dense.” So it can be cumbersome to work with Z[X]/Φm(X).

Reduction to the Prime-Power Case

◮ Say m has prime-power factorization m1 · · · mℓ. By ζmi ↔ ζm/mi

m

, R = Z[ζm] ∼ = Z[ζm1, . . . , ζmℓ]. ◮ R has powerful Z-basis {ζj1

m1 · · · ζjℓ mℓ} =

  • {ζji

mi}, 0 ≤ ji < ϕ(mi).

In general, powerful basis = power basis {ζj

m}, 0 ≤ j < ϕ(m).

◮ Bottom line: we can efficiently reduce operations in R to independent

  • perations in prime-power cyclotomics Z[ζmi].

5 / 13

slide-23
SLIDE 23

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use?

6 / 13

slide-24
SLIDE 24

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None!

6 / 13

slide-25
SLIDE 25

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None! ◮ R = Z[ζm] has n = ϕ(m) ring embeddings into C, given by mapping ζm to each primitive mth root of unity: σi(ζm) = ωi

m ∈ C, i ∈ Z∗ m.

6 / 13

slide-26
SLIDE 26

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None! ◮ R = Z[ζm] has n = ϕ(m) ring embeddings into C, given by mapping ζm to each primitive mth root of unity: σi(ζm) = ωi

m ∈ C, i ∈ Z∗ m.

◮ The canonical embedding σ: R → Cn is σ(a) = (σi(a))i∈Z∗

m.

Canonical because it is independent of representation (basis) of R.

6 / 13

slide-27
SLIDE 27

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None! ◮ R = Z[ζm] has n = ϕ(m) ring embeddings into C, given by mapping ζm to each primitive mth root of unity: σi(ζm) = ωi

m ∈ C, i ∈ Z∗ m.

◮ The canonical embedding σ: R → Cn is σ(a) = (σi(a))i∈Z∗

m.

Canonical because it is independent of representation (basis) of R. ◮ Define all geometric quantities using σ: e.g., a2 := σ(a)2.

6 / 13

slide-28
SLIDE 28

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None! ◮ R = Z[ζm] has n = ϕ(m) ring embeddings into C, given by mapping ζm to each primitive mth root of unity: σi(ζm) = ωi

m ∈ C, i ∈ Z∗ m.

◮ The canonical embedding σ: R → Cn is σ(a) = (σi(a))i∈Z∗

m.

Canonical because it is independent of representation (basis) of R. ◮ Define all geometric quantities using σ: e.g., a2 := σ(a)2.

Nice Properties

✔ Under σ, both + and · are coordinate-wise: σ(a · b) = σ(a) ⊙ σ(b).

6 / 13

slide-29
SLIDE 29

Canonical Geometry of R

◮ Need a geometry and notion of “short” for ring elements. Use coefficient vector w.r.t. a Z-basis? Which basis to use? None! ◮ R = Z[ζm] has n = ϕ(m) ring embeddings into C, given by mapping ζm to each primitive mth root of unity: σi(ζm) = ωi

m ∈ C, i ∈ Z∗ m.

◮ The canonical embedding σ: R → Cn is σ(a) = (σi(a))i∈Z∗

m.

Canonical because it is independent of representation (basis) of R. ◮ Define all geometric quantities using σ: e.g., a2 := σ(a)2.

Nice Properties

✔ Under σ, both + and · are coordinate-wise: σ(a · b) = σ(a) ⊙ σ(b). This yields the “expansion” bound a · b2 ≤ a∞ · b2 , where a∞ = max

i |σi(a)|.

6 / 13

slide-30
SLIDE 30

Example 1

◮ 4th cyclotomic R = Z[X]/(1 + X2): embeddings X → ±√−1

7 / 13

slide-31
SLIDE 31

Example 1

◮ 4th cyclotomic R = Z[X]/(1 + X2): embeddings X → ±√−1

σ(1) = (1, 1) σ(X) = (±√−1)

7 / 13

slide-32
SLIDE 32

Example 1

◮ 4th cyclotomic R = Z[X]/(1 + X2): embeddings X → ±√−1

σ(1) = (1, 1) σ(X) = (±√−1)

In Any 2k-th Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1.

7 / 13

slide-33
SLIDE 33

Example 1

◮ 4th cyclotomic R = Z[X]/(1 + X2): embeddings X → ±√−1

σ(1) = (1, 1) σ(X) = (±√−1)

In Any 2k-th Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1. ✔ Power basis {1, X, . . . , Xn−1} is orthogonal under embedding σ. So power & canonical geometries are equivalent (up to √n scaling).

7 / 13

slide-34
SLIDE 34

Example 2

◮ 3rd cyclotomic R = Z[X]/(1 + X + X2): embed X → − 1

2 ± √−3 2

σ(1) = (1, 1) σ(X) = (− 1

2 ± √−3 2 ) 8 / 13

slide-35
SLIDE 35

Example 2

◮ 3rd cyclotomic R = Z[X]/(1 + X + X2): embed X → − 1

2 ± √−3 2

σ(1) = (1, 1) σ(X) = (− 1

2 ± √−3 2 )

In Any Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1.

8 / 13

slide-36
SLIDE 36

Example 2

◮ 3rd cyclotomic R = Z[X]/(1 + X + X2): embed X → − 1

2 ± √−3 2

σ(1) = (1, 1) σ(X) = (− 1

2 ± √−3 2 )

In Any Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1. ◮ Power basis {1, X, . . . , Xn−1} is not orthogonal (unless m = 2k).

8 / 13

slide-37
SLIDE 37

Example 2

◮ 3rd cyclotomic R = Z[X]/(1 + X + X2): embed X → − 1

2 ± √−3 2

σ(1) = (1, 1) σ(X) = (− 1

2 ± √−3 2 )

In Any Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1. ◮ Power basis {1, X, . . . , Xn−1} is not orthogonal (unless m = 2k). ◮ In power basis, short elements can have long coeff vectors.

8 / 13

slide-38
SLIDE 38

Example 2

◮ 3rd cyclotomic R = Z[X]/(1 + X + X2): embed X → − 1

2 ± √−3 2

σ(1) = (1, 1) σ(X) = (− 1

2 ± √−3 2 )

e

In Any Cyclotomic. . .

✔ For any j, Xj2 = √n and Xj∞ = 1. ◮ Power basis {1, X, . . . , Xn−1} is not orthogonal (unless m = 2k). ◮ In power basis, short elements can have long coeff vectors. E.g., e = 1 + X + · · · + Xp−2 but e = 1 = X = √p − 1.

8 / 13

slide-39
SLIDE 39

Ideal Lattices

◮ An ideal I ⊆ R is closed under + and −, and under · with R.

9 / 13

slide-40
SLIDE 40

Ideal Lattices

◮ An ideal I ⊆ R is closed under + and −, and under · with R. Every ideal I embeds as an ideal lattice σ(I).

9 / 13

slide-41
SLIDE 41

Ideal Lattices

◮ An ideal I ⊆ R is closed under + and −, and under · with R. Every ideal I embeds as an ideal lattice σ(I). ◮ E.g., R = Z[X]/(X2 + 1). Embeddings send X → ±√−1. I = X − 2, −3X + 1 is an ideal in R.

σ(1) = (1, 1) σ(X) = (i, −i) σ(X − 2) σ(−3X + 1)

9 / 13

slide-42
SLIDE 42

Ideal Lattices

◮ An ideal I ⊆ R is closed under + and −, and under · with R. Every ideal I embeds as an ideal lattice σ(I). ◮ E.g., R = Z[X]/(X2 + 1). Embeddings send X → ±√−1. I = X − 2, −3X + 1 is an ideal in R.

σ(1) = (1, 1) σ(X) = (i, −i) σ(X − 2) σ(−3X + 1)

(Approximate) Ideal Shortest Vector Problem

◮ Given a Z-basis of an ideal I ⊆ R, find a nearly shortest nonzero a ∈ I.

9 / 13

slide-43
SLIDE 43

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm].

10 / 13

slide-44
SLIDE 44

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

10 / 13

slide-45
SLIDE 45

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

(For product q = q1 · · · qt of distinct primes, Rq ∼ = Rq1 × · · · × Rqt.)

10 / 13

slide-46
SLIDE 46

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

(For product q = q1 · · · qt of distinct primes, Rq ∼ = Rq1 × · · · × Rqt.)

◮ Search: find secret ring element s ∈ Rq, given: a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq a3 ← Rq , b3 = a3 · s + e3 ∈ Rq . . .

√n ≤ error coeffs ≪ q

10 / 13

slide-47
SLIDE 47

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

(For product q = q1 · · · qt of distinct primes, Rq ∼ = Rq1 × · · · × Rqt.)

◮ Search: find secret ring element s ∈ Rq, given: a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq a3 ← Rq , b3 = a3 · s + e3 ∈ Rq . . .

√n ≤ error coeffs ≪ q

Note: (ai, bi) are uniformly random subject to: bi − ai · s ≈ 0 .

10 / 13

slide-48
SLIDE 48

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

(For product q = q1 · · · qt of distinct primes, Rq ∼ = Rq1 × · · · × Rqt.)

◮ Search: find secret ring element s ∈ Rq, given: a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq a3 ← Rq , b3 = a3 · s + e3 ∈ Rq . . .

√n ≤ error coeffs ≪ q

Note: (ai, bi) are uniformly random subject to: bi − ai · s ≈ 0 . Errors are subtle! Coeffs of ei are small in “decoding” Z-basis of R, and not necessarily independent!

10 / 13

slide-49
SLIDE 49

Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Let R be a cyclotomic ring and Rq = R/qR = Zq[ζm]. For prime q = 1 (mod m), ˜ O(n)-time ring ops in Rq via CRT basis.

(For product q = q1 · · · qt of distinct primes, Rq ∼ = Rq1 × · · · × Rqt.)

◮ Search: find secret ring element s ∈ Rq, given: a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq a3 ← Rq , b3 = a3 · s + e3 ∈ Rq . . .

√n ≤ error coeffs ≪ q

Note: (ai, bi) are uniformly random subject to: bi − ai · s ≈ 0 . Errors are subtle! Coeffs of ei are small in “decoding” Z-basis of R, and not necessarily independent! ◮ Decision: distinguish (ai , bi) from uniform (ai , bi) ∈ Rq × Rq.

10 / 13

slide-50
SLIDE 50

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices

(quantum, any R = OK)

search Ring-LWE ≤

(classical, any cyclotomic R)

decision Ring-LWE

11 / 13

slide-51
SLIDE 51

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices

(quantum, any R = OK)

search Ring-LWE ≤

(classical, any cyclotomic R)

decision Ring-LWE

⋆ If you can distinguish (ai , bi) from (ai , bi), then you can find s. 11 / 13

slide-52
SLIDE 52

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices

(quantum, any R = OK)

search Ring-LWE ≤

(classical, any cyclotomic R)

decision Ring-LWE

⋆ If you can distinguish (ai , bi) from (ai , bi), then you can find s. ⋆ If you can find s, then you can find approximately shortest vectors in

any ideal lattice in R, using a quantum algorithm.

11 / 13

slide-53
SLIDE 53

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices

(quantum, any R = OK)

search Ring-LWE ≤

(classical, any cyclotomic R)

decision Ring-LWE

⋆ If you can distinguish (ai , bi) from (ai , bi), then you can find s. ⋆ If you can find s, then you can find approximately shortest vectors in

any ideal lattice in R, using a quantum algorithm.

◮ Then: decision Ring-LWE ≤ tons of crypto!

11 / 13

slide-54
SLIDE 54

Hardness of Ring-LWE

[LyubashevskyPeikertRegev’10]

◮ Two main theorems (reductions): worst-case approx-SVP

  • n ideal lattices

(quantum, any R = OK)

search Ring-LWE ≤

(classical, any cyclotomic R)

decision Ring-LWE

⋆ If you can distinguish (ai , bi) from (ai , bi), then you can find s. ⋆ If you can find s, then you can find approximately shortest vectors in

any ideal lattice in R, using a quantum algorithm.

◮ Then: decision Ring-LWE ≤ tons of crypto!

⋆ If you can break the crypto, then you can distinguish (ai , bi) from

(ai , bi). . .

11 / 13

slide-55
SLIDE 55

Ring-LWE Symmetric Cryptosystem

[LyubashevskyPeikertRegev’10]

◮ Secret key: s ← Rq.

12 / 13

slide-56
SLIDE 56

Ring-LWE Symmetric Cryptosystem

[LyubashevskyPeikertRegev’10]

◮ Secret key: s ← Rq. ◮ Encrypt µ ∈ R2: choose error e ∈ R s.t. e = µ mod 2R. Output (c0, c1) = (a · s + e , −a).

12 / 13

slide-57
SLIDE 57

Ring-LWE Symmetric Cryptosystem

[LyubashevskyPeikertRegev’10]

◮ Secret key: s ← Rq. ◮ Encrypt µ ∈ R2: choose error e ∈ R s.t. e = µ mod 2R. Output (c0, c1) = (a · s + e , −a). ◮ Decrypt: ‘lift’ c0 + c1 · s ∈ Rq to e ∈ R, output µ = e mod 2R.

12 / 13

slide-58
SLIDE 58

Ring-LWE Symmetric Cryptosystem

[LyubashevskyPeikertRegev’10]

◮ Secret key: s ← Rq. ◮ Encrypt µ ∈ R2: choose error e ∈ R s.t. e = µ mod 2R. Output (c0, c1) = (a · s + e , −a). ◮ Decrypt: ‘lift’ c0 + c1 · s ∈ Rq to e ∈ R, output µ = e mod 2R.

Security

◮ Ciphertexts are RLWE samples, so can’t distinguish them from uniform (c0, c1), so message is hidden.

12 / 13

slide-59
SLIDE 59

Ring-LWE Symmetric Cryptosystem

[LyubashevskyPeikertRegev’10]

◮ Secret key: s ← Rq. ◮ Encrypt µ ∈ R2: choose error e ∈ R s.t. e = µ mod 2R. Output (c0, c1) = (a · s + e , −a). ◮ Decrypt: ‘lift’ c0 + c1 · s ∈ Rq to e ∈ R, output µ = e mod 2R.

Security

◮ Ciphertexts are RLWE samples, so can’t distinguish them from uniform (c0, c1), so message is hidden.

Alternative Interpretation

◮ Encryption of µ ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

12 / 13

slide-60
SLIDE 60

Fully Homomorphic Encryption

[BrakerskiVaikuntanathan’11]

◮ Need a system where: if c, c′ encrypt m, m′, then c ⊞ c′ encrypts m + m′, c ⊡ c′ encrypts m · m′.

Symmetric Cryptosystem

◮ Encryption of m ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

13 / 13

slide-61
SLIDE 61

Fully Homomorphic Encryption

[BrakerskiVaikuntanathan’11]

◮ Need a system where: if c, c′ encrypt m, m′, then c ⊞ c′ encrypts m + m′, c ⊡ c′ encrypts m · m′.

Symmetric Cryptosystem

◮ Encryption of m ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

Full Homomorphism

◮ Define ⊞, ⊡ to be simply +, · in Rq[S]:

13 / 13

slide-62
SLIDE 62

Fully Homomorphic Encryption

[BrakerskiVaikuntanathan’11]

◮ Need a system where: if c, c′ encrypt m, m′, then c ⊞ c′ encrypts m + m′, c ⊡ c′ encrypts m · m′.

Symmetric Cryptosystem

◮ Encryption of m ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

Full Homomorphism

◮ Define ⊞, ⊡ to be simply +, · in Rq[S]: (c + c′)(s) = c(s) + c′(s) = (e + e′) ≈ 0 mod qR (e + e′) = (m + m′) mod 2R.

13 / 13

slide-63
SLIDE 63

Fully Homomorphic Encryption

[BrakerskiVaikuntanathan’11]

◮ Need a system where: if c, c′ encrypt m, m′, then c ⊞ c′ encrypts m + m′, c ⊡ c′ encrypts m · m′.

Symmetric Cryptosystem

◮ Encryption of m ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

Full Homomorphism

◮ Define ⊞, ⊡ to be simply +, · in Rq[S]: (c · c′)(s) = c(s) · c′(s) = (e · e′) ≈ 0 mod qR (e · e′) = (m · m′) mod 2R.

13 / 13

slide-64
SLIDE 64

Fully Homomorphic Encryption

[BrakerskiVaikuntanathan’11]

◮ Need a system where: if c, c′ encrypt m, m′, then c ⊞ c′ encrypts m + m′, c ⊡ c′ encrypts m · m′.

Symmetric Cryptosystem

◮ Encryption of m ∈ R2 is a linear polynomial c(S) = c0 + c1S ∈ Rq[S]:

1 c(s) = e ≈ 0 mod qR, and 2 e = m mod 2R.

Full Homomorphism

◮ Define ⊞, ⊡ to be simply +, · in Rq[S]: (c · c′)(s) = c(s) · c′(s) = (e · e′) ≈ 0 mod qR (e · e′) = (m · m′) mod 2R. ◮ Error size and polynomial degree (in S) grow with ⊞, ⊡. Use “linearization/key switching” and “modulus reduction” to shrink.

13 / 13