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 ASCrypto, October 2013 Outsourcing Computation () Email, web- search, navigation, social networking Search query, location, business


slide-1
SLIDE 1

Fully Homomorphic Encryption

Zvika Brakerski Weizmann Institute of Science

ASCrypto, October 2013

slide-2
SLIDE 2

Outsourcing Computation

Email, web-search, navigation, social networking…

𝑦 𝑔 𝑔(𝑦) 𝑦

What if 𝑦 is private?

Search query, location, business information, medical information…

slide-3
SLIDE 3

The Situation Today

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

slide-4
SLIDE 4

Outsourcing Computation – Privately

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

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

Learns nothing on 𝑦.

slide-5
SLIDE 5

Fully Homomorphic Encryption (FHE)

𝑦 𝑔 𝑧 = πΉπ‘€π‘π‘šπ‘“π‘€π‘™(𝑔, πΉπ‘œπ‘‘ 𝑦 ) πΉπ‘œπ‘‘(𝑦) 𝐸𝑓𝑑𝑑𝑙 𝑧 = 𝑔(𝑦) 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙

Correctness:

πΉπ‘œπ‘‘(𝑦) β‰… πΉπ‘œπ‘‘(0)

Input privacy:

𝑧 𝐸𝑓𝑑 𝑧 = 𝑔(𝑦)

  • NAND.
  • (+,Γ—) over β„€2 (= binary π‘Œπ‘ƒπ‘†, 𝐡𝑂𝐸 )

πΉπ‘œπ‘‘π‘žπ‘™(𝑦)

Fully Homomorphic = Correctness for any efficient 𝑔 = Correctness for universal set

slide-6
SLIDE 6

Trivial FHE?

PKE β‡’ β€œFHE”:

  • πΏπ‘“π‘§π‘•π‘“π‘œ and πΉπ‘œπ‘‘: Same as PKE.
  • πΉπ‘€π‘π‘šπΊπΌπΉ 𝑔, 𝑑 β‰œ (𝑔, 𝑑)
  • 𝐸𝑓𝑑𝑑𝑙

𝐺𝐼𝐹 (𝑔, 𝑑) β‰œ 𝑔(𝐸𝑓𝑑𝑑𝑙(𝑑))

NOT what we were looking for…

All work is relayed to receiver.

Compact FHE: 𝐸𝑓𝑑 time does not depend on ciphertext. β‡’ ciphertext length is globally bounded.

In this talk (and in literature) FHE β‰œ Compact-FHE

πΉπ‘œπ‘‘ (𝑦)

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

slide-7
SLIDE 7

Trivial FHE?

PKE β‡’ β€œFHE”:

  • πΏπ‘“π‘§π‘•π‘“π‘œ and πΉπ‘œπ‘‘: Same as PKE.
  • πΉπ‘€π‘π‘šπΊπΌπΉ 𝑔, 𝑑 β‰œ (𝑔, 𝑑)
  • 𝐸𝑓𝑑𝑑𝑙

𝐺𝐼𝐹 (𝑔, 𝑑) β‰œ 𝑔(𝐸𝑓𝑑𝑑𝑙(𝑑))

This β€œscheme” also completely reveals 𝑔 to the receiver. Can be a problem. Circuit Privacy: Receiver learns nothing about 𝑔 (except output). In this talk: Only care about compactness, no more circuit privacy. Circuit private FHE is not trivial to achieve – even non-compact. Compactness β‡’ Circuit Privacy (by complicated reduction) [GHV10]

slide-8
SLIDE 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]
slide-9
SLIDE 9

Verifiable Outsourcing (Delegation)

Can send wrong value of 𝑔(𝑦) .

𝑦 𝑔 𝑔(𝑦) 𝑦

What if the server is cheating? Need proof!

, 𝜌

slide-10
SLIDE 10

FHE β‡’ Verifiable Outsourcing

FHE β‡’ Verifiability and Privacy.

Pre-FHE solutions: multiple rounds [K92] or random oracles [M94].

  • 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).

slide-11
SLIDE 11

FHE β‡’ Verifiable Outsourcing [CKV10]

𝑦 𝑔 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 𝑑𝑦 = πΉπ‘œπ‘‘ 𝑦 , 𝑑0 𝑧𝑦, 𝑧0 Check 𝑧0 = 𝑨0?

