Top Banner
Fully Homomorphic Encryption Zvika Brakerski Weizmann Institute of Science ASCrypto, October 2013
51

Fully Homomorphic Encryption from LWE

Mar 27, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fully Homomorphic Encryption from LWE

Fully Homomorphic Encryption

Zvika Brakerski

Weizmann Institute of Science

ASCrypto, October 2013

Page 2: Fully Homomorphic Encryption from LWE

Outsourcing Computation

Email, web-search, navigation, social networking…

π‘₯ 𝑓

𝑓(π‘₯)

π‘₯

What if π‘₯ is private?

Search query, location, business information, medical information…

Page 3: Fully Homomorphic Encryption from LWE

The Situation Today

We promise we wont look at your data. Honest!

We want real protection.

Page 4: Fully Homomorphic Encryption from LWE

Outsourcing Computation – Privately

WANTED

Homomorphic Evaluation function:

πΈπ‘£π‘Žπ‘™: 𝑓, 𝐸𝑛𝑐 π‘₯ β†’ 𝐸𝑛𝑐(𝑓 π‘₯ )

π‘₯ 𝑓

𝑦

𝐸𝑛𝑐(π‘₯)

𝐷𝑒𝑐 𝑦 = 𝑓(π‘₯)

Learns nothing on π‘₯.

Page 5: Fully Homomorphic Encryption from LWE

Fully Homomorphic Encryption (FHE)

π‘₯ 𝑓

𝑦 = πΈπ‘£π‘Žπ‘™π‘’π‘£π‘˜(𝑓, 𝐸𝑛𝑐 π‘₯ )

𝐸𝑛𝑐(π‘₯)

π·π‘’π‘π‘ π‘˜ 𝑦 = 𝑓(π‘₯)

π‘ π‘˜ , π‘π‘˜ π‘’π‘£π‘˜

Correctness:

𝐸𝑛𝑐(π‘₯) β‰… 𝐸𝑛𝑐(0) Input privacy:

𝑦

𝐷𝑒𝑐 𝑦 = 𝑓(π‘₯)

β€’ NAND. β€’ (+,Γ—) over β„€2 (= binary 𝑋𝑂𝑅, 𝐴𝑁𝐷 )

πΈπ‘›π‘π‘π‘˜(π‘₯)

Fully Homomorphic = Correctness for any efficient 𝑓

= Correctness for universal set

Page 6: Fully Homomorphic Encryption from LWE

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

𝐸𝑛𝑐 (π‘₯)

= 𝑓 π·π‘’π‘π‘ π‘˜ 𝐸𝑛𝑐 π‘₯ = 𝑓(π‘₯)

Page 7: Fully Homomorphic Encryption from LWE

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]

Page 8: Fully Homomorphic Encryption from LWE

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]

Page 9: Fully Homomorphic Encryption from LWE

Verifiable Outsourcing (Delegation)

Can send wrong value of 𝑓(π‘₯) .

π‘₯ 𝑓

𝑓(π‘₯)

π‘₯

What if the server is cheating?

Need proof!

, πœ‹

Page 10: Fully Homomorphic Encryption from LWE

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

Page 11: Fully Homomorphic Encryption from LWE

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 𝑦 = πΈπ‘£π‘Žπ‘™(𝑓, 𝑐)

Page 12: Fully Homomorphic Encryption from LWE

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!

Page 13: Fully Homomorphic Encryption from LWE

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.

Page 14: Fully Homomorphic Encryption from LWE

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.

?

Page 15: Fully Homomorphic Encryption from LWE

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):

Page 16: Fully Homomorphic Encryption from LWE

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.

Page 17: Fully Homomorphic Encryption from LWE

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 …]

Page 18: Fully Homomorphic Encryption from LWE

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.

Page 19: Fully Homomorphic Encryption from LWE

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)

Page 20: Fully Homomorphic Encryption from LWE

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.

Page 21: Fully Homomorphic Encryption from LWE

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

Page 22: Fully Homomorphic Encryption from LWE

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?

Page 23: Fully Homomorphic Encryption from LWE

Hybrid FHE

π‘₯ 𝑓

π·π‘’π‘π‘ π‘˜ 𝑦 = 𝑓(π‘₯)

