Gottesman and Chuang Quantum Digital Signature: Difference between revisions

Line 48: Line 48:
<u>'''Stage 1'''</u> Distribution
<u>'''Stage 1'''</u> Distribution
*'''Input''' L
*'''Input''' L
*'''Output''' Seller: <math>\{k_0^i, k_1^i\}</math>, <math>1\le i\ge M</math>, <math>\{f_{k_0^i}, f_{k_1^i}\}</math>
*'''Output''' Seller: <math>\{k_0^i, k_1^i\}</math>, <math>1\le i\le M</math>, <math>\{f_{k_0^i}, f_{k_1^i}\}</math>
**'''Key Generation'''
**'''Key Generation'''
#For m = 0,1
#For m = 0,1
Line 55: Line 55:
###Seller performs <math>k_m^i\rightarrow f_{k_m^i}</math>
###Seller performs <math>k_m^i\rightarrow f_{k_m^i}</math>


**'''Key Distribution: No Trusted Third Party Assumption'''
**'''Key Distribution:''' (No Trusted Third Party Assumption)
#For m = 0,1
#For m = 0,1
##For i=0,M
##For i=0,M
###For j=1,2
###For j=1,2
####Seller sends f_{k_m^i}^j to buyer and verifier
####Seller sends <math>f_{k_m^i}^j</math> to buyer and verifier
####Buyer performs SWAP1(f_{k_m^i}^1, f_{k_m^i}^2)
####Buyer performs '''SWAP1'''<math>(f_{k_m^i}^1, f_{k_m^i}^2)</math>
####If SWAP1= False, Buyer aborts
####If SWAP1= '''False''', Buyer '''aborts'''
####If SWAP1= True, Buyer sends f_{k_m^i}^{b}=f_{k_m^i}^2=f_{k_m^i}^1 to verifier
####If SWAP1= '''True''', Buyer sends <math>f_{k_m^i}^{b}=f_{k_m^i}^2=f_{k_m^i}^1</math> to verifier
####Verifier performs similar steps and sends f_{k_m^i}^{v}=f_{k_m^i}^2=f_{k_m^i}^1 to buyer
####Verifier performs similar steps and sends <math>f_{k_m^i}^{v}=f_{k_m^i}^2=f_{k_m^i}^1</math> to buyer
####Both perform SWAP(f_{k_m^i}^{b},f_{k_m^i}^{v})  
####Both perform SWAP<math>(f_{k_m^i}^{b},f_{k_m^i}^{v})</math>
####If SWAP2= False, protocol aborted
####If SWAP2= '''False''', protocol aborted
####If SWAP2= True, distribution successful
####If SWAP2= '''True''', distribution successful


<u>'''Stage 2'''</u> Messaging
<u>'''Stage 2'''</u> Messaging
   
   
*'''Input''' Seller: Message b, Private Key for k_b
*'''Input''' Seller: Message b, Private Key for <math>k_b</math>
*'''Output''' Buyer: '''1-ACC''' (Message is valid and transferable), '''0-ACC''' (Message is valid but not transferable), '''REJ''' (Message is invlaid)
*'''Output''' Buyer: '''1-ACC''' (Message is valid and transferable), '''0-ACC''' (Message is valid but not transferable), '''REJ''' (Message is invlaid)
**'''Signing:'''  
**'''Signing:'''  
# For i=1,M
# For i=1,M
# Seller sends Buyer (b,k_b^i)
# Seller sends Buyer (b,<math>k_b^i</math>)
# For l = 1,2,..,L
# For l = 1,2,..,L
## Buyer performs k_b^i\rightarrow f_{new}
## Buyer performs <math>k_b^i\rightarrow f_{new}</math>
## Buyer performs SWAP(f_{new},f_{k_b^i})
## Buyer performs '''SWAP'''<math>(f_{new},f_{k_b^i})</math>
## If SWAP= False s_B=s_B+1
## If SWAP= False <math>s_B=s_B+1</math>
#If s_B<c_1M, result '''1-ACC'''
#If <math>s_B<c_1M</math>, result '''1-ACC'''
#If c_1M<s_B<c_2M, result '''0-ACC'''
#If <math>c_1M<s_B<c_2M</math>, result '''0-ACC'''
#If s_B>c_2M, result '''REJ'''
#If <math>s_B>c_2M</math>, result '''REJ'''


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

edits