The Geometry of Rings Chris Peikert Georgia Institute of Technology - - PowerPoint PPT Presentation

the geometry of rings chris peikert
SMART_READER_LITE
LIVE PREVIEW

The Geometry of Rings Chris Peikert Georgia Institute of Technology - - PowerPoint PPT Presentation

The Geometry of Rings Chris Peikert Georgia Institute of Technology ECRYPT II Summer School on Lattices Porto, Portugal 2 Oct 2012 1 / 13 LWE Over Rings (Over-Simplified) [LPR10] Ring R := Z [ X ] / (1 + X n ) for some n = 2 k , R q :=


slide-1
SLIDE 1

The Geometry of Rings Chris Peikert

Georgia Institute of Technology ECRYPT II Summer School on Lattices Porto, Portugal 2 Oct 2012

1 / 13

slide-2
SLIDE 2

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR.

2 / 13

slide-3
SLIDE 3

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR. ◮ Problem: for s ← Rq, distinguish {(ai , bi)} from uniform {(ai , bi)}. a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq . . .

2 / 13

slide-4
SLIDE 4

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR. ◮ Problem: for s ← Rq, distinguish {(ai , bi)} from uniform {(ai , bi)}. a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq . . . ◮ Errors e(X) ∈ R are “short.” What could this mean?

2 / 13

slide-5
SLIDE 5

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR. ◮ Problem: for s ← Rq, distinguish {(ai , bi)} from uniform {(ai , bi)}. a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq . . . ◮ Errors e(X) ∈ R are “short.” What could this mean? Identify e(X) =

n−1

  • j=0

ejXj

(?)

← → (e0, e1, . . . en−1) ∈ Zn.

2 / 13

slide-6
SLIDE 6

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR. ◮ Problem: for s ← Rq, distinguish {(ai , bi)} from uniform {(ai , bi)}. a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq . . . ◮ Errors e(X) ∈ R are “short.” What could this mean? Identify e(X) =

n−1

  • j=0

ejXj

(?)

← → (e0, e1, . . . en−1) ∈ Zn. ◮ Applications need (+, ·)-combinations of errors to remain short.

2 / 13

slide-7
SLIDE 7

LWE Over Rings (Over-Simplified) [LPR’10]

Ring R := Z[X]/(1 + Xn) for some n = 2k, Rq := R/qR. ◮ Problem: for s ← Rq, distinguish {(ai , bi)} from uniform {(ai , bi)}. a1 ← Rq , b1 = a1 · s + e1 ∈ Rq a2 ← Rq , b2 = a2 · s + e2 ∈ Rq . . . ◮ Errors e(X) ∈ R are “short.” What could this mean? Identify e(X) =

n−1

  • j=0

ejXj

(?)

← → (e0, e1, . . . en−1) ∈ Zn. ◮ Applications need (+, ·)-combinations of errors to remain short. Yes! e + f ≤ e + f e · f ≤ √n · e · f. “Expansion factor” √n is worst-case. (“On average,” ≈ √log n.)

2 / 13

slide-8
SLIDE 8

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq.

3 / 13

slide-9
SLIDE 9

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.)

3 / 13

slide-10
SLIDE 10

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.) Security: (c1, c0) is an RLWE sample (essentially).

3 / 13

slide-11
SLIDE 11

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.) Security: (c1, c0) is an RLWE sample (essentially). ◮ Decs(c(S)): get short d ∈ R s.t. d = c(s) mod q. Output d mod 2. Correctness: d = e, as long as e has Z-coeffs ∈ (−q/2, q/2).

3 / 13

slide-12
SLIDE 12

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.) Security: (c1, c0) is an RLWE sample (essentially). ◮ Decs(c(S)): get short d ∈ R s.t. d = c(s) mod q. Output d mod 2. Correctness: d = e, as long as e has Z-coeffs ∈ (−q/2, q/2). ◮ EvalAdd(c, c′) = (c + c′)(S), EvalMul(c, c′) = (c · c′)(S).

3 / 13

slide-13
SLIDE 13

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.) Security: (c1, c0) is an RLWE sample (essentially). ◮ Decs(c(S)): get short d ∈ R s.t. d = c(s) mod q. Output d mod 2. Correctness: d = e, as long as e has Z-coeffs ∈ (−q/2, q/2). ◮ EvalAdd(c, c′) = (c + c′)(S), EvalMul(c, c′) = (c · c′)(S). Decryption works if e + e′, e · e′ “short enough.”

