fully homomorphic encryption
play

Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of - PowerPoint PPT Presentation

Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of Science ASCrypto, October 2013 Outsourcing Computation () Email, web- search, navigation, social networking Search query, location, business


  1. Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of Science ASCrypto, October 2013

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

  3. The Situation Today We promise we wont look at your data. Honest! We want real protection.

  4. Outsourcing Computation – Privately Learns nothing on 𝑦 . πΉπ‘œπ‘‘(𝑦) 𝑦 𝑔 𝑧 𝐸𝑓𝑑 𝑧 = 𝑔(𝑦) WANT NTED ED Homomorphic Evaluation function: πΉπ‘€π‘π‘š: 𝑔, πΉπ‘œπ‘‘ 𝑦 β†’ πΉπ‘œπ‘‘(𝑔 𝑦 )

  5. Fully Homomorphic Encryption (FHE) 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 πΉπ‘œπ‘‘ π‘žπ‘™ (𝑦) πΉπ‘œπ‘‘(𝑦) 𝑦 𝑔 𝑧 = πΉπ‘€π‘π‘š 𝑓𝑀𝑙 (𝑔, πΉπ‘œπ‘‘ 𝑦 ) 𝑧 Correctness: 𝐸𝑓𝑑 𝑧 = 𝑔(𝑦) 𝐸𝑓𝑑 𝑑𝑙 𝑧 = 𝑔(𝑦) Input privacy: πΉπ‘œπ‘‘(𝑦) β‰… πΉπ‘œπ‘‘(0) Fully Homomorphic = Correctness for any efficient 𝑔 = Correctness for universal set β€’ NAND. (+,Γ—) over β„€ 2 (= binary π‘Œπ‘ƒπ‘†, 𝐡𝑂𝐸 ) β€’

  6. Trivial FHE? NOT what we were looking for… PKE β‡’ β€œFHE”: All work is relayed to receiver. - πΏπ‘“π‘§π‘•π‘“π‘œ and πΉπ‘œπ‘‘ : Same as PKE. - πΉπ‘€π‘π‘š 𝐺𝐼𝐹 𝑔, 𝑑 β‰œ (𝑔, 𝑑) 𝐺𝐼𝐹 (𝑔, 𝑑) β‰œ 𝑔(𝐸𝑓𝑑 𝑑𝑙 (𝑑)) - 𝐸𝑓𝑑 𝑑𝑙 = 𝑔 𝐸𝑓𝑑 𝑑𝑙 πΉπ‘œπ‘‘ 𝑦 = 𝑔(𝑦) πΉπ‘œπ‘‘ (𝑦) Compact FHE: 𝐸𝑓𝑑 time does not depend on ciphertext. β‡’ ciphertext length is globally bounded. In this talk (and in literature) FHE β‰œ Compact-FHE

  7. Trivial FHE? PKE β‡’ β€œFHE”: This β€œscheme” also completely reveals 𝑔 to the receiver. - πΏπ‘“π‘§π‘•π‘“π‘œ and πΉπ‘œπ‘‘ : Same as PKE. Can be a problem. - πΉπ‘€π‘π‘š 𝐺𝐼𝐹 𝑔, 𝑑 β‰œ (𝑔, 𝑑) 𝐺𝐼𝐹 (𝑔, 𝑑) β‰œ 𝑔(𝐸𝑓𝑑 𝑑𝑙 (𝑑)) - 𝐸𝑓𝑑 𝑑𝑙 Circuit Privacy: Receiver learns nothing about 𝑔 (except output). Compactness β‡’ Circuit Privacy (by complicated reduction) [GHV10] Circuit private FHE is not trivial to achieve – even non-compact. In this talk: Only care about compactness, no more circuit privacy.

  8. Applications In the cloud: β€’ Private outsourcing of computation. β€’ Near-optimal private outsourcing of storage (single-server PIR). [G09,BV11b] β€’ Verifiable outsourcing (delegation). [GGP11,CKV11] β€’ Private machine learning in the cloud. [GLN12,HW13] Secure multiparty computation: β€’ Low-communication multiparty computation. [AJLTVW12,LTV12] β€’ More efficient MPC. [BDOZ11,DPSZ12,DKLPSS12] Primitives: β€’ Succinct argument systems . [GLR11,DFH11,BCCT11,BC12,BCCT12,BCGT13,…] β€’ General functional encryption. [GKPVZ12] β€’ Indistinguishability obfuscation for all circuits. [GGHRSW13]

  9. Verifiable Outsourcing (Delegation) 𝑦 𝑦 𝑔 𝑔(𝑦) , 𝜌 What if the server is cheating? Can send wrong value of 𝑔(𝑦) . Need proof!

  10. FHE β‡’ Verifiable Outsourcing FHE β‡’ Verifiability and Privacy. 1. Verifiability with preprocessing under β€œstandard” assumptions: [GGP10, CKV10] . 2. Less standard assumptions but without preprocessing via SNARGs/SNARKs [DCL08,BCCT11,…] (uses FHE or PIR). Pre-FHE solutions: multiple rounds [K92] or random oracles [M94].

  11. FHE β‡’ Verifiable Outsourcing [CKV10] But preprocessing is as hard as computation! Preprocessing: 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 𝑑 0 = πΉπ‘œπ‘‘(0) 𝑨 0 = πΉπ‘€π‘π‘š(𝑔, 𝑑 0 ) 𝑑 𝑦 = πΉπ‘œπ‘‘ 𝑦 , 𝑑 0 𝑦 𝑔 𝑧 𝑦 , 𝑧 0 Verification: Check 𝑧 0 = 𝑨 0 ? Server executes Yes β‡’ output 𝐸𝑓𝑑(𝑧 𝑦 ) 𝑧 = πΉπ‘€π‘π‘š(𝑔, 𝑑) No β‡’ output βŠ₯ Idea: β€œCut and choose” 𝑑 𝑦 , 𝑑 0 look the same β‡’ cheating server will be caught w.p. Β½ (easily amplifiable)

  12. FHE β‡’ Verifiable Outsourcing [CKV10] Preprocessing: 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 𝑑 0 = πΉπ‘œπ‘‘(0) 𝑨 0 = πΉπ‘€π‘π‘š(𝑔, 𝑑 0 ) (𝑓𝑀𝑙 β€²β€² , πΉπ‘œπ‘‘ β€²β€² 𝑑 𝑦 ), (𝑓𝑀𝑙 β€² , πΉπ‘œπ‘‘ β€² 𝑑 0 ) 𝑦 𝑔 𝑧′′ 𝑦 , 𝑧′ 0 Verification: Check 𝐸𝑓𝑑′(𝑧′ 0 ) = 𝑨 0 ? Server executes 𝑧′ = πΉπ‘€π‘π‘šβ€²(πΉπ‘€π‘π‘š 𝑔,β‹… , 𝑑 β€² ) Yes β‡’ output 𝐸𝑓𝑑′′(𝐸𝑓𝑑 𝑧 𝑦 ) 𝑧′′ = πΉπ‘€π‘π‘šβ€²β€²(πΉπ‘€π‘π‘š 𝑔,β‹… , 𝑑 β€²β€² ) No β‡’ output βŠ₯ Server is not allowed to Idea: Outer layer keeps server β€œoblivious” of 𝑨 0 . know if we accept/reject! β‡’ Can recycle 𝑨 0 for future computations.

  13. FHE Timeline Basic scheme: Ideal cosets in polynomial rings. β‡’ Bounded-depth homomorphism. - Assumption: hardness of (quantum) apx. short 30 years of hardly scratching vector in ideal lattice. the surface: Bootstrapping: bounded-depth HE β‡’ full HE. β€’ Only-addition [RSA78, R79, GM82, But bootstrapping doesn’t apply to basic scheme... G84, P99, R05] . β€’ Addition + 1 multiplication - Need additional assumption: hardness of sparse [BGN05, GHV10] . subset-sum. β€’ Other variants [SYY99, IP07, MGH10] . … is it even possible?

  14. The FHE Challenge Make it simpler. Simplified basic scheme [vDGHV10,BV11a] - Under similar assumptions. Make it more secure. ? Make it practical. Optimizations [SV10,SS10,GH10]

  15. FHE without Ideals [BV11b] Linear algebra instead of polynomial rings Assumption: Apx. short vector in arbitrary lattices (via LWE). Shortest-vector Problem (SVP): Fundamental algorithmic problem – extensively studied. [LLL82,K86,A97,M98,AKS03,MR04,MV10]

  16. FHE without Ideals [BV11b] Linear algebra instead of polynomial rings Assumption: Apx. short vector in arbitrary lattices (via LWE). β€’ Basic scheme: noisy linear equations over β„€ π‘Ÿ . – Ciphertext is a linear function 𝑑(𝑦) s.t. 𝑑 𝑑𝑙 β‰ˆ 𝑛 . – Add/multiply functions for homomorphism. – Multiplication raises degree β‡’ use relinearization . β€’ Bootstrapping: Use dimension-modulus reduction to shrink ciphertexts. β€’ Concurrently [GH11]: Ideal Simpler: straightforward presentation. lattice based scheme without β€’ More secure: based on a standard assumption. squashing. β€’ Efficiency improvements.

  17. FHE without Ideals Follow-ups: β€’ [BGV12] : Improved parameters. – Even better security. – Improved efficiency in ring setting using β€œbatching”. – Batching without ideals in [BGH13]. β€’ [B12] : Improved security. – Security based on classical lattice assumptions. – Explained in blog post [BB12]. Various optimizations, applications and implementations: [LNV11, GHS12a, GHS12b, GHS12c, GHPS12, AJLTVW12, LTV12, DSPZ12, FV12, GLN12, BGHWW12,HW13 …]

  18. The β€œApproximate Eigenvector” Method [GSW13] Ciphertexts = Matrix Same assumption and keys as before – ciphertexts are different β€’ Basic scheme: Approximate eigenvector over β„€ π‘Ÿ . – Ciphertext is a matrix 𝐷 s.t. 𝐷 β‹… 𝑑𝑙 β‰ˆ 𝑛 β‹… 𝑑𝑙 . – Add/multiply matrices for homomorphism*. β€’ Bootstrapping: Same as previous schemes. β€’ Simpler: straightforward presentation. β€’ New and exciting applications β€œfor free”! IB -FHE, AB-FHE. β€’ Same security as [BGV12, B12]. β€’ Unclear about efficiency: some advantages, some drawbacks.

  19. Sequentialization [BV13] What is the best way to evaluate a product of 𝑙 numbers? Sequential Parallel X X c 1 X vs. X X c 2 X c 1 c 2 c 3 c 4 c 3 c 4 Conventional wisdom Actually better (if done right)

  20. Sequentialization [BV13] Barrington’s Theorem [B86]: Every depth 𝑒 computation can be transformed into a width-5 depth 4 𝑒 branching program . A sequential model of computation β€’ Better security – breaks barrier of [BGV12, B12,GSW13]. β€’ Using dimension-modulus reduction (from [BV11b]) β‡’ same hardness assumption as non homomorphic encryption. β€’ Short ciphertexts.

  21. Efficiency See also HElib Standard benchmark: AES128 circuit https://github.com/shaih/HElib β‰ˆ 5 min/input Implementations of [BGV12] by [GHS12c,CCKLLTY13] 2-years ago it was Limiting factors: 3 min/ gate [GH10] β€’ Circuit representation. β€’ Bootstrapping. β€’ Key size. New works [GSW13,BV13] address some of these issues, but have other drawbacks β‡’ To be practical, we need to improve the theory.

  22. Hybrid FHE 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 πΉπ‘œπ‘‘ π‘žπ‘™ (𝑦) 𝑦 𝑔 𝑧 = πΉπ‘€π‘π‘š 𝑓𝑀𝑙 (𝑔, πΉπ‘œπ‘‘ 𝑦 ) 𝐸𝑓𝑑 𝑑𝑙 𝑧 = 𝑔(𝑦) β€’ In known FHE encryption is slow and ciphertexts are long. β€’ In symmetric encryption (e.g. AES) these are better. Best of both worlds?

  23. Hybrid FHE πΉπ‘œπ‘‘ π‘žπ‘™ (𝑑𝑧𝑛) 𝑑𝑧𝑛 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 c= πΉπ‘œπ‘‘ 𝑑𝑧𝑛 (𝑦) 𝑦 𝑔 𝑧 = πΉπ‘€π‘π‘š 𝑓𝑀𝑙 (𝑔, 𝑧′) 𝐸𝑓𝑑 𝑑𝑙 𝑧 = 𝑔(𝑦) Easy to encrypt, ciphertext is short… But how to do Eval? Define: 𝑖 𝑨 = 𝑇𝑍𝑁_𝐸𝑓𝑑 𝑨 (𝑑 ) Server Computes: 𝑧 β€² = πΉπ‘€π‘π‘š 𝑓𝑀𝑙 (𝑖, πΉπ‘œπ‘‘ π‘žπ‘™ (𝑑𝑧𝑛)) β‡’ 𝑧 β€² = πΉπ‘œπ‘‘ 𝑖 𝑑𝑧𝑛 = πΉπ‘œπ‘‘ 𝑇𝑍𝑁_𝐸𝑓𝑑 𝑑𝑧𝑛 𝑑 = πΉπ‘œπ‘‘ π‘žπ‘™ (𝑦)

Recommend


More recommend