|
|
Line 55: |
Line 55: |
|
| |
|
| ==Pseudo Code== | | ==Pseudo Code== |
| *'''Input:'''<math>n, \gamma, \epsilon_{\rm PA},\epsilon_{\rm PE},\epsilon_{\rm EC},\epsilon'_{\rm EC},Q_Z</math> | | *'''Input:'''<math>n, \delta</math></br> |
| *'''Output:'''<math>K_A, K_B</math> | | *'''Output:'''<math>K_A, K_B</math></br> |
| <u>'''Stage 1'''</u> Distribution and measurement | | <u>'''Stage 1'''</u> Distribution and measurement</br> |
| #For i=1,2,...,n | | #'''For''' every block <math> j \in [m]</math> |
| ## Sender chooses random bits <math>X_i\epsilon\{0,1\}</math> and <math>A_i\epsilon_R\{0,1\}</math> such that <math>P(X_i=1)=\gamma</math> | | ##Set <math>i=0</math> and <math>C_j=\bot</math>. |
| ## Sender prepares <math>H^{X_i}|A_i\rangle</math> and sends it to Bob | | ##'''While''' <math>i \leq s_{max}</math> |
| ## Receiver announces receiving a state | | ###Set <math>i=i+1</math> |
| ## Receiver chooses bit <math>Y_i\in_R\{0,1\}</math> such that <math>P(Y_i=1)=\gamma</math> | | ### Alice and Bob choose a random bit <math>T_i \in \{0,1\}</math> such that <math>P(T_i=1)=\gamma</math>. |
| ## Receiver measures <math>H^{X_i}|A_i\rangle</math> in basis <math>\{H^{Y_i}|0\rangle, H^{Y_i}|1\rangle\}</math> with outcome <math>B_i</math>
| | ### '''If''' <math>T_i=0</math> '''then''' Alice and Bob choose inputs <math>(X_i, Y_i)=(0,2)</math>. |
|
| | ### '''Else''' they choose <math>X_i ,Y_i \in \{0,1\}</math> (the observables for the CHSH test). |
| *At this stage Sender holds strings <math>X_1^n, A_1^n</math> and Receiver <math>Y_1^n, B_1^n</math>, all of length <math>n</math> | | ### Alice and Bob use their devices with the respective inputs and record their outputs, <math>A_i</math> and <math>B_i</math> respectively. |
| | ### '''If''' <math>T_i=1</math> they set <math>i=s_{max}+1</math>. |
| | *At this stage Alice holds strings <math>X_1^n, A_1^n</math> and Bob <math>Y_1^n, B_1^n</math>, all of length <math>n</math>. |
| | |
| <u>'''Stage 2'''</u> Sifting | | <u>'''Stage 2'''</u> Sifting |
| #Alice and Bob publicly announce <math>X_1^n, Y_1^n</math>
| |
| #For i=1,2,....,n
| |
| ## If <math>X_i=Y_i</math>
| |
| ### <math>A_1^{n'} = A_1^{n'}.</math>append</math>(A_i)</math>
| |
| ### <math>B_1^{n'} = B_1^{n'}.</math>append<math>(B_i)</math>
| |
| ### <math>X_1^{n'} = X_1^{n'}.</math>append<math>(X_i)</math>
| |
| ### <math>Y_1^{n'} = Y_1^{n'}.</math>append<math>(Y_i)</math>
| |
| *Now Sender holds strings <math>X_1^{n'}, A_1^{n'}</math> and Receiver <math>Y_1^{n'}, B_1^{n'}</math>, all of length <math>n'\leq n</math>
| |
| <u>'''Stage 3'''</u> Parameter estimation | | <u>'''Stage 3'''</u> Parameter estimation |
| #For <math>i=1,...,n</math>
| |
| ## size<math>Q</math> = 0
| |
| ## If{<math>X_i = Y_i = 1</math>
| |
| ### Sender and Receiver publicly announce <math>A_i, B_i</math>
| |
| ### Sender and Receiver compute <math>Q_i = 1 - \delta_{A_iB_i}</math>, where <math>\delta_{A_iB_i}</math> is the Kronecker delta
| |
| ## size<math>Q</math> += 1\;
| |
|
| |
| *Both Sender and Receiver, each, compute <math>Q_X = \frac{1}{\text{size}Q} \sum_{i=1}^{n'}Q_i</math></br>
| |
| <u>'''Stage 4'''</u> Error correction | | <u>'''Stage 4'''</u> Error correction |
| *''<math>C(\cdot,\cdot)</math> is an error correction subroutine determined by the previously estimated value of <math>Q_Z</math> and with error parameters <math>\epsilon'_{\rm EC}</math> and <math>\epsilon_{\rm EC}</math>
| |
| #Both Sender and Receiver run <math>C(A_1^{n'},B_1^{n'})</math>''.
| |
| #Receiver obtains <math>\tilde{B}_1^{n'}</math>
| |
| <u>'''Stage 5'''</u> Privacy amplification | | <u>'''Stage 5'''</u> Privacy amplification |
| *''<math>PA(\cdot,\cdot)</math> is a privacy amplification subroutine determined by the size <math>\ell</math>, computed from equation for key length <math>\ell</math> (see [[Quantum Key Distribution#Properties|Properties]]), and with secrecy parameter <math>\epsilon_{\rm PA}</math>''
| |
| #Sender and Receiver run $PA(A_1^{n'},\tilde{B}_1^{n'})$ and obtain secret keys $K_A, K_B$\;
| |
|
| |
|
| ==Further Information== | | ==Further Information== |