multiparty computation with low communication, computation and interaction via threshold fhe

35
Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE Bar-Ilan University Gilad Asharov UCLA Abhishek Jain NYU Adriana LΓ³pez- Alt Tel-Aviv University Eran Tromer University of Toronto Vinod Vaikuntanathan

Upload: asabi

Post on 24-Feb-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE. 2-Party Computation Using FHE (semi-honest). b. a. y = f( a,b ). A =Encrypt(a). Y= Eval ( f,A,B ). Y. C harlie. Sally. y. Advantages. Low round complexity Low communication complexity - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Multiparty Computation with Low Communication, Computation and

Interaction via Threshold FHEBar-Ilan University Gilad Asharov

UCLA Abhishek Jain

NYU Adriana LΓ³pez-Alt

Tel-Aviv University Eran Tromer

University of Toronto Vinod Vaikuntanathan

IBM Research Daniel Wichs

Page 2: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

2-Party Computation Using FHE(semi-honest)

y

a by = f(a,b)

Y

A=Encrypt(a)

Y=Eval(f,A,B)

Charlie Sally

Page 3: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Advantages

Low round complexity Low communication complexityβ€’ Independent of the function fβ€’ Independent of Sally’s input b

Low computationβ€’ Charlie’s work is independent of f

A simple template

Can we get all these advantages in the multiparty case?

Page 4: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Key Generation

Key Generation

Page 5: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Key Generation

Key Generation

Page 6: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Input Encryption

A B

C D

a

c

b

d

A=Enc(a) B=Enc(b)

C=Enc(c) D=Enc(d)

Page 7: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Homomorphic EvaluationA B C DHomomorphic Evaluation

Y

A B C DHomomorphic Evaluation

Y

A B C DHomomorphic Evaluation

Y

A B C DHomomorphic Evaluation

Y

Page 8: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Delegate to a Cloud

A B C DHomomorphic Evaluation

Y

Page 9: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Decryption

Dec

Y Y

YY

Page 10: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Decryption

Dec

m m

mm

Page 11: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

MPC with Threshold FHE

β€’ Threshold Key Genβ€’ Encrypt and Evaluateβ€’ Threshold Decryption

Page 12: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

MPC with TFHE

β€’ Threshold KeyGen and Threshold Dec can be implemented using generic MPC

β€’ Advantages: Low communication complexity (even in malicious)

The homomorphic evaluation can be delegated / only one party

β€’ Disadvantages: Needs generic MPC techniques Round complexity can be high

β€’ Threshold Key Genβ€’ Encrypt and Evaluateβ€’ Threshold Decryption

Page 13: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Our Main Results

β€’ Threshold KeyGen and Threshold Dec algebraically [BV11b, BGV12] (based on LWE)

β€’ Advantages: Low communication complexity (even in malicious)

The homomorphic evaluation can be delegated / only one party

Simple: there is no need for generic MPC protocol Extremely low round complexity

Only 3 broadcast rounds (CRS model) 2 rounds reusable PKI – optimal(!)

β€’ Threshold Key Genβ€’ Encrypt and Evaluateβ€’ Threshold Decryption

Page 14: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Our Main Results(malicious)

β€’ Threshold KeyGen and Threshold Dec algebraically [BV11b, BGV12] (based on LWE)

β€’ Advantages: Low communication complexity (even in malicious)

The homomorphic evaluation can be delegated / only one party (assuming cs poofs / SNARGs)

Simple: there is no need for generic MPC protocol Extremely low round complexity

Only 3 broadcast rounds (CRS model) 2 rounds reusable PKI – optimal(!)

UC security (assuming UC-NIZK)

β€’ Threshold Key Genβ€’ Encrypt and Evaluateβ€’ Threshold Decryption

Page 15: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Related Work

β€’ [CramerDamgardNielsen01]– MPC using threshold HEβ€’ [Gentry09] – MPC using threshold FHEβ€’ [BendlinDamgard10] – threshold version for LWEβ€’ [KatzOstrovsky04] – lower bound of 5 rounds for

MPC in the plain modelβ€’ [MyersSergishelat11] – threshold version of

[vDGHV10]

Page 16: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

The LWE Assumption [Regev05]

Distribution 1 Distribution 2

β€’ β€’ β€œsmall”

also secure if q is odd and we choose noise to be small and even (2e instead e)

Page 17: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Basic LWE-Based Encryption

Symmetric Key Public Key

β€’ Encs():

β€’ Decs(c): – mod 2

β€’ KeyGen:– sk: s– pk: Encryptions of 0

β€’ Encpk():– Random subset sum of

the public key +

Page 18: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Key-Homomorphic Properties of the Basic Scheme

𝐴⋅𝒔1+2𝒆1𝐴⋅𝒔2+2𝒆2

𝐴⋅ (𝒔1+𝒔2 )+2π’†βˆ—

Two public keys, same β€œcoefficient” A

A new public key with secret key: s1+s2, coefficient A

(almost the same as El-Gammal)

Page 19: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Key GenerationA

s1

s3

(A,p1) = As1+2e1

(A,p3) = As3+2e3

(A,p2) = As2+2e2

(A,p4) = As4+2e4

s2

s4

Page 20: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Key GenerationA

s1

s3

(A,p1) = As1+2e1

(A,p3) = As3+2e3

(A,p2) = As2+2e2

(A,p4) = As4+2e4

s2

s4

Page 21: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Key GenerationA

s2

s4

(A,p1 = )As1+2e1

(A,p3 = )As3+2e3

(A,p2 = )As2+2e2

(A,p4 = )As4+2e4

(A,p*) = As*+2e*

(A,p*)

(A,p*)

(A,p*)

(A,p*)Joint secret key: s*=s1+s2+s3+s4