Yes β‡’ output 𝐸𝑓𝑑(𝑧𝑦) No β‡’ output βŠ₯ Preprocessing: 𝑑0 = πΉπ‘œπ‘‘(0) 𝑨0 = πΉπ‘€π‘π‘š(𝑔, 𝑑0)

Verification:

Idea: β€œCut and choose”

𝑑𝑦, 𝑑0 look the same β‡’ cheating server will be caught w.p. Β½

(easily amplifiable)

But preprocessing is as hard as computation!

Server executes 𝑧 = πΉπ‘€π‘π‘š(𝑔, 𝑑)

slide-12
SLIDE 12

FHE β‡’ Verifiable Outsourcing [CKV10]

𝑦 𝑔 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 (𝑓𝑀𝑙′′, πΉπ‘œπ‘‘β€²β€² 𝑑𝑦 ), (𝑓𝑀𝑙′, πΉπ‘œπ‘‘β€² 𝑑0 ) 𝑧′′𝑦, 𝑧′0 Check 𝐸𝑓𝑑′(𝑧′0) = 𝑨0?

Yes β‡’ output 𝐸𝑓𝑑′′(𝐸𝑓𝑑 𝑧𝑦 ) No β‡’ output βŠ₯ Preprocessing: 𝑑0 = πΉπ‘œπ‘‘(0) 𝑨0 = πΉπ‘€π‘π‘š(𝑔, 𝑑0)

Verification:

Idea: Outer layer keeps server β€œoblivious” of 𝑨0.

β‡’ Can recycle 𝑨0 for future computations.

Server executes 𝑧′ = πΉπ‘€π‘π‘šβ€²(πΉπ‘€π‘π‘š 𝑔,β‹… , 𝑑′) 𝑧′′ = πΉπ‘€π‘π‘šβ€²β€²(πΉπ‘€π‘π‘š 𝑔,β‹… , 𝑑′′) Server is not allowed to know if we accept/reject!

slide-13
SLIDE 13

FHE Timeline

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?

Basic scheme: Ideal cosets in polynomial rings.

β‡’ Bounded-depth homomorphism.

  • Assumption: hardness of (quantum) apx. short

vector in ideal lattice.

Bootstrapping: bounded-depth HE β‡’ full HE.

But bootstrapping doesn’t apply to basic scheme...

  • Need additional assumption: hardness of sparse

subset-sum.

slide-14
SLIDE 14

The FHE Challenge

Make it more secure. Make it simpler. Make it practical.

Optimizations [SV10,SS10,GH10]

Simplified basic scheme [vDGHV10,BV11a]

  • Under similar assumptions.

?

slide-15
SLIDE 15

FHE without Ideals [BV11b]

Linear algebra instead of polynomial rings

Assumption: Apx. short vector in arbitrary lattices (via LWE).

Fundamental algorithmic problem – extensively studied.

[LLL82,K86,A97,M98,AKS03,MR04,MV10]

Shortest-vector Problem (SVP):

slide-16
SLIDE 16

FHE without Ideals [BV11b]

  • Simpler: straightforward presentation.
  • More secure: based on a standard assumption.
  • Efficiency improvements.

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 lattice based scheme without squashing.

slide-17
SLIDE 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 …]

slide-18
SLIDE 18

The β€œApproximate Eigenvector” Method [GSW13]

  • Basic scheme: Approximate eigenvector over β„€π‘Ÿ.

– Ciphertext is a matrix 𝐷 s.t. 𝐷 β‹… 𝑑𝑙 β‰ˆ 𝑛 β‹… 𝑑𝑙 . – Add/multiply matrices for homomorphism*.

  • Bootstrapping: Same as previous schemes.

Ciphertexts = Matrix

Same assumption and keys as before – ciphertexts are different

  • 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.
slide-19
SLIDE 19

Sequentialization [BV13]

What is the best way to evaluate a product of 𝑙 numbers? X X X X

vs.

X X

Parallel Sequential c1 c2 c3 c4 c1 c2 c3 c4

Conventional wisdom Actually better

(if done right)

slide-20
SLIDE 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.
slide-21
SLIDE 21

Efficiency

Standard benchmark: AES128 circuit Implementations of [BGV12] by [GHS12c,CCKLLTY13] β‰ˆ5 min/input

