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

β–Ά
fully homomorphic encryption
SMART_READER_LITE
LIVE PREVIEW

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

Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of Science Technion CRYPTODAY, December 2015 What Are You Searching For? We know Medical information, navigation, email, business information, other personal information Want


slide-1
SLIDE 1

Fully Homomorphic Encryption

Zvika Brakerski Weizmann Institute of Science

Technion CRYPTODAY, December 2015

slide-2
SLIDE 2

What Are You Searching For?

We know Medical information, navigation, email, business information, other personal information…

Want privacy!

slide-3
SLIDE 3

Outsourcing Computation

𝑦 𝑔 𝑔(𝑦) 𝑦

What if 𝑦 is private?

search query google web index search results medical records medical analysis diagnosis location, destination routing navigation route

slide-4
SLIDE 4

How to Keep Private From the Cloud

We promise we wont look at your data. Honest! We want real protection.

slide-5
SLIDE 5

Outsourcing Computation – Privately

WANT NTED Homomorphic Evaluation function: 𝑔, πΉπ‘œπ‘‘ 𝑦 β†’ πΉπ‘œπ‘‘(𝑔 𝑦 )

𝑦 𝑔 𝑧 πΉπ‘œπ‘‘(𝑦) 𝐸𝑓𝑑 𝑧 = 𝑔(𝑦)

Learns nothing about 𝑦.

𝑧 = πΉπ‘€π‘π‘š 𝑔, πΉπ‘œπ‘‘ 𝑦

Fully Homomorphic Encryption (FHE)

Fully Homomorphic = Homomorphism for any efficient 𝑔

computational model: 𝑔 given as circuit Goal: πΉπ‘€π‘π‘š for universal set of gates (NAND(x,y)=1-xy)

Bit-by-bit randomized encryption

slide-6
SLIDE 6

Some Applications

In the cloud:

  • Private outsourcing of computation.
  • Near-optimal private outsourcing of storage (single-server PIR). [G09,BV11b]
  • Verifiable outsourcing (delegation). [GGP11,CKV11,KRR13,KRR15]
  • 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]
slide-7
SLIDE 7

Making Crypto History

30 years of hardly scratching the surface:

  • Only-addition [RSA78, R79, GM82,

G84, P99, R05].

  • Addition + 1 multiplication

[BGN05, GHV10].

  • Other variants [SYY99, IP07,

MGH10].

… is it even possible?

slide-8
SLIDE 8

FHE Challenges

Security. Understanding. Efficiency.

  • Size of keys/ciphertexts.
  • Time overhead for Eval.
  • Computational model.
  • Cryptographic assumptions.
  • Security notions.
slide-9
SLIDE 9

Constructing (Somewhat) Homomorphic Encryption

Basic Idea: Find scheme s.t. 𝑑 β‰ˆ 𝑛

ciphertext message secret algebraic equivalence

Add/multiply ciphertexts β‡’ Add/multiply messages

e.g. (mod p) for secret p

+ 2𝑓

small (even) noise

Noise grows with homomorphic evaluation – must not grow β€œtoo much”! In the example above: |π‘“π‘›π‘£π‘šπ‘’| β‰ˆ π‘“π‘—π‘œ 2

Security?

slide-10
SLIDE 10

Noise in Homomorphic Evaluation

|𝑓𝑝𝑣𝑒| ≀ 𝐹2𝑒 |π‘“π‘—π‘œ| ≀ 𝐹

π‘“π‘—π‘œ 𝑓𝑝𝑣𝑒

Noise grows during homomorphic evaluation

Depth 𝑒

𝑓𝑗+1 ≀ 𝑓𝑗 2

…

slide-11
SLIDE 11

Some of the Progress Since 2009

  • From ad-hoc assumption to worst-case lattice assumption

[BV11b,BGV12,BV14]. – As secure as any other encryption scheme.

  • Noise is down to π‘“π‘›π‘£π‘šπ‘’ β‰ˆ 𝑙 β‹… π‘“π‘—π‘œ [BGV12,B12,GSW13,BV14].

– 𝑓𝑝𝑣𝑒 ≀ 𝑙𝑒 β‹… 𝐹 (instead of 𝐹2𝑒).

– β€œLeveled” FHE.

  • Using polynomial rings to improve efficiency

[G09,SV10,BV11a,BGV12,GHS12a,GHS12b,GHS12c,GHPS13,AP13].

  • β€œBatching” many messages in single ciphertext

[SV10,BGV12,GHS12a,GHS12b,GHS12c,HS15].

  • But still need β€œbootstrapping” to get full homomorphism…
slide-12
SLIDE 12

Bootstrapping [G09]