π‘ π‘˜ , π‘π‘˜ π‘’π‘£π‘˜

π‘ π‘¦π‘š

c=πΈπ‘›π‘π‘ π‘¦π‘š(π‘₯)

πΈπ‘›π‘π‘π‘˜(π‘ π‘¦π‘š)

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

Define: 𝑕 𝑧 = π‘†π‘Œπ‘€_𝐷𝑒𝑐𝑧(𝑐)

Server Computes: 𝑦′ = πΈπ‘£π‘Žπ‘™π‘’π‘£π‘˜(𝑕, πΈπ‘›π‘π‘π‘˜(π‘ π‘¦π‘š))

β‡’ 𝑦′ = 𝐸𝑛𝑐 𝑕 π‘ π‘¦π‘š = 𝐸𝑛𝑐 π‘†π‘Œπ‘€_π·π‘’π‘π‘ π‘¦π‘š 𝑐 = πΈπ‘›π‘π‘π‘˜(π‘₯)

𝑦 = πΈπ‘£π‘Žπ‘™π‘’π‘£π‘˜(𝑓, 𝑦′)

Page 24: Fully Homomorphic Encryption from LWE

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 β„€π‘ž

Page 25: Fully Homomorphic Encryption from LWE

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 .

Page 26: Fully Homomorphic Encryption from LWE

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

Page 27: Fully Homomorphic Encryption from LWE

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

Page 28: Fully Homomorphic Encryption from LWE

Plan for Technical Part

1. Constructing approximate eigenvector scheme.

2. Sequentialization.

3. Bootstrapping.

4. Open problems and limits on FHE.

Page 29: Fully Homomorphic Encryption from LWE

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]

Page 30: Fully Homomorphic Encryption from LWE

Encryption Scheme from LWE [R05,ACPS09]

βˆ’π΄

𝑏

π‘Ÿ

𝑐 𝑔 =

𝐴

𝑠

𝑏

=

πœ‚

+

public key

+ 𝑔

0,1 𝑀 uniform

𝑠 𝑐 𝑔

1

secret key

= π‘Ÿ β‹… πœ‚ + 𝑔 β‹… 𝑠

β€œencryption” of π’ˆ β‹… 𝒔 (without knowing 𝑠 ) [ACPS09]

small β€œnoise”

Looks jointly uniform

Page 31: Fully Homomorphic Encryption from LWE

Encryption Scheme from LWE [R05,ACPS09]

βˆ’π΄

𝑏

𝑅

𝐢𝐺

=

𝐴

𝑠

𝑏

=

πœ‚

+

+

𝐺

0,1 π‘˜Γ—π‘€ uniform

𝑠 1

= π‘…πœ‚ + 𝐺𝑠 𝐢𝐺

= 𝑒 small β€œnoise”

β„€π‘žπ‘˜Γ—(𝑛+1)

Page 32: Fully Homomorphic Encryption from LWE

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 output

small noise

HUGE noise

Need to reduce the norm of 𝐢1

Solution: binary decomposition

Page 33: Fully Homomorphic Encryption from LWE

Binary Decomposition

Break each entry in 𝐢 to its binary representation

𝐢 =3 51 4

(π‘šπ‘œπ‘‘ 8) 𝑏𝑖𝑑𝑠 𝐢 =0 1 1 1 0 10 0 1 1 0 0

(π‘šπ‘œπ‘‘ 8) β‡’ Small entries like we wanted!

But product with 𝑠 now meaningless

Consider the β€œreverse” operation:

𝑏𝑖𝑑𝑠 𝐢 β‹…

4 02 01000

0421

= 𝐢

𝐺

β‡’ 𝐢 β‹… 𝑠 = 𝑏𝑖𝑑𝑠(𝐢) β‹… 𝐺 β‹… 𝑠 = 𝑏𝑖𝑑𝑠(𝐢) β‹… 𝑠 βˆ—

𝑠 βˆ— = 𝐺 β‹… 𝑠

β€œpowers of 2” vector

Contains π‘ž/2 as an element

Page 34: Fully Homomorphic Encryption from LWE

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 +

. =

Page 35: Fully Homomorphic Encryption from LWE