Limiting factors:

  • Circuit representation.
  • Bootstrapping.
  • Key size.

β‡’ To be practical, we need to improve the theory.

2-years ago it was 3 min/gate [GH10]

New works [GSW13,BV13] address some of these issues, but have other drawbacks

See also HElib https://github.com/shaih/HElib

slide-22
SLIDE 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?

slide-23
SLIDE 23

Hybrid FHE

𝑦 𝑔 𝐸𝑓𝑑𝑑𝑙 𝑧 = 𝑔(𝑦) 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 𝑑𝑧𝑛 c=πΉπ‘œπ‘‘π‘‘π‘§π‘›(𝑦) πΉπ‘œπ‘‘π‘žπ‘™(𝑑𝑧𝑛)

Easy to encrypt, ciphertext is short… But how to do Eval?

Define: 𝑖 𝑨 = 𝑇𝑍𝑁_𝐸𝑓𝑑𝑨(𝑑) Server Computes: 𝑧′ = πΉπ‘€π‘π‘šπ‘“π‘€π‘™(𝑖, πΉπ‘œπ‘‘π‘žπ‘™(𝑑𝑧𝑛))

β‡’ 𝑧′ = πΉπ‘œπ‘‘ 𝑖 𝑑𝑧𝑛

= πΉπ‘œπ‘‘ 𝑇𝑍𝑁_𝐸𝑓𝑑𝑑𝑧𝑛 𝑑 = πΉπ‘œπ‘‘π‘žπ‘™(𝑦) 𝑧 = πΉπ‘€π‘π‘šπ‘“π‘€π‘™(𝑔, 𝑧′)

slide-24
SLIDE 24

Approximate Eigenvector Method [GSW13]

Observation: Let 𝐷1, 𝐷2 be matrices with the same eigenvector 𝑑 , and let 𝑛1, 𝑛2 be their respective eigenvalues w.r.t 𝑑 . Then:

  • 1. 𝐷1 + 𝐷2 has eigenvalue (𝑛1+𝑛2) w.r.t 𝑑

.

  • 2. 𝐷1 β‹… 𝐷2 (and also 𝐷2 β‹… 𝐷1) has eigenvalue 𝑛1𝑛2 w.r.t 𝑑

. Idea: 𝑑 = secret key, 𝐷 = ciphertext, and 𝑛 = message.

Insecure! Eigenvectors are easy to find. What about approximate eigenvectors?

β‡’ Homomorphism for addition and multiplication. β‡’ Full homomorphism!

Say over β„€π‘Ÿ

slide-25
SLIDE 25

Approximate Eigenvector Method [GSW13]

𝐷 β‹… 𝑑 = 𝑛𝑑 + 𝑓 β‰ˆ 𝑛𝑑

How to decrypt? Must have restriction on 𝑓 Suppose 𝑑 [1] = π‘Ÿ/2 , and 𝑛 ∈ *0,1+

β‡’ (𝐷 β‹… 𝑑

)[1] =

π‘Ÿ 2 𝑛 + 𝑓

[1] Find 𝑛 by rounding

Condition for correct decryption: 𝑓 < π‘Ÿ/4 .

slide-26
SLIDE 26

Approximate Eigenvector Method [GSW13]

𝐷1 β‹… 𝑑 = 𝑛1𝑑 + 𝑓 1 𝑓 1 β‰ͺ π‘Ÿ 𝐷2 β‹… 𝑑 = 𝑛2𝑑 + 𝑓 2 𝑓 2 β‰ͺ π‘Ÿ 𝐷𝑏𝑒𝑒 = 𝐷1 + 𝐷2: (𝐷1+𝐷2) β‹… 𝑑 = 𝐷1𝑑 + 𝐷2𝑑 = 𝑛1𝑑 + 𝑓 1 + 𝑛2𝑑 + 𝑓 2 = (𝑛1+𝑛2)𝑑 + (𝑓 1+𝑓 2) 𝑓 𝑏𝑒𝑒 Goal: 𝐷1, 𝐷2 β‡’ 𝐷𝑏𝑒𝑒 = πΉπ‘œπ‘‘(𝑛1 + 𝑛2) , π·π‘›π‘£π‘šπ‘’ = πΉπ‘œπ‘‘(𝑛1𝑛2).

