User:Tylerni7/Cryptographic coin flipping: Difference between revisions
Line 90: | Line 90: | ||
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. <ref name=Mochon /> |
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. <ref name=Mochon /> |
||
==== Quantum weak coin flipping |
==== Quantum weak coin flipping example ==== |
||
A simple example of a weak coin flipping protocol is given by Mochon<ref name=Mochon />: |
|||
requires log log 1/epsilon rounds (ambainis) |
|||
Alice and Bob work in the space <math>\mathbb{C}^3</math> spanned by the vectors <math>|A \rangle, |B \rangle, |U \rangle</math> (representing a win for Alice, Bob, or undecided), and share a message space <math>\mathbb{C}^2</math>. A unitary operation will also be used, which is defined as |
|||
Therefore, for any <math>\varepsilon > 0</math>, there exists a finite round quantum weak coin flipping protocol that achieves bias <math>\varepsilon</math>. |
|||
: <math>\operatorname{Rot}(|\alpha \rangle, |\beta \rangle, \epsilon) = |
|||
\begin{pmatrix} |\alpha \rangle & |\beta \rangle \end{pmatrix} |
|||
\begin{pmatrix} \sqrt{1-\epsilon} & -\sqrt{\epsilon} \\ \sqrt{\epsilon} & \sqrt{1\epsilon} \end{pmatrix} |
|||
\begin{pmatrix} \langle \alpha | \\ \langle \beta | \end{pmatrix} + \begin{pmatrix} I - |\alpha \rangle \langle \alpha | - |\beta \rangle \langle \beta | \end{pmatrix} </math> |
|||
The winner of the coin toss will be whomever first outputs <math>| 1 \rangle</math> in the shared message space. With honest play, the game can be specified by the probability that the <math>i</math><sup>th</sup> message sent is <math>| 1 \rangle</math>, which can be denoted by <math>\{p_i\}</math>. |
|||
At round <math>i</math>, the probability of a win going to Alice, Bob, or being undecided is: |
|||
: <math> |
|||
\begin{align} |
|||
P_A(i) &= \begin{cases} P_A(i-1) & \text{ for i even} \\ P_A(i-t) + p_i P_U(i-1) & \text{ for i odd} \end{cases} \\ |
|||
P_B(i) &= \begin{cases} P_B(i-t) + p_i P_U(i-1) & \text{ for i even} \\ P_B(i-1) & \text{ for i odd} \end{cases} \\ |
|||
P_U(i) &= (1-p_i)P_U(i-1) |
|||
\end{align} |
|||
</math> |
|||
The game proceeds as follows: |
|||
# Alice prepares <math>|U \rangle \otimes |0 \rangle</math> and Bob prepares <math>|u\rangle</math> |
|||
# For <math>i = 1, \ldots, n</math>, (let X represent Alice and her state <math>|A \rangle</math> and Y represent the corresponding quantities for Bob if <math>i</math> is even, otherwise switch X and Y) |
|||
## X applies the operation <math>\operatorname{Rot}(|U \rangle \otimes |0 \rangle, |X \rangle \otimes |1\rangle, p_i)</math> |
|||
## X sends the message qubit to Y |
|||
## Y applies <math>\operatorname{Rot}(|U \rangle \otimes |1 \rangle, |X \rangle \otimes |0\rangle, \frac{p_i P_U(i-1)}{P_X(i)} )</math> |
|||
## Y measures the message qubit. If the output is 1, Y terminates the game and declares foulplay. |
|||
# Alice and Bob will each measure their qutrit. If the outcome is <math>U</math>, they output themselves as the winner, otherwise they report the measurement outcome as the winner. |
|||
For a set of values of <math>\{p_i\}</math> such that <math>p_i \in (0,1)</math> and <math>P_A(n) = P_B(n) = \frac12</math>, this protocol achieves a bias of <math>\frac16</math>. <ref name=Mochon /> |
|||
=== Strong coin flipping === |
=== Strong coin flipping === |
Revision as of 03:02, 6 December 2013
In cryptography a coin toss is a cryptographic primitive which allows two parties, Alice and Bob, 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 as follows:
Alice and Bob want to flip a coin by telephone. (They have just divorced, life in different cities, want to decide who gets the car.) Bob would not like to tell Alice HEADS and hear Alice (at the other end of the line) say "Here goes... I'm flipping the coin.... You lost!"
— Manuel Blum, [1]
Formalism
As a cryptographic protocol, there are a number of questions that are natural to ask about coin tossing, such as:
- Under what conditions is such a protocol secure?
- 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.
If Bob cheats, the bias is the amount he can cause Alice's probability distribution deviate from a uniform probability distribution. We say that the bias is equal to if
Likewise if Alice cheats with bias ,
In this sense, the fairness of a particular protocol can be measured by how small the bias can be.
It is also 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
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 game is simply canceled.
Bit commitment
Bit commitment is a related cryptographic primitive in which Alice chooses a bit and later proves to Bob her choice. A scheme of this sort clearly 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 prove to Bob the outcome she obtained. Bob will win the game if his guess was correct, and Alice will win 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 vs quantum coin flipping
In a classical setting (one in which Alice and Bob cannot share quantum information), the security of coin tossing relies on computational difficulty, which allows the use of bit commitment based on one-way functions. Moreover, 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, they can cheat with the help of these resources to obtain a bias of , making the game always come out in their favor. This result holds both for strong and weak coin flipping (discussed below). [3]
In the case where the coin tossing protocol allows Alice and Bob to exchange quantum information, protocols exist which are unconditionally robust. That is, their security relies on the laws of physics, and therefore the protocol works so long as Alice and Bob obey physical laws.
Quantum coin flipping
In a quantum coin flipping protocol, a single game can be regarded as an interactive proof between Alice and Bob. Looking at one player in particular, Bob's goal is to prove to Alice that he flipped a coin without cheating, whereas Alice's goal is to verify his proof is correct. Alice and Bob are each allowed to perform any operations they choose, represented as unitary operations , in their respective Hilbert spaces, which we will denote as for Alice and Bob, respectively. Additionally, after one party completes a computation, they will send some output to their opponent, using the shared message space .
The states Alice interacts with are always in the Hilbert space , and can be denoted as at round of a coin flipping exchange. After passing through Alice's unitary for that round, the state can then be written as . Using the partial trace, the state in Alice's space can easily be written as . When Bob operates on the message space and his own space, Alice's state cannot change. Therefore . Further, each of the states can be described as the partial trace over of a state in the full Hilbert space . Using the purification theorem, two pure quantum states, , in the Hilbert space can be constructed, such that .
The unitary equivalence of purifications then guarantees that for any two pure states, , whose partial traces are equal, there is a unitary operator such that . Therefore, Bob is guaranteed a strategy to take to by choosing .
At the end of the game, Alice and Bob must each make measurements on their quantum state in order to determine the outcome of the coin toss. Most generally this can be thought of as a positive operator valued measurement (POVM), which has outcomes for the coin returning 0, 1, or perhaps also an abort signal, if cheating is detected. The probability of any particular outcome associated with measurement with final state is then returned with probability .
With this formulation, it is possible to present any cheating strategy for a player in a quantum coin tossing game as a semidefinite program (SDP). A cheating player seeks to maximize the probability of a certain result at the end of the game, , by maximizing over all choices of intermediate states for the opponent . As noted above, any set of values in which Alice's values are consistent is achievable by some unitary strategy for Bob, and so Bob need only maximize over all values.
So the SDP for Bob maximising his chance of winning (by he and Alice obtaining the result 1) can be written as
And the dual problem can be worked out and simplified to
Where can be interpreted as sub-goals for Bob--at each step he wants to maximize . [4]
Weak coin flipping
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
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:
- Alice prepares and Bob prepares
- For , (let X represent Alice and her state and Y represent the corresponding quantities for Bob if is even, otherwise switch X and Y)
- X applies the operation
- X sends the message qubit to Y
- Y applies
- Y measures the message qubit. If the output is 1, Y terminates the game and declares foulplay.
- 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
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
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 a game in which Alice and Bob are both playing fairly, 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 .
Multiparty coin flipping
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
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] :
- 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.
- If the number of parties is odd, the party with the highest label will advance to the next round automatically.
- 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:
- Each of the players publicly assign themselves to a random bin, or
- If bin contains less than parties, they advance to the next round. Otherwise the parties in advance to the next round.
- 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
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
- Bit commitment
- Coin flipping
- Randomized communication complexity
- Oblivious transfer
- Quantum cryptography
- Quantum interactive proofs
References
- ^ Manuel Blum, Coin Flipping by Telephone, Proceedings of CRYPTO 1981, pp. 11–15, 1981, reprinted in SIGACT News vol. 15, pp. 23–27, 1983.
- ^ Adrian Kent, Coin Tossing is Strictly Weaker Than Bit Commitment, Physical Review Letters 83, pp. 5382–5384, 1999.
- ^ Döscher, C., and M. Keyl, An introduction to quantum coin tossing, Fluctuation and Noise Letters 2.04 (2002): R125-R137.
- ^ a b Alexei Kitaev, Quantum Coin Flipping Presentation at the 6th Workshop on Quantumm Information Processing (QIP 2003), 2002.
- ^ a b c d Carlos Mochon, Quantum weak coin flipping with arbitrarily small bias] arXiv preprint arXiv:0711.4114 (2007)
- ^ André Chailloux and Iordanis Kerenidis. Optimal quantum strong coin flipping Foundations of Computer Science, 2009. FOCS'09. 50th Annual IEEE Symposium on. IEEE, 2009.
- ^ a b Uriel Feige, Noncryptographic selection protocols, Foundations of Computer Science, 1999. 40th Annual Symposium on, pp142-152. IEEE, 1999.
- ^ 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.