Write, autoreview, editor, reviewer
3,129
edits
Line 93: | Line 93: | ||
==Pseudo Code 2== | ==Pseudo Code 2== | ||
'''function''' key_distribution(n,L) | '''function''' key_distribution(n,L) | ||
'''For''' k = 0 to 2^n | '''For''' k = 0 '''to''' <math>2^n</math> | ||
'''function''' key_generation (L) | '''function''' key_generation (L) | ||
'''For l=1 to L | '''For l=1 '''to''' L | ||
<math>\beta_k^l=</math>choose<math>_R(\{0,1,+,-\})</math> //random classical bits | <math>\beta_k^l=</math>choose<math>_R(\{0,1,+,-\})</math> //random classical bits | ||
'''qubit''' |\beta_k^l\rangle= create(\beta_k^l) //a quantum state generation with classical input | '''qubit''' |\beta_k^l\rangle= create(\beta_k^l) //a quantum state generation with classical input | ||
Line 106: | Line 106: | ||
<math>|\psi_{Vk}\rangle=|\psi_k\rangle</math> | <math>|\psi_{Vk}\rangle=|\psi_k\rangle</math> | ||
Seller<math>\xrightarrow[]{(k,|\psi_{Bk}\rangle)}</math>Buyer | Seller<math>\xrightarrow[]{(k,|\psi_{Bk}\rangle)}</math>Buyer | ||
Seller<math>\xrightarrow[]{(k, | Seller<math>\xrightarrow[]{(k,|\psi_{Vk}\rangle)}</math>Verifier | ||
'''end for''' k | '''end for''' k | ||
'''end function''' key_distribution</br> | '''end function''' key_distribution</br> | ||
'''function''' state_elimination | '''function''' state_elimination(<math>|\psi_k\rangle</math>,L) | ||
'''For''' l = 1 | '''For''' l = 1 '''to''' L | ||
<math>b_k^l=</math>Choose<math>_R(\{X,Z\})</math> //randomly chosen measurement basis | <math>b_k^l=</math>Choose<math>_R(\{X,Z\})</math> //randomly chosen measurement basis | ||
'''if''' <math>b_k^l=</math>Z '''then''' | '''if''' <math>b_k^l=</math>Z '''then''' | ||
Line 125: | Line 125: | ||
'''end for''' l | '''end for''' l | ||
'''return''' esign<math>_k</math> | '''return''' esign<math>_k</math> | ||
'''end function''' state_elimination | '''end function''' state_elimination</br> | ||
'''for''' k=0 to <math>2^n</math> | |||
esign<math>_{Bk}</math>= Buyer.'''state_elimination'''(<math>|\psi_{Bk}\rangle</math>,L) | |||
'''end for''' | |||
'''for''' k=0 to <math>2^n</math> | |||
esign<math>_{Vk}</math>= Verifier.'''state_elimination'''(<math>|\psi_{Vk}\rangle</math>,L) | |||
'''end for''' | |||
'''function''' symmetrization(k,Sender,esign_Sk,Receiver,esign_Rk) | |||
Sender.choose I<math>\subset_R\{1,2,...,L\}, |I|=[L/2]</math> | |||
'''function''' | <math>'''\forall''' i\epsilon I</math>, Sender<math>\xrightarrow[]{(k,i,b^k_i,B^k_i)}</math>Receiver | ||
'''For''' h=1,<math>\ceil{L/2}</math> | |||
Sender.receive(j,esign_Rk^j) | |||
Sender.replace(esign_Sk^j,esign_Rk^j) | |||
'''end for''' h | |||
'''end function''' SYM | |||
'''for''' k=0 '''to''' <math>2^n</math> | |||
'''Call''' SYM(k,Buyer,esign_Bk,Verifier,esign_Vk)||SYM(0,Verifier,esign_Vk,Buyer,esign_Bk) | |||
'''function''' | '''end function''' symmetrisation | ||
// '||' implies that the functions are processed in parallel | |||
==Discussion== | ==Discussion== |