Editing Quantum Cheque

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 59: Line 59:
* <math>{|\phi^{(i)}\rangle_{GHZ}}</math> or <math>{\rho^{(i)}_{GHZ}}</math>: <math>n</math> GHZ triplet states where,
* <math>{|\phi^{(i)}\rangle_{GHZ}}</math> or <math>{\rho^{(i)}_{GHZ}}</math>: <math>n</math> GHZ triplet states where,
<div style="text-align: center;"><math>|\phi^{(i)}\rangle_{GHZ} = \rho^{(i)}_{GHZ} = \frac{1}{\sqrt{2}}(|0^{(i)}\rangle_{A_1}|0^{(i)}\rangle_{A_2}|0^{(i)}\rangle_{B} + |1^{(i)}\rangle_{A_1}|1^{(i)}\rangle_{A_2}|1^{(i)}\rangle_{B})</math></div>
<div style="text-align: center;"><math>|\phi^{(i)}\rangle_{GHZ} = \rho^{(i)}_{GHZ} = \frac{1}{\sqrt{2}}(|0^{(i)}\rangle_{A_1}|0^{(i)}\rangle_{A_2}|0^{(i)}\rangle_{B} + |1^{(i)}\rangle_{A_1}|1^{(i)}\rangle_{A_2}|1^{(i)}\rangle_{B})</math></div>
* <math>{\rho^{(i)}_{A_1}}</math>: First entangled qubit from every GHZ triplet state which is given to account holder.
* <math>{|\phi^{(i)}\rangle_{A_1}}</math>: First entangled qubit from every GHZ triplet state which is given to account holder.
* <math>{\rho^{(i)}_{A_2}}</math>: Second entangled qubit from every GHZ triplet state which is given to account holder.
* <math>{|\phi^{(i)}\rangle_{A_2}}</math>: Second entangled qubit from every GHZ triplet state which is given to account holder.
* <math>{\rho^{(i)}_{B}}</math>: First entangled qubit from every GHZ triplet state which stays with bank.
* <math>{|\phi^{(i)}\rangle_{B}}</math>: First entangled qubit from every GHZ triplet state which stays with bank.
* <math>r</math>: Generated random number where <math>r \in \{0,1\}^L</math>.
* <math>r</math>: Generated random number where <math>r \in \{0,1\}^L</math>.
* <math>M</math>: Amount of money account holder signs on the cheque.
* <math>M</math>: Amount of money account holder signs on the cheque.
Line 73: Line 73:
* <math>\chi</math>: Quantum cheque where,
* <math>\chi</math>: Quantum cheque where,
<div style="text-align: center;"><math>
<div style="text-align: center;"><math>
         \chi = (id, s, r, \sigma, M, \{{\rho^{(i)}_{A_1}}\}_{i=1:n})
         \chi = (id, s, r, \sigma, M, \{{|\phi^{(i)}\rangle_{A_1}}\}_{i=1:n})
</math></div>
</math></div>
* <math>\kappa</math>: Threshold constant set as a security parameter by the bank in the swap test.  
* <math>\kappa</math>: Threshold constant set as a security parameter by the bank in the swap test.  
Line 81: Line 81:


'''Stage 1''': Gen</br>
'''Stage 1''': Gen</br>
'''Output''':  Account holder now holds <math>(id, pk, sk, k, s, \{\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}\}_{i=1:n})</math> and Bank now holds <math>(id, pk, k, s, \{\rho^{(i)}_{B}\}_{i=1:n})</math> in their private databases.
'''Output''':  Account holder now holds <math>(id, pk, sk, k, s, \{|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}\}_{i=1:n})</math> and Bank now holds <math>(id, pk, k, s, {\|\phi^{(i)}\rangle_{B}\}_{i=1:n})}</math> in their private databases.