3 / 13

slide-14
SLIDE 14

Example Application: Homomorphic Encryption [BV’11a]

◮ R = Z[X]/(1 + X2k), Rq = R/qR. Symmetric key s ← Rq. ◮ Encs(m ∈ R2): choose a “short” e ∈ R s.t. e = m mod 2. Let c1 ← Rq and c0 = −c1 · s + e ∈ Rq and output c(S) = c0 + c1S ∈ Rq[S]. (Notice: c(s) = e mod q.) Security: (c1, c0) is an RLWE sample (essentially). ◮ Decs(c(S)): get short d ∈ R s.t. d = c(s) mod q. Output d mod 2. Correctness: d = e, as long as e has Z-coeffs ∈ (−q/2, q/2). ◮ EvalAdd(c, c′) = (c + c′)(S), EvalMul(c, c′) = (c · c′)(S). Decryption works if e + e′, e · e′ “short enough.” Many mults ⇒ large power of expansion factor ⇒ tiny error rate α ⇒ big parameters!

3 / 13

slide-15
SLIDE 15

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b].

4 / 13

slide-16
SLIDE 16

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

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

4 / 13

slide-17
SLIDE 17

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}.

4 / 13

slide-18
SLIDE 18

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. ω1 ω3 ω5 ω7 Φ8(X) = 1 + X4 ω1 ω2 ω4 ω5 ω7 ω8 Φ9(X) = 1 + X3 + X6

4 / 13

slide-19
SLIDE 19

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. Non-prime power m? ✗ Φ21(X) = 1 − X + X3 − X4 + X6 − X8 + X9 − X11 + X12

4 / 13

slide-20
SLIDE 20

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. Non-prime power m? ✗ Φ21(X) = 1 − X + X3 − X4 + X6 − X8 + X9 − X11 + X12 ✗✗ Φ105(X) = [degree 48; 33 monomials with {−2, −1, 1}-coefficients]

4 / 13

slide-21
SLIDE 21

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. Non-prime power m? ✗ Φ21(X) = 1 − X + X3 − X4 + X6 − X8 + X9 − X11 + X12 ✗✗ Φ105(X) = [degree 48; 33 monomials with {−2, −1, 1}-coefficients]

Annoyances

✗ Irregular Φm(X) ⇒ slower, more complex operations

4 / 13

slide-22
SLIDE 22

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. Non-prime power m? ✗ Φ21(X) = 1 − X + X3 − X4 + X6 − X8 + X9 − X11 + X12 ✗✗ Φ105(X) = [degree 48; 33 monomials with {−2, −1, 1}-coefficients]

Annoyances

✗ Irregular Φm(X) ⇒ slower, more complex operations ✗ Large expansion factor ≫ √n – even super-poly(n)!

4 / 13

slide-23
SLIDE 23

Other Rings: Cyclotomics

◮ Used in faster bootstrapping [GHS’12a], homomorphic AES [GHS’12b]. R = Z[X]/Φm(X) for mth cyclotomic polynomial Φm(X). Φm(X) =

  • i∈Z∗

m

(X − ωi) ∈ Z[X], ω = exp(2π √ −1/m) ∈ C ◮ Roots ωi run over all n = ϕ(m) primitive mth roots of unity. “Power” Z-basis of R is {1, X, X2, . . . , Xn−1}. Non-prime power m? ✗ Φ21(X) = 1 − X + X3 − X4 + X6 − X8 + X9 − X11 + X12 ✗✗ Φ105(X) = [degree 48; 33 monomials with {−2, −1, 1}-coefficients]

Annoyances

✗ Irregular Φm(X) ⇒ slower, more complex operations ✗ Large expansion factor ≫ √n – even super-poly(n)! ✗ Provable hardness also degrades with expansion factor: pay twice!

4 / 13

slide-24
SLIDE 24

Talk Agenda

1 Cyclotomic rings and their canonical geometry

✔ No expansion factor anywhere ✔ Provable, tight hardness – same for all cyclotomics ✔ Fast, modular ring operations

5 / 13

slide-25
SLIDE 25

Talk Agenda

1 Cyclotomic rings and their canonical geometry

✔ No expansion factor anywhere ✔ Provable, tight hardness – same for all cyclotomics ✔ Fast, modular ring operations

