SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Lecture 10  Multi-party Computation Protocols Stefan Dziembowski University of Rome La Sapienza
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multi-party computations (MPC) P 5 P 1 P 3 P 2 P 4 input  a 1 input  a 2 input  a 3 input  a 4 input  a 5 they want to compute some value f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 ) for a publicly-known  f . a group of parties: Before we considered this problem for  n = 2  parties. Now, we are interested in arbitrary groups of  n  parties. output f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 )
Examples P 5 P 1 P 3 P 2 P 4 input  a 1 input  a 2 input  a 3 input  a 4 input  a 5 Another example:  voting A group of millionaires wants to compute how much money they own  together . f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 ) = a 1 +a 2 +a 3 +a 4 +a 5
The general settings P 5 P 1 P 3 P 2 P 4 Each pair of parties is connected by a  secure channel . (assume also that the  network is synchronous ) Some parties may be  corrupted . The corrupted parties may  act in coalition .
How to model the coalitions of the corrupted parties? ,[object Object],[object Object],what it means depends on the settings
Threshold adversaries In the  two-party case  we considered an adversary that could corrupt one of the players. Now, we assume that the adversary can corrupt  some subset of the players . The simplest case: set some threshold  t < n  and allow the adversary to corrupt  up to  t  players .
Example ,[object Object],P 5 P 1 P 3 P 2 P 4
Types of adversaries all those choices make sense! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],computationally bounded infinitely powerful passive active
Adaptivness ,[object Object],[object Object],[object Object]
The security definition ,[object Object],[object Object],[object Object],A B f(A,B) f(A,B) A B f(A,B) f(A,B) A f(A,B) f(A,B) B protocol π “ ideal” scenario “ real” scenario
The “real scenaro”  P 5 P 1 P 3 P 2 input  a 1 input  a 2 input  a 3 input  a 4 input  a 5 output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) P 4 protocol  π
The “ideal” scenario P 5 P 1 P 3 P 2 input  a 1 input  a 2 input  a 3 input  a 4 input  a 5 output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) P 4 computes  f
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classical results ,[object Object],[object Object],[object Object],(Turns out that the adaptivness doesn’t matter) (these are tight bounds) setting adversary type condition computational passive t < n computational active t < n/2 information-theoretic passive t < n/2 information-theoretic active t < n/3 this can be improved to  t < n/2  if we add a “broadcast channel” this can be improved to  t < n if we give up “fairness”
Example of a lower bound ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
the “internal” messages are not sent outside  the “external” messages are exchanged between Alice and Bob P 1 input  a 1 P 2 input  a 2 P 3 input  a 3 input  a 4 P 4 input  a 5 P 5 input  a 6 P 6 input  a 7 P 7 input  a 8 P 8 simulates with a 5  :=B a 6  := a 7  := a 8  := 1 simulates with a 1  :=A a 2  := a 3  := a 4  := 1
Correctness? ,[object Object],[object Object],[object Object]
Why is this protocol secure? ,[object Object],[object Object]
A broadcast channel P 5 P 1 P 3 P 2 P 4 m m m m Every player receives to same message (even if the sender is malicious). m m
Broadcast channel vs. byzantine agreement ,[object Object],[object Object],[object Object]
Fact In the  information-theoretic settings : A broadcast channel can be “emulated” by a multiparty protocol.
On the other hand ,[object Object],P 5 P 1 P 3 P 2 input  m output:  m output:  m output:  m output:  m output:  m P 4 So, this is the reason, why in the information theoretic, active case we have  t < n/3
Idea ,[object Object],[object Object],setting adversary type condition information-theoretic passive t < n/2 information-theoretic active t < n/3 information-theoretic (with broadcast) active t < n/2
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to construct such protocols? usually : arithmetic circuit over some field ,[object Object],[object Object],[object Object],[object Object],[object Object]
Fields ,[object Object],[object Object],[object Object],[object Object],Examples of fields : real numbers,  Z p  for prime  p . Polynomials over any field have many intuitive properties of the polynomials over the reals.
Arithmetic  circuits a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 + * + + + * * + * * c 1 * c 2 c 5 c 4 c 3 input gates output gates multplication gates addition gates
How to share a secret? ,[object Object],[object Object],[object Object],[object Object]
m -out-of- n  secret sharing dealer’s secret  S S 1 S 5 S 3 S 2 S 4 ,[object Object],[object Object],[object Object],( n  = 5) we will have m = t+1
[object Object],[object Object],[object Object],[object Object],[object Object],matching m -out-of- n  secret sharing  – more formally
Shamir’s secret sharing [1/2] 1 2 3 n . . . f(1) f(n) f(3) f(2) P 1 P 2 P 3 P n . . . s 0 Suppose that  s   is an element of some finite field  F , such that  |F| > n f  – a random polynomial of degree  m-1   over   F  such that  f(0) = s  sharing:
[object Object],Shamir’s secret sharing [2/2] reconstruction: security: One can show that  f(i 1 ),...,f(i m-1 )  are independent on  f(0) .
How to construct a MPC protocol on top of Shamir’s secret sharing? ,[object Object],[object Object],[object Object]
Polynomials are homomorphic with respect to addition  1 2 n . . . f(1) f(n) f(3) s 0 t g(1) g(3) g(n) s + t f(1) + g(1) f(3) + g(3) f(n) + g(n) degree  t   degree  t   degree  t
Addition sharing secret  a sharing secret  b sharing secret  a+b The parties can compute it non-interactively, by adding their shares locally!
How can we use it? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A protocol for  f(a 1 ,...,a n ) := a 1  + · · · + a n ,[object Object],[object Object],a 1 1 ... a i 1 ... a n 1 ... ... ... a 1 j a i j a n j ... ... ... a 1 n ... a i n ... a n n
[object Object],this is what  P j   received in  Step 1 a 1 1 ... a i 1 ... a n 1 ... ... ... a 1 j a i j a n j ... ... ... a 1 n ... a i n ... a n n
The final steps: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to construct a protocol for any function ,[object Object],[object Object],[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
General adversary structures Sometimes assuming that the adversary can corrupt up to  t  parties is not general enough. It is better to consider arbitrary  coalitions  of the sets of parites that can be corrupted.
Example of coalitions
Adversary structures ,[object Object],[object Object],[object Object],[object Object],This property is called  monotonicity . Because of this, to specify  Δ  it is enough to specify a set  M   of   its  maximal sets . We will also say that  M   induces   Δ .
Q2 and Q3 structures ,[object Object],[object Object],[object Object],[object Object],[object Object]
A generalization of the classical results [Martin Hirt, Ueli M. Maurer:  Player Simulation and General Adversary Structures in Perfect Multiparty Computation . J. Cryptology, 2000] setting adversary type condition generalized condition information-theoretic passive t < n/2 Q2 information-theoretic active t < n/3 Q3 information-theoretic with broadcast active t < n/2 Q2
There is one problem, though... ,[object Object],[object Object],[object Object]
Why? {P 1 ,...,P n }  (suppose  n   is even) X  := family of sets of cardinality  n/2   inclusion is a partial order on the set of subsets of  {P 1 ,...,P n }
On the other hand... ,[object Object],[object Object],( X  := family of sets of cardinality  n/2   )
So, we have a problem, because ,[object Object],[object Object],[object Object],[object Object]
What to do? ,[object Object],[object Object],[object Object]
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Practical implementation ,[object Object],[object Object]
Efficiency
Other applications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
© 2009 by Stefan Dziembowski. Permission to make digital or hard copies of part or all of this material is currently granted without fee  provided that copies are made only for personal or classroom use, are not distributed for profit or commercial advantage, and that new copies bear this notice and the full citation .

Weitere ähnliche Inhalte

Was ist angesagt?

Secret sharing schemes
Secret sharing schemesSecret sharing schemes
Secret sharing schemes
wonloser
 

Was ist angesagt? (20)

Computer Security Lecture 7: RSA
Computer Security Lecture 7: RSAComputer Security Lecture 7: RSA
Computer Security Lecture 7: RSA
 
Network security and cryptography
Network security and cryptographyNetwork security and cryptography
Network security and cryptography
 
El Gamal Cryptosystem
El Gamal CryptosystemEl Gamal Cryptosystem
El Gamal Cryptosystem
 
Threshold Cryptography and Distributed Key Generation
Threshold Cryptography and Distributed Key GenerationThreshold Cryptography and Distributed Key Generation
Threshold Cryptography and Distributed Key Generation
 
1524 elliptic curve cryptography
1524 elliptic curve cryptography1524 elliptic curve cryptography
1524 elliptic curve cryptography
 
Public key cryptography and RSA
Public key cryptography and RSAPublic key cryptography and RSA
Public key cryptography and RSA
 
Network measures used in social network analysis
Network measures used in social network analysis Network measures used in social network analysis
Network measures used in social network analysis
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Secret sharing schemes
Secret sharing schemesSecret sharing schemes
Secret sharing schemes
 
Introduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyIntroduction - Lattice-based Cryptography
Introduction - Lattice-based Cryptography
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key Cryptography
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Next-Gen security operation center
Next-Gen security operation centerNext-Gen security operation center
Next-Gen security operation center
 
Elliptic Curves in Cryptography
Elliptic Curves in CryptographyElliptic Curves in Cryptography
Elliptic Curves in Cryptography
 
Introduction to cyber security
Introduction to cyber securityIntroduction to cyber security
Introduction to cyber security
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail SecurityCRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
 
FIRST CTI Symposium: Turning intelligence into action with MITRE ATT&CK™
FIRST CTI Symposium: Turning intelligence into action with MITRE ATT&CK™FIRST CTI Symposium: Turning intelligence into action with MITRE ATT&CK™
FIRST CTI Symposium: Turning intelligence into action with MITRE ATT&CK™
 
Threat Hunting
Threat HuntingThreat Hunting
Threat Hunting
 

Ähnlich wie Lecture 10 - Multi-Party Computation Protocols

Lecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptxLecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptx
jovannyflex
 
Secure information aggregation in sensor networks
Secure information aggregation in sensor networksSecure information aggregation in sensor networks
Secure information aggregation in sensor networks
Aleksandr Yampolskiy
 

Ähnlich wie Lecture 10 - Multi-Party Computation Protocols (20)

One round threshold ecdsa with identifiable abort
One round threshold ecdsa with identifiable abortOne round threshold ecdsa with identifiable abort
One round threshold ecdsa with identifiable abort
 
Fast Multiparty Threshold ECDSA with Fast TrustlessSetup
Fast Multiparty Threshold ECDSA with Fast TrustlessSetupFast Multiparty Threshold ECDSA with Fast TrustlessSetup
Fast Multiparty Threshold ECDSA with Fast TrustlessSetup
 
Dynamic and verifiable hierarchical secret sharing
Dynamic and verifiable hierarchical secret sharingDynamic and verifiable hierarchical secret sharing
Dynamic and verifiable hierarchical secret sharing
 
computer operating system:Greedy algorithm
computer operating system:Greedy algorithmcomputer operating system:Greedy algorithm
computer operating system:Greedy algorithm
 
Lecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptxLecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptx
 
Lecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptxLecture 5 – Computing with Numbers (Math Lib).pptx
Lecture 5 – Computing with Numbers (Math Lib).pptx
 
Dynamic programing
Dynamic programingDynamic programing
Dynamic programing
 
104 Icdcit05
104 Icdcit05104 Icdcit05
104 Icdcit05
 
Improving-The-Round-Complexity-of-VSS-in-Point-To-Point-Networks
Improving-The-Round-Complexity-of-VSS-in-Point-To-Point-NetworksImproving-The-Round-Complexity-of-VSS-in-Point-To-Point-Networks
Improving-The-Round-Complexity-of-VSS-in-Point-To-Point-Networks
 
P10co982 (2)
P10co982 (2)P10co982 (2)
P10co982 (2)
 
The Complexity Of Primality Testing
The Complexity Of Primality TestingThe Complexity Of Primality Testing
The Complexity Of Primality Testing
 
Secure information aggregation in sensor networks
Secure information aggregation in sensor networksSecure information aggregation in sensor networks
Secure information aggregation in sensor networks
 
Event Stream Processing with Multiple Threads
Event Stream Processing with Multiple ThreadsEvent Stream Processing with Multiple Threads
Event Stream Processing with Multiple Threads
 
A formalization of complex event stream processing
A formalization of complex event stream processingA formalization of complex event stream processing
A formalization of complex event stream processing
 
Probabilistic systems assignment help
Probabilistic systems assignment helpProbabilistic systems assignment help
Probabilistic systems assignment help
 
Galios: Python Programming
Galios: Python Programming Galios: Python Programming
Galios: Python Programming
 
Probabilistic systems exam help
Probabilistic systems exam helpProbabilistic systems exam help
Probabilistic systems exam help
 
Attacks on signature schemes based on the FFI problem
Attacks on signature schemes based on the FFI problemAttacks on signature schemes based on the FFI problem
Attacks on signature schemes based on the FFI problem
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Analysis of Short RSA Secret Exponent d
Analysis of Short RSA Secret Exponent dAnalysis of Short RSA Secret Exponent d
Analysis of Short RSA Secret Exponent d
 

Lecture 10 - Multi-Party Computation Protocols

  • 1. Lecture 10 Multi-party Computation Protocols Stefan Dziembowski University of Rome La Sapienza
  • 2.
  • 3. Multi-party computations (MPC) P 5 P 1 P 3 P 2 P 4 input a 1 input a 2 input a 3 input a 4 input a 5 they want to compute some value f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 ) for a publicly-known f . a group of parties: Before we considered this problem for n = 2 parties. Now, we are interested in arbitrary groups of n parties. output f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 )
  • 4. Examples P 5 P 1 P 3 P 2 P 4 input a 1 input a 2 input a 3 input a 4 input a 5 Another example: voting A group of millionaires wants to compute how much money they own together . f(a 1 ,a 2 ,a 3 ,a 4 ,a 5 ) = a 1 +a 2 +a 3 +a 4 +a 5
  • 5. The general settings P 5 P 1 P 3 P 2 P 4 Each pair of parties is connected by a secure channel . (assume also that the network is synchronous ) Some parties may be corrupted . The corrupted parties may act in coalition .
  • 6.
  • 7. Threshold adversaries In the two-party case we considered an adversary that could corrupt one of the players. Now, we assume that the adversary can corrupt some subset of the players . The simplest case: set some threshold t < n and allow the adversary to corrupt up to t players .
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. The “real scenaro” P 5 P 1 P 3 P 2 input a 1 input a 2 input a 3 input a 4 input a 5 output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) P 4 protocol π
  • 13. The “ideal” scenario P 5 P 1 P 3 P 2 input a 1 input a 2 input a 3 input a 4 input a 5 output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) output: f(a 1 ,...,a 5 ) P 4 computes f
  • 14.
  • 15.
  • 16.
  • 17. the “internal” messages are not sent outside the “external” messages are exchanged between Alice and Bob P 1 input a 1 P 2 input a 2 P 3 input a 3 input a 4 P 4 input a 5 P 5 input a 6 P 6 input a 7 P 7 input a 8 P 8 simulates with a 5 :=B a 6 := a 7 := a 8 := 1 simulates with a 1 :=A a 2 := a 3 := a 4 := 1
  • 18.
  • 19.
  • 20. A broadcast channel P 5 P 1 P 3 P 2 P 4 m m m m Every player receives to same message (even if the sender is malicious). m m
  • 21.
  • 22. Fact In the information-theoretic settings : A broadcast channel can be “emulated” by a multiparty protocol.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Arithmetic circuits a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 + * + + + * * + * * c 1 * c 2 c 5 c 4 c 3 input gates output gates multplication gates addition gates
  • 29.
  • 30.
  • 31.
  • 32. Shamir’s secret sharing [1/2] 1 2 3 n . . . f(1) f(n) f(3) f(2) P 1 P 2 P 3 P n . . . s 0 Suppose that s is an element of some finite field F , such that |F| > n f – a random polynomial of degree m-1 over F such that f(0) = s sharing:
  • 33.
  • 34.
  • 35. Polynomials are homomorphic with respect to addition 1 2 n . . . f(1) f(n) f(3) s 0 t g(1) g(3) g(n) s + t f(1) + g(1) f(3) + g(3) f(n) + g(n) degree t degree t degree t
  • 36. Addition sharing secret a sharing secret b sharing secret a+b The parties can compute it non-interactively, by adding their shares locally!
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. General adversary structures Sometimes assuming that the adversary can corrupt up to t parties is not general enough. It is better to consider arbitrary coalitions of the sets of parites that can be corrupted.
  • 45.
  • 46.
  • 47. A generalization of the classical results [Martin Hirt, Ueli M. Maurer: Player Simulation and General Adversary Structures in Perfect Multiparty Computation . J. Cryptology, 2000] setting adversary type condition generalized condition information-theoretic passive t < n/2 Q2 information-theoretic active t < n/3 Q3 information-theoretic with broadcast active t < n/2 Q2
  • 48.
  • 49. Why? {P 1 ,...,P n } (suppose n is even) X := family of sets of cardinality n/2 inclusion is a partial order on the set of subsets of {P 1 ,...,P n }
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 56.
  • 57. © 2009 by Stefan Dziembowski. Permission to make digital or hard copies of part or all of this material is currently granted without fee provided that copies are made only for personal or classroom use, are not distributed for profit or commercial advantage, and that new copies bear this notice and the full citation .