Noise grows a little

slide-27
SLIDE 27

Approximate Eigenvector Method [GSW13]

𝐷1 β‹… 𝑑 = 𝑛1𝑑 + 𝑓 1 𝑓 1 β‰ͺ π‘Ÿ 𝐷2 β‹… 𝑑 = 𝑛2𝑑 + 𝑓 2 𝑓 2 β‰ͺ π‘Ÿ π·π‘›π‘£π‘šπ‘’ = 𝐷1 β‹… 𝐷2: (𝐷1β‹… 𝐷2) β‹… 𝑑 = 𝐷1 𝑛2𝑑 + 𝑓 2 = 𝑛2𝐷1𝑑 + 𝐷1𝑓 2 = 𝑛2 𝑛1𝑑 + 𝑓 1 + 𝐷1𝑓 2 𝑓 π‘›π‘£π‘šπ‘’

Noise grows. But by how much? Can also use 𝐷2 β‹… 𝐷1

= 𝑛2𝑛1𝑑 + 𝑛2𝑓 1 + 𝐷1𝑓 2 Goal: 𝐷1, 𝐷2 β‡’ 𝐷𝑏𝑒𝑒 = πΉπ‘œπ‘‘(𝑛1 + 𝑛2) , π·π‘›π‘£π‘šπ‘’ = πΉπ‘œπ‘‘(𝑛1𝑛2).

slide-28
SLIDE 28

Plan for Technical Part

  • 1. Constructing approximate eigenvector scheme.
  • 2. Sequentialization.
  • 3. Bootstrapping.
  • 4. Open problems and limits on FHE.
slide-29
SLIDE 29

Learning with Errors (LWE) [R05]

Random noisy linear equations β‰ˆ uniform

𝐡

𝑑

𝑐 =

πœƒ

+

uniform matrix ∈ β„€π‘Ÿ

π‘Γ—π‘œ

secret vector ∈ β„€π‘Ÿ

π‘œ

small noise ∈ β„€π‘Ÿ

𝑛

πœƒπ‘— ≀ π›½π‘Ÿ

β„€π‘Ÿ

𝑁

𝐡

𝑐

  • stat. far from uniform!

β‰ˆ 𝑉

LWE assumption

As hard as π‘œ/𝛽 -apx. short vector in worst case π‘œ-dim. lattices

[R05, P09]

slide-30
SLIDE 30

Encryption Scheme from LWE

[R05,ACPS09] βˆ’π΅

𝑐 𝑠 𝑑

𝑕

=

𝐡

𝑑

𝑐 =

πœƒ

+

public key

+

𝑕

0,1 𝑁 uniform

𝑑

𝑑

𝑕

1

secret key

=

𝑠 β‹… πœƒ + 𝑕 β‹… 𝑑

β€œencryption” of 𝒉 β‹… 𝒕 (without knowing 𝑑 ) [ACPS09] small β€œnoise”

Looks jointly uniform

slide-31
SLIDE 31

Encryption Scheme from LWE

[R05,ACPS09] βˆ’π΅

𝑐 𝑆 𝐷𝐻 =

𝐡

𝑑

𝑐 =

πœƒ

+ +

𝐻

0,1 𝑙×𝑁 uniform

𝑑

1

= π‘†πœƒ + 𝐻𝑑 𝐷𝐻

= 𝑓 small β€œnoise” β„€π‘Ÿ

𝑙×(π‘œ+1)

slide-32
SLIDE 32
  • Approx. Eigenvector Encryption

Goal: Encrypt message 𝑛 ∈ *0,1+ Idea: πΉπ‘œπ‘‘ 𝑛 = 𝐷𝑛⋅𝐽 β‡’ 𝐷𝑛⋅𝐽 β‹… 𝑑 = 𝑓 + 𝑛𝐽𝑑 = 𝑛 β‹… 𝑑 + 𝑓 As we saw: 𝐷1 β‹… 𝐷2 β‹… 𝑑 = 𝐷1 β‹… 𝑓 2 + 𝑛2𝑑 = 𝐷1 β‹… 𝑓 2 + 𝑛2 β‹… 𝐷1 β‹… 𝑑 = 𝐷1 β‹… 𝑓 2 + 𝑛2𝑓 1 + 𝑛1𝑛2𝑑

