fully homomorphic encryption without modulus switching
play

Fully Homomorphic Encryption without Modulus Switching from - PowerPoint PPT Presentation

Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP Zvika Brakerski Stanford University CRYPTO 2012 Outsourcing Computation () Email, web- search, navigation, social networking Search query,


  1. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP Zvika Brakerski Stanford University CRYPTO 2012

  2. Outsourcing Computation 𝑦 𝑦 𝑔 𝑔(𝑦) Email, web- search, navigation, social networking… Search query, location, business information, medical information… What if 𝑦 is private?

  3. Outsourcing Computation – Privately Learns nothing on 𝑦 . πΉπ‘œπ‘‘(𝑦) 𝑦 𝑔 𝑧 𝐸𝑓𝑑 𝑧 = 𝑔(𝑦) Homomorphic Encryption 𝑔, πΉπ‘œπ‘‘ 𝑦 1 , … , πΉπ‘œπ‘‘ 𝑦 π‘œ β†’ πΉπ‘œπ‘‘(𝑔 𝑦 1 , … , 𝑦 π‘œ ) We assume w.l.o.g 𝑔 ∈ *+,Γ—+ (over β„€ 2 ).

  4. The Old Days of FHE 2009-2011 β€’ Gentry’s breakthrough [G09,G10] – first candidate. β€’ [vDGHV10, BV11a] : Similar outline, different assumptions. β€’ [GH11] : Chimeric-FHE. β€’ Efficiency attempts [SV10,SS10,GH10,LNV11] .

  5. 2 nd 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.

  6. This work: Modulus switching is a red herring β€œScale - independent encryption” β‡’ better performance with less headache

  7. FHE 101 [BV11b] Security based on 𝑀𝑋𝐹 π‘œ,π‘Ÿ,𝛽 The Scheme: 𝑑 β‹… 𝑑 = 𝑛 + 2𝑓 + π‘Ÿπ½ π‘œ Secret key: 𝑑 ∈ β„€ π‘Ÿ π‘œ small (initial) noise 𝑓 < 𝐢 = π›½π‘Ÿ Ciphertext: 𝑑 ∈ β„€ π‘Ÿ 1 dec. if 𝑓 /π‘Ÿ < 4 Encryption algorithm: Doesn’t matter. Decryption algorithm: 𝑑 β‹… 𝑑 𝑛𝑝𝑒 π‘Ÿ (𝑛𝑝𝑒 2) .

  8. FHE 101 [BV11b] The Scheme: 𝑑 β‹… 𝑑 = 𝑛 + 2𝑓 + π‘Ÿπ½ π‘œ Secret key: 𝑑 ∈ β„€ π‘Ÿ π‘œ small (initial) noise 𝑓 < 𝐢 = π›½π‘Ÿ Ciphertext: 𝑑 ∈ β„€ π‘Ÿ 1 dec. if 𝑓 /π‘Ÿ < 4 That again? Just add’em, dude… Additive Homomorphism: 𝑑 1 , 𝑑 2 β‡’ 𝑑 1 + 𝑑 2 𝑛𝑝𝑒 π‘Ÿ

  9. FHE 101 [BV11b] The Scheme: 𝑑 β‹… 𝑑 = 𝑛 + 2𝑓 + π‘Ÿπ½ π‘œ Secret key: 𝑑 ∈ β„€ π‘Ÿ π‘œ small (initial) noise 𝑓 < 𝐢 = π›½π‘Ÿ Ciphertext: 𝑑 ∈ β„€ π‘Ÿ 1 dec. if 𝑓 /π‘Ÿ < 4 Multiplicative Homomorphism: π‘œ 2 𝑑𝑙 changed… 𝑑 1 , 𝑑 2 β‡’ 𝑑 1 βŠ— 𝑑 2 𝑛𝑝𝑒 π‘Ÿ ∈ β„€ π‘Ÿ noise blows up! π‘ͺ β†’ π‘ͺ πŸ‘ β†’ β‹― β†’ π‘ͺ πŸ‘ 𝒆 but we can bring it back vector of all cross terms 𝑑 1 𝑗 β‹… 𝑑 2 π‘˜ 𝑗,π‘˜ (we have the technology) 1 dec. if 𝐢 2 𝑒 /π‘Ÿ < 4 𝑑 1 βŠ— 𝑑 2 β‹… 𝑑 βŠ— 𝑑 = 𝑑 1 β‹… 𝑑 β‹… 𝑑 2 β‹… 𝑑 = 𝑛 1 + 2𝑓 1 β‹… 𝑛 2 + 2𝑓 2 (𝑛𝑝𝑒 π‘Ÿ) = 𝑛 1 𝑛 2 + 2 β‹… 𝑃 𝑓 1 𝑓 2 (𝑛𝑝𝑒 π‘Ÿ) ~𝐢 2

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

  11. 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? n othing… - Same as a scaling factor in the tensoring process ( 𝑑 1 , 𝑑 2 β‡’ 𝜐 β‹… 𝑑 1 βŠ— 𝑑 2 𝑛𝑝𝑒 π‘Ÿ ). - In a β€œcorrect” scale, this factor should be 1.

  12. Our Solution: Scale-Independent FHE 𝑑 β‹… 𝑑 = 𝑛 + πœ— + 2𝐽 ∈ β„€ π‘œ Secret key: 𝑑 π‘œ small (initial) noise πœ— < 2𝛽 Ciphertext: 𝑑 ∈ ℝ 2 1 dec. if πœ— < 2 real numbers 𝑛𝑝𝑒 2 ≑ (βˆ’1,1] Compare with previous: Hardness assumption is the same 𝑀𝑋𝐹 π‘œ,π‘Ÿ,𝛽 .

  13. Scale-Independent Multiplication 𝑛 + 2𝐽 β‰ˆ 𝑑 β‹… 𝑑 ≀ 𝑑 1 𝑑 β‹… 𝑑 = 𝑛 + πœ— + 2𝐽 ∈ β„€ π‘œ Secret key: 𝑑 π‘œ small (initial) noise πœ— < 2𝛽 Ciphertext: 𝑑 ∈ ℝ 2 1 dec. if πœ— < 2 real numbers 𝑛𝑝𝑒 2 ≑ (βˆ’1,1] Multiplicative Homomorphism: π‘œ 2 𝑑 1 , 𝑑 2 β‡’ 𝑑 1 βŠ— 𝑑 2 𝑛𝑝𝑒 2 ∈ ℝ 2 Careful! 1/2 𝑛𝑝𝑒 2 β‹… 2 𝑛𝑝𝑒 2 β‰  1 (𝑛𝑝𝑒 2) 𝑑 1 βŠ— 𝑑 2 β‹… 𝑑 βŠ— 𝑑 = 𝑑 Noise blowup: 𝜷 β†’ 𝜷 β‹… 𝒕 𝟐 1 β‹… 𝑑 β‹… 𝑑 2 β‹… 𝑑 = 𝑛 1 + πœ— 1 + 2𝐽 1 β‹… 𝑛 2 + πœ— 2 + 2𝐽 2 (𝑛𝑝𝑒 2) = 𝑛 1 𝑛 2 + πœ— 1 β‹… 𝑛 2 + 2𝐽 2 + πœ— 2 β‹… 𝑛 1 + 2𝐽 1 + πœ— 1 πœ— 2 (𝑛𝑝𝑒 2) ~𝛽 2 = tiny! ~𝛽 β‹… |𝑛 + 2𝐽| ≲ 𝛽 β‹… 𝑑 1

  14. Scale-Independent Multiplication 𝑑 β‹… 𝑑 = 𝑛 + πœ— + 2𝐽 ∈ β„€ π‘œ Secret key: 𝑑 π‘œ small (initial) noise πœ— < 2𝛽 Ciphertext: 𝑑 ∈ ℝ 2 1 dec. if πœ— < 2 real numbers 𝑛𝑝𝑒 2 ≑ (βˆ’1,1] Multiplicative Homomorphism: π‘œ 2 𝑑 1 , 𝑑 2 β‡’ 𝑑 1 βŠ— 𝑑 2 𝑛𝑝𝑒 2 ∈ ℝ 2 Noise blowup: 𝜷 β†’ 𝜷 β‹… 𝒕 𝟐 Not good enough: 𝑑 1 β‰ˆ π‘œπ‘Ÿ Solution: Decompose the elements of 𝑑 into π‘œ log π‘Ÿ bits.

  15. Binary Decomposition 𝑑 = 𝑑 1 , 𝑑 2 , … 𝑑 = 𝑑 1 , 𝑑 2 , … 𝑑 β‹… 𝑑 = 𝑑 1 β‹… 𝑑 1 + 𝑑 2 β‹… 𝑑 2 + β‹― 𝑑 = 𝑑 1 0 , … , 𝑑 1 log π‘Ÿ , 𝑑 2 0 , … , 𝑑 2 log π‘Ÿ , … = 𝑑 1 , 2𝑑 1 , … , 2 log π‘Ÿ 𝑑 1 , 𝑑 2 , 2𝑑 2 , … , 2 log π‘Ÿ 𝑑 2 , … 𝑑 = 𝑑 1 𝑗 β‹… 2 𝑗 𝑑 1 + 𝑑 2 𝑗 β‹… 2 𝑗 𝑑 2 𝑑 β‹… 𝑑 + β‹― 𝑗 𝑗 = 𝑑 1 β‹… 𝑑 1 + 𝑑 2 β‹… 𝑑 2 + β‹―

  16. Scale-Independent Multiplication 𝑑 1 ≀ π‘œ log π‘Ÿ 𝑑 β‹… 𝑑 = 𝑛 + πœ— + 2𝐽 ∈ *0,1+ π‘œ log π‘Ÿ Secret key: 𝑑 small (initial) noise πœ— < 2𝛽 π‘œ log π‘Ÿ Ciphertext: 𝑑 ∈ ℝ 2 1 dec. if πœ— < 2 real numbers 𝑛𝑝𝑒 2 ≑ (βˆ’1,1] Multiplicative Homomorphism: π‘œ 2 𝑑 1 , 𝑑 2 β‡’ 𝑑 1 βŠ— 𝑑 2 𝑛𝑝𝑒 2 ∈ ℝ 2 Noise blowup: 𝜷 β†’ 𝜷 β‹… 𝒐 log 𝒓 ≀ 𝜷 β‹… 𝒐 πŸ‘ Noise blowup: 𝜷 β†’ 𝜷 β‹… 𝒕 𝟐 For depth 𝑒 circuit: 𝛽 β†’ 𝛽 β‹… π‘œ 𝑃(𝑒) regardless of scale!

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

  18. 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!

  19. also see blog post with Boaz Barak: tiny.cc/fheblog1 ; tiny.cc/fheblog2

  20. Farewell CRYPTO ’12…

  21. also see blog post with Boaz Barak: tiny.cc/fheblog1 ; tiny.cc/fheblog2

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend