Secure Multiparty Computation selected definitional notions Jesper Buus Nielsen Aarhus June 4, 2012 1/74.

Slides:



Advertisements
Similar presentations
Efficiency vs. Assumptions in Secure Computation Yuval Ishai Technion & UCLA.
Advertisements

Computational Privacy. Overview Goal: Allow n-private computation of arbitrary funcs. –Impossible in information-theoretic setting Computational setting:
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Secure Evaluation of Multivariate Polynomials
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Efficient Two-party and Multiparty Computation against Covert Adversaries Vipul Goyal Payman Mohassel Adam Smith Penn Sate UCLAUC Davis.
Survey: Secure Composition of Multiparty Protocols Yehuda Lindell Bar-Ilan University.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Computational Security. Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain.
Isolated PoK and Isolated ZK Ivan Damgård, Jesper Buus Nielsen and Daniel Wichs.
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Optimistic Concurrent Zero-Knowledge Alon Rosen IDC Herzliya abhi shelat University of Virginia.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
General Cryptographic Protocols (aka secure multi-party computation) Oded Goldreich Weizmann Institute of Science.
Impossibility Results for Concurrent Two-Party Computation Yehuda Lindell IBM T.J.Watson.
Oblivious Transfer based on the McEliece Assumptions
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Jointly Restraining Big Brother: Using cryptography to reconcile privacy with data aggregation Ran Canetti IBM Research.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Survey: Secure Composition of Multiparty Protocols Yehuda Lindell IBM T.J. Watson.
Tutorial on Secure Multi-Party Computation
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
1 Cross-Domain Secure Computation Chongwon Cho (HRL Laboratories) Sanjam Garg (IBM T.J. Watson) Rafail Ostrovsky (UCLA)
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Secure Message Transmission In Asynchronous Directed Networks Kannan Srinathan, Center for Security, Theory and Algorithmic Research, IIIT-Hyderabad. In.
Information-Theoretic Security and Security under Composition Eyal Kushilevitz (Technion) Yehuda Lindell (Bar-Ilan University) Tal Rabin (IBM T.J. Watson)
Adaptively Secure Broadcast, Revisited
How to play ANY mental game
CS573 Data Privacy and Security
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
Collusion-Free Multiparty Computation in the Mediated Model
A Linear Lower Bound on the Communication Complexity of Single-Server PIR Weizmann Institute of Science Israel Iftach HaitnerJonathan HochGil Segev.
Secure Computation (Lecture 7-8) Arpita Patra. Recap >> (n,t)-Secret Sharing (Sharing/Reconstruction) > Shamir Sharing > Lagrange’s Interpolation for.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
13. Oktober 2010 | Dr.Marc Fischlin | Kryptosicherheit | 1 Rate-Limited Secure Function Evaluation 21. Public Key Cryptography, March 1 st, 2013 Özgür.
Improved Non-Committing Encryption with Application to Adaptively Secure Protocols joint work with Dana Dachman-Soled (Columbia Univ.), Tal Malkin (Columbia.
Secure Computation (Lecture 3 & 4) Arpita Patra. Recap >> Why secure computation? >> What is secure (multi-party) computation (MPC)? >> Secret Sharing.
Secure Computation (Lecture 5) Arpita Patra. Recap >> Scope of MPC > models of computation > network models > modelling distrust (centralized/decentralized.
Password Mistyping in Two-Factor Authenticated Key Exchange Vladimir KolesnikovCharles Rackoff Bell LabsU. Toronto ICALP 2008.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Rational Cryptography Some Recent Results Jonathan Katz University of Maryland.
Input-Indistinguishable Computation Silvio MicaliMIT Rafael PassCornell Alon RosenHarvard.
Non-Interactive Verifiable Computing August 5, 2009 Bryan Parno Carnegie Mellon University Rosario Gennaro, Craig Gentry IBM Research.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Universally Composable computation with any number of faults Ran Canetti IBM Research Joint works with Marc Fischlin, Yehuda Lindell, Rafi Ostrovsky, Tal.
Feasibility and Completeness of Cryptographic Tasks in the Quantum World Hong-Sheng Zhou (U. Maryland) Joint work with Jonathan Katz (U. Maryland) Fang.
Secure Computation (Lecture 9-10) Arpita Patra. Recap >> MPC with honest majority in i.t. settings > Protocol using (n,t)-sharing, proof of security---
Round-Efficient Multi-Party Computation in Point-to-Point Networks Jonathan Katz Chiu-Yuen Koo University of Maryland.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Lower bounds for Unconditionally Secure MPC Ivan Damgård Jesper Buus Nielsen Antigoni Polychroniadou Aarhus University.
Topic 36: Zero-Knowledge Proofs
Carmit Hazay (Bar-Ilan University, Israel)
Adaptively Secure Multi-Party Computation from LWE (via Equivocal FHE)
Foundations of Secure Computation
TCC 2016-B Composable Security in the Tamper-Proof Hardware Model under Minimal Complexity Carmit Hazay Bar-Ilan University, Israel Antigoni Ourania.
Topic 14: Random Oracle Model, Hashing Applications
Course Business I am traveling April 25-May 3rd
Cryptography for Quantum Computers
Oblivious Transfer.
Presentation transcript:

Secure Multiparty Computation selected definitional notions Jesper Buus Nielsen Aarhus June 4, /74

Distributed Functional Evaluation Set of n parties, ℙ = {  P 1, …, P n } A protocol  = (P 1, …, P n ) for some communication resource R Party P i has input x i  {0,1}* The parties agree on a (randomized) function f: ({0,1}*) n  ({0,1}*) n (x 1, …, x n )  (y 1, …, y n ) Party P i should learn y i  {0,1}*

Goal: Proposition Voting Ressource: Point-to-point communication P1P1 P4P4 P2P2 P3P3 x1x1 x2x2 x3x3 x4x4 y y y y P i : Send x i to all and output the sum of the incoming numbers f(x 1, x 2, x 3, x 4 ) = x 1 + x 2 + x 3 + x 4

Secure Functional Evaluation Private: No subset of the parties learn anything extra to they inputs and outputs Well-defined input: Even a deviating party has a well-defined input Correct: Deviating parties cannot make the protocol give an incorrect output Input knowledge: Even a deviating party has a well-defined input known to the party Independence of inputs: Not possible to make your input depend on other parties’ input – Follows from Privacy + Input knowledge) Termination: Deviating parties cannot make the protocol terminate without all parties learning their outputs Fairness: If any corrupted party learns its output, then all parties learn their outputs Agreement-on-abort: If the protocol is unfair, then at least all correct parties agree that the protocol aborted

We also consider reactive computation with several rounds of input and output A secret state is maintained between rounds of input and output Multiparty Computation

Security Model A security model for protocols should allow to: – Formalize what a protocol does – Formalize what it is supposed to do – Formally prove that it does or does not do what it is supposed to do Add-ons: – If a protocol is deemed secure by the model, it is nice if it is secure in practice – If a protocol seems to be secure in practice, it is nice if the model deems it is nice if it is We will look at an implementation of secure communication over authenticated communication as a case study

Special out-port which models values leaked by the communication resource P1P1 What the protocol does Au.Co. 12 P2P2 m  {0,1} ”hello” (pk,sk)  G pk C  E pk (m) C C pk C m’  E pk (C) m’ pk Three Interactive Agents, e.g., Interactive Turing Machines special

Not Private? Even when no parties are corrupted, “the corrupted parties” learn (pk, E pk (m)) for (pk,sk)  G The inputs and outputs of the corrupted parties is  We cannot compute (pk, E pk (m)) from , as we do not know m, so it is not “nothing extra to the inputs and outputs”

Computational vs. Information Theoretic Security If a protocol leaks no information extra to the inputs and outputs of the corrupted parties, we say that it is information theoretically secure Even thought (pk, E pk (m)) contains the information m, it does not give knowledge of m – To crypto, knowledge is what can be computed in polynomial time If a protocol leaks no knowledge extra to the inputs and outputs of the corrupted parties, we say that it is computationally secure or cryptographically secure

…learns nothing extra to… Let us agree that: 1.A random variable W contains no knowledge extra to V if there exists a PPT randomized function S such that W=S(V) 2.A random variable W contains no knowledge extra to V if W  V, where  denotes computational indistinguishability

…learns nothing extra to… Then we also agree that: – A random variable W contains no knowledge extra to V if there exists a PPT randomized function S such that W  S(V) We say that we simulate W given V

Simulating our Protocol Actual leakage: (pk, E pk (m)), for (pk,sk)  G Tolerated leakage:  Simulator: S(  ) = (pk, E pk (0)), for (pk,sk)  G Works when (G,E,D) is IND-CPA and m  {0,1}

P1P1 Now for unbounded length messages Au.Co. 12 P2P2 m  {0,1}* ”hello” (pk,sk)  G pk C  E pk (m) C C pk C m’  E pk (C) m’ pk special

Not Private? Actual leakage: (pk, E pk (m)) for (pk,sk)  G Tolerated leakage:  We cannot simulate (pk, E pk (m)) from , as E pk (m) leaks knowledge on the length of m

Tolerated Extra Leakage The solution is a framework for specifying what extra leakage we tolerate Formally we specify a communication resource which leaks exactly the information that we tolerate When a communication resource is used to model intended behavior we call it an ideal functionality

Ideal Functionality for Secure Communication Sec.Co. 12 m  {0,1}* |m| m special

Tolerated Influence Besides tolerated leakage, ideal functionalities are also used to model tolerate influence

Ideal Functionality for Secure Communication Sec.Co. 12 m  {0,1}* |m| m ”deliver” Special port which models allowed influence special

Ideal Functionality for Authenticated Communication Au.Co. 12 m  {0,1}* m m ”deliver” special

P1P1 R=Au.Co. 12 P2P2 m  {0,1}* ”hello” (pk,sk)  G pk C  E pk (m) C C pk C m’  E pk (C) m’ pk F=Sec.Co. 12 m  {0,1}* |m| C’ pk ”hello” (pk,sk)  G C’  E pk (0 |m| ) m ”deliver” g  {0,1} S Simulates actual leakage given tolerated leakage and actual influence using tolerate influence  special Environment Z | Pr[Z  R=1]-Pr[Z  S  F] | negligible in the security parameter Gets to play with either systems and must guess which one it is playing with

Securely Implementing Computational: We say that a protocol  = (P 1, …, P n ) using communication resource R securely implements the ideal functionality F if  S  PPT  Z  PPT ( Z  R  Z  S  F ) Information theoretic:  S  PPT  Z ( Z  R  Z  S  F ) Or I.T. security does not imply computational security

Passive vs. Active Corruption We now extend the simulation paradigm to consider parties deviating from the protocol, so-called corrupted parties Monolithic adversary: We typically consider the set of corrupted parties as controlled by one central adversary – Models collusion, which is in some sense worst-case Passive corrupted parties follow the protocol but pool their views to try to learn extra information about the inputs and outputs of the honest parties Active corrupted parties deviate from the protocol to try to learn extra information about the inputs and outputs of the honest parties or to give incorrect outputs, or induce unfairness, or …

Passive Corruption Tolerated leakage: The inputs and outputs of the corrupted parties Actual leakage: The entire internal state of the corrupted party

Passive Corruption, Actual Leakage PiPi R special ij ”passive” x y X Y Randomness: r x, y, X, Y, r

Passive Corruption, Tolerate Leakage F special ij (”passive”, i) x y x, y

Active Corruption Tolerated influence: To substitute the inputs and outputs of the corrupted parties Actual influence: Also includes the ability to send wrong messages on behalf of the corrupted party, – I.e., give wrong inputs to the communication resource and give wrong outputs

Active Corruption, Actual Influence PiPi R special ij ”active” x y X Y

Active Corruption, Tolerated Influence F special ij (”active”, i) x y

P1P1 Au.Co. 12 P2P2 m  {0,1}* ”hello” (pk,sk)  G pk C  E pk (m;r) C C pk C m’  E pk (C) m’ pk Sec.Co. 12 m  {0,1}* m C pk ”hello” (pk,sk)  G C  E pk (m;r) m ”deliver” S special ”passive” r (”passive”, 1) ”passive” m r m

Adaptive vs. Static Corruption Static corruption: All parties that are going to be corrupted must be corrupted before the protocol is executed Adaptive corruption: Parties may become corrupted at any point during the execution We just simulated a static corruption, let us try with an adaptive one…

P1P1 Au.Co. 12 P2P2 m  {0,1}* ”hello” (pk,sk)  G pk C  E pk (m;r) C C pk C m’  E pk (C) m’ pk Sec.Co. 12 m  {0,1}* |m| C’ pk ”hello” (pk,sk)  G C’  E pk (0 |m| ;r) m ”deliver” S special ”passive” m, r (”passive”, 1) ”passive”m, ? m For all m we must find r’ s.t. C’=E pk (m;r’) ”passive” sk ”passive” sk …and sk s.t. D sk (C’)=m

Non-committing encryption Possible to construct simulated ciphertexts C’ such that for all messages m one can efficiently compute correctly looking r and sk such that C’ = E pk (m;r) and D sk (C’)=m Possible under standard computational assumptions, but NCE may be inefficient – Communication complexity of NCE open problem…

m P1P1 Au.Co. 12 P2P2 m  {0,1}* ”hello” (pk,sk)  G pk C  E pk (m;r) C C pk C m’  E pk (C) m’ pk Sec.Co. 12 m  {0,1}* |m| C’ pk ”hello” (pk,sk)  G C’  E pk (0 |m| ;r) m ”deliver” S special ”passive” m (”passive”, 1) ”passive” m For all m we must find r’ s.t. C’=E pk (m;r’) delete r ”passive” sk …and sk s.t. D sk (C’)=m ”passive” sk

Erasure vs. Non-erasure Typically erasure allows to get adaptive security more efficiently We would like to avoid that our security depends on erasure, as erasure can be hard to implement and verify

FfFf I.F. for Secure Function Evaluation special j i xixi xjxj yjyj yiyi (y 1, …, y n )=f(x 1, …, x n )

Gate-by-gate SMC Write f as a Boolean circuit with input-gates,  - gates, ∧ -gates and output-gates Find the following: – A private distributed representation [x] of a bit x – Secure input: A party knowing x can create [x] w/o leaking x – Secure Xor: Given [x] and [y] securely compute [x  y] – Secure And: Given [x] and [y] securely compute [x ∧ y] – Secure output: Given [x] reveal x (to some party) – Complete as x NAND y = 1  x ∧ y

Oblivious Transfer OT SR x0x1x0x1 c special xcxc S R (pk c,sk c )  KeyGen pk 1-c  OblKeyGen (pk 0, pk 1 ) x0x1x0x1 c C 0  E pk 0 (x 0 ) C 1  E pk 1 (x 1 ) (C 0, C 1 ) x c  D sk c (C c ) xcxc Secure implementation: Static, computational, passive Can be made: Static, computational, active using the right notion of zero- knowledge proofs

SMC based on OT Secure representation: [x] = (x 1,x 2 ) – x i known only by P i – x 1,x 2 uniformly random except that x= x 1  x 2 Secure input (by P 1 ): – Send uniformly random x 2 to P 2 – Let x 1 = x  x 2 Secure Xor [z]=[x]  [y]: – P i sets z i =y i  x i Secure output (to P 2 ): – P 1 sends x 1 to P 2 VarP1P2Comment xx1x1 x2x2 x = x 1 +x 2 yy1y1 y2y2 y = y 1 +y 2 z=y  x z1z1 z2z2 z = z 1 +z 2

SMC based on OT Secure And [z]=[x] ∧ [y]: – x = x 1  x 2 – y = y 1  y 2 – z = xy = (x 1  x 2 )(y 1  y 2 ) = x 1 y 1  x 1 y 2  x 2 y 1  x 2 y 2 – [z] = [x 1 y 1 ]  [x 1 y 2 ]  [x 2 y 1 ]  [x 2 y 2 ] Handled by P 1 Handled by P 2

Secure AND via OT OT SR x special P1P1 P2P2 yyrrxrrx r  {0,1} r  xy z 2 =r  xy z 1 =r z 1  z 2 = xy

OT is Complete We just showed that 1-out-of-2 Oblivious Transfer is complete for secure two-party computation Security: Information theoretic, adaptive, passive

Gate-by-gate SMC Write f as an Arithmetic circuit over a finite field with input-gates, +-gates,  -gates and output-gates Find the following: – A private distributed representation [x] of a bit x – Secure input: A party knowing x can create [x] w/o leaking x – Secure addition: Given [x] and [y] securely compute [x+y] – Secure multiplication: Given [x] and [y] securely compute [x  y] – Secure output: Given [x] reveal x – Complete as x  {0,1} iff x(1-x)=0 and x NAND y = 1-xy

Additive Secret Sharing Works over any finite field A secret s  Pick independent and uniformly distributed s 1, …,s n , except that s= s 1 + … + s n Give s i to P i Representation: [s]= (s 1, …, s n ) Privacy: View of up to n-1 parties is uniform on n-1 and hence independent of s

Secure Summing P1P1 P2P2 P3P3 comment P 1 : aa1a1 a2a2 a3a3 a = a 1 +a 2 +a 3 P 2 : bb1b1 b2b2 b3b3 b = b 1 +b 2 +b 3 P 3 : cc1c1 c2c2 c3c3 c = c 1 +c 2 +c 3 d1d1 d2d2 d3d3 d i = a i +b i +c i d1d1 d2d2 d3d3 d=  f(a, b, c) = d, where d = a + b + c

P1P1 P2P2 P3P3 comment P 1 : aa1a1 a2a2 a3a3 a = a 1 +a 2 +a 3 P 2 : bb1b1 b2b2 b3b3 0 = b 1 +b 2 +b 3 P 3 : c=d-a-bc1c1 c2c2 c3c3 d-a = c 1 +c 2 +c 3 d1d1 d2d2 d3d3 d i = a i +b i +c i Adaptively Secure Summing d1d1 d2d2 d3d3 d=  b’=0 c’=d-a b 2 ’= b 2 +b c 2 ’= c 2 -b ”passive” patching f(a, b, c) = d, where d = a + b + c

Replicated Secret Sharing Works over any finite field Start with additive secret sharing s= s 1 + … + s n Distribute according to some (S 1, …, S n ) where each S i  {1,…, n}: Give {s j } for j  S i to P i

Secure Multiplication c = ab = (a 1 +a 2 +a 3 )(b 1 +b 2 +b 3 ) [c] = [a 1 b 1 ] + [a 1 b 2 ] + [a 1 b 3 ] + [a 2 b 1 ] + [a 2 b 2 ] + [a 2 b 3 ] + [a 3 b 1 ] + [a 3 b 2 ] + [a 3 b 3 ] [c] = ( [a 2 b 2 ] + [a 2 b 3 ] + [a 3 b 2 ] ) + ( [a 1 b 3 ] + [a 3 b 1 ] + [a 3 b 3 ] ) + ( [a 1 b 1 ] + [a 1 b 2 ] + [a 2 b 1 ] ) Handled by P 1 P1P1 P2P2 P3P3 Comment aa 2, a 3 a 1, a 3 a 1, a 2 a = a 1 +a 2 +a 3 bb 2, b 3 b 1, b 3 b 1, b 2 b = b 1 +b 2 +b 3 c Handled by P 2 Handled by P 3

Adversary Structures A protocol cannot have all security properties against all corruption patterns An adversary structure for a property captures against which corruptions the property holds Privacy adversary structure: The set of subsets of the parties which the protocol can tolerate is passively corrupted – It is  = { , {1}, {2}, {3}} on the previous slide – We normally only specify the maximal sets,  = {{1}, {2}, {3}} A threshold structure, with t=1

Adversary Structure P1P1 P2P2 P3P3 P4P4 Comment aa 1, a 4 a 2, a 4 a 3, a 4 a 1, a 2, a 3 a = a 1 +a 2 +a 3 +a 4 bb 1, b 4 b 2, a 4 b 3, a 4 b 1, b 2, b 3 b = b 1 +b 2 +b 3 +b 4  = {{1,2}, {1,3}, {2,3},{4}} Still allows multiplication A general adversary structure Puzzle: Which adversary structures can be obtained using a multiplicative, replicated secret sharing? Answer: Q2

(A)synchronous SMC In SMC, we typically assume that the parties have partially synchronized clocks and know an upper bound on the time it takes to send a message Allows the computation to proceed in rounds, where in each round all parties send a message to all parties – Use a default message on time-out

Input Deprivation Any asynchronous protocol with guaranteed termination and which tolerates that up to t parties are actively corrupted must tolerate that t honest parties do not have their inputs considered – The t corrupted parties might not send any messages, so the protocol must terminate if only n-t parties are alive – With arbitrarily drifting clocks or arbitrary network delays, a slow honest party cannot be distinguished from a corrupted party which did not send its messages The I.F. for asynchronous SFE might compute outputs already when n-t parties gave input

Universal Composition If  G securely implements F and  H securely implements G then  (  H) securely implements F

H=Au.Co. special ij PiPi PjPj G=Sec.Co. special ij S

G=Sec.Co. special ij QiQi QjQj F=F f special ij T

PiPi G=Au.Co. special ij QiQi QjQj PjPj F=F f special ij U

PiPi G=Au.Co. special ij QiQi QjQj PjPj F=F f special ij T S

F=F f special ij T S

S G=Sec.Co. special ij QiQi QjQj

S G=Sec.Co. special ij QiQi QjQj

QiQi QjQj PiPi H=Au.Co. special ij PjPj

PiPi H=Au.Co. special ij QiQi QjQj PjPj F=F f special ij T S

What made it tick? Env  Sim  Env Env  Prot  Env Also need Env  IF  Env if protocols can use several ideal functionalites

Universally Composable Commitment Universal composability comes at a price We look at security against sender in a commitment scheme as a case study Setup: A random public key pk for an encryption scheme appears in the sky Commit: To commit to m, send C=E pk (m;r) Open: To open, send (m, r) Warning: Special flavor of public-key encryption needed for this to be secure against receiver too

Commitment Commit (commit, m) special j i (committed) (open) m (opened, m)

CRS Common Reference String special j i crs  D crs

PiPi PjPj Commit special ij S CRS ij Au.Co. ij pk (pk, sk)  G pk “active” (send, C) “active” (“active”, i) (send, C) m = D sk (C) simulation trapdoor (commit, m) (committed) CC input extraction (m,r) (send, (m,r)) (opened, m) m (open) (opened, m)

Cheating is Needed for UC Some setup is needed for UC commitment Proof sketch: – By definition of security, the simulator must be able to extract the message from a commitment to input it to the ideal functionality for commitment – If no trapdoor is needed for input extraction, the commitment scheme would not be hiding because of Env  Sim  Env Extends to all interesting functionalities

“Non-universal” Compositions Sequential: If protocols are deemed secure, then running them one by one in sequence is also secure Parallel: If protocols are deemed secure, then running them in parallel is also secure Concurrent self-composition: Running many copies of a protocol concurrently is secure …

Inputs are sampled before protocol execution (x 1, …, x n ) for parties Auxiliary input a for adversary Au.Co. special ij PiPi PjPj Sec.Co. special ij S A xixi xjxj yjyj yiyi ab xixi yiyi xjxj yjyj ab Result of the attack is the outputs of all parties, plus an output b from A

Stand-Alone Secure We say that a protocol  = (P 1, …, P n ) using communication resource R securely implements the ideal functionality F if  A  S  input x ( (A  R)(x)  (S  F)(x) ) – Whatever the adversary can compute by attacking  R, the simulator S can compute by attacking F – Including the outputs of honest parties captures corretness

Au.Co. special ij PiPi PjPj Sec.Co. special ij A xixi xjxj yjyj yiyi ab xixi yiyi xjxj yjyj ab S A  A  S allows S to depend on A

Au.Co. special ij PiPi PjPj Sec.Co. special ij A xixi xjxj yjyj yiyi ab xixi yiyi xjxj yjyj ab S A Sometime only black-box access to A is needed

Black-Box Simulation We say that a protocol  = (P 1, …, P n ) using communication resource R securely implements the ideal functionality F if  S  A  input x ( (A  R)(x)  (S A  F)(x) )

Secure? Computational vs. Information theoretic Passive vs. Active Static vs. Adaptive Erasure vs. Non-erasure Self-trust only, threshold, general adversary structure, … Assuming which resources Synchronous vs. Asynchronous Universal composition, sequential composition, parallel composition, concurrent self-composition, … Blackbox vs. Non-blackbox