desired

  • utput

small noise HUGE noise

Need to reduce the norm of 𝐷1 Solution: binary decomposition

slide-33
SLIDE 33

Binary Decomposition

Break each entry in 𝐷 to its binary representation

𝐷 = 3 5 1 4 (𝑛𝑝𝑒 8) 𝑐𝑗𝑒𝑑 𝐷 = 0 1 1 1 1 1 1 0 (𝑛𝑝𝑒 8)

β‡’

Small entries like we wanted! But product with 𝑑 now meaningless

Consider the β€œreverse” operation: 𝑐𝑗𝑒𝑑 𝐷 β‹… 4 2 1 4 2 1 = 𝐷

𝐻

β‡’

𝐷 β‹… 𝑑 = 𝑐𝑗𝑒𝑑(𝐷) β‹… 𝐻 β‹… 𝑑 = 𝑐𝑗𝑒𝑑(𝐷) β‹… 𝑑 βˆ— 𝑑 βˆ— = 𝐻 β‹… 𝑑 β€œpowers of 2” vector Contains π‘Ÿ/2 as an element

slide-34
SLIDE 34
  • Approx. Eigenvector Encryption

πΉπ‘œπ‘‘ 𝑛 = 𝐷𝑛⋅𝐻 ∈ β„€π‘Ÿ

( π‘œ+1 log π‘Ÿ)Γ—(π‘œ+1)

β‡’ 𝐷𝑛⋅𝐻 β‹… 𝑑 = 𝑓 + 𝑛 β‹… 𝐻 β‹… 𝑑

𝑐𝑗𝑒𝑑(𝐷1) β‹… 𝐷2 β‹… 𝑑 = 𝑐𝑗𝑒𝑑(𝐷1) β‹… 𝑓 2 + 𝑛2𝐻𝑑 = 𝑐𝑗𝑒𝑑 (𝐷1) β‹… 𝑓 2 + 𝑛2 β‹… 𝑐𝑗𝑒𝑑(𝐷1) β‹… 𝐻 β‹… 𝑑 = 𝑐𝑗𝑒𝑑 (𝐷1) β‹… 𝑓 2 + 𝑛2 β‹… 𝐷1 β‹… 𝑑 = 𝑐𝑗𝑒𝑑 (𝐷1) β‹… 𝑓 2 + 𝑛2 β‹… 𝑓 1 + 𝑛1 β‹… 𝑛2 β‹… 𝐻 β‹… 𝑑

desired output small small-ish

𝑓 π‘›π‘£π‘šπ‘’ ≀ 𝑂 β‹… 𝑓 2 + 𝑛2 β‹… 𝑓 1 ≀ 𝑂 + 1 β‹… max* 𝑓 1 , 𝑓 2 +

𝑂

π·π‘›π‘£π‘šπ‘’ = 𝑐𝑗𝑒𝑑 𝐷1 β‹… 𝐷2

𝑐𝑗𝑒𝑑(𝐷1) β‹… 𝐷2 β‹… 𝑑

π·π‘œπ‘π‘œπ‘’ = 𝐻 βˆ’ 𝑐𝑗𝑒𝑑 𝐷1 β‹… 𝐷2

𝑓 π‘œπ‘π‘œπ‘’ ≀ 𝑂 β‹… 𝑓 2 + 𝑛2 β‹… 𝑓 1 ≀ 𝑂 + 1 β‹… max* 𝑓 1 , 𝑓 2 +

. =

slide-35
SLIDE 35

Homomorphic Circuit Evaluation

𝑓 π‘π‘£π‘’π‘žπ‘£π‘’ ≀ 𝑂 + 1 𝑒 β‹… π‘π›½π‘Ÿ β‰ˆ π‘‚π‘’π›½π‘Ÿ 𝑓 π‘—π‘œπ‘žπ‘£π‘’ ≀ π‘π›½π‘Ÿ

𝑓 π‘—π‘œπ‘žπ‘£π‘’ 𝑓 π‘π‘£π‘’π‘žπ‘£π‘’

Noise grows during homomorphic evaluation

Depth 𝑒

𝑓 𝑗+1 ≀ (𝑂 + 1) 𝑓 𝑗

…

