Arbitrated Quantum Digital Signature: Difference between revisions

Jump to navigation Jump to search
Line 123: Line 123:
'''Input:''' Buyer (Signature <math>(ts, m, B, |S\rangle_{k_{pri}, m})</math>, public key <math>(k_{pub})</math>)</br>
'''Input:''' Buyer (Signature <math>(ts, m, B, |S\rangle_{k_{pri}, m})</math>, public key <math>(k_{pub})</math>)</br>
'''Output''': Buyer accepts or rejects the signature
'''Output''': Buyer accepts or rejects the signature
* Buyer operates: <math>|V\rangle_{m, k_{pub},S}</math>.
# Buyer operates: <math>Y^mH^{k_{pub}}|S\rangle_{k_{pri}, m}=|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>.
##Buyer measures <math>|V\rangle_{{(m, k_{pub},S)}_{l}}</math> in basis <math>B_l: B_l(|V_l\rangle_{{(m, k_{pub},S)}_{l}})=m_l</math>
** The result of the measurement is recorded as <math>|Q\rangle_l</math>, which is converted to <math>Q_l</math>.
##'''If''' <math>B_l = +</math> '''then'''
* <math>t</math> is inferred by the Verifier using <math>Q</math>
###'''If''' <math>m_l=0</math> '''then''' <math>Q_l=00</math> '''else''' <math>Q_l=01</math>
* Verifier gains <math>(ts, \otimes^{w}_{l=1} |F\rangle)</math> from PKG.
##'''If''' <math>B_l = \times</math> '''then'''
* For <math>k = 1, 2, ... w'</math>:  
###'''If''' <math>m_l=0</math> '''then''' <math>Q_l=10</math> '''else''' <math>Q_l=11</math>
** Verifier generates <math>|F\rangle'</math> using <math>F</math> by the calculation
# Buyer obtains <math>t=g(Q)</math>
<div style="text-align: center;"><math> |F\rangle' = |F(t||m||Q||t s)\rangle</math></div>
# Buyer receives <math>(ts, \otimes^{w}_{l=1} |F\rangle)</math> from PKG.
** Verifier gains <math>(ts, |F\rangle)</math> from PKG.
# For <math>k = 1, 2, ... w'</math>:  
** Verifier performs SWAP test between <math>|F\rangle</math> and <math>|F\rangle'</math>.
## Buyer generates <math> |F\rangle' = |F(t||m||Q||t s)\rangle</math></div>
* If <math>w'>w_0</math> and measurement result everytime =  <math>|0\rangle'</math>:
## Buyer receives <math>(ts, |F\rangle)</math> from PKG.
**  Verifier counts the message <math>m</math> as valid.
## Buyer performs SWAP test: '''QSWAP'''(|F\rangle,|F\rangle')
* else:
##If '''QSWAP'''=true, '''then''' w'=w'+1
** <math>m</math> is rejected by the Verifier.
# If <math>w'>w_0</math> buyer '''accepts'''
#'''Else''' buyer '''rejects'''


==Further Information==
==Further Information==
Write, autoreview, editor, reviewer
3,129

edits

Navigation menu