Write, autoreview, editor, reviewer
3,129
edits
(Add first part of Pseudo code) |
No edit summary |
||
Line 57: | Line 57: | ||
<math> B_P = Basis(|P\rangle) \in \{+,\times \}</math> | <math> B_P = Basis(|P\rangle) \in \{+,\times \}</math> | ||
* <math>|F\rangle</math>: Quantum digital digest received by PKG. | * <math>|F\rangle</math>: Quantum digital digest received by PKG. | ||
* <math>|F | * <math>|F\rangle'</math>: Quantum digital digest generated by Verifier. | ||
* <math>u</math>: The most number of verifiers in this scheme. | * <math>u</math>: The most number of verifiers in this scheme. | ||
* <math>w</math>: Safety parameter threshold for acceptance. | * <math>w</math>: Safety parameter threshold for acceptance. | ||
Line 82: | Line 82: | ||
* In the protocol the public and the private key belong to the classical bits, only the signature cipher has quantum nature. | * In the protocol the public and the private key belong to the classical bits, only the signature cipher has quantum nature. | ||
* No Certificate Authority is required to manage digital public-key certificate of Signers. | * No Certificate Authority is required to manage digital public-key certificate of Signers. | ||
* If <math>|F\rangle = |F | * If <math>|F\rangle = |F\rangle'</math>, the measuring result <math>|0\rangle</math> occurs with probability 1, otherwise it occurs with probability <math>\frac{1+\delta^2}{2}</math>. Hence, when repeated for <math>w</math> times, the probability of equality is at least 1-<math>(\frac{1+\delta^2}{2})^w</math>. | ||
==Pseudo-Code== | ==Pseudo-Code== | ||
Line 109: | Line 109: | ||
<div style="text-align: center;"><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></div> | <div style="text-align: center;"><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></div> | ||
* For <math>l = 1, 2, ...n</math>: | * For <math>l = 1, 2, ...n</math>: | ||
** Signer generates the private key quantum state <math>|P\ | ** Signer generates the private key quantum state <math>|P\rangle_l</math>, which is | ||
<div style="text-align: center;"><math>|P\ | <div style="text-align: center;"><math>|P\rangle_l = H^{k_{pri_l}} |\phi\rangle_{s_l, t_l\oplus m_l}</math></div> | ||
** The classical <math>P_l</math> is calculated based on <math>|P\ | ** The classical <math>P_l</math> is calculated based on <math>|P\rangle_l</math>. | ||
** The basis set is formed by Signer is: | ** The basis set is formed by Signer is: | ||
<div style="text-align: center;"><math> B_{P_l} = Basis(|P\ | <div style="text-align: center;"><math> B_{P_l} = Basis(|P\rangle_l) \in \{+,\times \} </math></div> | ||
* 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. | ||
Line 119: | Line 119: | ||
# The quantum digital digest state <math>|F\rangle_l</math> is prepared by Signer, where: | # The quantum digital digest state <math>|F\rangle_l</math> is prepared by Signer, where: | ||
<div style="text-align: center;"><math> |F\rangle_l = |F(t_l||m_l||P_l|| t_l s_l)\rangle_l</math></div> | <div style="text-align: center;"><math> |F\rangle_l = |F(t_l||m_l||P_l|| t_l s_l)\rangle_l</math></div> | ||
* Signer encrypts <math>|F\rangle</math> using quantum Vernam cipher and sends <math>E_{k_{at}}(ts, \otimes^{uw}_{l=1}|F\rangle)</math> to PKG. | |||
* PKG decrypts <math>E_{k_{at}}(ts, \otimes^{uw}_{l=1}|F\rangle)</math> using <math>k_{at}</math> and gets <math>(ts, \otimes^{uw}_{l=1}|F\rangle)</math>. | |||
* PKG announces publicly that the quantum digest is ready. | |||
* Signer transmits <math>(ts, m, B_P, |S\rangle_{k_{pri}, m})</math> to Verifier, which is the signature. | |||
'''Stage 3''': Verification</br> | |||
'''Output''': <math>m</math> is considered valid or is rejected by the Verifier. | |||
* Verifier receives <math>|k\rangle_{pub}</math> from open channels. | |||
* Verifier generates the state <math>|V\rangle_{m, k_{pub},S}</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>. | |||
** The result of the measurement is recorded as <math>|Q\rangle_l</math>, which is converted to <math>Q_l</math>. | |||
* <math>t</math> is inferred by the Verifier using <math>Q</math> | |||
* Verifier gains <math>(ts, \otimes^{w}_{l=1} |F\rangle)</math> from PKG. | |||
* For <math>k = 1, 2, ... w'</math>: | |||
** Verifier generates <math>|F\rangle'</math> using <math>F</math> by the calculation | |||
<div style="text-align: center;"><math> |F\rangle' = |F(t||m||Q||t s)\rangle</math></div> | |||
** Verifier gains <math>(ts, |F\rangle)</math> from PKG. | |||
** Verifier performs SWAP test between <math>|F\rangle</math> and <math>|F\rangle'</math>. | |||
* If <math>w'>w_0</math> and measurement result everytime = <math>|0\rangle'</math>: | |||
** Verifier counts the message <math>m</math> as valid. | |||
* else: | |||
** <math>m</math> is rejected by the Verifier. |