Write, autoreview, editor, reviewer
3,129
edits
Line 87: | Line 87: | ||
==Pseudocode== | ==Pseudocode== | ||
'''Stage 1''' | <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''' | <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(| | ##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>: | |||
## For <math>l = 1, 2, ...n</math>: | |||
# | ### <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> | |||
'''Input:''' Buyer (Signature <math>(ts, m, B, |S\rangle_{k_{pri}, m})</math>, public key <math>(k_pub)</math>) | |||
'''Output''': Buyer accepts or rejects the signature | |||
* Buyer operates: <math>|V\rangle_{m, k_{pub},S}</math>. | |||
'''Output''': | |||
* | |||
* 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>. |