β‡’ Decryption succeeds if 𝛽 β‰ͺ 1/𝑂𝑒.

slide-36
SLIDE 36

Full Homomorphism

𝛽 ≀ π‘‚βˆ’π‘’ π‘’β„Žπ‘π‘› β‰ˆ log 1/𝛽

  • 1. If depth upper-bound is known ahead of time.
  • 2. Single scheme for any poly depth.

Set 𝑂 β‰₯ 𝑒2 ; 𝛽 = 2βˆ’ 𝑂 β‡’ log 1/𝛽 = 𝑒

Undesirable:

  • Huge parameters.
  • Low security.
  • Inflexible.

Leveled FHE: Parameters (𝑓𝑀𝑙) grow with 𝑒.

Bootstrap!

slide-37
SLIDE 37

The Bootstrapping Theorem

Homomorphic β‡’ fully homomorphic when 𝑒𝑒𝑓𝑑 < π‘’β„Žπ‘π‘›

  • 𝑒𝑒𝑓𝑑 = depth of the decryption circuit.
  • π‘’β„Žπ‘π‘› = maximal homomorphic depth.

In our scheme: 𝑒𝑒𝑓𝑑 = log 𝑂 β‡’ FHE if 𝛽 < π‘‚βˆ’ log 𝑂

Quasi-polynomial approximation for short vector problems (same factor as [BGV12,B12]) Non-homomorphic schemes only need 𝑂𝑃 1 approximation (Proof to come)

Additional condition, to be discussed.

slide-38
SLIDE 38

A Taste of Sequentialization [BV13]

𝑓 π‘›π‘£π‘šπ‘’ = 𝑐𝑗𝑒𝑑 (𝐷1) β‹… 𝑓 2 + 𝑛2 β‹… 𝑓 1 Asymmetric! Important observations:

  • 1. 𝑓

1 gets multiplied by 0/1 ; 𝑓 2 can get multiplied by 𝑂.

  • 2. 𝑛2 = 0 β‡’ 𝑓

1 has no effect! Conclusion: The order of multiplication matters. Want to multiply 𝐷

𝐡, 𝐷𝐢 s.t. 𝑓

𝐡 ≫ 𝑓 𝐢 . Which is better: 𝑐𝑗𝑒𝑑 𝐷𝐡 β‹… 𝐷𝐢 or 𝑐𝑗𝑒𝑑 𝐷𝐢 β‹… 𝐷

𝐡 ?

slide-39
SLIDE 39

A Taste of Sequentialization [BV13]

𝑓 π‘›π‘£π‘šπ‘’ = 𝑐𝑗𝑒𝑑 (𝐷1) β‹… 𝑓 2 + 𝑛2 β‹… 𝑓 1 Task: Multiply 4 ciphertexts 𝐷1, … , 𝐷4 Multiplication Tree X X X

c1 c2 c3 c4 𝑓 = 𝐹0 𝑓 = 𝐹0(𝑂 + 1) 𝑓 = 𝐹0 𝑂 + 1 2

X X X

c1 c2 c3 c4 𝑓 = 𝐹0 𝐹0(𝑂 + 1) 𝐹0 𝐹0 𝐹0(2𝑂 + 1) 𝐹0(3𝑂 + 1)

Sequential Multiplier

Winner!

slide-40
SLIDE 40

Bootstrapping

Homomorphic β‡’ fully homomorphic when 𝑒𝑒𝑓𝑑 < π‘’β„Žπ‘π‘›

  • 𝑒𝑒𝑓𝑑 = depth of the decryption circuit.
  • π‘’β„Žπ‘π‘› = maximal homomorphic depth.
slide-41
SLIDE 41

Bootstrapping

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-42
SLIDE 42

How to Switch Keys

We have seen this before! Hybrid FHE

slide-43
SLIDE 43

Hybrid FHE

𝑦 𝑔 𝐸𝑓𝑑𝑑𝑙 𝑧 = 𝑔(𝑦) 𝑑𝑙 , π‘žπ‘™ 𝑓𝑀𝑙 𝑑𝑧𝑛 c=πΉπ‘œπ‘‘π‘‘π‘§π‘›(𝑦) πΉπ‘œπ‘‘π‘žπ‘™(𝑑𝑧𝑛) Define: 𝑖 𝑨 = 𝑇𝑍𝑁_𝐸𝑓𝑑𝑨(𝑑) Server Computes: 𝑧′ = πΉπ‘€π‘π‘šπ‘“π‘€π‘™(𝑖, πΉπ‘œπ‘‘π‘žπ‘™(𝑑𝑧𝑛))

