Gottesman and Chuang Quantum Digital Signature: Difference between revisions

No edit summary
 
Line 60: Line 60:
##For i=0,M
##For i=0,M
###Seller generates classical bits <math>k_m^i</math>
###Seller generates classical bits <math>k_m^i</math>
###Seller performs quantum one way map: <math>k_m^i\rightarrow |f(k_m^i)\rangle</math>
##Seller performs quantum one way map: <math>k_m^i\rightarrow |f(k_m^i)\rangle</math> 4 times for each element, so to have 4 copies denoted <math>|f(k_m^i)\rangle^j</math> with j from 1 to 4


**'''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
###Seller sends <math>|f(k_m^i)\rangle^j</math> to buyer for j=1,2 and verifier for j=3,4
####Seller sends <math>|f(k_m^i)\rangle^j</math> to buyer and verifier
###Buyer performs '''QSWAP TEST'''<math>(|f(k_m^i)\rangle^1, |f(k_m^i)\rangle^2)</math>
###Buyer performs '''QSWAP TEST'''<math>(|f(k_m^i)\rangle^1, |f(k_m^i)\rangle^2)</math>
####If QSWAP TEST= '''False''', Buyer '''aborts'''
###If QSWAP TEST= '''False''', protocol aborted
####If QSWAP TEST= '''True''', Buyer sends <math>|f(k_m^i)\rangle^{b}=|f(k_m^i)\rangle^2=|f(k_m^i)\rangle^1</math> to verifier
###If QSWAP TEST= '''True''', Buyer sends any of <math>|f(k_m^i)\rangle^2, |f(k_m^i)\rangle^1</math> (supposedly equal) to verifier, we will denote it with b superscript
####Verifier performs similar steps and sends <math>|f(k_m^i)\rangle^{v}=|f(k_m^i)\rangle^2=|f(k_m^i)\rangle^1</math> to buyer
###Verifier performs similar steps and sends any of <math>|f(k_m^i)\rangle^3, |f(k_m^i)\rangle^4</math> (supposedly equal) to buyer, we will denote it with v superscript
####Both perform '''QSWAP TEST'''<math>(|f(k_m^i)\rangle^{b},|f(k_m^i)\rangle^{v})</math>  
###Both perform '''QSWAP TEST'''<math>(|f(k_m^i)\rangle^{b},|f(k_m^i)\rangle^{v})</math> on the copies they have
####If QSWAP TEST= '''False''', protocol aborted
###If QSWAP TEST= '''False''', protocol aborted
####If QSWAP TEST= '''True''', distribution successful
###If QSWAP TEST= '''True''', distribution successful


<u>'''Stage 2'''</u> Messaging
<u>'''Stage 2'''</u> Messaging
Anonymous user