Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of Science ASCrypto, October 2013
Outsourcing Computation π¦ π¦ π π(π¦) Email, web- search, navigation, social networkingβ¦ Search query, location, business information, medical informationβ¦ What if π¦ is private?
The Situation Today We promise we wont look at your data. Honest! We want real protection.
Outsourcing Computation β Privately Learns nothing on π¦ . πΉππ(π¦) π¦ π π§ πΈππ π§ = π(π¦) WANT NTED ED Homomorphic Evaluation function: πΉπ€ππ: π, πΉππ π¦ β πΉππ(π π¦ )
Fully Homomorphic Encryption (FHE) π‘π , ππ ππ€π πΉππ ππ (π¦) πΉππ(π¦) π¦ π π§ = πΉπ€ππ ππ€π (π, πΉππ π¦ ) π§ Correctness: πΈππ π§ = π(π¦) πΈππ π‘π π§ = π(π¦) Input privacy: πΉππ(π¦) β πΉππ(0) Fully Homomorphic = Correctness for any efficient π = Correctness for universal set β’ NAND. (+,Γ) over β€ 2 (= binary πππ, π΅ππΈ ) β’
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
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.
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]
Verifiable Outsourcing (Delegation) π¦ π¦ π π(π¦) , π What if the server is cheating? Can send wrong value of π(π¦) . Need proof!
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].
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)
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.
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?
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]
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]
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.
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 β¦]
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.
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)
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.
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.
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?
Hybrid FHE πΉππ ππ (π‘π§π) π‘π§π π‘π , ππ ππ€π c= πΉππ π‘π§π (π¦) π¦ π π§ = πΉπ€ππ ππ€π (π, π§β²) πΈππ π‘π π§ = π(π¦) Easy to encrypt, ciphertext is shortβ¦ But how to do Eval? Define: π π¨ = πππ_πΈππ π¨ (π ) Server Computes: π§ β² = πΉπ€ππ ππ€π (π, πΉππ ππ (π‘π§π)) β π§ β² = πΉππ π π‘π§π = πΉππ πππ_πΈππ π‘π§π π = πΉππ ππ (π¦)
Recommend
More recommend