User:Tylerni7/Cryptographic coin flipping

In cryptography a coin toss is a cryptographic primitive which allows two physically separated parties, Alice and Bob, who do not trust each other to establish a shared random bit. This idea is a cryptographic analogue of a coin flip, in which Alice and Bob will both observe the outcome (heads or tails, or equivalently a bit 0 or 1) of a coin. However, when Alice and Bob are physically separated, this becomes a difficult prospect. The concept of a non-local coin toss was first posed in 1981 by Manuel Blum. [1]

A simple scenario where this primitive may be useful is the following. Imagine Alice and Bob, who do not trust each other, want to play a game of chess over the phone. In order to determine who gets to make the first move, they wish to toss a coin. Clearly if one party flips a coin and reports the result, it is possible for them to lie. The goal of a cryptographic coin tossing protocol, however, is to make it possible for the parties to agree on an outcome that neither can influence heavily.


Formalism

edit

A coin toss is a cryptographic communications protocol. The protocol dictates what information Alice and Bob can generate and when they should share it with each other. The players do not have a source of shared randomness, but can perform any local operations they wish (though they may have bounded computational power). A cheating player may choose to not follow the protocol, but must still communicate messages which conform to the protocol. For example, if a step requires five random bits to be sent from Bob to Alice, he may instead send non-random bits, but he still must send five.

As a cryptographic protocol, there are a number of questions that are natural to ask about coin tossing, such as:

  • With what types of players can such a protocol deliver a truly random bit?
  • Can the requirements of the coin toss be relaxed to make it easier for Alice and Bob to carry out?
  • How certain can one be that their opponent did not cheat?
  • If one's opponent does cheat, how can that be detected and proven?

To attempt to answer these questions, the problem of coin tossing is formalised thusly:

Denote the probability of Alice determining the result of the coin toss is the bit   and Bob determining the result is the bit   to be   If neither Alice nor Bob cheat, the outcome of the coin tossing protocol should have the following probabilities

 

In other words, Alice and Bob should always agree on the outcome bit, which should have an equal chance of being 0 or 1.

Of course, it is possible that Alice or Bob does not follow the protocol when playing the game in order to try to adjust the outcome in their favor. In this case we want to know the bias, or how strongly one party can skew the probability distribution of the coin toss if the protocol is not followed.

It is useful to note the maximum probability of a certain outcome when Alice or Bob is cheating. Letting   represent any possible strategy for Alice and Bob, respectively, the maximum probabilities that can be obtained by cheating are

 


We say that the bias is at most   if

 

In this sense, the fairness of a particular protocol can be measured by how small its bias is.

Additionally, one may also consider the case in which one party detects the other party cheating. In this case, the coin flipping game can be modified to allow for some chance of an abort signal, in which case no bit is derived and the protocol is abandoned.

Classical coin flipping

edit

In a classical setting (one in which Alice and Bob do not share quantum information), the security of coin tossing relies on the presumed computational difficulty of solving certain problems. When the two parties have bounded computational resources, one-way functions can be used to implement bit commitment.

Bit commitment is a related cryptographic primitive in which Alice chooses a bit and and can later prove to Bob her choice of bit, if challenged to do so. A scheme of this sort allows for coin tossing: Alice can commit to the outcome of a coin toss, the outcome of which she does not reveal to Bob. Bob guesses whether Alice's coin was heads or tails, and communicates his guess to Alice. Alice can then use the bit commitment scheme to reveal to Bob the outcome she obtained. Bob wins the game if his guess was correct, and Alice wins otherwise.

Although the protocols seem related, bit commitment is strictly more powerful than coin tossing. That is, while the bit commitment primitive can be used to implement coin tossing, a coin tossing primitive cannot be used to implement bit commitment. [2]

Classical coin flipping is not possible if players are allowed unlimited computational power. That is, if Alice or Bob have access to arbitrary computational resources, at least one party can cheat to obtain a bias of  , making the game always come out in their favor. This impossibility result holds both for strong and weak coin flipping (discussed below). [3]


Quantum coin flipping

edit
 
A portion of a quantum coin flipping game, with Hilbert spaces   assigned to Alice, Bob, and the message space between them, respectively.