2 The dual ideal R∨ and ring-LWE

5 / 13

slide-26
SLIDE 26

Talk Agenda

1 Cyclotomic rings and their canonical geometry

✔ No expansion factor anywhere ✔ Provable, tight hardness – same for all cyclotomics ✔ Fast, modular ring operations

2 The dual ideal R∨ and ring-LWE 3 The decoding basis of R∨ and its properties

5 / 13

slide-27
SLIDE 27

Talk Agenda

1 Cyclotomic rings and their canonical geometry

✔ No expansion factor anywhere ✔ Provable, tight hardness – same for all cyclotomics ✔ Fast, modular ring operations

2 The dual ideal R∨ and ring-LWE 3 The decoding basis of R∨ and its properties 4 Benefits in applications: tight parameters, algorithmic efficiency

5 / 13

slide-28
SLIDE 28

Talk Agenda

1 Cyclotomic rings and their canonical geometry

✔ No expansion factor anywhere ✔ Provable, tight hardness – same for all cyclotomics ✔ Fast, modular ring operations

2 The dual ideal R∨ and ring-LWE 3 The decoding basis of R∨ and its properties 4 Benefits in applications: tight parameters, algorithmic efficiency

Based on:

LPR’10 V. Lyubashevsky, C. Peikert, O. Regev. “On Ideal Lattices and Learning with Errors Over Rings.” LPR’12 V. Lyubashevsky, C. Peikert, O. Regev. “A Toolkit for Ring-LWE Cryptography.”

5 / 13

slide-29
SLIDE 29

Cyclotomic Rings

Key Facts

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

6 / 13

slide-30
SLIDE 30

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

6 / 13

slide-31
SLIDE 31

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.

6 / 13

slide-32
SLIDE 32

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ.

6 / 13

slide-33
SLIDE 33

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ. Then R = Z[X]/Φm(X) ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) via Xi → Xm/mi. (Indeed, Xm/mi has order mi.)

6 / 13

slide-34
SLIDE 34

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ. Then R = Z[X]/Φm(X) ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) =

  • i Z[Xi]/Φmi(Xi),

via Xi → Xm/mi. (Indeed, Xm/mi has order mi.)

6 / 13

slide-35
SLIDE 35

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ. Then R = Z[X]/Φm(X) ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) =

  • i Z[Xi]/Φmi(Xi),

via Xi → Xm/mi. (Indeed, Xm/mi has order mi.) ◮ R has tensor Z-basis {Xj1

1 · · · Xjℓ ℓ }, where each 0 ≤ ji < ϕ(mi).

6 / 13

slide-36
SLIDE 36

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ. Then R = Z[X]/Φm(X) ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) =

  • i Z[Xi]/Φmi(Xi),

via Xi → Xm/mi. (Indeed, Xm/mi has order mi.) ◮ R has tensor Z-basis {Xj1

1 · · · Xjℓ ℓ }, where each 0 ≤ ji < ϕ(mi).

Notice!: tensor basis = power basis {Xj} for 0 ≤ j < ϕ(m).

6 / 13

slide-37
SLIDE 37

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.

Reducing to the Prime-Power Case

◮ Let m have prime-power factorization m = m1 · · · mℓ. Then R = Z[X]/Φm(X) ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) =

  • i Z[Xi]/Φmi(Xi),

via Xi → Xm/mi. (Indeed, Xm/mi has order mi.) ◮ Bottom line: can reduce operations in R to independent operations in prime-power cyclotomic rings Z[Xi]/Φmi(Xi).

6 / 13

slide-38
SLIDE 38

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

7 / 13

slide-39
SLIDE 39

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

◮ The canonical embedding σ of R into Cn is σ(a) =

  • a(ωi)
  • i∈Z∗

m. 7 / 13

slide-40
SLIDE 40

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

◮ The canonical embedding σ of R into Cn is σ(a) =

  • a(ωi)
  • i∈Z∗

m.

◮ Define all geometric quantities using σ (not coefficient vectors!!). E.g., a2 := σ(a)2.

7 / 13

slide-41
SLIDE 41

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

◮ The canonical embedding σ of R into Cn is σ(a) =

  • a(ωi)
  • i∈Z∗

m.

◮ Define all geometric quantities using σ (not coefficient vectors!!). E.g., a2 := σ(a)2.

Nice Properties

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

7 / 13

slide-42
SLIDE 42

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