β‡’ 𝑧′ = πΉπ‘œπ‘‘ 𝑖 𝑑𝑧𝑛

= πΉπ‘œπ‘‘ 𝑇𝑍𝑁_𝐸𝑓𝑑𝑑𝑧𝑛 𝑑 = πΉπ‘œπ‘‘π‘žπ‘™(𝑦) 𝑧 = πΉπ‘€π‘π‘šπ‘“π‘€π‘™(𝑔, 𝑧′)

slide-44
SLIDE 44

How to Switch Keys

𝐸𝑓𝑑𝑑𝑙(β‹…) 𝐸𝑓𝑑 β‹… (𝑑) 𝑑 𝑑𝑙 𝑛 𝑛 Decryption circuit: Dual view: ≑ 𝑖𝑑 β‹… 𝑖𝑑 𝑑𝑙 = 𝐸𝑓𝑑𝑑𝑙 𝑑 = 𝑛

Key switching procedure 𝑑𝑙1, π‘žπ‘™1 β†’ 𝑑𝑙2, π‘žπ‘™2 :

Input: 𝑑 = πΉπ‘œπ‘‘π‘žπ‘™1(𝑛) Server aux info: 𝑏𝑣𝑦 = πΉπ‘œπ‘‘π‘žπ‘™2(𝑑𝑙1) (ahead of time) Output: πΉπ‘€π‘π‘šπ‘žπ‘™2(𝑖𝑑, 𝑏𝑣𝑦) πΉπ‘€π‘π‘šπ‘žπ‘™2 𝑖𝑑, 𝑏𝑣𝑦 = πΉπ‘€π‘π‘šπ‘žπ‘™2 𝑖𝑑, πΉπ‘œπ‘‘π‘žπ‘™2 𝑑𝑙1 = πΉπ‘œπ‘‘π‘žπ‘™2 𝑖𝑑 𝑑𝑙1 = πΉπ‘œπ‘‘π‘žπ‘™2 𝐸𝑓𝑑𝑑𝑙1 𝑑 = πΉπ‘œπ‘‘π‘žπ‘™2(𝑛) Eval depth = 𝑒𝑒𝑓𝑑

slide-45
SLIDE 45

Bootstrapping

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

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

Need to generate many keys…

slide-46
SLIDE 46

Bootstrapping

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

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

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

Switch from the key to itself! Key switching works Server aux info: 𝑏𝑣𝑦 = πΉπ‘œπ‘‘π‘žπ‘™ (𝑑𝑙 )

slide-47
SLIDE 47

Circular Security

Intuitively: Yes, encryption hides the message. Formally: Security does not extend.

What can we do about it?

Option 1: Assume it’s secure – no attack is known. Option 2: Use a sequence of keys. β‡’ No. of keys proportional to computation depth (leveled FHE).

Is it secure to publish 𝑏𝑣𝑦 = πΉπ‘œπ‘‘π‘žπ‘™(𝑑𝑙)

[BV11a]: Circular secure β€œsomewhat” homomorphic scheme.

Short keys without circular assumption ?

slide-48
SLIDE 48

Diversity

  • Other (older) schemes with similar properties

[AD97, GGH97, R03, R05, …] β‡’ homomorphism

But all are lattice based

  • [BL11] FHE from a noisy decoding problem.

[B13]: Homomorphicly β€œclean up” the noise β‡’ break security. β‡’ β€œToo much” homomorphism is a bad sign.

slide-49
SLIDE 49

What We Saw Today

  • Definition of FHE.
  • Applications.
  • Historical perspective and background.
  • Constructing HE using the approximate eigenvector

method.

  • Sequentialization.
  • Bootstrapping.
  • Limits on HE.
slide-50
SLIDE 50

Open Problems

  • Short keys without circular security.
  • FHE from different assumptions.
  • CCA1 secure FHE.
  • Bounded malleability.
  • Improved efficiency.
slide-51
SLIDE 51

Thank You