In the case where the coin tossing protocol allows Alice and Bob to exchange and compute with quantum information, protocols exist which are unconditionally robust. That is, their security relies on validity of quantum mechanics as the true laws of physics, and therefore the security guarantees on the protocol hold so long as Alice and Bob obey the rules imposed by quantum theory.

A quantum coin flipping protocol is an example of a quantum game between Alice and Bob. Informally, in such protocols, the two parties hold some number of qubits; the qubits with each party are initialized to a fixed pure state. The initial joint state is therefore unentangled across Alice and Bob. The two parties then play in turns. Suppose it is Alice's turn to play. Alice applies a unitary transformation on her qubits and then sends one or more qubits to Bob. Sending qubits does not change the overall superposition, but rather changes the ownership of the qubits. This allows Bob to apply his next unitary transformation on the newly received qubits. After a pre-determined number of rounds of play, each player makes a measurement of their qubits and announces the outcome as the result of the protocol.

Formally, the players Alice and Bob, hold some number of qubits. The Hilbert spaces corresponding to Alice's private quits, the message quits, and Bob's private quits are denoted as  , respectively. When the protocol starts, all the qubits are initialized to state . The communication consists of   alternations of message exchange ("rounds"), in which the two players "play". The protocol specifies which player plays first. In the  th round,  , suppose it is Alice's turn to play. Alice applies a unitary operator   to the qubits in  . Then, Alice sends the qubits in   to Bob. Consequently, Bob's state space after receiving the  th message is  . In the next,  th round, Bob may thus apply unitary operation   to the message qubits previously in Alice's control.

At the end of the   rounds of play, Alice and Bob observe the qubits in their possession according to some measurement with outcomes   or "abort". The outcomes of these measurements represent their outputs. We emphasize that there are no measurements until all rounds of communication are completed. A protocol with intermediate measurements may be transformed into this form by appealing to standard techniques.

When both parties follow the protocol, they do not abort. In other words, only get outcomes   or  . Further, each party outputs the same bit and each bit occurs with probability  .

As in the classical protocol, cheating players need not send or prepare quantum states as dictated by the protocol, but must send messages which conform to the protocol in terms of number of qubits sent. In particular, a cheating player may maintain an arbitrary number of qubits for their private use, may apply arbitrary unitary transformations to the qubits in their control, and an arbitrary measurement at the end of the protocol. These possibilities together capture all possible cheating strategies allowed by quantum mechanics.

Semidefinite programming formulation

edit

Kitaev[4] showed that the maximum cheating probability for a player in a quantum coin tossing game can be formulated as a semidefinite program (SDP). We present the SDP corresponding to Bob cheating in order to maximize outcome  . The other cases are similar.

For concreteness, assume that Alice plays first, and that the number of rounds   is even. Denote the state (reduced density matrix) of the qubits corresponding to the space   at the beginning of round  , by  . Initially,  . Now consider an odd round  . After Alice applies the unitary   in round  , the state becomes  . Alice then sends the qubits corresponding to   to Bob. The state of Alice's qubits, corresponding to space  , can be written as  . In round  , when Bob operates on the message qubits and his private quits, the reduced density matrix of Alice's qubits does not change. Therefore  . Bob seeks to maximize the probability of outcome  at the end of the game, i.e.,  . Thus, the maximum cheating probability is at most the optimum of the following SDP:  

In fact, every feasible solution of the SDP corresponds to a possible cheating strategy for Bob. Consider such a feasible solution and a purification  , with   of the state   for each odd  . Then   is a purification of  . Since  , the unitary equivalence of purifications then guarantees that there is a unitary operator   on   such that  . Thus, we get a cheating strategy for Bob that achieves probability equal to the objective function value of the SDP, and that the SDP characterizes the optimum cheating probability for Bob.

The dual of the above SDP is :

 

The dual variables   may be interpreted as sub-goals for Bob: at each step   he wishes to maximize  .[4]


Weak coin flipping

edit

A weak coin flipping protocol is one in which Alice and Bob each have a prefered (and opposite) outcome. The protocol restricts Alice and Bob from biasing the outcome of a coin too far in their favor. However, it makes no restrictions on how much they may bias it towards their opponents prefered outcome. This is a natural way to represent a coin flipping protocol: Alice and Bob each pick a side of the coin, and whoever guessed the outcome correctly wins.