Joint public key: p*=p1+p2+p3+p4

s1

s3

Page 22: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Decryption

s1

s3

βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒1

s2

s4

βŸ¨π’‚ ,π’”πŸ‘ ⟩+2𝑒3

βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒2

βŸ¨π’‚ ,π’”πŸ’ ⟩+2𝑒4

(mod 2)

Page 23: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Decryption

s1

s3

βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒1

s2

s4

βŸ¨π’‚ ,π’”πŸ‘ ⟩+2𝑒3

βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒2

βŸ¨π’‚ ,π’”πŸ’ ⟩+2𝑒4

(mod 2)

Page 24: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold Decryption

s1

s3

βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒1 s2

s4

βŸ¨π’‚ ,π’”πŸ‘ ⟩+2𝑒3βŸ¨π’‚ ,π’”πŸ ⟩+2𝑒2

βŸ¨π’‚ ,π’”πŸ’ ⟩+2𝑒4

βŸ¨π’‚ ,π’”βˆ— ⟩+2π‘’βˆ—π‘£=ΒΏ

mod 2

πœ‡

πœ‡

πœ‡

πœ‡

(mod 2)

Page 25: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

β€’ Addition:

β€’Multiplication:More complicated…

Basic LWE-Based Encryption – Homomorphism

Page 26: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

FHE From LWE [BV11b],[BGV12]

β€’ Multiplication is possible if we have additional public information (evaluation key):

β€’ We need to generate it in a threshold manner

Simplified!

Page 27: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Evaluation Key

β€’ Recall joint secret-key: β€’ We need:

β€’ =

β€’ Therefore, we need to create:

Page 28: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold KeyGen –Round 2s2

s4

s1

s3

β€¦πΈπ‘›π‘π’”βˆ—(𝒔2 [1 ] )

πΈπ‘›π‘π’”βˆ—(𝒔2 [𝑛 ])

πΈπ‘›π‘π’”βˆ—(𝒔1 [1 ] )

πΈπ‘›π‘π’”βˆ—(𝒔1 [𝑛 ])…

πΈπ‘›π‘π’”βˆ—(𝒔3 [1 ])

πΈπ‘›π‘π’”βˆ—(𝒔3 [𝑛 ])… πΈπ‘›π‘π’”βˆ—(𝒔4 [1 ])

πΈπ‘›π‘π’”βˆ—(𝒔4 [𝑛 ] )…

Page 29: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold KeyGen – End Of Round 2s2

s4

s1

s3

πΈπ‘›π‘π’”βˆ—(𝒔1 [1 ] ) πΈπ‘›π‘π’”βˆ—(𝒔1 [𝑛 ])

πΈπ‘›π‘π’”βˆ—(𝒔3 [1 ]) πΈπ‘›π‘π’”βˆ—(𝒔3 [𝑛 ])β€¦πΈπ‘›π‘π’”βˆ—(𝒔2 [1 ] ) πΈπ‘›π‘π’”βˆ—(𝒔2 [𝑛 ])…

πΈπ‘›π‘π’”βˆ—(𝒔4 [1 ]) πΈπ‘›π‘π’”βˆ—(𝒔4 [𝑛 ] )……

Page 30: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

πΈπ‘›π‘π’”βˆ—(𝒔1 [1 ] ) πΈπ‘›π‘π’”βˆ—(𝒔1 [𝑛 ])

πΈπ‘›π‘π’”βˆ—(𝒔3 [1 ]) πΈπ‘›π‘π’”βˆ—(𝒔3 [𝑛 ])β€¦πΈπ‘›π‘π’”βˆ—(𝒔2 [1 ] ) πΈπ‘›π‘π’”βˆ—(𝒔2 [𝑛 ])…

πΈπ‘›π‘π’”βˆ—(𝒔4 [1 ]) πΈπ‘›π‘π’”βˆ—(𝒔4 [𝑛 ] )……

Threshold KeyGen – Round 3s2

s4

s1

s3

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ])

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔1[1])

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔1[𝑛])…

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔3 [1])

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔3 [𝑛 ])…

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔2 [1])

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔2 [𝑛])…

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ]𝒔4[1])

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔4[𝑛])…

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔ℓ[ 𝑗 ])

Page 31: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold KeyGen – End Of Round 3s2

s4

s1

s3

πΈπ‘›π‘π’”βˆ—(π’”π‘˜ [ 𝑖 ] 𝒔ℓ[ 𝑗 ])

πΈπ‘›π‘π’”βˆ—(π’”βˆ— [ 𝑖 ] π’”βˆ— [ 𝑗 ])

Page 32: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Threshold FHE - KeyGenβ€’ Round 1:

Establishing joint public key

β€’ Round 2: Each party creates encryptions

)β€’ Round 3:

Each party P multiplies in )

β€’ End of Round 3: )

one round!

Page 33: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

The MPC Protocol

β€’ Threshold KeyGen (2 rounds)– Round 1: Creates public key– Round 2: Creates evaluation key

β€’ The parties encrypt their inputs (sent concurrently with round 2 of KeyGen)

β€’ Threshold Dec (1 round)

Page 34: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Malicious

β€’ Can generically get malicious security by coin-tossing + (NI)ZK– Increases rounds complexity– Generic NIZK inefficient

β€’ We show coin-tossing is not necessary in our protocol – Using bad randomness can only hurt you– Honest parties β€œsmudge out” bad noise by adding

bigger noiseβ€’ We show efficient Sigma-protocols for all required

relations NIZK in the RO-model

Page 35: Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE

Conclusion

β€’ TFHE based on LWE– In the paper: Ring – LWE

β€’ 3 Rounds MPCβ€’ 2 Rounds in reusable PKI - optimal(!)

β€’ Low Communication Complexityβ€’ Easy to delegate

Thank You!