+ All Categories
Home > Documents > Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10]...

Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10]...

Date post: 20-Feb-2018
Category:
Upload: nguyenkhanh
View: 230 times
Download: 3 times
Share this document with a friend
21
Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP Zvika Brakerski Stanford University CRYPTO 2012
Transcript
Page 1: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Fully Homomorphic Encryption without Modulus Switching

from Classical GapSVP

Zvika Brakerski

Stanford University

CRYPTO 2012

Page 2: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Outsourcing Computation

Email, web-search, navigation, social networking…

π‘₯ 𝑓

𝑓(π‘₯)

π‘₯

What if π‘₯ is private?

Search query, location, business information, medical information…

Page 3: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Outsourcing Computation – Privately

Homomorphic Encryption

𝑓, 𝐸𝑛𝑐 π‘₯1 , … , 𝐸𝑛𝑐 π‘₯𝑛 β†’ 𝐸𝑛𝑐(𝑓 π‘₯1, … , π‘₯𝑛 )

We assume w.l.o.g 𝑓 ∈ *+,Γ—+ (over β„€2).

π‘₯ 𝑓

𝑦

𝐸𝑛𝑐(π‘₯)

𝐷𝑒𝑐 𝑦 = 𝑓(π‘₯)

Learns nothing on π‘₯.

Page 4: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

The Old Days of FHE

β€’ Gentry’s breakthrough [G09,G10] – first candidate.

β€’ [vDGHV10, BV11a]: Similar outline, different assumptions.

β€’ [GH11]: Chimeric-FHE.

β€’ Efficiency attempts [SV10,SS10,GH10,LNV11].

2009-2011

Page 5: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

2nd Generation FHE

β€’ [BV11b]: LWE-based FHE (= apx. short vector in lattice).

– Better assumption.

– Clean presentation: no ideals, no β€œsquashing”.

– Efficiency improvement.

β€’ [BGV12]: Improved performance via Modulus Switching.

– Quantitatively better assumption.

– β€œLeveled” homomorphism without bootstrapping.

– Efficiency improvements using ideals (β€œbatching”).

[GHS11,GHS12a, GHS12b]: Efficiency improvements and optimizations using ideals.

Page 6: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

This work:

Modulus switching is a red herring

β€œScale-independent encryption”

β‡’ better performance with less headache

Page 7: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

FHE 101 [BV11b]

Secret key: 𝑠 ∈ β„€π‘žπ‘›

Ciphertext: 𝑐 ∈ β„€π‘žπ‘›

Encryption algorithm: Doesn’t matter.

Decryption algorithm: 𝑐 β‹… 𝑠 π‘šπ‘œπ‘‘ π‘ž (π‘šπ‘œπ‘‘ 2).

Security based on πΏπ‘ŠπΈπ‘›,π‘ž,𝛼 The Scheme:

𝑐 β‹… 𝑠 = π‘š + 2𝑒 + π‘žπΌ

small (initial) noise 𝑒 < 𝐡 = π›Όπ‘ž

dec. if 𝑒 /π‘ž <1

4

Page 8: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

FHE 101 [BV11b]

Secret key: 𝑠 ∈ β„€π‘žπ‘›

Ciphertext: 𝑐 ∈ β„€π‘žπ‘›

The Scheme:

𝑐 β‹… 𝑠 = π‘š + 2𝑒 + π‘žπΌ

small (initial) noise 𝑒 < 𝐡 = π›Όπ‘ž

dec. if 𝑒 /π‘ž <1

4

Additive Homomorphism: That again? Just add’em, dude…

𝑐 1, 𝑐 2 β‡’ 𝑐 1 + 𝑐 2 π‘šπ‘œπ‘‘ π‘ž

Page 9: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

FHE 101 [BV11b]

Multiplicative Homomorphism:

𝑐 1, 𝑐 2 β‡’ 𝑐 1 βŠ— 𝑐 2 π‘šπ‘œπ‘‘ π‘ž ∈ β„€π‘žπ‘›2

vector of all cross terms 𝑐 1 𝑖 β‹… 𝑐 2 𝑗 𝑖,𝑗

𝑐 1 βŠ— 𝑐 2 β‹… 𝑠 βŠ— 𝑠 = 𝑐 1 β‹… 𝑠 β‹… 𝑐 2 β‹… 𝑠 = π‘š1 + 2𝑒1 β‹… π‘š2 + 2𝑒2 (π‘šπ‘œπ‘‘ π‘ž)

= π‘š1π‘š2 + 2 β‹… 𝑂 𝑒1𝑒2 (π‘šπ‘œπ‘‘ π‘ž)