◮ The canonical embedding σ of R into Cn is σ(a) =

  • a(ωi)
  • i∈Z∗

m.

◮ Define all geometric quantities using σ (not coefficient vectors!!). 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

  • a(ωi)
  • .

7 / 13

slide-43
SLIDE 43

Canonical Geometry of R

◮ R = Z[X]/Φm(X) has n = ϕ(m) ring embeddings (homomorphisms) into C, each given by evaluation at a root of Φm: X → ωi for each i ∈ Z∗

m.

◮ The canonical embedding σ of R into Cn is σ(a) =

  • a(ωi)
  • i∈Z∗

m.

◮ Define all geometric quantities using σ (not coefficient vectors!!). 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

  • a(ωi)
  • .

✔ Expansion is element-specific. No more ring “expansion factor.”

7 / 13

slide-44
SLIDE 44

Example 1

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

8 / 13

slide-45
SLIDE 45

Example 1

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

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

8 / 13

slide-46
SLIDE 46

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.

8 / 13

slide-47
SLIDE 47

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 coefficient/canonical embeddings equivalent (up to √n scaling).

8 / 13

slide-48
SLIDE 48

Example 2

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

2 ± √−3 2

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

2 ± √−3 2 ) 9 / 13

slide-49
SLIDE 49

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.

9 / 13

slide-50
SLIDE 50

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).

9 / 13

slide-51
SLIDE 51

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). ◮ So in power basis, short elements can have long coeff vectors.

9 / 13

slide-52
SLIDE 52

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). ◮ So in power basis, short elements can have long coeff vectors. E.g., e = 1 = X = √n but e = 1 + X.

9 / 13

slide-53
SLIDE 53

Duality and the Dual Ideal R∨

◮ Define trace function Tr: R → Z as Tr(a) =

i∈Z∗

m a(ωi). 10 / 13

slide-54
SLIDE 54

Duality and the Dual Ideal R∨

◮ Define trace function Tr: R → Z as Tr(a) =

i∈Z∗

m a(ωi).

Tr(a · b) is (essentially) the “inner product” of embedded a, b: Tr(a · b) =

  • i a(ωi) · b(ωi) = σ(a) , σ(b).

10 / 13

slide-55
SLIDE 55

Duality and the Dual Ideal R∨

◮ Define trace function Tr: R → Z as Tr(a) =

i∈Z∗

m a(ωi).

Tr(a · b) is (essentially) the “inner product” of embedded a, b: Tr(a · b) =

  • i a(ωi) · b(ωi) = σ(a) , σ(b).

◮ Define R’s “dual” R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. R

X0 X1 d0 d1

R∨

10 / 13

slide-56
SLIDE 56

Duality and the Dual Ideal R∨

◮ Define trace function Tr: R → Z as Tr(a) =

i∈Z∗

m a(ωi).

Tr(a · b) is (essentially) the “inner product” of embedded a, b: Tr(a · b) =

  • i a(ωi) · b(ωi) = σ(a) , σ(b).

◮ Define R’s “dual” R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Has “decoding” Z-basis {dj′}, where Tr(Xj · dj′) = δj,j′. R

X0 X1 d0 d1

R∨ R

10 / 13

slide-57
SLIDE 57

Duality and the Dual Ideal R∨

◮ Define trace function Tr: R → Z as Tr(a) =

i∈Z∗

m a(ωi).

Tr(a · b) is (essentially) the “inner product” of embedded a, b: Tr(a · b) =

  • i a(ωi) · b(ωi) = σ(a) , σ(b).

◮ Define R’s “dual” R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Has “decoding” Z-basis {dj′}, where Tr(Xj · dj′) = δj,j′. R

X0 X1 d0 d1

R∨ R

10 / 13

slide-58
SLIDE 58

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′. R

X0 X1 d0 d1

R∨ R

10 / 13

slide-59
SLIDE 59

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Useful Facts

1 R∨ is an ideal: −a, a + b, a · r ∈ R∨ for all a, b ∈ R∨, r ∈ R.

R

X0 X1 d0 d1

R∨ R

10 / 13

slide-60
SLIDE 60

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Useful Facts

1 R∨ is an ideal: −a, a + b, a · r ∈ R∨ for all a, b ∈ R∨, r ∈ R. 2 For m = 2k (dim n = m/2): {Xj} orthogonal and Xj = √n.

So dj = 1

