multiparty computation from somewhat homomorphic ...valerio/slides/spdz-slides.pdfmultiparty...

37
Multiparty Computation from Somewhat Homomorphic Encryption Ivan Damg˚ ard 1 Valerio Pastro 1 Nigel Smart 2 Sarah Zakarias 1 1 Aarhus University 2 Bristol University November 9, 2011 交互计算 CTIC Damg˚ ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 1 / 36

Upload: others

Post on 06-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Multiparty Computationfrom

    Somewhat Homomorphic Encryption

    Ivan Damg̊ard1 Valerio Pastro1 Nigel Smart2 Sarah Zakarias1

    1Aarhus University

    2Bristol University

    November 9, 2011

    交互计算CTIC

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 1 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 2 / 36

  • Multiparty Computation

    The problem

    n parties: P1, . . . ,Pn

    for all i Pi has private input xi

    a function f : (x1, . . . , xn) 7→ (y1, . . . , yn)

    Outcome

    for all i yi to be delivered to Pi

    no more info revealed

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 3 / 36

  • Applications – Examples

    The millionaire problem [Yao82]:n = 2,xi = Pi ’s income,f (x1, x2) = (b, b), where xb = max{x1, x2}Keywords search

    Set intersection

    Auctions (e.g. the sugar beet auction, Denmark 2008)

    Dominik’s dating problem

    . . .

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 4 / 36

  • Multiparty Computation – Ideal

    The ideal solution: A trusted party!

    P1

    P2

    P3 f

    Pn

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 5 / 36

  • Multiparty Computation – Ideal

    Players send their inputs..

    P1

    x1

    ��

    P2

    x2uuP3

    x3,, f

    Pn

    xn

    AA

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 6 / 36

  • Multiparty Computation – Ideal

    ..and get their result.

    P1

    P2

    P3 f

    y1

    [[

    y2

    55

    y3

    ll

    yn

    ��

    Pn

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 7 / 36

  • Multiparty Computation – Real

    The trusted party: useful?

    P1

    ))

    ��

    P2

    ii

    qq

    ||

    P3

    LL

    11

    ��

    f

    Pn

  • Multiparty Computation – Dealing with Players

    Ideal scenario ⇒ concrete protocol?

    The setup – Real world

    n parties: P1, . . . ,Pn

    for all i Pi has private input xi

    f replaced by interaction between players and local computation

    Outcome

    for all i yi to be delivered to Pi

    no more info revealed

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 9 / 36

  • Multiparty Computation – Those Annoying Players

    Some players may cheat (to get more info)!Secure Protocol? Real world indistinguishable from Ideal world.Adversarial entity who controls dishonest players.

    Adversarial Behavior

    Dishonest players follow the protocol: Passive AdversaryDishonest players deviate from the protocol: Active Adversary

    Security Requirements

    View(Pi )Ideal ≡Stat/Comp View(Pi )Realin presence of passive/active Adversary

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 10 / 36

  • Our Target

    Construction of a protocol for:

    Secure Multiparty Computation

    Active Adversary

    Dishonest Majority (Pi honest, for all j 6= i , Pj controlled by theAdversary)

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 11 / 36

  • Modern Approaches – High Level

    2-phases approach

    Preprocessing ⇒ OnlinePlayers generate

    some shared randomness,independently of f

    (public key crypto required).

    ⇒Previous data

    used to evaluate of f(seen as an arithmetic circuit).

    Online phase: very fast – no PKE!

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 12 / 36

  • Modern Approaches – High Level

    Fully Homomorphic Encryption [Gen09]

    Use an encryption scheme (KeyGen,Enc,Dec) such that for any arithmeticcircuit C :

    Decsk(C′(Encpk(m1), . . . ,Encpk(mn))) = C (m1, . . . ,mn),

    where C ′ acts as C on encrypted data.

    If so, Encpki (yi ) = Encpki (fi (x1, . . . , xn)) = fi (Encpki (x1), . . . ,Encpki (xn)).Drawback: FHE is impractical (nowadays)!

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 13 / 36

  • Our Approach

    Take the best of the two previous methods!2-phases approach with Somewhat Homomorphic Encryption.

    Somewhat Homomorphic Encryption Scheme

    An encryption scheme (KeyGen,Enc,Dec) such that:

    Decsk(C′(Encpk(m1), . . . ,Encpk(mn))) = C (m1, . . . ,mn),

    where C is an arithmetic circuit in a specific set S .

    In our case: S = circuits of mult depth one.Further requirement: a distributed decryption.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 14 / 36

  • Our Approach – Showing off

    1 (much) More practical than the FHE-approach.

    2 Preprocessing phase: similar to [BDOZ11], but less protocols needed.

    3 Online phase: Better scalability (O(n) vs O(n2) mults to compute asecure mult)

    Note: msgs in (Fpk )s : a vector space of dim s over a field of size pk ....but for simplicity we set s = 1 (more details later!)

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 15 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 16 / 36

  • Online Phase – Digression

    Suppose x , y ∈ Fpk . We write [x ], [y ] if x , y are additively secret sharedamong the players:

    x =n∑

    i=1

    xi , y =n∑

    i=1

    yi , Pi has xi , yi .

    Easy to compute [x + y ]:Pi locally computes ai = xi + yi .

    n∑i=1

    ai =n∑

    i=1

    (xi + yi ) = x + y .

    Addition: easy.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 17 / 36

  • Online Phase

    Multiplication? Not as easy as addition!Want to compute [x · y ] from [x ], [y ].Using [Bea91]: easy if players have a “multiplicative triple” [a], [b], [a · b]:

    1 Compute [x + a], [y + b] (easy).

    2 Reconstruct ε = x + a, δ = y + b

    3 Compute[z ] = [a · b]− ε · [b]− δ · [a] + ε · δ.

    [z ] is a secret sharing of x · y :

    z = a · b − ε · b − δ · a + ε · δ= a · b − (x + a) · b − (y + b) · a + (x + a) · (y + b)= xy

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 18 / 36

  • Online Phase

    Security? MACs!

    Message Authentication Codes (à la [BDOZ11])

    MACj(xi )

    ##

    = αji

    ))

    · xi

    uu

    + βjx ,i

    Pi Pj

    We require Pi to have: xi ,{

    MACj(xi )}nj=1,j 6=i ,

    {(αij , β

    ix ,j

    )}nj=1,j 6=i

    Above situation: [x ] (“bracket notation”).Notice: each player has O(n) MACs, O(n) keys for each secret value.Result: for each secret value O(n2) keys and MACs to insure security.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 19 / 36

  • Summary

    Multiplicative TriplesAdditive Secret Sharing

    MACs

    =⇒ Secure MPC.How to obtain multiplicative triples? Preprocessing!

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 20 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 21 / 36

  • Preprocessing Phase

    Target: generate [a], [b], [c] with c = ab.

    Setup

    1 Generate keys for the SHE scheme

    2 Generate the αij ’s (first half of the MACs’ keys)

    3 Broadcast Encpk(αij)

    4 Invoke a Zero-Knowledge Proof of Knowledge (ΠZKPoPK) on(Encpk(α

    ij), α

    ij)

    Setup: independent from values to generate.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 22 / 36

  • Preprocessing Phase

    Triples

    Getting a · b + r :1 Pi generates uniform values ai , bi , ri ∈ Fpk2 Pi generates uniform values β

    ia,j , β

    ib,j , β

    ir ,j ∈ Fpk

    3 Pi computes and broadcasts encryptions of all the above values

    4 Pi Invokes ΠZKPoPK on the above ciphertexts

    5 local comp.: get Encpk(a),Encpk(b),Encpk(r)

    E.g.: Encpk(a) = Encpk

    n∑j=1

    aj

    ← n∑j=1

    Encpk(aj)

    6 local comp.: get Encpk(r + a · b)← Encpk(r) + Encpk(a) · Encpk(b)7 agreement on decrypting: everyone gets a · b + r

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 23 / 36

  • Preprocessing Phase

    Triples

    from a · b + r to [c] = [a · b] & MACs on it:8 P1 sets c1 ← (r + c)− r1, Pi sets ci ← −ri , for (i 6= 1)9 All players compute Encpk(c1)← Encpk(r + c , 0)− Encpk(r1)

    10 All players set Encpk(ci )← −Encpk(ri ), for (i 6= j)11 Pi computes encryptions on MACs for aj (sim. bj , cj):

    Encpk(MACi (aj))← Encpk(αij) · Encpk(aj) + Encpk(βia,j)

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 24 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 25 / 36

  • Not Happy with the Current Online Phase?

    As said, [x ] means O(n2) keys and MACs to compute securely.

    [x ] =(

    (xi )ni=1 ,

    (MACj(xi )

    )ni ,j=1

    ,((αij , β

    ix ,j

    ))ni ,j=1

    )Additive secret sharing of x

    MACs on shared values

    Keys for the MACs

    MACs on shares ⇒ Authentication on secret values.Why not MACs on secret values?

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 26 / 36

  • There you go

    Assuming α obtained by the players in bracket notation [α],

    〈x〉 := (δ, (xi )ni=1 , (γ(x)i )ni=1)

    δ: a public value (dependent of x)

    additive secret sharing of x

    additive secret sharing of γ(x) = α · (x + δ) (MAC on x)Note: “partial openings” during computation (value reconstructed, MACnot reconstructed), in order to keep α secret!Note: MACs not reconstructed during computation ⇒ values may beincorrect.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 27 / 36

  • Usage – Sketch

    Preproc.: Generate [α]Generate [x ]’sCompute [α · x ]’s – killing one bracket-tripleSet 〈x〉 ← (0, (xi )ni=1 , ((α · x)i )

    ni=1) for all x ’s

    Add.: As in bracket notation! (local addition)Mult.: Using [Bea91], but partially opening 〈x〉 − 〈a〉, 〈y〉 − 〈b〉

    Output: Generate comb. of MACs of opened values,Commit, reconstruct the key,Comb. was valid? ⇒ output.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 28 / 36

  • Usage – Output

    Setting: 〈y〉 = (δ, (yi )ni=1 , (γ(y)i )ni=1) to be output to Ph,

    〈aj〉 =(δj , (aj ,l)

    nl=1 , (γ(aj)l)

    nl=1

    ), 1 ≤ j ≤ T opened.

    Output

    1 Public values e1, . . . , eT ∈ Fpk are generated2 Players compute a←

    ∑j ej · aj

    3 Pi commits to γi ←∑

    j ejγ(aj)i , yi , γ(y)i4 [α] is reconstructed

    5 Pi opens γi

    6 Players check α(a +

    ∑j ej · δj

    )=∑

    i γi

    7 Commitments to yi , γ(y)i are opened to Ph8 Ph computes y ←

    ∑i yi and checks α(y + δ) =

    ∑i γ(y)i

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 29 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 30 / 36

  • Packing Stuff

    In this talk: how to squeeze messages into one value.More details on the cryptoscheme? Check the paper!

    Our SHE scheme

    A variant of [BV11],

    with distributed decryption,

    specialized for parallel operations on multiple data.

    Plaintexts live in (Fpk )s ,while ciphertexts in (Aq)

    3 (for a convenient algebra Aq).

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 31 / 36

  • Packing Stuff – Choose your Angle

    First task: thinking of m ∈ (Fpk )s as an element in Aq.F = Φm ∈ Z[X ]: cyclotomic polynomial of degree N = φ(m).

    Choice of m?

    Such that F mod p factors into at least s irreducible factors, each withdegree divisible by k .

    Concretely: F mod p = f1 · · · fs′ ∈ Fp[X ], deg(fi ) = ki · k .

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 32 / 36

  • Packing Stuff – The Final Deal

    Facts

    Fp[X ]/(fi ) is an extension field of FpkFp[X ]/(fi ) is a direct summand of Fp[X ]/(F )ZN projects onto Fp[X ]/(F )for large q: computation on elements in ZN with small infinity normcan be thought as in Aq := (Z/qZ)[X ]/(F )

    Encoding Messages?

    m ∈ (Fpk )s� //

    ⊕s′i=1 Fp[X ]/(fi )

    ∼ // Fp[X ]/(F ) � // ZN // // Aq

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 33 / 36

  • 1 Introduction

    2 Online Phase

    3 Preprocessing

    4 An Improved Online Phase

    5 Concrete Scheme

    6 Benchmarks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 34 / 36

  • Preprocessing – the Numbers

    Comparison to previous work:

    u: security parameter

    κ: size of encryption

    [BDOZ11] Our work

    Encryption Type Semi-Homomorphic SHE, mult. depth 1

    ZKPoPKamortized complexity

    O(κ+ u) bits O(κ+ u) bits

    Correct Mult.amortized complexity

    O(κ · u) bits 0

    offline benchmark(2-party case)

    2-4sec(Paillier 1024-bit)

    8msec(sec.: RSA 1024-bit∗)

    ∗: using a SHE scheme based on [BV11].

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 35 / 36

  • Online – the Numbers

    Comparison to previous work:

    n: #players

    mf : #multiplications in the circuit to compute

    [BDOZ11] Our work

    Complexityfor one secure mult

    O(n2) Fp-mults O(n) Fp-mults

    Preprocessed dataneeded

    Θ(mf · n2) O(mf · n)

    http://eprint.iacr.org/2011/535.pdf

    Thanks

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 36 / 36

    http://eprint.iacr.org/2011/535.pdf

  • Rikke Bendlin, Ivan Damg̊ard, Claudio Orlandi, and Sarah Zakarias.Semi-homomorphic encryption and multiparty computation.In Kenneth G. Paterson, editor, EUROCRYPT, volume 6632 ofLecture Notes in Computer Science, pages 169–188. Springer, 2011.

    Donald Beaver.Efficient multiparty protocols using circuit randomization.In Joan Feigenbaum, editor, CRYPTO, volume 576 of Lecture Notesin Computer Science, pages 420–432. Springer, 1991.

    Zvika Brakerski and Vinod Vaikuntanathan.Fully homomorphic encryption from ring-lwe and security for keydependent messages.In Phillip Rogaway, editor, CRYPTO, volume 6841 of Lecture Notes inComputer Science, pages 505–524. Springer, 2011.

    Craig Gentry.Fully homomorphic encryption using ideal lattices.In Michael Mitzenmacher, editor, STOC, pages 169–178. ACM, 2009.

    Damg̊ard, Pastro, Smart, Zakarias (-.-) MPC from SHE November 9, 2011 36 / 36

    IntroductionOnline PhasePreprocessingAn Improved Online PhaseConcrete SchemeBenchmarks