eran tromer

34
1 Information Security – Theory vs. Reality 0368-4474-01, Winter 2013-2014 Lecture 10: Garbled circuits (cont.), fully homomorphic encryption Eran Tromer

Upload: soo

Post on 21-Mar-2016

36 views

Category:

Documents


1 download

DESCRIPTION

Information Security – Theory vs. Reality 0368-4474-01, Winter 2013-2014 Lecture 10: Garbled circuits (cont.), fully homomorphic encryption. Eran Tromer. Garbled circuits. Garbled circuits: construction (summary of whiteboard discussion). The garbled circuits - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Eran  Tromer

1

Information Security – Theory vs. Reality

0368-4474-01, Winter 2013-2014

Lecture 10:Garbled circuits (cont.),fully homomorphic encryption

Eran Tromer

Page 2: Eran  Tromer

2

Garbled circuits

2

Page 3: Eran  Tromer

3

Garbled circuits: construction(summary of whiteboard discussion)

The garbled circuitsChoose random keys for each value for each wire. Output:• Gate tables (double-encryption of output keys under

input keys, permuted)• Keys of output wiresThe garbled inputsKeys for chosen values in input wiresEvaluationGate-by-gate, using double decryption.

Page 4: Eran  Tromer

4

Garbled circuits: variants of functionality• Offline-online evaluation for public circuits

– Circuit C is public, Alice chooses x, Bob learns C(x) and nothing else.

• Offline-online evaluation for secret circuits– Alice chooses circuit D and x, Bob learns D(x) and

nothing else.– Obtained from previous by making C a universal circuit

and plugging in the description of D.• Secure two-party evaluation

– Bob provides input, gets input keys from Alice using oblivious transfer

• Secret outputs– Compute in each direction, omitting sharing of result– Encrypt part of output intended for Alice

Page 5: Eran  Tromer

5

Fully Homomorphic Encryption

Page 6: Eran  Tromer

The goal

Delegate processing of data

without giving away access to it

6 of 32

Page 7: Eran  Tromer

Example 1: Private Search

Delegate PROCESSING of datawithout giving away ACCESS to it

► You: Encrypt the query,send to Google

(Google does not know the key,cannot “see” the query)

► Google: Encrypted query → Encrypted results

(You decrypt and recover the search results)

7 of 32

Page 8: Eran  Tromer

Example 2: Private Cloud Computing

Delegate PROCESSING of datawithout giving away ACCESS to it

(Input: x) (Program: P)(Enc(x), P) → Enc(P(x))

Encrypt x

8 of 32

Page 9: Eran  Tromer

Fully Homomorphic Encryption

Encrypted x, Program P → Encrypted P(x)

Definition: (KeyGen, Enc, Dec, Eval)(as in regular public/private-key encryption)

– If c = Enc(PK, x) and c′ = Eval (PK, c, P),

Compactness: Length of c′ independent of size of P

Security = Semantic Security [GM82]

Correctness of Eval: For every input x, program P

then Dec (SK, c’) = P(x).

9 of 32

Page 10: Eran  Tromer

Fully Homomorphic Encryption

Functionf

xEnc(x)

Eval: f, Enc(x) Enc(f(x))homomorphic evaluation

Knows nothing

of x.

[Rivest-Adleman-Dertouzos’78]

10 of 32

Page 11: Eran  Tromer

Fully Homomorphic Encryption

► First Defined: “Privacy homomorphism” [RAD’78]

– their motivation: searching encrypted data

11 of 32

Page 12: Eran  Tromer

– BGN’05 & GHV’10: quadratic formulas

Fully Homomorphic Encryption

► First Defined: “Privacy homomorphism” [RAD’78]

► Limited Variants:

– GM & Paillier: additively homomorphic

– RSA & El Gamal: multiplicatively homomorphic

– their motivation: searching encrypted data

c1 = m1e c2 = m2

e cn = mne

Xc* = c1c2…cn = (m1m2…mn)e mod N► NON-COMPACT homomorphic encryption:

– SYY’99 & MGH’08: c* grows exp. with degree/depth– IP’07 works for branching programs

– Based on Yao garbled circuits

12 of 32

Page 13: Eran  Tromer

Fully Homomorphic Encryption