nXj and R∨ = 1

  • nR. I.e., R and R∨ equivalent up to scale.

R

X0 X1 d0 d1

R∨ R

10 / 13

slide-61
SLIDE 61

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Useful Facts

1 R∨ is an ideal: −a, a + b, a · r ∈ R∨ for all a, b ∈ R∨, r ∈ R. 2 For m = 2k (dim n = m/2): {Xj} orthogonal and Xj = √n.

So dj = 1

nXj and R∨ = 1

  • nR. I.e., R and R∨ equivalent up to scale.

3 In general, mR∨ ⊆ R ⊆ R∨, with mR∨ ≈ R.

R

X0 X1 d0 d1

R∨ R

10 / 13

slide-62
SLIDE 62

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Super-Useful Fact

✔ If e ∈ R∨ is short, its Z-coeffs in decoding basis {dj} are small: R

X0 X1 d0 d1

R∨ R

10 / 13

slide-63
SLIDE 63

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Super-Useful Fact

✔ If e ∈ R∨ is short, its Z-coeffs in decoding basis {dj} are small: e =

  • j ejdj

(ej ∈ Z) = ⇒ ej = Tr(Xj · e) ≤ e · √n. R

X0 X1 d0 d1

R∨ R

10 / 13

slide-64
SLIDE 64

Duality and the Dual Ideal R∨

◮ Dual R∨ := {d : Tr(a · d) ∈ Z, ∀ a ∈ R}. Basis: Tr(Xj · dj′) = δj,j′.

Super-Useful Fact

✔ If e ∈ R∨ is short, its Z-coeffs in decoding basis {dj} are small: e =

  • j ejdj

(ej ∈ Z) = ⇒ ej = Tr(Xj · e) ≤ e · √n. (Better: Gaussian e w/std. dev. s ⇒ Gaussian ej w/std. dev. s√n.) R

X0 X1 d0 d1

R∨ R

10 / 13

slide-65
SLIDE 65

Ring-LWE: The Complete Definition [LPR’10]

Ring R := Z[X]/Φm(X) for any m, Rq = R/qR, R∨

q = R∨/qR∨.

11 / 13

slide-66
SLIDE 66

Ring-LWE: The Complete Definition [LPR’10]

Ring R := Z[X]/Φm(X) for any m, Rq = R/qR, R∨

q = R∨/qR∨.

◮ Problem: for s ← R∨

q , distinguish {(ai , bi)} from uniform {(ai , bi)}.

a1 ← Rq , b1 = a1 · s + e1 ∈ R∨

q

a2 ← Rq , b2 = a2 · s + e2 ∈ R∨

q

. . .

11 / 13

slide-67
SLIDE 67

Ring-LWE: The Complete Definition [LPR’10]

Ring R := Z[X]/Φm(X) for any m, Rq = R/qR, R∨

q = R∨/qR∨.

◮ Problem: for s ← R∨

q , distinguish {(ai , bi)} from uniform {(ai , bi)}.

a1 ← Rq , b1 = a1 · s + e1 ∈ R∨

q

a2 ← Rq , b2 = a2 · s + e2 ∈ R∨

q

. . . ◮ Errors e ∈ R∨ Gaussian (w/std. dev. αq) in canonical embedding. So |e(ωi)| ≈ αq are independent∗ – but coeffs |ej| ≈ αq√n are not!

11 / 13

slide-68
SLIDE 68

Ring-LWE: The Complete Definition [LPR’10]

Ring R := Z[X]/Φm(X) for any m, Rq = R/qR, R∨

q = R∨/qR∨.

◮ Problem: for s ← R∨

q , distinguish {(ai , bi)} from uniform {(ai , bi)}.

a1 ← Rq , b1 = a1 · s + e1 ∈ R∨

q

a2 ← Rq , b2 = a2 · s + e2 ∈ R∨

q

. . . ◮ Errors e ∈ R∨ Gaussian (w/std. dev. αq) in canonical embedding. So |e(ωi)| ≈ αq are independent∗ – but coeffs |ej| ≈ αq√n are not!

Theorem

For any m, ring-LWE with error std. dev. αq ≥ 6∗ is (quantumly) as hard as ˜ O(n/α)-SVP on any ideal lattice in R.

11 / 13

slide-69
SLIDE 69

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq.

12 / 13

slide-70
SLIDE 70

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.)

12 / 13

