Arbitrated Quantum Digital Signature: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 85: Line 85:


==Pseudocode==
==Pseudocode==
'''Stage 1''': Key Generation </br>
'''Stage 1''': Key Distribution </br>
'''Input''': Seller and PKG (<math>k_at</math>)</br>
'''Input''': Seller and PKG (<math>k_at</math>)</br>
'''Output''': Seller and PKG (<math>k_{pri}</math>); Everyone (<math>k_{pub}</math>)
'''Output''': Seller and PKG (<math>k_{pri}</math>); Everyone (<math>k_{pub}</math>)


* PKG generates <math>k_{pub}= f(</math>Seller's email-id)
#PKG generates <math>k_{pub}= f(</math>Seller's email-id)
* PKG chooses <math>G</math>, <math>k_r</math>
# PKG randomly chooses <math>G</math>, <math>k_r</math>
* PKG calculates <math>k_{pri} := G(k_{pub}) \oplus k_{r} </math>
# PKG calculates <math>k_{pri} := G(k_{pub}) \oplus k_{r} </math>
* PKG encrypts <math>VC(k_{at},k_{pri})=E_{k_{at}}</math>
# PKG encrypts <math>VC(k_{at},k_{pri})=E_{k_{at}}</math>
* Seller decrypts <math>VC(k_{at}, E_{k_{at}})=k_{pri}</math>.
# Seller decrypts <math>VC(k_{at}, E_{k_{at}})=k_{pri}</math>.


'''Stage 2''': Signature</br>
'''Stage 2.1''': Messaging: Signature</br>
'''Output''': PKG receives the quantum digest <math>|F\rangle</math> and the Verifier receives the Signature <math>(ts, m, B_P,|S\rangle_{k_{pri}, m})</math> from the Signer.
'''Input''': Seller (<math>k_{pri}</math>, <math>m</math>, <math>k_{pub}</math>)
 
'''Output''': PKG (<math>|F\rangle</math>), Buyer (Signature <math>(ts, m, B_P,|S\rangle_{k_{pri}, m})</math>
* Signer wants to sign the message <math>m</math>.
* Signer selects <math>s</math> and <math>t</math>.
* For <math>l = 1, 2, ...n</math>:
** Signer generates the state <math>|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math>, which is:
<div style="text-align: center;"><math> |\phi\rangle_{s_l,t_l\oplus m_l, m_l}  = Y^{m_l}H^{s_l}U_{\frac{\pi}{4}}H^{t_l\oplus m_l}|0\rangle</math></div>
* For <math>l = 1, 2, ...n</math>:
** Signer generates the Signature quantum state <math>|S\rangle_{{k_{pri}}_l,m_l}</math>, which is
<div style="text-align: center;"><math> |S\rangle_{{k_{pri}}_l,m_l} = H^{k_{pub_l}\oplus k_{pri_l}}|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math></div>
* For <math>l = 1, 2, ...n</math>:
** Signer generates the private key  quantum state <math>|P\rangle_l</math>, which is
<div style="text-align: center;"><math>|P\rangle_l = H^{k_{pri_l}} |\phi\rangle_{s_l, t_l\oplus m_l}</math></div>
**  The classical <math>P_l</math> is calculated based on <math>|P\rangle_l</math>.
** The basis set is formed by Signer is:
<div style="text-align: center;"><math>  B_{P_l} = Basis(|P\rangle_l) \in \{+,\times \} </math></div>


# Seller randomly chooses <math>s</math> and <math>t</math>.
# For <math>l = 1, 2, ...n</math>:
## Seller operates <math>Y^{m_l}H^{s_l}U_{\frac{\pi}{4}}H^{t_l\oplus m_l}|0\rangle=|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math>
#For <math>l = 1, 2, ...n</math>:
## Seller generates <math> |S\rangle_{{k_{pri}}_l,m_l} = H^{k_{pub_l}\oplus k_{pri_l}}|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math>
#For <math>l = 1, 2, ...n</math>:
## Seller generates <math>|P\rangle_l = H^{k_{pri_l}} |\phi\rangle_{s_l, t_l\oplus m_l}</math></div>
#For <math>l = 1, 2, ...n</math>:
##Seller chooses B_l \epsilon_R\{+,\times\}
##Seller measures in basis B_l: <math>B_l(|P\rangle_l)=m_l</math>
##'''If''' <math>B_l = +</math> '''then'''
###'''If''' <math>m_l=0</math> '''then''' <math>P_l=00</math> '''else''' <math>P_l=01</math>
##'''If''' <math>B_l = \times</math> '''then'''
###'''If''' <math>m_l=0</math> '''then''' <math>P_l=10</math> '''else''' <math>P_l=11</math>
* For <math>k = 1, 2, ...u w</math>: Different copies of the quantum digital digest state is prepared.
* For <math>k = 1, 2, ...u w</math>: Different copies of the quantum digital digest state is prepared.
** For <math>l = 1, 2, ...n</math>:
** For <math>l = 1, 2, ...n</math>:
Write, autoreview, editor, reviewer
3,125

edits

Navigation menu