► First Defined: “Privacy homomorphism” [RAD’78]

– using just integer addition and multiplication

– their motivation: searching encrypted data

►Full-semester course►Today: an alternative construction

[DGHV’10]:

Big Breakthrough: [Gentry09]

First Construction of Fully Homomorphic Encryptionusing algebraic number theory & “ideal lattices”

– easier to understand, implement and improve 13 of 32

Page 14: Eran  Tromer

Constructing

fully-homomoprhic encryptionassuming

hardness of approximate GCD

14 of 32

Page 15: Eran  Tromer

A Roadmap

1. Secret-key “Somewhat” Homomorphic Encryption(under the approximate GCD assumption)

2. Public-key “Somewhat” Homomorphic Encryption(under the approximate GCD assumption)

3. Public-key FULLY Homomorphic Encryption(under approx GCD + sparse subset sum)

(a simple transformation)

(borrows from Gentry’s techniques)

15

Page 16: Eran  Tromer

Secret-key Homomorphic Encryption

Secret key: a large n2-bit odd number p

To Encrypt a bit b:– pick a random “large” multiple of p, say q·p– pick a random “small” even number 2·r– Ciphertext c = q·p+2·r+b

To Decrypt a ciphertext c:

– c (mod p) = 2·r+b (mod p) = 2·r+b– read off the least significant bit

(q ~ n5 bits)(r ~ n bits)

“noise”

(sec. param = n)

16

Page 17: Eran  Tromer

Secret-key Homomorphic Encryption

How to Add and Multiply Encrypted Bits:

– Add/Mult two near-multiples of p gives a near-multiple of p.

– c1 = q1·p + (2·r1 + b1), c2 = q2·p + (2·r2 + b2)

– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) « p

– c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2 « p

LSB = b1 XOR b2

LSB = b1 AND b2

17

Page 18: Eran  Tromer

Problems

Ciphertext grows with each operation

Noise grows with each operation

Useless for many applications (cloud computing, searching encrypted e-mail)

– Consider c = qp+2r+b ← Enc(b)

(q-1)p qp (q+1)p (q+2)p

2r+b– c (mod p) = r’ ≠ 2r+b

r’– lsb(r’) ≠ b

18

Page 19: Eran  Tromer

Problems

Ciphertext grows with each operation

Noise grows with each operation

Useless for many applications (cloud computing, searching encrypted e-mail)

Can perform “limited” number of hom. operations

What we have: “Somewhat Homomorphic” Encryption

19

Page 20: Eran  Tromer

Public-key Homomorphic Encryption

Secret key: an n2-bit odd number p

To Decrypt a ciphertext c:

– c (mod p) = 2·r+b (mod p) = 2·r+b– read off the least significant bit

Eval (as before)

Public key: [q0p+2r0,q1p+2r1,…,qtp+2rt] = (x0,x1,…,xt)

– t+1 encryptions of 0

Δ

– Wlog, assume that x0 is the largest of them

20

Page 21: Eran  Tromer

c = + b (mod x0)

Public-key Homomorphic Encryption

rxSi

i 2

Secret key: an n2-bit odd number p

To Decrypt a ciphertext c:

– c (mod p) = 2·r+b (mod p) = 2·r+b– read off the least significant bit

Eval (as before)

Public key: [q0p+2r0,q1p+2r1,…,qtp+2rt] = (x0,x1,…,xt)

To Encrypt a bit b: pick random subset S [1…t]

Δ

21

Page 22: Eran  Tromer

c = + b (mod x0)

Public-key Homomorphic Encryption

rxSi

i 2

Secret key: an n2-bit odd number p

Public key: [q0p+2r0,q1p+2r1,…,qtp+2rt] = (x0,x1,…,xt)

To Encrypt a bit b: pick random subset S [1…t]

Δ

c = p[ ] + 2[ ] + b (mod x0) Si

iq

Siirrc = p[ ] + 2[ ] + b – kx0 (for a small k)

Siiq

Siirr

= p[ ] + 2[ ] + b 0kqqSi

i

0krrrSii

(mult. of p) + (“small” even noise) + b 22

Page 23: Eran  Tromer

c = + b (mod x0)rxSi

i 2

Public-key Homomorphic Encryption