slide-71
SLIDE 71

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.) ◮ Decs(c(S)): get short d ∈ R∨ s.t. d = c(s) mod qR∨. Correctness: d = e, if e’s decoding basis Z-coeffs ∈ (−q/2, q/2).

12 / 13

slide-72
SLIDE 72

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.) ◮ Decs(c(S)): get short d ∈ R∨ s.t. d = c(s) mod qR∨. Correctness: d = e, if e’s decoding basis Z-coeffs ∈ (−q/2, q/2). ◮ EvalMul(c, c′) = (c · c′)(S) ∈ (R∨)k

q[S] where k = deg(c) + deg(c′).

12 / 13

slide-73
SLIDE 73

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.) ◮ Decs(c(S)): get short d ∈ R∨ s.t. d = c(s) mod qR∨. Correctness: d = e, if e’s decoding basis Z-coeffs ∈ (−q/2, q/2). ◮ EvalMul(c, c′) = (c · c′)(S) ∈ (R∨)k

q[S] where k = deg(c) + deg(c′).

⋆ Noise e = e1 · · · ek ∈ (R∨)k, so mk−1e ∈ R∨. 12 / 13

slide-74
SLIDE 74

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.) ◮ Decs(c(S)): get short d ∈ R∨ s.t. d = c(s) mod qR∨. Correctness: d = e, if e’s decoding basis Z-coeffs ∈ (−q/2, q/2). ◮ EvalMul(c, c′) = (c · c′)(S) ∈ (R∨)k

q[S] where k = deg(c) + deg(c′).

⋆ Noise e = e1 · · · ek ∈ (R∨)k, so mk−1e ∈ R∨. ⋆ Since ei∞ ≈ αq = 6, mk−1e has Gaussian std. dev. ≈ 6kmk−1. 12 / 13

slide-75
SLIDE 75

BV Homomorphic Encryption, Revisited

◮ Symmetric key s ← Rq. ◮ Encs(m ∈ R∨

2 ): choose Gaussian e ∈ R∨ s.t. e = m mod 2R∨. Let

c1 ← R∨

q

and c0 = −c1 · s + e ∈ R∨

q

and output c(S) = c0 + c1S ∈ R∨

q [S].

(Note: c(s) = e mod qR∨.) ◮ Decs(c(S)): get short d ∈ R∨ s.t. d = c(s) mod qR∨. Correctness: d = e, if e’s decoding basis Z-coeffs ∈ (−q/2, q/2). ◮ EvalMul(c, c′) = (c · c′)(S) ∈ (R∨)k

q[S] where k = deg(c) + deg(c′).

⋆ Noise e = e1 · · · ek ∈ (R∨)k, so mk−1e ∈ R∨. ⋆ Since ei∞ ≈ αq = 6, mk−1e has Gaussian std. dev. ≈ 6kmk−1. ⋆ So need q ≈ 6kmk−1√n < (6m)k to decrypt deg-k ciphertexts.

Versus q ≈ γk−1nk via expansion factor γ ≫ √n. ⇒ ≈ γk−1 factor improvement in error rate.

12 / 13

slide-76
SLIDE 76

Conclusions

1 Using canonical geometry yields tight noise expansion, clean analysis

in all cyclotomics.

13 / 13

slide-77
SLIDE 77

Conclusions

1 Using canonical geometry yields tight noise expansion, clean analysis

in all cyclotomics.

2 Using R∨ with the decoding basis yields smaller coefficients ⇒ larger

noise rates ⇒ smaller params/higher security.

13 / 13

slide-78
SLIDE 78

Conclusions

1 Using canonical geometry yields tight noise expansion, clean analysis

in all cyclotomics.

2 Using R∨ with the decoding basis yields smaller coefficients ⇒ larger

noise rates ⇒ smaller params/higher security.

3 Using the tensor basis of

R ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) yields fast, modular algorithms for all cyclotomics.

13 / 13

slide-79
SLIDE 79

Conclusions

1 Using canonical geometry yields tight noise expansion, clean analysis

in all cyclotomics.

2 Using R∨ with the decoding basis yields smaller coefficients ⇒ larger

noise rates ⇒ smaller params/higher security.

3 Using the tensor basis of

R ∼ = Z[X1, . . . , Xℓ]/(Φm1(X1), . . . , Φmℓ(Xℓ)) yields fast, modular algorithms for all cyclotomics.

Thanks!

13 / 13