Write
262
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
A device-independent quantum key distribution protocol implements the task of [[Quantum Key Distribution]] (QKD) without relying on any particular description of the underlying system. The protocol enables two parties, | A device-independent quantum key distribution protocol implements the task of [[Quantum Key Distribution]] (QKD) without relying on any particular description of the underlying system. The protocol enables two parties, Alice and Bob, to establish a classical secret key by distributing an entangled quantum state and checking for the violation of a [[Bell inequality]] in order to certify the security. The output of the protocol is a classical secret key which is completely unknown to any third party, namely an eavesdropper. | ||
'''Tags:''' [[:Category:Two Party Protocols|Two Party]], [[:Category:Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]], [[:Category:Specific Task|Specific Task]],[[Quantum Key Distribution]], [[BB84 Quantum Key Distribution|BB84 QKD]], [[Category:Multi Party Protocols]] [[Category:Quantum Enhanced Classical Functionality]][[Category:Specific Task]][[Category:Entanglement Distribution Network Stage]] | '''Tags:''' [[:Category:Two Party Protocols|Two Party]], [[:Category:Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]], [[:Category:Specific Task|Specific Task]],[[Quantum Key Distribution]], [[BB84 Quantum Key Distribution|BB84 QKD]], [[Category:Multi Party Protocols]] [[Category:Quantum Enhanced Classical Functionality]][[Category:Specific Task]][[Category:Entanglement Distribution Network Stage]] | ||
Line 10: | Line 10: | ||
==Outline== | ==Outline== | ||
A DIQKD protocol is composed by the following steps: | A DIQKD protocol is composed by the following steps: | ||
* | * The first phase of the protocol is the distribution. For each round of this phase: | ||
** | ** Alice uses the source to prepare a maximally entangled state and send half of the state to Bob. | ||
** Upon receiving the state, | ** Upon receiving the state, Bob announces that he received it, and they both use their respective devices to measure the quantum systems. They record their output in a string of bits. | ||
* | * The second phase is when Alice and Bob publicly exchange classical information in order to perform [[error correction]], where they correct their strings generating the raw keys, and [[parameter estimation]], where they estimate the parameters of interest. At the end of this phase Alice and Bob are supposed to share the same <math>n</math>-bit string and have an estimate of how much knowledge an eavesdropper might have about their raw key. | ||
* In the final phase, | * In the final phase, Alice and Bob perform [[privacy amplification]], where the not fully secure <math>n</math>-bit strings are mapped into smaller strings <math>K_A</math> and <math>K_B</math>, which represents the final keys of Alice and Bob respectively. | ||
==Hardware Requirements == | ==Hardware Requirements == | ||
*'''Network Stage:''' [[:Category: Entanglement Distribution Network Stage|Entanglement Distribution]] | *'''Network Stage:''' [[:Category: Entanglement Distribution Network Stage|Entanglement Distribution]] | ||
*'''Relevant Network Parameters:''' <math>\epsilon_T, \epsilon_M</math> (see [[:Category: Entanglement Distribution Network Stage|Entanglement Distribution]]) | *'''Relevant Network Parameters:''' <math>\epsilon_T, \epsilon_M</math> (see [[:Category: Entanglement Distribution Network Stage|Entanglement Distribution]]) | ||
* Distribution of Bell pairs, and measurement in three different bases (two basis on | * Distribution of Bell pairs, and measurement in three different bases (two basis on Alice's side and three basis on Bob's side). | ||
* Minimum number of rounds ranging from <math>\mathcal{O}(10^6)</math> to <math>\mathcal{O}(10^{12})</math> depending on the network parameters, for commonly used secure parameters. | * Minimum number of rounds ranging from <math>\mathcal{O}(10^6)</math> to <math>\mathcal{O}(10^{12})</math> depending on the network parameters, for commonly used secure parameters. | ||
* <math>QBER \leq 0.071</math>, taking a depolarizing model as benchmark. Parameters satisfying <math>\epsilon_T+\epsilon_M\leq 0.071</math> are sufficient. | * <math>QBER \leq 0.071</math>, taking a depolarizing model as benchmark. Parameters satisfying <math>\epsilon_T+\epsilon_M\leq 0.071</math> are sufficient. | ||
Line 25: | Line 25: | ||
* [[Random number generator]]. | * [[Random number generator]]. | ||
== | ==Notation== | ||
* <math>n</math> expected number of rounds | * <math>n</math> expected number of rounds | ||
* <math>l</math> final key length | * <math>l</math> final key length | ||
Line 54: | Line 54: | ||
*<math>\nu_1=2 \Big(\log 7 +\left\lceil\frac{|h'(\omega_{exp}+\delta_{est})|}{1-(1-\gamma)^{s_{\max}}}\right\rceil\Big)\sqrt{1-2\log\epsilon_s}</math> | *<math>\nu_1=2 \Big(\log 7 +\left\lceil\frac{|h'(\omega_{exp}+\delta_{est})|}{1-(1-\gamma)^{s_{\max}}}\right\rceil\Big)\sqrt{1-2\log\epsilon_s}</math> | ||
== | ==Pseudocode== | ||
*'''Input:'''<math>n, \delta</math></br> | *'''Input:'''<math>n, \delta</math></br> | ||
*'''Output:'''<math>K_A, K_B</math></br> | *'''Output:'''<math>K_A, K_B</math></br> | ||
Line 62: | Line 62: | ||
##'''While''' <math>i \leq s_{max}</math> | ##'''While''' <math>i \leq s_{max}</math> | ||
###Set <math>i=i+1</math> | ###Set <math>i=i+1</math> | ||
### | ### Alice and Bob choose a random bit <math>T_i \in \{0,1\}</math> such that <math>P(T_i=1)=\gamma</math>. | ||
### '''If''' <math>T_i=0</math> '''then''' Alice and Bob choose inputs <math>(X_i, Y_i)=(0,2)</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). | ### '''Else''' they choose <math>X_i ,Y_i \in \{0,1\}</math> (the observables for the CHSH test). | ||
### | ### 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>. | ### '''If''' <math>T_i=1</math> they set <math>i=s_{max}+1</math>. | ||
*At this stage | *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> Error Correction</br> | <u>'''Stage 2'''</u> Error Correction</br> | ||
* | * Alice and Bob apply the error correction protocol <math>EC</math>, communicating script <math>O_{EC}</math> in the process. | ||
# '''If''' <math>EC</math> aborts, they abort the protocol | # '''If''' <math>EC</math> aborts, they abort the protocol | ||
# '''Else''' they obtain raw keys <math>\tilde{A}_1^n</math> and <math>\tilde{B}_1^n</math>. | # '''Else''' they obtain raw keys <math>\tilde{A}_1^n</math> and <math>\tilde{B}_1^n</math>. | ||
<u>'''Stage 3'''</u> Parameter estimation</br> | <u>'''Stage 3'''</u> Parameter estimation</br> | ||
#Using <math>B_1^n</math> and <math>\tilde{B}_1^n</math>, | #Using <math>B_1^n</math> and <math>\tilde{B}_1^n</math>, Bob sets <math>C_i</math> | ||
##'''If''' <math>T_i=1</math> and <math>A_i\oplus B_i=X_i\cdot Y_i</math> '''then''' <math>C_i=1</math> | ##'''If''' <math>T_i=1</math> and <math>A_i\oplus B_i=X_i\cdot Y_i</math> '''then''' <math>C_i=1</math> | ||
##'''If''' <math>T_i=1</math> and <math>A_i\oplus B_i=X_i\cdot Y_i</math> '''then''' <math>C_i=0</math> | ##'''If''' <math>T_i=1</math> and <math>A_i\oplus B_i=X_i\cdot Y_i</math> '''then''' <math>C_i=0</math> | ||
Line 84: | Line 84: | ||
<u>'''Stage 4'''</u> Privacy amplification</br> | <u>'''Stage 4'''</u> Privacy amplification</br> | ||
*<math>PA(\cdot,\cdot)</math> is a privacy amplification subroutine | *<math>PA(\cdot,\cdot)</math> is a privacy amplification subroutine | ||
# | # Alice and Bob run <math>PA(A_1^{n'},\tilde{B}_1^{n'})</math> and obtain secret keys <math>K_A, K_B</math>; | ||
==Further Information== | ==Further Information== | ||
<div style='text-align: right;'>'' | <div style='text-align: right;'>''contributed by Gláucia Murta''</div> |