Quantum Cheque: Difference between revisions

153 bytes removed ,  5 February 2020
no edit summary
No edit summary
No edit summary
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>{|\phi^{(i)}\rangle_{A_1}}</math>: First entangled qubit from every GHZ triplet state which is given to account holder.
* <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_2}}</math>: Second 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_{B}}</math>: First entangled qubit from every GHZ triplet state which stays with bank.
* <math>{\rho^{(i)}_{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, \{{|\phi^{(i)}\rangle_{A_1}}\}_{i=1:n})
         \chi = (id, s, r, \sigma, M, \{{\rho^{(i)}_{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, \{|\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.
'''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.


* 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>|\phi^{(i)}\rangle_{B}</math> in their private database.
** Bank stores <math>\rho^{(i)}_{B}</math> in their private database.
** Bank gives <math>|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}</math> to account holder.
** Bank gives <math>\rho^{(i)}_{A_1}\rho^{(i)}_{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>|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}</math> privately.
** Account holder stores <math>\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}</math> privately.
* Account holder now holds <math>(id, pk, sk, k, s, \{|\phi^{(i)}\rangle_{A_1}|\phi^{(i)}\rangle_{A_2}\}_{i=1:n})</math>
* Account holder now holds <math>(id, pk, sk, k, s, \{\rho^{(i)}_{A_1}\rho^{(i)}_{A_2}\}_{i=1:n})</math>
* Bank now holds <math>(id, pk, k, s, {|\phi^{(i)}\rangle_{B}\}_{i=1:n})}</math>
* Bank now holds <math>(id, pk, k, s, {\rho^{(i)}_{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>|\phi^{(i)}\rangle_{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>\rho^{(i)}_{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>|\phi^{(i)}\rangle_{A_1}</math>:
** Based on the measurement, account holder performs the suitable error correction, by applying the corresponding Pauli matrix, on <math>\rho^{(i)}_{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>|\phi^{(i)}\rangle_{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>\rho^{(i)}_{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>|\phi^{(i)}\rangle_{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>\rho^{(i)}_{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,
Write
153

edits