simons institute for the theory of computing - introduction ......homomorphic encryption allows to...

36

Upload: others

Post on 20-Apr-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Introduction to FHE

and

the TFHE Scheme

Ilaria Chillotti

KU Leuven & Zama

Lattices: From Theory to Practice

Simons Institute

30 April 2020

1 / 36

Page 2: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Table of Contents

1 Introduction to FHE

2 The TFHE scheme

Gate bootstrapping

Vertical packing and LUT evaluation

TFHE implementation

3 Conclusion

2 / 36

Page 3: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Table of Contents

1 Introduction to FHE

2 The TFHE scheme

Gate bootstrapping

Vertical packing and LUT evaluation

TFHE implementation

3 Conclusion

3 / 36

Page 4: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Homomorphic Encryption

Allows to perform computations on encrypted messages, without decrypting.

m1 m1 +hom m2 = m1 + m2

−→

m2 m1 ×hom m2 = m1 × m2

Possibly any function

Di�erent message spaces

Secret and public key solutions

Many applications

Computations over sensitive data (medical, biological, �nancial, etc.)

Outsourced computations

Electronic voting

Multiparty Computations

And more...4 / 36

Page 5: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Once upon a time...

1978 - Rivest, Adleman, Dertouzos: privacy homomorphisms

· · ·

2009 - Gentry: �rst fully homomorphic encryption construction

What happened in the meantime?

Many schemes are homomorphic...

RSA

ElGamal

...

Paillier

Goldwasser-Micali

...but only partially.

Some schemes can support both addition and multiplication, but "with limits":

somewhat: example the scheme by Boneh, Goh and Nissim 2005

leveled.........

5 / 36

Page 6: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

A world full of noise...

Example: [DGHV10]

Scheme based on the Approximate GCD problem [HG01], proposed by Van Dijk, Gentry,

Halevi, Vaikuntanathan in 2010.

c = m+ 2r + pq

m ∈ {0, 1} message

p ∈ Z secret key

q ∈ Z large (p� q)

r ∈ Z small noise (r � p)

To decrypt: ciphertext modulo p and then modulo 2.

6 / 36

Page 7: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

A world full of noise...

c1 = m1 + 2r1 + pq1 c2 = m2 + 2r2 + pq2

Addition (XOR):

c1 + c2 = (m1 +m2) + 2(r1 + r2) + p(q1 + q2)

Noise amount : double...

Multiplication (AND):

c1 · c2 = (m1 ·m2) + 2(2r1 · r2 + . . .) + p(q1 · q2 + . . .)

Noise amount : square...

If noise grows too much, a correct decryption cannot be guaranteed!

7 / 36

Page 8: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Bootstrapping [Gen09]

m

m

= Encpk1

ϕ

ϕ(m)

ϕ(m)

= Encpk2

Decϕ(m)

8 / 36

Page 9: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Bootstrapping

Bootstrapping is very costly!

"To bootstrap, or not to bootstrap, that is the question" (semi cit.)

Leveled homomorphic

Set the function, there exist parameters to homomorphically evaluate it.

4 Fast evaluations

8 The depth has to be known in advance

Fully homomorphic

Set the parameters, it is possible to homomorphically evaluate any function.

8 Slow evaluations (Bootstrapping)

4 No depth limitations

9 / 36

Page 10: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Existing schemes

Lattice problems

Approximate-GCD [HG01], NTRU [HPS98], (Ring-)LWE [Reg05],[SSTX09],[LPR10]

In this workshop we will mainly concentrate on (Ring-)LWE-based solutions

Some (Ring-)LWE-based schemes

"BGV-like"

B(G)V: [BV11], [BGV12]

B/FV: [Bra12], [FV12]

HEAAN: [CKKS17]

"GSW-like"

GSW: [GSW13]

FHEW: [DM15]

TFHE: [CGGI16-17]

In practice, they are less di�erent than

expected: Chimera [BGGJ19]

Some implementations

cuFHE

FHEW

HEAAN

HElib

Lattigo

Microsoft SEAL

NFLlib

nuFHE

Palisade

TFHE

...

10 / 36

Page 11: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Table of Contents

1 Introduction to FHE

2 The TFHE scheme

Gate bootstrapping

Vertical packing and LUT evaluation

TFHE implementation

3 Conclusion

11 / 36

Page 12: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

FHEW

[DM15]

GSW-based construction

They build a FHE brick:

a bootstrapped NAND gate

Slow (but signi�cantly improved):

∼ 0.69 seconds per bootstrapped NAND gate

Large bootstrapping keys:

∼ 1 GByte

[DM15]: L. Ducas, D. Micciancio, FHEW: Bootstrapping Homomorphic Encryption in Less Than a

Second, EUROCRYPT 2015

12 / 36

Page 13: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE

Bootstrapped versions [CGGI16]

Slow (but signi�cantly improved):

∼ 0.69 ∼ 0.05 seconds per bootstrapped NAND gate

Slow (but signi�cantly improved) [CGGI17]:

∼ 0.69 ∼ 0.05 ∼ 0.013 seconds per bootstrapped NAND gate

Large bootstrapping keys: ∼ 1 GByte ∼ 23.4 MBytes

Leveled versions [CGGI17]

Fast(er) for small depth circuits

New techniques to improve leveled evaluations

New Bootstrapping for larger circuits

[CGGI16]: I. Chillotti, N. Gama, M. Georgieva, M. Izabachène, Faster Fully Homomorphic Encryption:

Bootstrapping in Less Than 0.1 Seconds, ASIACRYPT 2016

[CGGI17]: I. Chillotti, N. Gama, M. Georgieva, M. Izabachène, Faster Packed Homomorphic Operations

and E�cient Circuit Bootstrapping for TFHE, ASIACRYPT 2017

13 / 36

Page 14: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

The real torus T = R/Z = R mod 1

Torus

(T,+, ·) is a Z-module(the external product · : Z× T→ T is well de�ned)

4 It is an abelian group: x+ y mod 1, −x mod 1, ...

4 It is a Z-module: 0· 12= 0 is de�ned!

8 It is not a Ring: 0× 12is not de�ned!

Torus polynomials

(TN [X],+, ·) is a R-module

Here, R = Z[X]/(XN + 1)

And TN [X] = T[X] mod (XN + 1)

14 / 36

Page 15: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE ciphertexts

LWE

Message µ ∈ T, secret key s ∈ Bn

c = (a, b) ∈ Tn+1

a random mask, b = s · a+ ϕ

ϕ = e+ µ , e ∈ T Gaussian

T = R mod 1, B = {0, 1}

RLWE

Message µ ∈ TN [X], secret key s ∈ BN [X]

c = (a, b) ∈ TN [X]2

a random mask, b = s · a+ e+ µ, e ∈ TN [X] Gaussian

TN [X] = R[X]/(XN + 1) mod 1, BN [X] = Z[X]/(XN + 1) with binary coefs

15 / 36

Page 16: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE operations

RGSW

Message m ∈ ZN [X], secret key s ∈ BN [X] as in RLWE

C = Z +m ·G2 ∈ TN [X]2`×2

with Z is a list of 2` RLWE encryptions of 0

with G2 the gadget matrix

G2 =

(g 0

0 g

), with gT = (2−1, ..., 2−`)

G−12 : easy to decompose TN [X] elements w.r.t. G2

ZN [X] = Z[X]/(XN + 1)

16 / 36

Page 17: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE ciphertexts

plaintext ciphertext linear combinations product

LWE T Tn+1 4 8

RLWE TN [X] TN [X]2 4 8

RGSW ZN [X] TN [X]2`×2 4 4

17 / 36

Page 18: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE products

Internal RGSW product

C �D = G−12 (D) · C =

G−1

2 (d1) · C...

G−12 (d2`) · C

=

C � d1

...

C � d2`

External RGSW − RLWE product [CGGI16],[BP16]

C � d = G−12 (d) · C

18 / 36

Page 19: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE MUX

MUX(C,d1,d0) = C � (d1 − d0) + d0

RGSW

RLWE

RLWE

C

d0

d1

0

1

MUX(C,d1,d0)RLWE

Largely used in TFHE leveled and bootstrapped constructions.

19 / 36

Page 20: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Gate VS Circuit

How often shall we bootstrap?

Gate bootstrapping: bootstrap after every gate (like [DM15])

GB

GBGB

GB GB

GB

GB

GB

GB GB

GB

GB

GB

GB

Circuit bootstrapping: bootstrap after a larger circuit

Larger circuit

CB CB

Larger circuitLarger circuit

20 / 36

Page 21: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Gate bootstrapping

0

12

14

34 [. . . ]

v0

v1

v2

vi

vi+1

v2N−1

Input LWE ciphertext

c = (a, b)

Depending on

ϕ = b− a · s

we compute an output LWE

ciphertext encrypting vϕ ∈ T

Gate bootstrapping

1 Start from (a trivial) RLWE ciphertext of messagea

ACC = v0 + v1X + · · ·+ vN−1XN−1

2 Do a blind rotation of ACC by −ϕ positions (i.e. ACC ·X−ϕ)

3 Extract the constant term of ACC (which encrypts vϕ)

aN coe�cients modulo XN + 1 can be viewed as 2N coe�cients modulo X2N − 1 s.t. vN+i = −vi

21 / 36

Page 22: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Gate Bootstrapping

22 / 36

Page 23: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Leveled constructions

Look-Up Table evaluation

The RLWE slots can be used in an optimal way

LWE: messages m ∈ T

RLWE: messages m ∈ TN [X]

m =

N−1∑i=0

mi ·Xi ∼ m = (m0,m1, . . . ,mN−1)

m0 m1 m2 . . . mN−2 mN−1Generally

N = 210

New computational model (det-WFA)

Evaluate det-WFA with GSW

Batched evaluation

23 / 36

Page 24: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

LookUp Tables (LUT)

f : Bd −→ Ts

x = (x0, . . . , xd−1) 7−→ f(x) = (f0(x), . . . , fs−1(x))

Example with d = 3 and s = 2

x0 x1 x2 f0 f1

0 0 0 0.5 0.3

1 0 0 0.25 0.7

0 1 0 0.1 0.61

1 1 0 0.83 0.9

0 0 1 0.23 0.47

1 0 1 0.67 0.42

0 1 1 0.78 0.12

1 1 1 0.35 0.95

LUT largely used in cryptology (ex. evaluation of arbitrary functions, SBoxes, ...)

24 / 36

Page 25: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

How to evaluate it?

x0 . . . xd−1 f0 . . . fs−1

0 . . . 0 σ0,0 . . . σs−1,0 σj,0

1 . . . 0 σ0,1 . . . σs−1,1 σj,1

0 . . . 0 σ0,2 . . . σs−1,2 σj,2

1 . . . 0 σ0,3 . . . σs−1,3 σj,3

.... . . ...

......

......

0 . . . 1 σ0,2d−4 . . . σs−1,2d−4 σj,2d−4

1 . . . 1 σ0,2d−3 . . . σs−1,2d−3 σj,2d−3

0 . . . 1 σ0,2d−2 . . . σs−1,2d−2 σj,2d−2

1 . . . 1 σ0,2d−1 . . . σs−1,2d−1 σj,2d−1

0

1

0

1

0

1

0

1

0

1

0

1

. . .0

1oj

fj x0 x1 . . . xd−1

25 / 36

Page 26: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

Batching (Horizontal Packing)

Pack the outputs in a RLWE ciphertext (green box)

x0 . . . xd−1 f0 . . . fs−1

0 . . . 0 σ0,0 . . . σs−1,0

1 . . . 0 σ0,1 . . . σs−1,1

0 . . . 0 σ0,2 . . . σs−1,2

1 . . . 0 σ0,3 . . . σs−1,3

.... . . ...

......

...

0 . . . 1 σ0,2d−4 . . . σs−1,2d−4

1 . . . 1 σ0,2d−3 . . . σs−1,2d−3

0 . . . 1 σ0,2d−2 . . . σs−1,2d−2

1 . . . 1 σ0,2d−1 . . . σs−1,2d−1

0

1

0

1

0

1

0

1

0

1

0

1

. . .0

1σ0 . . . σs−1

x0 x1 . . . xd−1

26 / 36

Page 27: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

Vertical packing

x0 . . . xd−1 f0 . . . fs−1

0 . . . 0 σ0,0 . . . σs−1,0

1 . . . 0 σ0,1 . . . σs−1,1

0 . . . 0 σ0,2 . . . σs−1,2

1 . . . 0 σ0,3 . . . σs−1,3

.... . . ...

......

...

0 . . . 1 σ0,2d−4 . . . σs−1,2d−4

1 . . . 1 σ0,2d−3 . . . σs−1,2d−3

0 . . . 1 σ0,2d−2 . . . σs−1,2d−2

1 . . . 1 σ0,2d−1 . . . σs−1,2d−1

27 / 36

Page 28: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

Vertical Packing

x0 . . . xd−1 fj

0 . . . 0 σj,0

1 . . . 0 σj,1

0 . . . 0 σj,2

1 . . . 0 σj,3

.... . . ...

...

0 . . . 1 σj,2d−4

1 . . . 1 σj,2d−3

0 . . . 1 σj,2d−2

1 . . . 1 σj,2d−1

RLW

EN

RLW

EN

RLW

EN

RLW

EN

0

1

0

1

0

1

RLW

EN

BlindRotate

RLW

EN

Extract

σj

LWE

xd−2 xd−1 (x0, . . . , xd−3)

28 / 36

Page 29: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

LUT evaluation: Batching and Vertical Packing

Mix them all...

Depending on the use case, choose which type of packing is the best

You can mix them: they are compatible

x0 . . . xd−1 f0 . . . fs−1

0 . . . 0 σ0,0 . . . σs−1,0

1 . . . 0 σ0,1 . . . σs−1,1

0 . . . 0 σ0,2 . . . σs−1,2

1 . . . 0 σ0,3 . . . σs−1,3

.... . . ...

......

...

0 . . . 1 σ0,2d−4 . . . σs−1,2d−4

1 . . . 1 σ0,2d−3 . . . σs−1,2d−3

0 . . . 1 σ0,2d−2 . . . σs−1,2d−2

1 . . . 1 σ0,2d−1 . . . σs−1,2d−1

29 / 36

Page 30: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

More TFHE

Seen in this presentation

Basic construction

Gate bootstrapping

Evaluation of LUT (leveled)

More...

Evaluate deterministic (weighted) �nite automata

The homomorphic counter TBSR

Circuit bootstrapping

...

30 / 36

Page 31: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE implementation

TFHE: Fast Fully Homomorphic Encryption

over the Torus

Open source C/C++ library

https://tfhe.github.io/tfhe/

Distributed under Apache 2.0 license

Gate bootstrapping

All gates implemented in the o�cial release

Circuit bootstrapping and leveled

operations

Implemented in the experimental repository

https://github.com/tfhe/experimental-tfhe

31 / 36

Page 32: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

TFHE in Gate Bootstrap mode versus Circuit Bootstrap mode

TFHE Gate Bootstrapping

Input/Output: LWE → LWE

Gate bootstrapping in 10-20 ms

All binary gates have the same cost

Evaluate about 70 bootstrapped binary

gates per second.

TFHE Circuit Bootstrapping

Input/Output: LWE → RGSW

Circuit bootstrapping in 137 ms

After many transitions 34 µs

Evaluate a LUT from 16-bit input to 8-bit

output in 1 second.

Bit Overhead

LWE: 2.46 KB (encrypts 1 message)

RLWE: 8 KB (encrypts up to 1024 messages)

RGSW: 48 KB (encrypts up to 1024 messages)

Implementation tested on (single core) Intel i7 and Intel i9 processor laptops

Parameters have 128-bits of security according to the LWE estimator

32 / 36

Page 33: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Table of Contents

1 Introduction to FHE

2 The TFHE scheme

Gate bootstrapping

Vertical packing and LUT evaluation

TFHE implementation

3 Conclusion

33 / 36

Page 34: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Conclusion

Some TFHE related works

GPU implementations: cuFHE, nuFHE

Neural network applications: [BMMP18], TFHE-Chimera solution at iDASH 2019

Multi-key: MK-TFHE [CCS19]

Use in MPC: Onion Ring ORAM [CCR19]

Thank you!

Questions?

m.s.n.

34 / 36

Page 35: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Bibliography

[RAD78] R. L. Rivest, L. Adleman, M. L. Dertouzos. On data banks and privacy homomorphisms.

Foundations of secure computation 1978.

[Gen09] C. Gentry. Fully homomorphic encryption using ideal lattices. STOC 2009.

[RSA78] R. L. Rivest, A. Shamir, L. Adleman. A method for obtaining digital signatures and public-key

cryptosystems. Communications of the ACM 1978.

[ElG85] T. ElGamal. A public key cryptosystem and a signature scheme based on discrete logarithms.

IEEE transactions on information theory 1985.

[Pai99] P. Paillier. Public-key cryptosystems based on composite degree residuosity classes. EUROCRYPT

1999.

[GM82] S. Goldwasser, S. Micali. Probabilistic encryption & how to play mental poker keeping secret all

partial information. STOC 1982.

[BGN05] D. Boneh, E-J. Goh, K. Nissim. Evaluating 2-dnf formulas on ciphertexts. TCC 2005.

[DGHV10] M. van Dijk, C. Gentry, S. Halevi, V. Vaikuntanathan. Fully homomorphic encryption over the

integers. EUROCRYPT 2010.

[HG01] N. Howgrave-Graham. Approximate integer common divisors. CaLC 2001.

[HPS98] J. Ho�stein, J. Pipher, J. H. Silverman. NTRU: A ringbased public key cryptosystem. ANTS-III

1998.

[Reg05] O. Regev. On lattices, learning with errors, random linear codes, and cryptography. STOC 2005.

[SSTX09] D. Stehlé, R. Steinfeld, K. Tanaka, K. Xagawa. E�cient public key encryption based on ideal

lattices. ASIACRYPT 2009.

[LPR10] V. Lyubashevsky, C. Peikert, O. Regev. On ideal lattices and learning with errors over rings.

EUROCRYPT 2010.

[BV11] Z. Brakerski, V. Vaikuntanathan. Fully homomorphic encryption from ring-lwe and security for

key dependent messages. CRYPTO 2011.

[BGV12] Z. Brakerski, C. Gentry, V. Vaikuntanathan. (leveled) fully homomorphic encryption without

bootstrapping. ITCS 2012.

35 / 36

Page 36: Simons Institute for the Theory of Computing - Introduction ......Homomorphic Encryption Allows to perform computations on encrypted messages, without decrypting. m 1 m 1 + hom m 2

Bibliography

[Bra12] Z. Brakerski. Fully homomorphic encryption without modulus switching from classical gapsvp.

CRYPTO 2012.

[FV12] J. Fan, F. Vercauteren. Somewhat practical fully homomorphic encryption. IACR Cryptology

ePrint Archive, 2012.

[CKKS17] J. H. Cheon, A. Kim, M. Kim, Y. Song. Homomorphic encryption for arithmetic of

approximate numbers. ASIACRYPT 2017.

[GSW13] Craig Gentry, Amit Sahai, and Brent Waters. Homomorphic encryption from learning with

errors: Conceptually-simpler, asymptotically-faster, attribute-based. CRYPTO 2013.

[DM15] L. Ducas, D. Micciancio. FHEW: bootstrapping homomorphic encryption in less than a second.

EUROCRYPT 2015.

[CGGI16] I. Chillotti, N. Gama, M. Georgieva, M. Izabachène. Faster fully homomorphic encryption:

Bootstrapping in less than 0.1 seconds. ASIACRYPT 2016.

[CGGI17] I. Chillotti, N. Gama, M. Georgieva, M. Izabachène. Faster packed homomorphic operations

and e�cient circuit bootstrapping for TFHE. ASIACRYPT 2017.

[BGGJ19] C. Boura, N. Gama, M. Georgieva, D. Jetchev. CHIMERA: Combining Ring-LWE-based Fully

Homomorphic Encryption Schemes. NutMic 2019.

[BP16] Z. Brakerski, R. Perlman. Lattice-based fully dynamic multi-key FHE with short ciphertexts.

CRYPTO 2016.

[BMMP18] F. Bourse, M. Minelli, M. Minihold, P. Paillier. Fast Homomorphic Evaluation of Deep

Discretized Neural Networks. CRYPTO 2018.

[CCS19] H. Chen, I. Chillotti, Y. Song. Multi-Key Homomorphic Encryption from TFHE. ASIACRYPT

2019.

[CCR19] H. Chen, I. Chillotti, L. Ren. Onion Ring ORAM: E�cient Constant Bandwidth Oblivious RAM

from (Leveled) TFHE. CCS 2019.

36 / 36