Given scheme with bounded π‘’β„Žπ‘π‘› How to extend its homomorphic capability?

Idea: Do a few operations, then β€œswitch” to a new instance

(π‘žπ‘™2, 𝑑𝑙2) (π‘žπ‘™3, 𝑑𝑙3) (π‘žπ‘™1, 𝑑𝑙1)

Switch keys

β€œcost” in homomorphism

slide-13
SLIDE 13

How to Switch Keys

𝐸𝑓𝑑𝑑𝑙(β‹…) 𝐸𝑓𝑑 β‹… (𝑑) 𝑑 𝑑𝑙 𝑦 𝑦 Decryption circuit: Dual view: ≑ β„Žπ‘‘ β‹… β„Žπ‘‘ 𝑑𝑙 = 𝐸𝑓𝑑𝑑𝑙 𝑑 = 𝑦 given 𝑑, server can compute circuit for β„Žπ‘‘ β‹… Apply β„Žπ‘‘(β‹…) homomorphicly on 𝑑𝑙 ! πΉπ‘€π‘π‘šπ‘žπ‘™β€² β„Žπ‘‘, 𝑏𝑣𝑦 = πΉπ‘€π‘π‘šπ‘žπ‘™β€² β„Žπ‘‘, πΉπ‘œπ‘‘π‘žπ‘™β€² 𝑑𝑙 = πΉπ‘œπ‘‘π‘žπ‘™β€² β„Žπ‘‘ 𝑑𝑙 = πΉπ‘œπ‘‘π‘žπ‘™β€² 𝐸𝑓𝑑𝑑𝑙 𝑑 = πΉπ‘œπ‘‘π‘žπ‘™β€²(𝑦) 𝑏𝑣𝑦 = πΉπ‘œπ‘‘π‘žπ‘™β€²(𝑑𝑙)

  • hom. capacity of output:

π‘’β„Žπ‘π‘› βˆ’ π‘’β„Žπ‘‘ = π‘’β„Žπ‘π‘› βˆ’ 𝑒𝑒𝑓𝑑

slide-14
SLIDE 14

Bootstrapping [G09]

Given scheme with bounded π‘’β„Žπ‘π‘›. How to extend its homomorphic capability?

Idea: Do a few operations, then β€œswitch” to a new instance

(π‘žπ‘™2, 𝑑𝑙2) (π‘žπ‘™3, 𝑑𝑙3) (π‘žπ‘™1, 𝑑𝑙1)

Switch keys

β€œcost” of 𝑒𝑒𝑓𝑑

  • hom. operations

for switch

β‡’ Bootstrapping if π‘’β„Žπ‘π‘› β‰₯ 𝑒𝑒𝑓𝑑 + 1

Downside: Need to generate many keys…

𝑏𝑣𝑦1β†’2 = πΉπ‘œπ‘‘π‘žπ‘™2(𝑑𝑙1) 𝑏𝑣𝑦2β†’3 = πΉπ‘œπ‘‘π‘žπ‘™3(𝑑𝑙2) secure?

slide-15
SLIDE 15

Bootstrapping [G09]

Given scheme with bounded π‘’β„Žπ‘π‘›. How to extend its homomorphic capability?

Idea: Do a few operations, then β€œswitch” to a new instance

(π‘žπ‘™ , 𝑑𝑙 ) (π‘žπ‘™ , 𝑑𝑙 ) (π‘žπ‘™ , 𝑑𝑙 )

𝑏𝑣𝑦 = πΉπ‘œπ‘‘π‘žπ‘™ (𝑑𝑙 )

switch from key to itself! functionality of switching works

circular security required

slide-16
SLIDE 16

(Some) Public Implementations of FHE

  • HElib (IBM/NYU)

– Ring-LWE (ideal-lattice) scheme of [BGV12], optimizations of [GHS12a] – https://github.com/shaih/HElib

  • β€œStanford FHE”

– LWE scheme of [B12] with optimizations – http://cs.stanford.edu/~dwu4/fhe.html

  • FHEW (UCSD)

– Ring-LWE scheme of [DM14], built upon approximate eigenvector approach of [GSW13,BV14,AP14] – No batching but very fast bootstrapping – https://github.com/lducas/FHEW

slide-17
SLIDE 17

So Where is That Homomorphic Google Search?

  • Circuit model = huge overhead.

– Inherent? Need to touch all elements to not leak.

  • Bootstrapping is expensive.

– No known alternative for deep computations.

  • Memory requirements are huge (GBs).

– Large ciphertexts, long keys. – Can β€œbatch” to reduce overhead.

slide-18
SLIDE 18

Thank You!