* Account holder and Bank create <math>k</math>.
* Account holder and Bank create <math>k</math>.
Line 89: Line 89:
* For <math>i = 1, 2, ...n</math>:
* For <math>i = 1, 2, ...n</math>:
** Bank generates GHZ triple state <math>|\phi^{(i)}\rangle_{GHZ}</math>
** Bank generates GHZ triple state <math>|\phi^{(i)}\rangle_{GHZ}</math>
** Bank stores <math>\rho^{(i)}_{B}</math> in their private database.
** Bank stores <math>|\phi^{(i)}\rangle_{B}</math> in their private database.
** Bank gives <math>\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}</math> to account holder.
** Bank gives <math>|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}</math> to account holder.
* Bank prepares <math>s</math> and shares it with the account holder.
* Bank prepares <math>s</math> and shares it with the account holder.
* For <math>i = 1, 2, ...n</math>:
* For <math>i = 1, 2, ...n</math>:
** Account holder stores <math>\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}</math> privately.
** Account holder stores <math>|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}</math> privately.
* Account holder now holds <math>(id, pk, sk, k, s, \{\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}\}_{i=1:n})</math>
* Account holder now holds <math>(id, pk, sk, k, s, \{|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}\}_{i=1:n})</math>
* Bank now holds <math>(id, pk, k, s, \{\rho^{(i)}_{B}\}_{i=1:n})</math>
* Bank now holds <math>(id, pk, k, s, {|\phi^{(i)}\rangle_{B}\}_{i=1:n})}</math>




Line 104: Line 104:
* For <math>i = 1, 2, ...n</math>:
* For <math>i = 1, 2, ...n</math>:
** Account holder prepares <math>|\psi^{(i)}\rangle = f(k \mid\mid id\mid\mid r\mid\mid M\mid\mid i)</math>.
** Account holder prepares <math>|\psi^{(i)}\rangle = f(k \mid\mid id\mid\mid r\mid\mid M\mid\mid i)</math>.
** Account holder encodes <math>|\psi^{(i)}\rangle</math> with <math>|\phi^{(i)}\rangle_{GHZ}</math> by combining <math>|\psi^{(i)}\rangle</math> with <math>\rho^{(i)}_{A_1}</math> and performing a bell measurement on the two.
** Account holder encodes <math>|\psi^{(i)}\rangle</math> with <math>|\phi^{(i)}\rangle_{GHZ}</math> by combining <math>|\psi^{(i)}\rangle</math> with <math>|\phi^{(i)}\rangle_{A_1}</math> and performing a bell measurement on the two.
<div style="text-align: center;"><math>
<div style="text-align: center;"><math>
                 |\phi^{(i)}\rangle =  |\psi^{(i)}\rangle \otimes |\phi^{(i)}\rangle_{GHZ}
                 |\phi^{(i)}\rangle =  |\psi^{(i)}\rangle \otimes |\phi^{(i)}\rangle_{GHZ}
</math></div>
</math></div>
** Based on the measurement, account holder performs the suitable error correction, by applying the corresponding Pauli matrix, on <math>\rho^{(i)}_{A_1}</math>:
** Based on the measurement, account holder performs the suitable error correction, by applying the corresponding Pauli matrix, on <math>|\phi^{(i)}\rangle_{A_1}</math>:
         <div style="text-align: center;"><math>
         <div style="text-align: center;"><math>
             |\Phi^{(+)}\rangle  \xrightarrow{} I,
             |\Phi^{(+)}\rangle  \xrightarrow{} I,
Line 127: Line 127:
** else:
** else:
*** Bank continues the verification process.
*** Bank continues the verification process.
* Main branch of the bank performs the measurement in Hadamard basis on its copy of <math>\rho^{(i)}_{B}</math> and obtains outcome <math>|+\rangle</math> or <math>|-\rangle</math>.  
* Main branch of the bank performs the measurement in Hadamard basis on its copy of <math>|\phi^{(i)}\rangle_{B}</math> and obtains outcome <math>|+\rangle</math> or <math>|-\rangle</math>.  
* Main branch communicates this result with the local branch.
* Main branch communicates this result with the local branch.
* For <math>i = 1, 2, ...n</math>:
* For <math>i = 1, 2, ...n</math>:
** Based on outcome, branch performs the corresponding Pauli matrix operation on  <math>\rho^{(i)}_{A_2}</math> to recover <math>|\Psi^{(i)}\rangle</math> : <math>|+\rangle \xrightarrow{} I, |-\rangle \xrightarrow{} \sigma_z</math>
** Based on outcome, branch performs the corresponding Pauli matrix operation on  <math>|\phi^{(i)}\rangle_{A_2}</math> to recover <math>|\Psi^{(i)}\rangle</math> : <math>|+\rangle \xrightarrow{} I, |-\rangle \xrightarrow{} \sigma_z</math>
* For <math>i = 1, 2, ...n</math>:
* For <math>i = 1, 2, ...n</math>:
** Bank computes <math>|\Psi^{,(i)}\rangle </math>, where,
** Bank computes <math>|\Psi^{,(i)}\rangle </math>, where,
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Quantum Protocol Zoo:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Template used on this page: