Arbitrated Quantum Digital Signature: Difference between revisions

Line 87: Line 87:


==Pseudocode==
==Pseudocode==
'''Stage 1''': Key Distribution </br>
<u>'''Stage 1'''</u> 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>)
Line 97: Line 97:
# 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.1''': Messaging: Signature</br>
<u>'''Stage 2.1'''</u> Messaging: Signature</br>
'''Input''': Seller (<math>k_{pri}</math>, <math>m</math>, <math>k_{pub}</math>)  
'''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>
'''Output''': PKG (<math>|F\rangle</math>), Buyer (Signature <math>(ts, m, B_P,|S\rangle_{k_{pri}, m})</math>
Line 107: Line 107:
#For <math>l = 1, 2, ...n</math>:
#For <math>l = 1, 2, ...n</math>:
##Seller chooses <math>B_l \epsilon_R\{+,\times\}</math>
##Seller chooses <math>B_l \epsilon_R\{+,\times\}</math>
##Seller measures in basis B_l: <math>B_l(|P\rangle_l)=m_l</math>
##Seller measures in basis B_l: <math>B_l(|P_l\rangle)=m_l</math>
##'''If''' <math>B_l = +</math> '''then'''
##'''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>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>B_l = \times</math> '''then'''
###'''If''' <math>m_l=0</math> '''then''' <math>P_l=10</math> '''else''' <math>P_l=11</math>
###'''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>:
** For <math>l = 1, 2, ...n</math>:
## For <math>l = 1, 2, ...n</math>:
# The quantum digital digest state <math>|F\rangle_l</math> is prepared by Signer, where:
### <math> |F\rangle_l =  |F(t_l||m_l||P_l|| t_l s_l)\rangle_l</math></div>
<div style="text-align: center;"><math> |F\rangle_l =  |F(t_l||m_l||P_l|| t_l s_l)\rangle_l</math></div>
# Seller encrypts <math>VC(k_{at},(ts, \otimes^{uw}_{l=1}|F\rangle))=E_{k_{at}} and sends to PKG
# PKG decrypts  <math>VC(k_{at},E_{k_{at}})=(ts, \otimes^{uw}_{l=1}|F\rangle)</math>
# PKG announces publicly that the quantum digest is ready.
# Seller transmits '''Signature''' <math>(ts, m, B, |S\rangle_{k_{pri}, m})</math> to buyer.


 
<u>'''Stage 2.1'''</u> Messaging: Verification</br>
* Signer encrypts <math>|F\rangle</math> using quantum Vernam cipher and sends <math>E_{k_{at}}(ts, \otimes^{uw}_{l=1}|F\rangle)</math> to PKG.
'''Input:''' Buyer (Signature <math>(ts, m, B, |S\rangle_{k_{pri}, m})</math>, public key <math>(k_pub)</math>)
* PKG decrypts  <math>E_{k_{at}}(ts, \otimes^{uw}_{l=1}|F\rangle)</math> using <math>k_{at}</math> and gets <math>(ts, \otimes^{uw}_{l=1}|F\rangle)</math>.
'''Output''': Buyer accepts or rejects the signature
* PKG announces publicly that the quantum digest is ready.
* Buyer operates: <math>|V\rangle_{m, k_{pub},S}</math>.
* Signer transmits <math>(ts, m, B_P, |S\rangle_{k_{pri}, m})</math> to Verifier, which is the signature.
 
'''Stage 3''': Verification</br>
'''Output''': <math>m</math> is considered valid or is rejected by the Verifier.
* Verifier receives <math>|k\rangle_{pub}</math> from open channels.
* Verifier generates the state <math>|V\rangle_{m, k_{pub},S}</math>.
* For <math>l = 1, 2, ... w</math>:  
* For <math>l = 1, 2, ... w</math>:  
** Verifier measure the state <math>|V\rangle_{{(m, k_{pub},S)}_{l}}</math> according to the basis (diagonal or horizontal) in <math>B_{P_l}</math>.
** Verifier measure the state <math>|V\rangle_{{(m, k_{pub},S)}_{l}}</math> according to the basis (diagonal or horizontal) in <math>B_{P_l}</math>.
Write, autoreview, editor, reviewer
3,129

edits