Homomorphic Circuit Evaluation

𝑒 π‘œπ‘’π‘‘π‘π‘’π‘‘ ≀ 𝑁 + 1 𝑑 β‹… π‘€π›Όπ‘ž β‰ˆ π‘π‘‘π›Όπ‘ž

𝑒 𝑖𝑛𝑝𝑒𝑑 ≀ π‘€π›Όπ‘ž 𝑒 𝑖𝑛𝑝𝑒𝑑

𝑒 π‘œπ‘’π‘‘π‘π‘’π‘‘

Noise grows during homomorphic evaluation

Depth 𝑑

𝑒 𝑖+1 ≀ (𝑁 + 1) 𝑒 𝑖

…

β‡’ Decryption succeeds if 𝛼 β‰ͺ 1/𝑁𝑑.

Page 36: Fully Homomorphic Encryption from LWE

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!

Page 37: Fully Homomorphic Encryption from LWE

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.

Page 38: Fully Homomorphic Encryption from LWE

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 𝑏𝑖𝑑𝑠 𝐢𝐡 β‹… 𝐢𝐴 ?

Page 39: Fully Homomorphic Encryption from LWE

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!

Page 40: Fully Homomorphic Encryption from LWE

Bootstrapping

Homomorphic β‡’ fully homomorphic when

𝑑𝑑𝑒𝑐 < π‘‘β„Žπ‘œπ‘š

β€’ 𝑑𝑑𝑒𝑐 = depth of the decryption circuit. β€’ π‘‘β„Žπ‘œπ‘š = maximal homomorphic depth.

Page 41: Fully Homomorphic Encryption from LWE

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

Page 42: Fully Homomorphic Encryption from LWE

How to Switch Keys

We have seen this before!

Hybrid FHE

Page 43: Fully Homomorphic Encryption from LWE

Hybrid FHE

π‘₯ 𝑓

π·π‘’π‘π‘ π‘˜ 𝑦 = 𝑓(π‘₯)

π‘ π‘˜ , π‘π‘˜ π‘’π‘£π‘˜

π‘ π‘¦π‘š

c=πΈπ‘›π‘π‘ π‘¦π‘š(π‘₯)

πΈπ‘›π‘π‘π‘˜(π‘ π‘¦π‘š)

Define: 𝑕 𝑧 = π‘†π‘Œπ‘€_𝐷𝑒𝑐𝑧(𝑐)

Server Computes: 𝑦′ = πΈπ‘£π‘Žπ‘™π‘’π‘£π‘˜(𝑕, πΈπ‘›π‘π‘π‘˜(π‘ π‘¦π‘š))

β‡’ 𝑦′ = 𝐸𝑛𝑐 𝑕 π‘ π‘¦π‘š = 𝐸𝑛𝑐 π‘†π‘Œπ‘€_π·π‘’π‘π‘ π‘¦π‘š 𝑐 = πΈπ‘›π‘π‘π‘˜(π‘₯)

𝑦 = πΈπ‘£π‘Žπ‘™π‘’π‘£π‘˜(𝑓, 𝑦′)

Page 44: Fully Homomorphic Encryption from LWE

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 = 𝑑𝑑𝑒𝑐

Page 45: Fully Homomorphic Encryption from LWE

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…

Page 46: Fully Homomorphic Encryption from LWE

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: π‘Žπ‘’π‘₯ = πΈπ‘›π‘π‘π‘˜ (π‘ π‘˜ )

Page 47: Fully Homomorphic Encryption from LWE

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 ?

Page 48: Fully Homomorphic Encryption from LWE

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.

Page 49: Fully Homomorphic Encryption from LWE

What We Saw Today

β€’ Definition of FHE.

β€’ Applications.

β€’ Historical perspective and background.

β€’ Constructing HE using the approximate eigenvector

method.

β€’ Sequentialization.

β€’ Bootstrapping.

β€’ Limits on HE.

Page 50: Fully Homomorphic Encryption from LWE

Open Problems

β€’ Short keys without circular security.

β€’ FHE from different assumptions.

β€’ CCA1 secure FHE.

β€’ Bounded malleability.

β€’ Improved efficiency.

Page 51: Fully Homomorphic Encryption from LWE

Thank You