Write, autoreview, editor, reviewer
3,129
edits
No edit summary |
|||
Line 85: | Line 85: | ||
==Pseudocode== | ==Pseudocode== | ||
'''Stage 1''': Key | '''Stage 1''': 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>) | ||
#PKG generates <math>k_{pub}= f(</math>Seller's email-id) | |||
# PKG randomly chooses <math>G</math>, <math>k_r</math> | |||
# PKG calculates <math>k_{pri} := G(k_{pub}) \oplus k_{r} </math> | |||
# PKG encrypts <math>VC(k_{at},k_{pri})=E_{k_{at}}</math> | |||
# Seller decrypts <math>VC(k_{at}, E_{k_{at}})=k_{pri}</math>. | |||
'''Stage 2''': Signature</br> | '''Stage 2.1''': Messaging: Signature</br> | ||
''' | '''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> | |||
# Seller randomly chooses <math>s</math> and <math>t</math>. | |||
# For <math>l = 1, 2, ...n</math>: | |||
## Seller operates <math>Y^{m_l}H^{s_l}U_{\frac{\pi}{4}}H^{t_l\oplus m_l}|0\rangle=|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math> | |||
#For <math>l = 1, 2, ...n</math>: | |||
## Seller generates <math> |S\rangle_{{k_{pri}}_l,m_l} = H^{k_{pub_l}\oplus k_{pri_l}}|\phi\rangle_{s_l,t_l\oplus m_l, m_l}</math> | |||
#For <math>l = 1, 2, ...n</math>: | |||
## Seller generates <math>|P\rangle_l = H^{k_{pri_l}} |\phi\rangle_{s_l, t_l\oplus m_l}</math></div> | |||
#For <math>l = 1, 2, ...n</math>: | |||
##Seller chooses B_l \epsilon_R\{+,\times\} | |||
##Seller measures in basis B_l: <math>B_l(|P\rangle_l)=m_l</math> | |||
##'''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>B_l = \times</math> '''then''' | |||
###'''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>: Different copies of the quantum digital digest state is prepared. | * For <math>k = 1, 2, ...u w</math>: Different copies of the quantum digital digest state is prepared. | ||
** For <math>l = 1, 2, ...n</math>: | ** For <math>l = 1, 2, ...n</math>: |