Without loss of generality, Bob can prefer the outcome 1, and Alice the outcome 0, and so the weak coin flipping protocol has the restriction that

 

Unconditional weak coin flipping protocols exist only for quantum players. With quantum information and a multi-round protocol, it is also possible for a quantum weak coin flipping protocol to achieve an arbitrarily small bias. [5]

Quantum weak coin flipping example

edit

A simple example of a weak coin flipping protocol is given by Mochon[5]:

Alice and Bob work in the space   spanned by the vectors   (representing a win for Alice, Bob, or undecided), and share a message space  . A unitary operation will also be used, which is defined as

 

The winner of the coin toss will be whomever first outputs   in the shared message space. With honest play, the game can be specified by the probability that the  th message sent is  , which can be denoted by  .

At round  , the probability of a win going to Alice, Bob, or being undecided is:

 

The game proceeds as follows:

  1. Alice prepares   and Bob prepares  
  2. For  , (let X represent Alice and her state   and Y represent the corresponding quantities for Bob if   is even, otherwise switch X and Y)
    1. X applies the operation  
    2. X sends the message qubit to Y
    3. Y applies  
    4. Y measures the message qubit. If the output is 1, Y terminates the game and declares foulplay.
  3. Alice and Bob will each measure their qutrit. If the outcome is  , they output themselves as the winner, otherwise they report the measurement outcome as the winner.

For a set of values of   such that   and  , this protocol achieves a bias of  . [5]

Strong coin flipping

edit

A strong coin flipping protocol is one in which biases away from randomness in either direction are limited. That is, Alice (or Bob) is not able to force either heads or tails to show up more than a certain amount. This is in contrast to weak coin flipping (in which each player has a prefered coin face), and is somewhat less of a natural way to represent the problem. Nevertheless, a strong coin flipping protocol meets all the criteria of a weak coin flipping protocol, but with some additional guarantees.

The restriction in the strong coin flipping case can be written as

 

Note that now both Alice and Bob are trying to maximize the probability the other player returns 1 (though this can equivalently be 0 for both players).

In the quantum setting, unconditional strong coin flipping protocols exist, but they suffer from a large bias of  . It has been shown that this is the smallest bias possible for strong quantum coin flipping. [4] Additionally, it has been shown that a weak coin flipping protocol can be used to construct strong coin flipping protocols with biases arbitrarily close to the optimum. [6] [5]

Proof of quantum strong coin flipping lower bound

edit

Using the SDP formulation of a quantum coin flipping game given above, the lower bound on   is fairly simple. Taking   to be Alice's equivalent value for Bob's  , and   to be the set of intermediate states in an honest game (Alice and Bob both following the protocol), define

 

By the constraints seen in the SDP formulation,  . Also using our SDP, along with strong duality,   must be   Additionally, from the above formula and strong duality on our SDP, we can see that  , and by the definition of a fair coin tossing game,  . Therefore  , which means that the minimum value we can get for   and   is  . This gives us a bias of  . [4]

Multiparty coin flipping

edit

Multiparty coin flipping generalizes the idea of Alice and Bob securely flipping a coin to   parties flipping a coin. As before, if all parties are honest, a multiparty coin flip should output 0 or 1 with equal probability. Additionally, all parties should agree on the outcome, denoted  , of the coin toss. Cheating is generalized from one player diverging from the protocol and the other being honest to having   parties play honestly and the remaining   cheating. If at least   players follow the protocol, the bias is bounded

 

In the classical setting, nontrivial protocols (those in which  ) exist with unconditional security only when the majority of players are honest. In a general classical setting, a bias of   can be achieved when  . [7]

However, quantum multiparty coin flipping has nontrivial protocols for any nonzero fraction of honest players. Dishonest players are afforded infinite computational abilities, so long as they obey quantum mechanics, as well as unlimited communication with the other dishonest players. Messages between two parties are also considered secure, so that dishonest players can read the message space only if dictated by the coin flipping protocol.

A common primitive used in classical multiparty communication is a broadcast. However, in the quantum setting, this is generally impossible. However, a variant can be used along with two-party coin tosses to construct a quantum multiparty coin flipping protocol.

Quantum multiparty coin flipping protocol

edit

The quantum broadcast channel used here[8] is a channel that maps the space   to   (a one qubit to k qubit channel). This channel's action can be seen by it's action on a general qubit state  . Each of the k qubits will then be distributed to each of the parties who are to receive the broadcast. This can be implemented unitarily using CNOT gates.

