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

Recommend


More recommend