π‘ π‘˜ changed… but we can bring it back

(we have the technology)

~𝐡2

noise blows up!

𝑩 β†’ π‘©πŸ β†’ β‹― β†’ π‘©πŸπ’…

dec. if 𝐡2𝑑/π‘ž <

1

4

Secret key: 𝑠 ∈ β„€π‘žπ‘›

Ciphertext: 𝑐 ∈ β„€π‘žπ‘›

The Scheme:

𝑐 β‹… 𝑠 = π‘š + 2𝑒 + π‘žπΌ

small (initial) noise 𝑒 < 𝐡 = π›Όπ‘ž

dec. if 𝑒 /π‘ž <1

4

Page 10: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Modulus Switching [BGV12]

Idea: Bring noise back down by dividing the entire ciphertext by 𝐡.

𝑐 ∈ β„€π‘žπ‘›

with noise |𝑒| < 𝐡2 /𝐡

𝑐 /𝐡 ∈ β„€π‘ž/𝐡𝑛

with noise |𝑒| < 𝐡

(make sure not to harm the message bit π‘š)

(𝑩, 𝒒) β†’ (𝑩, 𝒒/𝑩) β†’ β‹― β†’ (𝑩, 𝒒/𝑩𝒅)

Noise/modulus evolution:

dec. if 𝐡𝑑+1 < π‘ž/4

Page 11: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

My Problems with Modulus Switching

1. Modulus switching is scale-dependent. - Scaling 𝐡, π‘ž changes performance:

Smaller 𝐡, π‘ž smaller 𝐡𝑑+1/π‘ž better homomorphism.

2. What does modulus switching really do?

- Same as a scaling factor in the tensoring process ( 𝑐 1, 𝑐 2 β‡’ 𝜏 β‹… 𝑐 1 βŠ— 𝑐 2 π‘šπ‘œπ‘‘ π‘ž ).

- In a β€œcorrect” scale, this factor should be 1.

nothing…

Page 12: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Our Solution: Scale-Independent FHE

Compare with previous:

real numbers π‘šπ‘œπ‘‘ 2 ≑ (βˆ’1,1]

Hardness assumption is the same πΏπ‘ŠπΈπ‘›,π‘ž,𝛼.

Secret key: 𝑠 ∈ ℀𝑛

Ciphertext: 𝑐 ∈ ℝ2𝑛

𝑐 β‹… 𝑠 = π‘š + πœ– + 2𝐼

small (initial) noise πœ– < 2𝛼

dec. if πœ– <1

2

Page 13: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Scale-Independent Multiplication

Multiplicative Homomorphism:

𝑐 1, 𝑐 2 β‡’ 𝑐 1 βŠ— 𝑐 2 π‘šπ‘œπ‘‘ 2 ∈ ℝ2𝑛2

𝑐 1 βŠ— 𝑐 2 β‹… 𝑠 βŠ— 𝑠 = 𝑐 1 β‹… 𝑠 β‹… 𝑐 2 β‹… 𝑠

= π‘š1 + πœ–1 + 2𝐼1 β‹… π‘š2 + πœ–2 + 2𝐼2 (π‘šπ‘œπ‘‘ 2)

= π‘š1π‘š2 + πœ–1 β‹… π‘š2 + 2𝐼2 + πœ–2 β‹… π‘š1 + 2𝐼1 + πœ–1πœ–2 (π‘šπ‘œπ‘‘ 2)

Careful!

1/2 π‘šπ‘œπ‘‘ 2 β‹… 2 π‘šπ‘œπ‘‘ 2 β‰  1 (π‘šπ‘œπ‘‘ 2)

~𝛼2= tiny! ~𝛼 β‹… |π‘š + 2𝐼|

π‘š + 2𝐼 β‰ˆ 𝑐 β‹… 𝑠 ≀ 𝑠 1

≲ 𝛼 β‹… 𝑠 1

real numbers π‘šπ‘œπ‘‘ 2 ≑ (βˆ’1,1]

Secret key: 𝑠 ∈ ℀𝑛

Ciphertext: 𝑐 ∈ ℝ2𝑛

𝑐 β‹… 𝑠 = π‘š + πœ– + 2𝐼

small (initial) noise πœ– < 2𝛼

dec. if πœ– <1

2

Noise blowup: 𝜢 β†’ 𝜢 β‹… 𝒔 𝟏

Page 14: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Scale-Independent Multiplication

Multiplicative Homomorphism:

𝑐 1, 𝑐 2 β‡’ 𝑐 1 βŠ— 𝑐 2 π‘šπ‘œπ‘‘ 2 ∈ ℝ2𝑛2

Noise blowup: 𝜢 β†’ 𝜢 β‹… 𝒔 𝟏

Not good enough: 𝑠 1 β‰ˆ π‘›π‘ž

Solution: Decompose the elements of 𝑠 into 𝑛 log π‘ž bits.

real numbers π‘šπ‘œπ‘‘ 2 ≑ (βˆ’1,1]

Secret key: 𝑠 ∈ ℀𝑛

Ciphertext: 𝑐 ∈ ℝ2𝑛

𝑐 β‹… 𝑠 = π‘š + πœ– + 2𝐼

small (initial) noise πœ– < 2𝛼

dec. if πœ– <1

2

Page 15: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

𝑠 = 𝑠 1 , 𝑠 2 , …

𝑐 = 𝑐 1 , 𝑐 2 , …

𝑠 β‹… 𝑐 = 𝑠 1 β‹… 𝑐 1 + 𝑠 2 β‹… 𝑐 2 + β‹―

𝑠 = 𝑠 1 0, … , 𝑠 1 log π‘ž , 𝑠 2 0, … , 𝑠 2 log π‘ž , …

𝑐 = 𝑐 1 , 2𝑐 1 , … , 2log π‘žπ‘ 1 , 𝑐 2 , 2𝑐 2 , … , 2log π‘žπ‘ 2 , …

𝑠 β‹… 𝑐 = 𝑠 1 𝑖 β‹… 2𝑖𝑐 1𝑖 + 𝑠 2 𝑖 β‹… 2𝑖𝑐 2𝑖 + β‹―

= 𝑠 1 β‹… 𝑐 1 + 𝑠 2 β‹… 𝑐 2 + β‹―

Binary Decomposition

Page 16: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Scale-Independent Multiplication

𝑐 1, 𝑐 2 β‡’ 𝑐 1 βŠ— 𝑐 2 π‘šπ‘œπ‘‘ 2 ∈ ℝ2𝑛2

Noise blowup: 𝜢 β†’ 𝜢 β‹… 𝒔 𝟏

𝑠 1 ≀ 𝑛 log π‘ž

Noise blowup: 𝜢 β†’ 𝜢 β‹… 𝒏 log 𝒒 ≀ 𝜢 β‹… π’πŸ

For depth 𝑑 circuit: 𝛼 β†’ 𝛼 β‹… 𝑛𝑂(𝑑) regardless of scale!

real numbers π‘šπ‘œπ‘‘ 2 ≑ (βˆ’1,1]

Secret key: 𝑠 ∈ *0,1+𝑛 log π‘ž

Ciphertext: 𝑐 ∈ ℝ2𝑛 log π‘ž

𝑐 β‹… 𝑠 = π‘š + πœ– + 2𝐼

small (initial) noise πœ– < 2𝛼

dec. if πœ– <1

2

Multiplicative Homomorphism:

Page 17: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Full Homomorphism via Bootstrapping

Evaluating depth 𝑑 circuit: 𝜢 β†’ 𝜢 β‹… 𝒏𝑢(𝒅)

For β€œbootstrapping”: 𝑑 = 𝑂(log 𝑛) β‡’ 𝜢 β†’ 𝜢 β‹… 𝒏𝑢(π₯𝐨𝐠 𝒏)

β‡’ dec. if 𝜢 β‰ˆ π’βˆ’π‘Ά(π₯𝐨𝐠 𝒏) regardless of π‘ž!

(in *BGV12+ only for β€œsmall” odd π‘ž)

Using π‘ž β‰ˆ 2𝑛 β‡’ Hardness based on classical GapSVP.

Page 18: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Conclusion

β€’ Scale-independence FHE without modulus switching.

β€’ Homomorphic properties independent of π‘ž. – But π‘ž still matters for security.

β€’ Properties of [BGV12] extend.

β€’ Bonuses: – Our π‘ž can be even (e.g. power of 2). – Security based on classical GapSVP (as opposed to quantum).

β€’ Simpler!

Page 19: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

tiny.cc/fheblog1 ; tiny.cc/fheblog2

also see blog post with Boaz Barak:

Page 20: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

Farewell CRYPTO ’12…

Page 21: Fully Homomorphic Encryption from LWE · PDF fileFully Homomorphic Encryption ... [G09,G10] – first candidate. •[vDGHV10, BV11a] ... also see blog post with Boaz Barak:

tiny.cc/fheblog1 ; tiny.cc/fheblog2

also see blog post with Boaz Barak:


Recommended