When all parties are honest, this channel has the following properties:

  • One quantum broadcast can be simulated with   uses pairwise quantum channels
  • One classical broadcast can be simulated with one quantum broadcast
  • One use of a pairwise quantum channel can be simulated using   quantum broadcasts.

Additionally, if exactly one party follows the broadcast protocol honestly, replacing any of these actions with their simulated counterparts will not give the dishonest parties any advantage.

A quantum multiparty coin flipping protocol between parties labelled   can then be constructed as follows [8] :

  1. For  , have parties   and   perform a two party weak coin toss. The winner will advance to the next stage of the protocol, and the loser will not.
  2. If the number of parties is odd, the party with the highest label will advance to the next round automatically.
  3. When only two parties remain, they use a two party strong coin tossing protocol to determine the outcome of the overall game.

Recall that a weak coin toss is possible with arbitrarily small bias, and a strong coin toss is possible with bias arbitrarily close to  . So the probability of a particular honest player advancing to the final round is  , and the probability of a particular cheating player advancing to the final round is  .

If a game has only one honest player, analysis is simple: the total bias for the game will be

 

To generalize to the case of multiple good players, the lightest-bin protocol can be implemented from the classical multiparty coin tossing procedure. [7] This procedure works as follows to select a committee of   parties:

  1. Each of the   players publicly assign themselves to a random bin,   or  
  2. If bin   contains less than   parties, they advance to the next round. Otherwise the parties in   advance to the next round.
  3. Repeat this process until   parties remain.

Here,   is a function approximately equal to   defined as follows: represent   as  , where   is the largest integer possible so that  . Then  .

This selection procedure has the property that if there were originally a fraction of honest parties  , with probability at least   a committee of size order   will be selected with at least one honest party.

Thus, the multiparty coin tossing protocol can be modified to first use the lightest-bin protocol to shrink the number of parties to a fraction of order  . With good probability, this will still contain one honest player. Then using the multi-party coin tossing protocol with one honest party, the expected bias is  . Thus, the bias for the multiparty coin tossing protocol with multiple good parties is  .

Optimal quantum multiparty coin flipping

edit

For any specific coin flipping protocol, let the probabilities   represent the largest probability that party   can be convinced of outcome   by the other players, and let   be the probability of outcome   when all parties play honestly. Clearly  , as the probabilities must be equal when all parties play honestly.

If   represents the maximum probability that any party can force a particular output,

 

Grouping together the parties into   parties acting together, the optimal bias a protocol can achieve is

 

Therefore, the protocol presented above is asymptotically optimal. [8]

See also

edit

References

edit
  1. ^ Manuel Blum, Coin Flipping by Telephone, Proceedings of CRYPTO 1981, pp. 11–15, 1981, reprinted in SIGACT News vol. 15, pp. 23–27, 1983.
  2. ^ Adrian Kent, Coin Tossing is Strictly Weaker Than Bit Commitment, Physical Review Letters 83, pp. 5382–5384, 1999.
  3. ^ Döscher, C., and M. Keyl, An introduction to quantum coin tossing, Fluctuation and Noise Letters 2.04 (2002): R125-R137.
  4. ^ a b c d Alexei Kitaev, Quantum Coin Flipping Presentation at the 6th Workshop on Quantumm Information Processing (QIP 2003), 2002.
  5. ^ a b c d Carlos Mochon, Quantum weak coin flipping with arbitrarily small bias] arXiv preprint arXiv:0711.4114 (2007)
  6. ^ André Chailloux and Iordanis Kerenidis. Optimal quantum strong coin flipping Foundations of Computer Science, 2009. FOCS'09. 50th Annual IEEE Symposium on. IEEE, 2009.
  7. ^ a b Uriel Feige, Noncryptographic selection protocols, Foundations of Computer Science, 1999. 40th Annual Symposium on, pp142-152. IEEE, 1999.
  8. ^ a b c Andris Ambainis, Harry Buhrman, Yevgeniy Dodis, and Hein Rohrig, Multiparty quantum coin flipping, Computational Complexity, 2004. Proceedings. 19th IEEE Annual Conference on, pp. 250-259. IEEE, 2004.