implements Coin Flipping
Introduction
This protocol allows two remote participants to share a uniformly distributed random bit. The parties do not trust each other and can only use classical and quantum channels to communicate. The protocol allows them to perform what coin tossing for nearby parties performs without the involvement of any trusted third party.
Outline
We consider two parties who wish to perform a coin tossing experiment remotely. Two single qubit quantum states are initially decided which have equal probability distribution in the computational basis and label them 0 and 1. The Coin Tossing protocol consists of 5 steps:
- Both the parties prepare an equal number of random bits.
- Now, both parties prepare another equal number of random bits for each random bit prepared in step 1. For each random bit thus prepared, each party sends the other party a pair of qubits in the two states defined earlier, the sequence of which is decided by the random bit.
- Both the parties now announce the xor of each random bit prepared in the second step with the corresponding random bit from the first step. Based on the value of the xor operation performed by the other party, each party returns one of the two qubits it received in the second step. For every random bit prepared in the first step, each party is now left with qubits in the state labelled by the other partyโs random bit.
- Both the parties now announce their random bits which they prepared in the first step. They also measure the qubits they did not return based on the values of the random bits announced by the other party. If any of the measurement fails, the protocol aborts.
- For every random bit prepared in the first step, each party now also measures the qubits they were returned back. If any of the measurement fails, the protocol aborts.
The final bit of each of the party is the xor of xor of the random bits they prepared in the first step and xor of the bits they measured in the fourth step. This final bit is the random bit which has come up in the โcoin tossโ. Thus ends the protocol.
Assumptions
acheck
Requirements
- Network Stage:ย Fully Quantum Computing Network Stage
- Authenticated Quantum channel capable of sending a pair of qubits
- Authenticated Classical channel to send multiple bits
- Quantum memory for both parties to store qubits
- Measurement Devices for each party
- Random bit generator for each party
Notation
- $\psi(i)\ \forall\ i \in \{0,1\}$: Predetermined single qubit states.
- $\theta$: Angle between $\psi(0)$ and $\psi(1)$.
- $a_j$: A random bit prepared by the first party in step 1.
- $b_j$: A random bit prepared by the second party in step 1.
- $\{a_1, โฆ, a_m\}$: Set of random bits prepared by first party in step 1.
- $\{b_1, โฆ, b_m\}$: Set of random bits prepared by second party in step 1.
- $c_{ij}$: A random bit prepared by the first party in step 2.
- $d_{ij}$: A random bit prepared by the second party in step 2.
- $\{c_{11}, โฆ, c_{nm}\}$: Set of random bits prepared by first party in step 2.
- $\{d_{11}, โฆ, d_{nm}\}$: Set of random bits prepared by second party in step 2.
- $\Phi(i)$: Set of $n$ qubits, each in $\psi(i)$ state.
- $(E_i, E_i^{\perp})$: POVMs defined by $E_i = |\Phi(i)\rangle\langle\Phi(i)|$ and $E_i^{\perp} = 1 โ E_i$.
Properties
- The protocol is successfully completed when both parties are honest.
- If any of the parties is dishonest at any step, the protocol simply aborts.
- The attack on the protocol can generate a bias which is greater than $O(1/{m^{3}})$ and less than $1/m$.
- The proposed unconditionally secure quantum protocol realises a non-exact coin tossing.
Technical Description
Two single qubit quantum states $\psi(0) = c|0\rangle + s|1\rangle$ and $\psi(1) = c|0\rangle โ s|1\rangle$, where $c, s \in \mathbb{R}$ are defined such that the angle between them is $\theta$.
$\theta$ is proposed to be $\pi / 9$. Thus, $\Phi(0) = \otimes_{k=1}^{n} \psi(0)$ and $\Phi(1) = \otimes_{k=1}^{n} \psi(1)$.
- For $j = 1, 2, โฆ, m$:
- First party picks at random a bit $a_j$.
- Second party picks at random a bit $b_j$.
- For $i = 1, 2, โฆ, n$:
- For $j = 1, 2, โฆ, m$:
- The first party picks a random bit $c_{ij}$ and sends a pair of qubits in the state $\psi(c_{ij}) \otimes \psi(\bar{c}_{ij})$ to the second party.
- The second party picks a random bit $d_{ij}$ and sends a pair of qubits in the state $\psi(d_{ij}) \otimes \psi(\bar{d}_{ij})$ to the first party.
- For $j = 1, 2, โฆ, m$:
- For $i = 1, 2, โฆ, n$:
- For $j = 1, 2, โฆ, m$:
- The first party announces $e_{ij} = a_j \oplus c_{ij}$.
- The second party returns the second particle if $e_{ij} = 0$ and the first particle otherwise.
- The second party announces $f_{ij} = b_j \oplus d_{ij}$.
- The first party returns the second particle if $f_{ij} = 0$ and the first particle otherwise.
- At this stage:
- For every $j$, the $n$ qubits sent by the first party and not returned by the second party are in the state $\Phi(a_j)$.
- The $n$ qubits sent by the second party and not returned by the first party are in the state $\Phi(b_j)$.
- The $n$ qubits returned by the first party are in the state $\Phi(\bar{b}_j)$.
- The $n$ qubits returned by the second party are in the state $\Phi(\bar{a}_j)$.
- For $j = 1, 2, โฆ, m$:
- For $j = 1, 2, โฆ, m$:
- First party announces $a_j$.
- Second party announces $b_j$.
- Second party executes POVM $(E_{a_j}, E_{a_j}^{\perp})$ on $\Phi(a_j)$ and notes the outcome $\tilde{a}_j$.
- First party executes POVM $(E_{b_j}, E_{b_j}^{\perp})$ on $\Phi(b_j)$ and notes the outcome $\tilde{b}_j$.
- If either $\tilde{a}_j = \perp$ or $\tilde{b}_j = \perp$, the protocol aborts.
- For $j = 1, 2, โฆ, m$:
- First party measures the returned state $\Phi(\bar{a}_j)$ with POVM $(E_{\bar{a}_j}, E_{\bar{a}_j}^{\perp})$.
- Second party measures the returned state $\Phi(\bar{b}_j)$ with POVM $(E_{\bar{b}_j}, E_{\bar{b}_j}^{\perp})$.
- If either of the outcomes is $\perp$, the protocol aborts.
Final bits:
- First partyโs final bit is $A \oplus \tilde{B}$, where $A = \bigoplus_j a_j$ and $\tilde{B} = \bigoplus_j \tilde{b}_j$.
- Second partyโs final bit is $\tilde{A} \oplus B$, where$\tilde{A} = \bigoplus_j \tilde{a}_j$ and $B = \bigoplus_j b_j$.
Experimental Implementations
No content has been added to this section, yet!
Related Codes
| Description | Link |
|---|---|
| Based on "Unconditionally Secure Quantum Coin Tossing". | Link |
| A SimulaQron implementation of the quantum coin flipping protocol. | Link |
Further Information
No content has been added to this section, yet!
References
- Mayers, Dominic, Louis Salvail, and Yoshie Chiba-Kohno. โUnconditionally secure quantum coin tossing.โย arXiv preprint quant-ph/9904078ย (1999).


Leave a Reply