Secure Multi-Party Computation (MPC) enables multiple parties to jointly compute a function on their private inputs while keeping those inputs confidential, with feasibility depending on whether information-theoretic or computational security is required; information-theoretic security requires an honest majority of participants, while computational security under standard cryptographic assumptions allows security against any strict subset of colluding parties, and the field maintains a relatively small gap between provably secure constructions and practical implementations due to its core reliance on information-theoretic or near-information-theoretic techniques.
Secure Multiparty Computation (MPC): Foundations & Challenges
Added:[YUVAL ISHAI] Okay.
Thank you, Sanjam, and thanks, organizer, for assembling such a great program.
It's a real pleasure to be here.
Okay, so I'm going to talk about secure multi-party computation.
You know, most of you are familiar with the commonly used acronym, it's just too long, MPC.
But somewhat oddly, MPC is used in the literature to denote everything, secure multi-party computation.
And I don't know if you ever thought about this, but it seems that I'm always bothered by me, by it, and it always seems to me like a poor choice of acronym.
But then I realized that there are two actually.
This acronym has very important advantages.
First, you know, if you ever realize that there is a bug in your security proof or no security proof at all-- --it puts you in a kind of a better legal situation.
And the second point, which is actually a serious one you know, if you ever get to review a paper that contains a more appropriate acronym, like especially anonymous crypto submissions, right, that contain a more appropriate acronym, like SMC or SMPC, then you know it was written by pedantic authors who cannot be any of your friends-- --so the paper can be safely rejected.
So maybe the first take-home message from this talk is that it's sometimes better to, to use a standard if a more inappropriate acronym than, uh-- Okay, anyway, I'm not going to change the acronym and I, I hope that somebody will ev-- uh uh, will, will take the initiative and change it, but I'm sticking with MPC.
Okay, so I'm going to start with a gentle introduction to MPC, just to test the grounds.
How many people here are not familiar with the basic notion?
Okay, so-- --seems like almost everyone is familiar, and then you can use it as a way to introduce, to have a gentle introduction to MPC to other people.
But anyway, I'll try to be q-- Uh, to be quick.
I will try to give some idea of the breadth of definitions of the MPC some idea about protocols.
I will talk about open problems and luckily for everyone, why we will never run out of them.
And obviously, it's a very, you know big area and any such survey talk has to focus on a small selection of issues.
I try to combine between giving some broad overview in some parts of the talk, and in other parts, focusing on things that are obviously biased by my own research.
But please feel free to ask questions about everything, or to stop me or on any issue that you'd like to hear more about.
Okay, so let me start with this claim.
Please don't try to think about it too hard.
It's circular.
It might mess with your brain as in Amit's talk.
So but really, you know, even those of us who are used to working on this problem often forget that you know, if we take this problem in its fullest generality, as has been defined in the literature, it can actually capture problems that don't, we don't think of them, like MPC, right?
So error-correcting codes, you can cast it as an instance of MPC with a certain you know type of security.
Distributed algorithms, right?
It's like MPC without the secrecy requirement.
Again, you can cast it as an instance of the general problem.
Notions from complexity theory, like interactive proofs, PCPs, randomness extractors basic cryptographic primitives that we do not think of them as being MPC, can also be cast into this framework.
So basically, anything that you can phrase as protecting good guys against bad guys this framework is general enough to capture it.
Uh, so, so you know, if, if you kind of hate this area and you secretly wish that you know, it will vanish in a few years, then I have Yeah, I'm gonna have bad news for, for you.
The government will bail it out, so.
[AUDIENCE MEMBER] You got it?
[YUVAL ISHAI] Yeah.
[AUDIENCE MEMBER] Can you give an example of something that's not MPC?
[YUVAL ISHAI] Oh, when we function?
I don't know.
I mean you, you can always generalize, but again, it is an attempt to generalize, especially people like Juan Corneti have been pushing this agenda that you can generalize in general.
Of course, you can say the same about logic, right?
It's not, uh-- So the fact that the language is general doesn't mean that you know, you need to think about it in this way, but it just means that we'll never, this is actually the answer to the last point in the previous slide.
This is why we can never run out of problems.
When we figure out all of these things you know completely, then we may run out of MPC questions.
But because it's so broad and has so many highly non-trivial special cases that feed the entire communities we can never run out of open questions.
That's one answer to this question.
Okay, so in the rest of the talk, I will talk mainly focus on what most of us think about when we hear MPC, namely, the goal of securely evaluating a function.
And let's again go quickly over this very simple two example, where let's say that we want to to figure out or actually six of us, because the picture only contains six parties want to figure out our average salary or equivalently, the sum of our salaries, or alternatively, you know, maybe more interesting here to figure out what is the average travel reimbursement we received from the Simons Institute.
Okay, so, Yeah, So we want to compute, the sum of our, you know, secret, local inputs without revealing anything else, to each other, to the extent possible.
So this is the simple, straightforward solution.
Take someone we all love and trust, eh-- --Ki-- Kimme for those who don't know him, I hope this does not put me in trouble, but, uh-- Anyway, I'm not recorded, so, eh, and if I'm recorded, it will not v-- It will not be on the internet.
And if it's, if it's on the internet, it's beyond the reach of North Korean hackers, so-- --I know I'm fine.
Anyway, I love him seriously, so it's nothing.
(laughter) Jokes aside, he can really do it for us assuming that we all trust him.
Okay, and the goal of MPC is to find a better way, if we don't have, here in the U.S., we don't have anyone who's as trustful.
So, we need to find other ways.
So let's assume, eh, thi-- this is updated, this is updated rec-- eh, moving to the Bay Area, but we-- L-- Let's assume that there is a-- By the w-- did, did anyone here receive a travel reimbursement of more than 10 billion dollars?
You do?
Okay, so we're fine.
So let's assume that the answer is bounded by this capital M, and now from now on, all addition and subtraction operations are taken modulo M. Okay, So how do we do it, right?
So I don't know, eh, I guess that even people who study or do research in MPC are not necessarily aware of the simp-- of these very simple examples, so here is this, eh, very simple, eh, old protocol, um, I believe it should be attributed to Chaum or it's kind of equivalent to, eh, what Chaum did.
And, so the first guy, you know, picks a random number modulo M, which he uses to mask his input and send it to the second girl.
So he sends a message, which is just his input plus R modulo M. She sends to the third guy this message plus her input and so on.
Each party adds his or her input to whatever it received from the previous party.
Now the last party receives the sum plus his original mask R, so he can just unmask by subtracting R from the result.
Okay, so it's clear that we get the right result.
What about, what can we say about the security of this protocol?
All right, And I'm assuming that everybody's following the protocol, that there are no, eh, malicious parties here.
So is this protocol secure against any single party?
What do you think?
So is there a single party that can learn anything except the sum of the inputs and whatever follows from his or her input?
Yeah, so this protocol, in fact, right, so th-- this is how it ends, so this protocol, eh, actually is secure against any single party because every party, what it can see, except for the final message, if we look at some, eh, some party in the middle, then it just gets a completely random element of Zm.
And, the last, the only message received by the first guy is the sum of all inputs, which is the output that we must reveal, plus the randomness that he picked, right?
So clearly no information is revealed to anyone, any single party beyond the sum.
But, if you look at, two colluding parties like the first and the third, they can easily, unmask, the second input, therefore compromising, completely compromising the privacy of this second party.
Okay?
And this is, you know, a simple example that's even useful.
It's used, something similar is called DC-NET and is used, to implement anonymity.
And, you can actually get around, it's easy to get around the previous insecurity by just using a more elaborate network, so, we just take a complete graph and direct the edges arbitrarily, so this is a tournament graph.
Now every party, for each outgoing edge, it picks an independent random group element and sends it to the destination of this edge, okay?
So this defines the entire communication in the first round, okay?
We have n choose two, six choose two messages here.
Now, what happens in the second round, each party does a local computation where he takes his own input, adds all the in-box, all the incoming messages, and subtracts all the outgoing messages, all of the out-box, okay?
And this is what every party broadcasts to everyone, sends out to everyone, okay?
So it's clear that if we take, so in the second message, in the second round, we have six messages.
If we add them up, then every random mask will cancel out because it appears in exactly one in-box and one out-box, okay?
And now you can analyze this and show that this protocol, assuming that everybody follows it, is indeed secure against any subset of parties, and more generally, you know, it's a nice exercise in linear algebra to show that, if you can use partial graphs and the combinatorial criterion is that whenever a set does not disconnect the rest of the graph, if you ignore the, the directions on the edges-, then the protocol is secure against this set of colluding parties.
So you can use like expanded or sparse graphs to get good solutions to this problem.
Okay, so more generally, now this immediately calls for the generalization, and I guess I should be very quick here because you know if somebody wants more details on anything, because this stuff really I believe that everyone understands, at least at the intuitive level.
So we have K parties that want to compute some arbitrary function if of their inputs before it was a sum, a modular sum.
Now it's a general function.
We have a parameter T that measures how many parties can collude, and we want them to learn essentially nothing except the output.
And we refer to this as a secure MPC protocol here.
I got it wrong.
It should be MPC protocol for F. Okay, so there are two types of questions one can ask.
The first is, when can we at all do it?
You know, at any cost.
And the second is, how efficiently?
If we can do it, then we want to understand how efficiently.
So this is just a kind of a recap before defining anything formally.
This is pretty much the same in almost every reasonable setting for secure computation.
There are some exceptions, but this is pretty much the state-of-the-art, whether we're talking about passive or active attacks that I will define later.
So in the '80s, we have, we had this these amazing feasibility results, and they showed us that if we want information-theoretic security like in the previous protocol, then we can do it in general if and only if we have an honest majority.
So as long as we have less than K over two out of the K participants are corrupted, we think of them as being corrupted by an adversary.
In the case of computational security, okay, which is of course the typical cryptographic relaxation of information-theoretic security we can get better results.
We can get security in some sense at least under standard cryptographic assumptions for any T, so security against any strict subset of colluding parties.
And as I said before, this is impossible in the standard information-theoretic model.
I should mention that the standard information-theoretic model inc-- assumes the existence of secure point-to-point channels and possibly broadcast channel.
So this is tight, right?
We cannot get it with information-theoretic security, but there are several augmentations of the standard model that allow for information-theoretic security even when there is no honest majority.
For instance, a popular extension is assuming the existence of oblivious transfer, another is the existence of some trusted setup phase that might be implemented using offline pre-processing given which the protocol can achieve information-theoretic security against an arbitrary number of parties.
And just for those who don't know this oblivious transfer or it's referred to also as the OT hybrid model, assumes the availability of an ideal two-partic oracle between any pair of parties that can take a pair of strings from one party called the sender and a selection bit from a second party called the receiver and deliver only the selected string to the receiver without revealing anything else to the receiver or anything about the selection to the sender.
Okay?
This is what I mean by augmenting the standard model with oblivious transfer.
We give this ideal oblivious transfer between any pair of parties.
Okay, so again, this is still at the informal level.
I'll get more formal later in the talk.
As far as efficiency is concerned, the situation is more complex first because we have several different efficiency measures that sometimes are in tension with each other.
We can refer to communication rounds, computation randomness, and known results are more sensitive to the exact flavor of security.
Again, I will talk extensively about the flavors of security we have, but efficiency results tend to be more sensitive naturally to the type of security we require.
It's a very active area of research.
I should say that compared to other areas of crypto, it has a relatively small gap between the best, between those results we can prove under, even under standard, very standard assumptions versus the best solutions or the most efficient solutions we don't know how to break, right?
This is heuristic efficiencies, is the efficiency of the best solutions we don't know how to break.
In this area, we tend to have to kind of have the privilege of not having to deal with these situations where we have great solution, but we don't know how to prove it under any standard assumption.
This happens less often than in most other areas of crypto.
And perhaps in part for this reason, this area you know, it has a very, I think very strong synergy between the theory, I don't want to say practice because it's still not deployed, but there are really a lot of implementation efforts in actual companies that are selling these types of protocols.
So this is now, and we'll hear about it in the next workshop, I believe there will be several talks that deal with actual implementations and concrete efficiency of MPC.
So, you know, when I refer to efficiency in this talk again, this is a theory-oriented talk.
I, I'm referring to asymptotics, but part of the motivation of even finding different ways or asking certain theory questions, right, that's a very broad thing, right?
Why do we care?
Why are we upset so much about, you know, two rounds versus three rounds or all these things?
I think that part of the reason is that these challenges that are mostly theoretical challenges, they force us to think of new ways to solve problems and these new ways might yield an unexpected return and also help perhaps less directly, but help those who care about the practice.
So again, I think that in this area, there is a very good match between theory and practice.
[AUDIENCE MEMBER] Yuval, is there any particular intuition why there should be a small gap between theoretic and [YUVAL ISHAI] Heuristic I think that, in part because a lot of, most of the results have a core which is information theoretic or almost information theoretic or maybe uses a one way function, and then on top of it, and you can make this the bottleneck.
So in many cases, you can amortize the weight, the parts where we do have the gap between, proofs and heuristics.
And in the domain, in the information theoretic domain, we have a tighter understanding or it, a better match between, not being able to attack something to find an actual break and being able to prove that it works.
So I think this is maybe the high level reason.
And again, it's not a universal truth, but I think it's true to a large extent.
Yes.
[AUDIENCE MEMBER] This contradicts your, what you were saying at the beginning that the MPC is everything.
It's everything.
I'm serious.
I mean, I [YUVAL ISHAI] Didn't say everything, I said just complexity theory and algorithms and, yeah.
Like, not humanities as far as I know, but, uh-- [AUDIENCE MEMBER] I mean, the every most cryptography or pseudo-cryptography that doesn't have hypergraph.
Yeah.
[YUVAL ISHAI] No, I agree.
I, I-- What, what I'm referring here, I, I said I restricted myself to secure function evaluation and, eh, Yeah, you're, you're absolutely right.
So there are certainly fragments of MPC to which this does not apply just because you can cast also those areas of-- very good point.
What I'm saying mainly, eh, is about, eh, this, eh, whole, eh, business of implementing secure function evaluation, which is what, eh, mm-- and also, you know, it's about the type of, eh, constraints you're imposing, right?
So in practice sometimes, say in theory, you want to minimize communication, but what practitioners will tell you communication is not the bottleneck, you need to minimize computation.
But again, I may-- maybe I went a bit too far in this claim, but at least this is, this has been my experience in my research.
There were very few things that, you know, I wanted them to be secure and I could not, you know-- --or they could not be proved to be secure.
Relatively few things.
It's just about mainly about my experience, but I think it also reflects on these implementation efforts.
There are very few compromises people need to make, people who implement the MPC.
You know, sometimes they resort to random workers, but this is to, just to get some kind of a minor improvements, not [AUDIENCE MEMBER] Very big ones, typically.
Yuval?
Yes.
Can you give me an example of a heurist, like what is the best-- Is there a particular thing that you have in mind, like, eh-- [YUVAL ISHAI] No, I mean, if you look at the I.O., right?
So you can make a heuristic leap of faith and assume that your I.O. is an ideal obfuscation, and now you can get, all the applica-- the beautiful applications that we heard about [AUDIENCE MEMBER] Previously.
Anything in particular of secure function evaluation, like what do you consider, what are you considering as the best heuristic [YUVAL ISHAI] Algorithm?
So I, I will mention, eh-- so, so again, ev-- every, every problem has its own heuristics, but I'm just, eh, sa-- saying this as a kind of a general claim that is consistent with what I know about most of the things I've done and things that people who implement protocols do.
Okay, so, right.
So, you know, I guess that I don't have to tell you about this RELIDEAL paradigm which has been a very powerful idea that probably originated from the seminal work on probabilistic encryption, and then zero knowledge, and then the first works on MPC, ending with the UC framework and this paradigm tells us that in order to define security, we don't try to enumerate a list of security properties, which is both tedious and incomplete.
But instead, we just try to make the general statement that we have some ideal solution in mind, the one we are axiomatically happy with, namely it's a solution, the previous solution using Kim, right?
That you send all inputs to the trusted party and he hands back all the outputs.
This is the type of solution we're willing to live with, and now we want our actual distributed solution that does not involve a trusted party to be as secure.
Or in other words, any attack that exists against the protocol has a matching attack that achieves something similar when attacking the ideal implementation.
Okay?
And by achieve, what I mean by achieve?
Achieve contains two types of things.
Also there are interactions between them, but essentially we're talking both about the secrecy of data, so learning about secrets of other parties, and also about correctness being able to influence.
And this is relevant only when the attacker, the adversary is active.
If it's passive, then we only care about secrecy.
And this type of intuition can be captured formally via the notion of a simulator which again captures both secrecy or privacy, correctness, and also more subtle things like independence of inputs, right?
We don't know, we don't want the inputs of the adversary to depend in some way on the inputs of the honest parties.
Okay, so, when we want to formalize this, we have this adversary that attacks the real protocol.
So the adversary just corrupts a set of parties and interacts with the honest parties.
The honest parties also talk with each other, but the main point that they care about is the interaction between the adversary and the honest parties.
By the way, do people know who this guy is?
I guess that Israelis should, but this is a, a famous Israeli psycho-- a parapsychologist or someone who claims to have supernatural powers.
And this is the skeptic, his arch-nemesis, who is basically claiming this is a simulator.
What he's claiming is that there are all these hackers that brag that they can break everything they want to.
So he says, "Okay, you know, whatever you achieve by breaking, by supposedly breaking the protocol, I can do in this ideal implementation."
Right?
So if you can figure out that the input of some honest party is bigger than seven, right?
Maybe because the function allows us to compute the millionaire's problem, right?
So you could do it also in the ideal model, right?
So I can do it as well.
But if you can bend the spoon, this is what-- this is his trademark, I can do it as well.
You know, so the simulator basically is telling the adversary that he has no edge over what can be done by attacking the ideal implementation, right?
And we also need to capture the influence of the adversary on the honest parties.
It's not enough to look at, so if we only considered what the adversary-- so without loss of generality, we can just consider everything the adversary can see, right?
So if we only require that this, what the adversary can see is the same or essentially the same as what the simulator can generate, right?
The simulator doesn't see, it's very boring.
The simulator's world is very boring, so he needs to make up for what he doesn't, the stuff he doesn't see.
So if we only require that this is distributed, the same as this, then, this only captures the secrecy, right?
What the adversary learns.
If we want to also capture influence of the adversary, then we also need to look at the outputs of the honest parties in both of these games, and we need to consider these two distributions jointly.
So we can look at correctness alone, so it's this equal to this-- eh, sorry, privacy alone, it's, this is distributed the same as this.
Correctness alone is this is equal, is distributed the same as this.
But the actual definition requires that the joint distribution of these two is the same as the joint distribution of these two, and this is strictly stronger than, you know, requiring separately both privacy and correctness.
I mean, each of these notions alone is very problematic.
It does not compose and so on.
So, we really must consider the two things together.
Okay And it's convenient to formalize this using this notion of an environment which serves as a kind of a referee to see whether, you know, they're really the same.
And we say that the protocol is secure if no environment, the goal of the environment is to output a bit, and you know, the protocol is insecure if the environment can have a significant advantage in distinguishing between these two protocols, or these two interactions.
And what the environment can do, it can pick inputs, you know, for the honest parties.
It can interact with the adversary or the simulator.
It does not know who it is interacting with, but its interaction with the honest parties is restricted to picking inputs and receiving outputs.
And in the end, it outputs some bits, and we say that the protocol securely realizes F, if for every adversary there is a simulator such that no environment can distinguish between the left side and the right side.
And we have an important distinction, eh, between the stand-alone case, again, I'm being here a bit, eh, simplistic, but, eh, one of the crucial differences between the stand-alone, eh, setting for MPC and the universally composable setting is that in the stand-alone case, the environment basically lets only active in the beginning and in the end.
So in the beginning, it picks inputs and sends them to, you know, the honest parties and the adversary, and in the end, it takes outputs from the adversary or the simulator and the honest parties.
In the UC setting, which we'll talk a bit more about later, the environment can interactively interrogate the adversary or the simulator in order to distinguish between them, and in particular, this enforces what is known as straight line simulation.
Okay, so, eh, there's actually too many, you know, the-- now I'm going to get, eh, in more details about different variants of MPC, and there are actually more variants of MPC than we want.
But the good news is that, most natural questions are not too sensitive to the distinction between these models.
There are several important distinctions, but most of the distinctions are unimportant from the point of view of most natural questions.
We have many different ways of, you know, transferring results from one model to another, and also the community has kind of converged to a small number of standard models, so it's not as if, you know, you can write a new paper for every combination of the parameters that I will specify next.
Okay But, now I do want to give some, overview of the different variants of definitions of MPC.
So when you want to define a concrete MPC model, you need to specify-- or a concrete MPC task rather than model, you need to specify a functionality which tells you what it is that you want to achieve, a network model that tells you, you know, how parties can talk to each other what the adversary can do, so this tells us how we're going to do it.
Right, so the adversaries belongs to the adversaries, so you need to define what the adversary can do, who it can corrupt, how many parties it can corrupt, in what way it can corrupt parties, and we need to specify a security type which kind of quantifies in a way what level of protection we get, or what kind of protection we get.
Okay, functionality, as I said, it captures the ideal goal and specifies a solution using a trusted party.
Sometimes we put into the functionality also some inevitable vulnerabilities.
Right?
So it's not always exactly what we want.
Sometimes we know we cannot get what we want, so we modify the functionality to get the next best thing which might be realizable.
So typically, when people talk about secure function evaluation, they think about a non-reactive functionality, which is the mapping from a capable of inputs to a capable of outputs.
There is also a more general case and very important and useful.
For instance, if you want to capture commitment and similar primitives, you need to talk about reactive functionalities, which you can think of it as an actual algorithm that has state information and it can really interact with the parties in multiple rounds.
For the case of non-reactive functionalities, which will be the focus of almost all of the talk there is a distinction between deterministic and randomized.
There is a distinction between the case of a single output that is known to all or to one party, versus multiple outputs, which is the case denoted here.
And the various standard ways of moving from, so if you have in the list there, if you have a protocol that works in the least general model, say, deterministic single output, you can easily extend it using standard techniques, perhaps with some loss of efficiency, but you can easily extend it to the most general model of reactive, randomized multiple outputs.
So it's mainly for giving us a language to express the things we want in a better way.
As I said we sometimes augment a functionality to capture some vulnerabilities we are willing to tolerate, either because we have to or because we don't know other, we need to write a paper.
So for instance, a common relaxation is to allow the functionality to receive input from an adversary, so specifying some allowable influence or information that the adversary can learn beyond just the output of corrupted parties, which it can always learn.
And let me stress that the question of, is it a good idea to compute this functionality securely is not an obvious one, because also in this ideal solution the adversary does learn information, right?
If we compute the sum function and the adversary, you know, corrupts five out of the six people, then you can completely figure out how much travel support the poor guy is receiving.
So so, so the question of which functionality is safe to compute is really out of scope for this talk and in general for the area of MPC, and this is precisely the scope of differential privacy which Cynthia will talk about tomorrow.
So this is actually common misconception.
People think that, yeah, if you apply MPC, then it makes security problems go away, and this is very far from being the case.
Sometimes analyzing the security of solutions that involve a trusted party, that's really the main issue.
[AUDIENCE MEMBER] Yeah, you're right.
A good example for that is encryption, that leaks the size or down in the size of the information, and-- Yes, [YUVAL ISHAI] Ver-- very good, yeah.
[AUDIENCE MEMBER] --there's big world attacks that use just-- [YUVAL ISHAI] Yeah.
Very good, Yeah.
This is really, you know perhaps the best example for why these things are useful.
Okay, so network model, there is a distinction between synchronous and asynchronous.
In the stand-alone model, most of the body of research works in the synchronous model.
In the two-party case there is no issue so much.
But in the multi-party case somehow the research of MPC has almost entirely converged in the stand-alone case to talk about synchronous communication.
How realistic it is, I really don't know.
I guess that reality is in between.
The asynchronous model is too pessimistic.
The synchronous model might be a bit optimistic, but I guess that you can use timing or other things to enforce or to approximate synchronous communication.
There is a distinction between secure point-to-point channels versus open channels.
In the information-theoretic setting, we always assume a secure point-to-point channels unless we allow more powerful stuff like oblivious transfer or correlated randomness.
Authenticated versus unauthenticated communication, and we assume here that everything is authenticated.
Full network versus partial network, and as I mentioned we have these helper functionalities like oblivious transfer, broadcast you know, a lot of work on crypto using in, or MPC using noisy channels, and something that's very, very important in the context of UC is something, some flavor of a CRS, common reference string or common random string that is needed for many applications.
Okay, the adversary we need to specify something called an adversary structure which tells us which sets of parties the adversary can corrupt.
We just look at the simple case of a threshold T of corrupted-- or number of corrupted parties, but in almost all cases, eh, these results can be generalized to more general types of adversary structures.
There is a big distinction between the case of an honest majority versus no honest majority.
Again, the information theoretic setting is really the main reason, but also in the computational setting, there are differences between what can be achieved in both cases.
A big distinction is between the passive or also known as semi-honest adversary that follows the protocol.
It's like a virus that doesn't want to be detected, so it doesn't modify the behavior of corrupted parties, but it does observe other information, versus active which can do anything.
There's also some intermediate notions like honest looking and so on, but these are the main notions.
And another important distinction is between assuming the adversary to be bounded, usually polynomial time, versus a completely unbounded adversary which can do any computation.
Finally, there is a question of how corrupted parties are picked, so there is a static model where they need to be picked in advance before the protocol begins; the adaptive model which says that the adversary can dynamically corrupt the parties as long as it never corrupts more than T parties; and mobile model captures the situation where the adversary can move corrupted parties as long as at any point in time, at most T are corrupted.
Okay, so security type, as I said, a big distinction between stand-alone and UC.
Quality of simulators, so the distinction between stand-alone and UC is quite pervasive.
I will not get to all of these details, but, essentially, the standard UC definitions today are quite long and the stand-alone definitions are quite concise.
So the UC model, involves a lot of things which aim to capture very general situations.
The quality of simulator can be perfect versus statistical versus computational.
When I said that the environment cannot distinguish, I did not say, you know, how powerful is the environment and how much do these output bits can differ.
So in the perfect case, the environment is unbounded and cannot distinguish at all.
In the statistical case, it can have a negligible advantage in distinguishing and still it's, unbounded, and in the computational case, it's the usual notion of computational indistinguishability.
Simulators: Simulator can also be bounded, unbounded or something is in between that is also useful, in some cases.
Typically, for the purpose of this talk, simulators are always, roughly as efficient as adversaries.
And, in terms of, output delivery, again, this is something that could be captured by, the functionality, by relaxing the functionality, but sometimes it's just convenient to specify the functionality in a simple way, so it's a mapping from K inputs to K outputs, and then when there is no honest majority, we cannot achieve this, notion of full security in general.
Full security means that everybody receives the output, right?
So in the case of an honest majority, even if we settle for computational security, there are these impossibility results that I'll mention later, and so there are all these relaxed notions.
Fair security means that either everyone gets the output or nobody gets the output, so the adversary can basically, disrupt everything but then he doesn't learn anything.
The kind of, standard notion, for, the stand-alone and also in a sense in the UC model is so-called security with abort, which means that the adversary can learn the output and then decide whether the correct output will be delivered to the honest parties or not, so it gives the adversary some unfair advantage.
And there is some stronger notion which is security with identifiable abort which means that, in the event that the adversary decides to abort, it must sacrifice some corrupted party by revealing its identity to the honest parties.
Actually, Vassilis will give a talk later today, eh, which will mention this notion.
It's not as well known.
Okay, so the setting of information-theoretic security, just to put it within this, previous, criteria, so we're talking about an unbounded adversary, important distinction between active and passive.
We will assume an honest majority with point-to-point channels or a OT oracle or correlated randomness.
In a sense, you can think of an OT oracle as a special type of correlated randomness.
There are secure point-to-point channels and broadcast if we have, an active adversary, so there is, this boundary where we need to assume broadcast.
We cannot get it information theoretically.
If there are less than one-third of the parties are corrupted, then we can even realize broadcast using point-to-point channels.
And the security is typically but not always, so people identify information-theoretic security or in general with unconditional security.
This is not necessarily the case, so there are quite a few unconditional information-theoretic results which are conditional just because we cannot prove.
I mean, it's not very common, but there are still quite a few such results.
There might be, you know, if we manage to prove that there, you know, one-way functions exist, we might have unconditional computational results, but this is not very realistic at this point.
And you know, one nice thing about talking about information-theoretic security is that it usually, again, not always but almost always, it also, these protocols tend to be universally composable and also adaptively secure.
Okay?
So th-- th-- there is, eh, so-- some work, eh, by, by, eh, Eyal Ta'alen-Yoda that-- that shows that in some special cases, you can actually prove that Information-Theoretic Security implies UC security, but it's not the case in general.
But almost all natural protocols which are Information-Theoretic secure are also adaptively secure and UC secure.
So that's a nice bonus for working in Information-Theoretic model, including the case where we have no honest majority.
So if we have two-party protocols, use OT or correlated randomness, and they're natural, they will almost always be UC secure.
Okay, composition is a major theme in MPC research.
It's been really the topic of many, many, many works.
I believe it was, eh, kind of pioneered by, by, eh, Ran Canetti, eh, th-- even though there were many earlier attempts.
But today, only Ran survived basically, the last man standing.
So, eh yeah, so there were actually e-- e-- a lot of, eh, earlier efforts, but today, eh, I think that the works of Ran on UC security are the most well known in the context of composition.
So the goal of a composition or the composition theorem takes the following form.
It says that if we have a protocol that can be proved, that we can prove that it is secure for f, but it needs to call some subroutine, some oracle g, right, which is an ideal functionality, right?
So we have this physical implementation of ideal functionality, like an ideal subroutine which the protocol can call.
And given this oracle, it can securely realize f.
And now, we have some other implement-- an actual implementation of this functionality g by an actual protocol, okay?
So this is pi of f given g.
This is pi g.
It securely realizes g.
Then what is the natural thing to do?
To take every oracle call in the first protocol and replace it by an execution of this, inner protocol for g, right?
It's like taking a subroutine call and replacing it by the actual code of the subroutine.
And we expect, right, this is true for subroutines, we expect, the result, to work, right, the protocol to be secure.
Unfortunately, this is not always the case.
But let me first explain, why this is such an important question.
It has two types of motivation.
First motivation is looking outwards.
It ensures that if we prove that, you know, our protocol is secure under composition, it means that you can safely plug it in some higher level application and think of it as if, or analyze it as if, you have an ideal piece of hardware that computes this function, right?
And this is much easier than getting into the internals of the protocol.
And a different motivation which is actually not less important, even though, you know, maybe originally this was the main motivation for composition, I think that nowadays when people try to actually build a lot of protocols and they care about efficiency, it's becoming super important to design protocols in a modular way.
And this is important for the same reason and more, that code is built in a modular way.
So you can analyze different components separately.
You can optimize each component separately.
If you optimize one component, then all applications that use this component can benefit from this optimization, so it's really hard to overestimate the importance of this for protocol design.
So in particular, something that's very useful is this is an example of this, is assuming an OT oracle.
So you know, even though initially I motivated it as a way to get Information-Theoretic security, actually, nowadays, most of the implementations, they make extensive use of OT, so they think, they analyze their protocols in the OT hybrid model.
And then they can plug in --Because of composition theorems, they can plug in some very efficient implementations of OT, right?
So this is very useful and is actually being used in protocols that are being implemented.
So the stand-alone definitions that, as I said, are much simpler, they can support some kind of composition, but this is sequential composition.
It means that you cannot make these two subroutine calls concurrently.
You need to make one, and then once it's done, once the execution completes, you can execute the other, which is good, but not in many cases, not good enough.
And the UC model supports a general, concurrent composition.
Unfortunately, we cannot realize UC security for many useful functionalities, or most useful functionalities.
We cannot realize them UC securely without any kind of setup, and there has been a lot of work on understanding what types of relaxations are realizable.
And as I said before, in the case where we have an honest majority, then we can realize UC security with no setup other than the existence of secure channels, which can also be realized UC securely using PKI or-- Okay, so let me just recap.
Until now, I talked about feasibility.
I defined diff-- I gave different definitional variants, and the feasibility question is can we realize, you know, a given functionality in a given model?
So even though the high order bits have been settled, I guess, for quite a long time, there are many, many, many remaining questions, and I will just give some examples of popular lines of research.
There are many other lines of research that talk about the feasibility in, in certain, eh, maybe less studied MPC models.
Type of very popular recent line of research is this revisiting the fairness question.
So there is this classical result of Clive that says that we cannot do coin tossing and as a result, say we cannot compute XOR of two bits fairly.
And this created the misconception that you know almost nothing can be done fairly or that very few useful things can be computed fairly.
And and the breakthrough work of Gordon et al.
initiated the line of research that attempted to, to understand which functionalities can be realized fairly without an honest majority.
So now we're at a s-- at a state, this is, this is um, just a recent TCC paper by by Gilad, Amos et al.
And this paper gives a full characterization for the case of two-party deterministic functionalities that output a single bit to the same bit to two parties.
So that's a special of special of special case, which took a lot of effort to figure out.
Can [MANOJ] You say that again?
[YUVAL ISHAI] Yeah.
So, it's two-party functionalities that are deterministic.
They output a single bit and the same bit is output to the two parties.
So this case and they're finite, right?
They have you view the constant size input.
So this case has been solved recently.
Okay, still you know, tons of other cases.
We are in a somewhat similar, a bit better situation in terms of understanding which functionalities can be computed with information theoretic security.
Actually, this is a line of research that was initiated by by Eyal.
And uh, so here, sorry Eyal, this was before Joe.
Eyal and Beaver actually had the first works on characterizing the two-party case.
And there has been really also a large body of work trying to complete this characterization and the latest is work people in the audience here Maji, Manoj and Amit who completed this characterization for the case of finite non-reactive functionalities.
Right?
So you increase finite, meaning that the domain size you view it as constant, you increase the domain size, And again, these are not just hypothetical questions.
So for instance, let me ask the following question.
Can you design a small hardware token given which you can get information theoretic obfuscation, right?
So you can cast this as an instance of the general question or, you know, you can, you can the whole lines of work, say on crypto based on hardware tokens, that if we had these general characterization for functionalities that are big, then these things would follow as special cases.
But our theory is not nearly developed enough to capture all these useful cases beyond what we know and even this is quite hairy.
So this is really summarizes-- Tal has been involved here as well and I guess that other people in the audience.
Composable security again, a whole li-- line of you know uh, Rafael here Amit Manoj have been involved in lots of works on trying to find creative new ways for getting around the impossibility results.
Um, and Yeah, So I, I will not say abou-- a lot about it, but I'm sure we will hear about it in later talks both in this workshop and in the next one.
One last thing I want to mention.
So I think that one of the challenges, this is not really an open, well-defined open question, but I think that the main issue, at least I'm having with UC security, I mean, it's, it's a great notion and we want everything to be analyzed in this framework, but it's too complex.
I mean, if you try to tell, you know, a mathematician tells you, "You know, you have a theorem, right, claiming this protocol UC secure.
Please write down the complete statement of the theorem."
You cannot do it.
You can refer to pages and pages of definitions that refer to each other.
So there has been a, so there is an upcoming uh, crypto paper by Canetti et al.
That proposes some simpler version of the UC model which captures, It, it's more restricted in scope than the general UC model.
It's in a good direction, but at least skimming it, I feel that it still leaves a lot to be desired.
So I think that Uli Maurer has some ideas in how to do it right.
I think that really this is an important endeavor to get a version of the UC framework that captures the essence.
Maybe it's not general enough to capture all real life situations, but it's enough to capture the essence and eliminate all the noise, right?
A lot of what is done in UC proofs is noise.
It doesn't have to do with the essence.
Yes?
[AUDIENCE MEMBER] Is the standalone model a lot easier or is it just no one tried to formalize it [YUVAL ISHAI] No, no.
Standalone model, you can write a self-contained definition in a few lines.
I mean, you can look at Goldweiss' book.
I mean, it's standalone definitions are very easy.
[AUDIENCE MEMBER] You can, Even if you talk about just self-composability, it's very easy.
[YUVAL ISHAI] Yeah.
But [AUDIENCE MEMBER] Only when you move to general compositing [YUVAL ISHAI] It's very easy.
Yeah.
So I'm saying that in the, in the, um-- Again, many of these things are, are just a matter of taste or choice whether to be general or be succinct, but those who favor succinctness right now don't have a really good way of even stating results in the UC model.
And this, I think, should be done.
[AUDIENCE MEMBER] So you a-- uh, just a minu-- you mentioned obfuscation, I'm just curious, do we have any composition theorem for obfuscation?
You can obfuscate little piece, you can obfuscate big piece, but except for this oracle calls?
[YUVAL ISHAI] So again, as Amit said, if you look at even VBB, it's problematic, but if you consider ideal obfuscation, just as an ideal functionality, then composition is trivial.
No, and I think that my response, if you want to take the current IO candidates and use them, suppose they were practical, so you could just assume this is an ideal obfuscation, as opposed to VBB obfuscation, and then you don't have to deal with, I mean, again, it's not an ideal obfuscation, but you make the leap of faith, you analyze the protocols as if it's ideal obfuscation, and then you don't need to deal with composition issues for obfuscation.
[AUDIENCE MEMBER] Yeah.
Would it be a good design to design, like, big obfuscated programs?
If you obfuscate little pieces and some co-- glue them, or that seems kind of compli-- I mean, that doesn't seem like it should work.
I [YUVAL ISHAI] Mean, you, you, you should refer the, the question to those who understand the obfuscation more than me, but, but I mean, ju-- just taking Amit's word, I think that there is no good theory of composable obfuscation.
Right, [MANOJ] Amit?
We do have some, Oh, [YUVAL ISHAI] So Mano-- Yeah, So Manoj you, you will talk about it in the-- [MANOJ] In the next workshop.
[YUVAL ISHAI] Okay, very good.
So.
[MANOJ]?
[YUVAL ISHAI] Right, and Finally yeah, I guess that this will be a good time to take a break, right?
How much, when is my hour over, in-- [AUDIENCE MEMBER] In a few more minutes.
[YUVAL ISHAI] In a few more minutes.
Okay, good.
So I'll continue a bit.
So, finding new ways for deriving feasibility results.
So, the second part of my talk will be mostly about showing different ways to get feasibility results.
Why do we need to get yet more ways?
And two reasons.
One is sometimes what we have is not simple enough, right?
If you look at the textbook, like definition, it's a textbook proof of the GMW protocol from, say, Goldweck's book, it's still n-- not n-- not short and not elegant, so it's not something you really believe is the right-- I mean, the intuition is always very clear and simple.
We have good intuition in mind, but for some of the protocols but there is a gap between how simple we feel this should be and how simple it really is when you need to write down the protocols and the proofs.
So, finding new ways and simple ways could potentially make things better, but also, this relates to a point I made before, when we look at efficiency, then finding, being forced to find new ways, they will always be better in some settings.
So whenever you have a different solution to a problem, there will always be a setting where this different solution will win and give you better things.
So I think that nowadays, the interest in the practical efficiency of MPC also further motivates finding new ways to solve old problems.
Okay, so let's take a break.
(applause)
Up Next

Stanford CS229: Building Large Language Models (LLMs) | ML Lecture
@stanfordonline
1.8M views•2024-08-27

LLM Preference Tuning Explained: RLHF, PPO, DPO | Stanford CME295
@stanfordonline
22.2K views•2025-11-14

Bypassing Tor Censorship: Bridges and Pluggable Transport Guide
@Coding_ForEveryone
397 views•2024-06-11

Neural Networks Explained: Math, Layers, and Learning Fundamentals
@3blue1brown
21.9M views•2017-10-05
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Artificial Intelligence












![Lec 20 [3/10]: Secure Multi-Party Computation (classroom footage)](https://i.ytimg.com/vi/lYZkrDiECJE/sddefault.jpg?sqp=-oaymwEmCIAFEOAD8quKqQMa8AEB-AH-BIAC6AKKAgwIABABGGUgZShlMA8=&rs=AOn4CLA-liatDvfIFIKXi1pseE73kXYK0Q)



















![zkStudyClub: EOS - Efficient Prover Delegation [Pratyush Mishra - Aleo]](https://i.ytimg.com/vi/bulEa85cptc/hqdefault.jpg)