Secret key: an n2-bit odd number p

To Decrypt a ciphertext c:

– c (mod p) = 2·r+b (mod p) = 2·r+b– read off the least significant bit

Eval: Reduce mod x0 after each operation

To Encrypt a bit b: pick random subset S [1…t]

Ciphertext Size Reduction

Public key: [q0p+2r0,q1p+2r1,…,qtp+2rt] = (x0,x1,…,xt)Δ

(*) additional tricks for mult23

Page 24: Eran  Tromer

c = + b (mod x0)rxSi

i 2

Public-key Homomorphic Encryption

Secret key: an n2-bit odd number p

To Decrypt a ciphertext c:

– c (mod p) = 2·r+b (mod p) = 2·r+b– read off the least significant bit

Eval: Reduce mod x0 after each operation

To Encrypt a bit b: pick random subset S [1…t]

Ciphertext Size Reduction

– Resulting ciphertext < x0

– Underlying bit is the same (since x0 has even noise)

– Noise does not increase by much(*)

Public key: [q0p+2r0,q1p+2r1,…,qtp+2rt] = (x0,x1,…,xt)Δ

(*) additional tricks for mult24

Page 25: Eran  Tromer

A Roadmap

Secret-key “Somewhat” Homomorphic Encryption

Public-key “Somewhat” Homomorphic Encryption

3. Public-key FULLY Homomorphic Encryption25

Page 26: Eran  Tromer

How “Somewhat” Homomorphic is this?

Can evaluate (multi-variate) polynomials with m terms, and maximum degree d if d << n.

f(x1, …, xt) = x1·x2·xd + … + x2·x5·xd-2

Final Noise ~ (2n)d+…+(2n)d = m•(2n)d

Say, noise in Enc(xi) < 2n

2/22/22nnd pm or nd ~

m terms

26

Page 27: Eran  Tromer

“Somewhat” HE“Bootstrappable”

From “Somewhat” to “Fully”

FHE = Can eval all fns.

Theorem [Gentry’09]: Convert “bootstrappable” → FHE.

Augmented Decryption ckt.

Dec Dec

NAND

c1 sk skc2 27

Page 28: Eran  Tromer

Is our Scheme “Bootstrappable”?

What functions can the scheme EVAL?

Complexity of the (aug.) Decryption Circuit

(?)

Can be made bootstrappable– Similar to Gentry’09

Caveat: Assume Hardness of “Sparse Subset Sum”

(polynomials of degree < n)

(degree ~ n1.73 polynomial)

28

Page 29: Eran  Tromer

Security(of the “somewhat” homomorphic scheme)

29

Page 30: Eran  Tromer

The Approximate GCD Assumption

q1p+r1

p?

pq1 ← [0…Q]r1 ← [-R…R]

odd p ← [0…P]

(q1p+r1,…, qtp+rt)

Assumption: no PPT adversary can guess the number p

Parameters of the Problem: Three numbers P,Q and R

30

Page 31: Eran  Tromer

p?p

Assumption: no PPT adversary can guess the number p

Semantic Security [GM’82]: no PPT adversary can guess the bit b

PK =(q0p+2r0,{qip+2ri})

Enc(b) =(qp+2r+b)

=(proof of security)

(q1p+r1,…, qtp+rt)

31

Page 32: Eran  Tromer

Progress in FHE

►“Galactic” → Efficient

– asymptotically: nearly linear-time* algorithms

► Strange assumptions → Mild assumptions

– practically:– a few milliseconds for Enc, Dec [LNV11,GHS11]– a few minutes for evaluating an AES block (amortized)

[GHS12]

*linear-time in the security parameter

– Best Known [BGV11]: (leveled) FHE from worst-case hardness of nO(log n)-approx short vectors on lattices

32

Page 33: Eran  Tromer

Multi-key FHE

Functionf

x1c1 = Enc(pk1,x1)

x2

c2 = Enc(pk2,x2)

sk1, pk1

sk2, pk2

33

Page 34: Eran  Tromer

Multi-key FHE

Functionf

x1

y = Eval(f,c1,c2)

Dec(sk1,sk2 y)=f(x1,x2)Correctness:

x2

sk1, pk1

sk2, pk2

Dec

34