{"id":2694,"date":"2018-08-22T17:53:03","date_gmt":"2018-08-22T16:53:03","guid":{"rendered":"https:\/\/www.quantum-bits.org\/?p=2694"},"modified":"2022-08-12T17:14:22","modified_gmt":"2022-08-12T16:14:22","slug":"on-superdense-coding","status":"publish","type":"post","link":"https:\/\/www.quantum-bits.org\/?p=2694","title":{"rendered":"On superdense coding"},"content":{"rendered":"<p>Alice and Bob are fictional characters often used to describe cryptographic protocols. We introduced them in a previous article on <a href=\"https:\/\/www.quantum-bits.org\/?p=2059\">quantum cryptography.<\/a> Picture a situation where Alice and Bob are living in different parts of the world and where Alice would like to communicate <em>two classical bits<\/em> of information to Bob by sending him<em> only a single quantum bit<\/em>.<\/p>\n<p>As usual, simply formulated problems are more complicated than they sound. <strong>Superdense coding<\/strong> is a solution to this problem. This is a quantum communication protocol used to transmit two classical bits from Alice to Bob by sending only one qubit, <em>at the condition that Alice and Bob have pre-shared an entangled <a href=\"https:\/\/www.quantum-bits.org\/?p=1785\" target=\"_blank\" rel=\"noopener\">Bell pair<\/a><\/em>.<\/p>\n<p>It can be thought of as the opposite of <a href=\"https:\/\/www.quantum-bits.org\/?p=1857\" target=\"_blank\" rel=\"noopener\">quantum teleportation<\/a>, in which one transfers one qubit from Alice to Bob by communicating two classical bits, as long as Alice and Bob have a pre-shared Bell pair.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1612\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/03\/quantum-physics-formulas-over-blackboard.jpg\" alt=\"\" width=\"850\" height=\"332\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/03\/quantum-physics-formulas-over-blackboard.jpg 768w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/03\/quantum-physics-formulas-over-blackboard-300x117.jpg 300w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><strong>The HSW theorem and Holevo&#8217;s bound<br \/>\n<\/strong><\/p>\n<p>As we guessed earlier, though seemingly simple, the enounced problem turns out to more subtle. The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Holevo%27s_theorem\" target=\"_blank\" rel=\"noopener\">HSW theorem<\/a> (named after Holevo, Schumacher and Westmoreland) is an important limitative theorem in quantum computing, published in the early 70&#8217;s. It is often called the <b>Holevo&#8217;s bound<\/b>, since it establishes an <em>upper bound to the amount of information that can be known about a quantum state<\/em>.<\/p>\n<p>As in many other fields, in quantum information theory, accessible information is best understood in terms of a 2-party Alice-Bob communication.<\/p>\n<p>Let&#8217;s imagine that Alice holds a classical <a href=\"https:\/\/en.wikipedia.org\/wiki\/Random_variable\" target=\"_blank\" rel=\"noopener\">random variable<\/a> <img src='https:\/\/s0.wp.com\/latex.php?latex=X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='X' title='X' class='latex' \/>, which can take the values <img src='https:\/\/s0.wp.com\/latex.php?latex=%5C%7B1%2C+2%2C+%5Ccdots%2C+n%5C%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\{1, 2, \\cdots, n\\}' title='\\{1, 2, \\cdots, n\\}' class='latex' \/> with corresponding probabilities <img src='https:\/\/s0.wp.com\/latex.php?latex=%5C%7Bp_1%2C+p_2%2C+%5Ccdots+%2C+p_n%5C%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\{p_1, p_2, \\cdots , p_n\\}' title='\\{p_1, p_2, \\cdots , p_n\\}' class='latex' \/>. Alice then prepares a quantum state, represented by the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Density_matrix\" target=\"_blank\" rel=\"noopener\">density matrix<\/a> <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Crho_X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\rho_X' title='\\rho_X' class='latex' \/> chosen from a set <img src='https:\/\/s0.wp.com\/latex.php?latex=%5C%7B%5Crho_1%2C+%5Crho_2%2C+%5Ccdots%2C+%5Crho_n%5C%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\{\\rho_1, \\rho_2, \\cdots, \\rho_n\\}' title='\\{\\rho_1, \\rho_2, \\cdots, \\rho_n\\}' class='latex' \/>, and gives this state to Bob.<\/p>\n<p>Bob&#8217;s goal is to find the value of <img src='https:\/\/s0.wp.com\/latex.php?latex=X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='X' title='X' class='latex' \/>. In order to do that, Bob performs a measurement on the state <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Crho_X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\rho_X' title='\\rho_X' class='latex' \/>, obtaining a classical outcome, which we denote with <img src='https:\/\/s0.wp.com\/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='Y' title='Y' class='latex' \/>.<\/p>\n<p>In this context, the amount of accessible information, that is, the amount of information that Bob can get about the variable <img src='https:\/\/s0.wp.com\/latex.php?latex=X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='X' title='X' class='latex' \/>, is the maximum value of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Mutual_information\" target=\"_blank\" rel=\"noopener\">mutual information<\/a> <img src='https:\/\/s0.wp.com\/latex.php?latex=I%28X+%3A+Y%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='I(X : Y)' title='I(X : Y)' class='latex' \/> between the random variables <img src='https:\/\/s0.wp.com\/latex.php?latex=X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='X' title='X' class='latex' \/> and <img src='https:\/\/s0.wp.com\/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='Y' title='Y' class='latex' \/> over all the possible measurements that Bob can do:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-2707\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/mutualinformation.png\" alt=\"\" width=\"350\" height=\"244\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/mutualinformation.png 776w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/mutualinformation-300x210.png 300w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/mutualinformation-768x536.png 768w\" sizes=\"(max-width: 350px) 100vw, 350px\" \/><\/p>\n<p>The <b>mutual information<\/b> of two random variables <img src='https:\/\/s0.wp.com\/latex.php?latex=X&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='X' title='X' class='latex' \/> and <img src='https:\/\/s0.wp.com\/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='Y' title='Y' class='latex' \/> is a measure of the mutual dependence between the two variables. It quantifies the amount of information (bits) obtained about one random variable, through the other random variable. The concept of mutual information is intricately linked to that of <a title=\"Entropy (information theory)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Entropy_(information_theory)\" target=\"_blank\" rel=\"noopener\">entropy<\/a> of a random variable.<\/p>\n<p>There is currently no known formula to compute the accessible information. There are however several upper bounds, the best-known of which is the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Alexander_Holevo\" target=\"_blank\" rel=\"noopener\">Holevo<\/a> bound, which is specified in the HSW theorem:<\/p>\n<ul>\n<li style=\"text-align: left;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+I%28X+%3A+Y%29+%5Cleq+S%28%5Crho%29+-+%5Csum_i+p_i+S%28%5Crho_i%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle I(X : Y) \\leq S(\\rho) - \\sum_i p_i S(\\rho_i)' title='\\displaystyle I(X : Y) \\leq S(\\rho) - \\sum_i p_i S(\\rho_i)' class='latex' \/><\/li>\n<li style=\"text-align: left;\">with <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Crho+%3D+%5Csum_i+p_i%5Crho_i&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\rho = \\sum_i p_i\\rho_i' title='\\rho = \\sum_i p_i\\rho_i' class='latex' \/> and where <img src='https:\/\/s0.wp.com\/latex.php?latex=S&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S' title='S' class='latex' \/> is the <a title=\"Von Neumann entropy\" href=\"https:\/\/en.wikipedia.org\/wiki\/Von_Neumann_entropy\" target=\"_blank\" rel=\"noopener\">von Neumann entropy<\/a>.<\/li>\n<\/ul>\n<p>In essence, the Holevo bound proves that given <img src='https:\/\/s0.wp.com\/latex.php?latex=n&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='n' title='n' class='latex' \/> qubits, although they can carry a larger amount of classical information (thanks to quantum superposition), the amount of classical information that can be accessed, can be only up to <img src='https:\/\/s0.wp.com\/latex.php?latex=n&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='n' title='n' class='latex' \/> classical (non-quantum encoded) bits.<\/p>\n<p>This is surprising, for two reasons:<\/p>\n<ol>\n<li>that results shows quantum computing to be only as good or inferior to conventional techniques (on that matter);<\/li>\n<li>it takes <img src='https:\/\/s0.wp.com\/latex.php?latex=2%5En+-+1&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='2^n - 1' title='2^n - 1' class='latex' \/> complex numbers to encode the qubits that represent a mere <img src='https:\/\/s0.wp.com\/latex.php?latex=n&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='n' title='n' class='latex' \/> bits.<\/li>\n<\/ol>\n<p><strong>Increasing the rate of information with superdense coding<\/strong><\/p>\n<p>Helovo&#8217;s upper bound looks pretty bad for our problem as it is impossible to send two classical bits using one qubit. This would violate HSW&#8217;s theorem: sending a single qubit noiselessly between two parties gives a maximum rate of communication of one classical bit per quantum bit.<\/p>\n<p>To get beyond Helovo&#8217;s upper bound, one has to pre-share a quantum entanglement before the protocol begins. In these terms,<strong> Superdense coding<\/strong> is&nbsp;a quantum <strong>communication protocol<\/strong> using a pre-shared quantum entanglement to <strong>increase the rate at which information may be sent through a quantum channel<\/strong>.<\/p>\n<p>If the sender&#8217;s qubit is maximally entangled (Bell pair) with a qubit in the receiver&#8217;s possession, then <strong>dense coding increases the maximum rate to two bits per qubit<\/strong>.<\/p>\n<p><strong>Alice and Bob in quantum land<br \/>\n<\/strong><\/p>\n<p>Let&#8217;s get an overview of the superdense coding protocol. In the superdense coding scheme, Alice wants to send two classical bits of information (00, 01, 10 or 11) to Bob using qubits (instead of classical <a title=\"Bit\" href=\"https:\/\/en.wikipedia.org\/wiki\/Bit\">bits<\/a>).<\/p>\n<p>To do that, an entangled Bell state is first prepared. Later on, one of these qubits is sent to Alice and the other to Bob.<\/p>\n<p>Once Alice obtains her entangled qubit, depending on which two-bit message (00, 01, 10 or 11) she wants, a certain quantum gate is applied to her entangled qubit. The entangled qubit is then sent to Bob, who performs a measurement and retrieve the classical two-bit message.<\/p>\n<p>As you have probably noticed, two qubits have to be sent. However, one of these qubits can be provided to Bob in advance, long before the communication, and before the content of the message was decided. Thus, in the instant when you want to send two bits of information, you only have to send one qubit (Alice&#8217;s).<\/p>\n<p>This is the idea behind superdense coding,. It illustrates one of the principles of quantum information: you can provide some resource at an earlier time, independent of what is going to be done later and that resource can be consumed to achieve a more efficient result in the instant.<\/p>\n<p><strong>The superdense coding protocol<\/strong><\/p>\n<p>Let&#8217;s get into the details of the superdense coding protocol. The following quantum circuit summarize the necessary steps:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-2701\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/densecoding.png\" alt=\"\" width=\"650\" height=\"253\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/densecoding.png 1436w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/densecoding-300x117.png 300w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/densecoding-768x298.png 768w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/densecoding-1024x398.png 1024w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><\/p>\n<ol>\n<li><strong>Step 1 (Preparation)<\/strong>: The protocol starts with the preparation of an entangled state. We will use the following quantum circuit we have used many time before:<br \/>\n&nbsp;<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1815\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/03\/gate-entangle.png\" alt=\"\" width=\"80\" height=\"63\"><br \/>\nThis gate creates a maximally entangled 2-qubit state (Bell pair): <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+%5Ctextsf%7BCNOT%7D%28H+%5Cotimes+%5Cmathbf%7B1%7D%29+%7C+00+%5Crangle+%3D+%5Cfrac%7B1%7D%7B%5Csqrt%7B2%7D%7D+%5Cbig%28+%7C+00+%5Crangle+%2B%7C+11+%5Crangle+%5Cbig%29+%3D+%7C+%5Cphi%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle \\textsf{CNOT}(H \\otimes \\mathbf{1}) | 00 \\rangle = \\frac{1}{\\sqrt{2}} \\big( | 00 \\rangle +| 11 \\rangle \\big) = | \\phi\\rangle' title='\\displaystyle \\textsf{CNOT}(H \\otimes \\mathbf{1}) | 00 \\rangle = \\frac{1}{\\sqrt{2}} \\big( | 00 \\rangle +| 11 \\rangle \\big) = | \\phi\\rangle' class='latex' \/><br \/>\n&nbsp;<\/li>\n<li><strong>Step 2 (Sharing)<\/strong>: After the preparation of the Bell pair, a qubit is sent to Alice (it will be denoted by subscript <em>A<\/em>) and the other qubit is sent to Bob (denoted by subscript <em>B<\/em>).<br \/>\n&nbsp;<br \/>\nNote: at this point, Alice and Bob may be in completely different locations and a long time might elapse between the preparation and sharing of the entangled state and the rest of the steps.<br \/>\n&nbsp;<\/li>\n<li><strong>Step 3 (Encoding)<\/strong>: Alice can transform the shared entangled state <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+%5Cphi%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| \\phi\\rangle' title='| \\phi\\rangle' class='latex' \/>, into any one of the 4 Bell states (including, of course,&nbsp;<img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+%5Cphi%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| \\phi\\rangle' title='| \\phi\\rangle' class='latex' \/>). By only manipulating (using quantum gates) her qubit locally, the entanglement between the two qubits will not be broken.<br \/>\n&nbsp;<br \/>\nThere are 4 cases, which correspond to the 4 possible two-bit strings that Alice may want to send, depending on which classical two-bit message she wants to send to Bob:<\/p>\n<table width=\"450\" cellspacing=\"0\" cellpadding=\"0\" border=\"1\">\n<tbody>\n<tr style=\"border-top: none !important;\">\n<td style=\"text-align: left; border-top: none !important;\"><b>Message (two classical bits)<\/b><\/td>\n<td style=\"text-align: left; border-top: none !important;\"><b>Operation(s)<\/b><\/td>\n<td style=\"text-align: middle; border-top: none !important;\"><b>Bell state<\/b><\/td>\n<\/tr>\n<tr style=\"vertical-align: middle;\">\n<td style=\"text-align: left;\">00<\/td>\n<td style=\"text-align: left;\">Identity I<\/td>\n<td style=\"text-align: middle; vertical-align: middle;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+%7CB_%7B00%7D%5Crangle%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%7D%7D+%5Cbig%28+%7C0_A%5Crangle%5Cotimes%7C0_B%5Crangle+%2B+%7C1_A%5Crangle%5Cotimes%7C1_B%5Crangle+%5Cbig%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle |B_{00}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|0_B\\rangle + |1_A\\rangle\\otimes|1_B\\rangle \\big)' title='\\displaystyle |B_{00}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|0_B\\rangle + |1_A\\rangle\\otimes|1_B\\rangle \\big)' class='latex' \/><\/td>\n<\/tr>\n<tr style=\"vertical-align: middle;\">\n<td style=\"text-align: left;\">01<\/td>\n<td style=\"text-align: left;\">Pauli bit-flip X<\/td>\n<td style=\"text-align: middle; vertical-align: middle;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+%7CB_%7B01%7D%5Crangle%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%7D%7D+%5Cbig%28+%7C1_A%5Crangle%5Cotimes%7C0_B%5Crangle+%2B+%7C0_A%5Crangle%5Cotimes%7C1_B%5Crangle+%5Cbig%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle |B_{01}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |1_A\\rangle\\otimes|0_B\\rangle + |0_A\\rangle\\otimes|1_B\\rangle \\big)' title='\\displaystyle |B_{01}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |1_A\\rangle\\otimes|0_B\\rangle + |0_A\\rangle\\otimes|1_B\\rangle \\big)' class='latex' \/><\/td>\n<\/tr>\n<tr style=\"vertical-align: middle;\">\n<td style=\"text-align: left;\">10<\/td>\n<td style=\"text-align: left;\">Pauli phase-flip Z<\/td>\n<td style=\"text-align: middle; vertical-align: middle;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+%7CB_%7B10%7D%5Crangle%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%7D%7D+%5Cbig%28+%7C0_A%5Crangle%5Cotimes%7C0_B%5Crangle+-+%7C0_A%5Crangle%5Cotimes%7C0_B%5Crangle+%5Cbig%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle |B_{10}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|0_B\\rangle - |0_A\\rangle\\otimes|0_B\\rangle \\big)' title='\\displaystyle |B_{10}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|0_B\\rangle - |0_A\\rangle\\otimes|0_B\\rangle \\big)' class='latex' \/><\/td>\n<\/tr>\n<tr style=\"vertical-align: middle;\">\n<td style=\"text-align: left;\">11<\/td>\n<td style=\"text-align: left;\">Pauli-X followed by Pauli-Z<\/td>\n<td style=\"text-align: middle; vertical-align: middle;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle+%7CB_%7B11%7D%5Crangle%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%7D%7D+%5Cbig%28+%7C0_A%5Crangle%5Cotimes%7C1_B%5Crangle+-+%7C1_A%5Crangle%5Cotimes%7C0_B%5Crangle+%5Cbig%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\displaystyle |B_{11}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|1_B\\rangle - |1_A\\rangle\\otimes|0_B\\rangle \\big)' title='\\displaystyle |B_{11}\\rangle=\\frac{1}{\\sqrt{2}} \\big( |0_A\\rangle\\otimes|1_B\\rangle - |1_A\\rangle\\otimes|0_B\\rangle \\big)' class='latex' \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li><strong>Step 4 (Sending)<\/strong>: After having performed one of the operations above, Alice sends her entangled qubit (of the entangled state shared between her and Bob) to Bob.<br \/>\n&nbsp;<\/li>\n<li><strong>Step 5 (Decoding)<\/strong>: To find which classical bits Alice wanted to send, Bob performs a CNOT operation (with <em>A<\/em> as control qubit and <em>B<\/em> as target qubit) and performs a <img src='https:\/\/s0.wp.com\/latex.php?latex=H+%5Cotimes+%5Cmathbf%7BI%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='H \\otimes \\mathbf{I}' title='H \\otimes \\mathbf{I}' class='latex' \/> operation on the entangled qubit <em>A<\/em> (<em>i.e<\/em> the Hadamard quantum gate H is only applied to <em>A<\/em>):<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-2733\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdensedecode.png\" alt=\"\" width=\"110\" height=\"116\"><br \/>\nThese operations are measurements projecting the entangled state onto one of the four 2-qubits basis vectors <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+00+%5Crangle%2C+%7C+01+%5Crangle%2C+%7C+10+%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| 00 \\rangle, | 01 \\rangle, | 10 \\rangle' title='| 00 \\rangle, | 01 \\rangle, | 10 \\rangle' class='latex' \/> or <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C11%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='|11\\rangle' title='|11\\rangle' class='latex' \/>:<\/p>\n<ol>\n<li>If the entangled state was <img src='https:\/\/s0.wp.com\/latex.php?latex=B_%7B00%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B_{00}' title='B_{00}' class='latex' \/> at step 3, then it becomes <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+00+%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| 00 \\rangle' title='| 00 \\rangle' class='latex' \/><\/li>\n<li>If the entangled state was <img src='https:\/\/s0.wp.com\/latex.php?latex=B_%7B01%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B_{01}' title='B_{01}' class='latex' \/> at step 3, then it becomes <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+01+%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| 01 \\rangle' title='| 01 \\rangle' class='latex' \/><\/li>\n<li>If the entangled state was <img src='https:\/\/s0.wp.com\/latex.php?latex=B_%7B10%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B_{10}' title='B_{10}' class='latex' \/> at step 3, then it becomes <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+10+%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| 10 \\rangle' title='| 10 \\rangle' class='latex' \/><\/li>\n<li>If the entangled state was <img src='https:\/\/s0.wp.com\/latex.php?latex=B_%7B11%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B_{11}' title='B_{11}' class='latex' \/> at step 3, then it becomes <img src='https:\/\/s0.wp.com\/latex.php?latex=%7C+11+%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='| 11 \\rangle' title='| 11 \\rangle' class='latex' \/><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><strong>Security considerations<br \/>\n<\/strong><\/p>\n<p>If an eavesdropper (Eve) intercepts Alice&#8217;s qubit en route to Bob, all that is obtained is part of an entangled state. Therefore, no useful information whatsoever is gained by Eve, unless she has also access to Bob&#8217;s qubit. Eve cannot tell what information Alice was sending to Bob (the density matrix of that qubit is <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cmathbf%7BI%7D%2F2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\\mathbf{I}\/2' title='\\mathbf{I}\/2' class='latex' \/> no matter what Alice did to it to encode the message).<\/p>\n<p>However, the eavesdropper can scramble the message by applying a Pauli operation on that qubit. Eve won&#8217;t know what message Bob will receive (because it will be a combination of what Alice and the eavesdropper did), but then Bob won&#8217;t receive what Alice intended.<\/p>\n<p>Please note that there is no authentication of the parties involved whatsoever (for that version of the protocol). Eve could just replace Bob, making the protocol completely insecure.<\/p>\n<p><strong>Superdense coding with IBM&#8217;s QISKit<\/strong><\/p>\n<p>The following python source code (from <a href=\"https:\/\/github.com\/stevenatkin\/quantum\/blob\/master\/superdense.py\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>) illustrates an implementation of superdense coding using <a href=\"https:\/\/www.quantum-bits.org\/?p=2646\" target=\"_blank\" rel=\"noopener\">IBM Q &gt; Experience (Terra)<\/a>. Two types of registers (quantum and classical) are needed. The classical registers is used to store the results of measuring our quantum registers. The quantum registers are our qubits.&nbsp;The quantum circuit are used to wire our qubits and operations together:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2740\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qiskit.png\" alt=\"\" width=\"675\" height=\"569\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qiskit.png 675w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qiskit-300x253.png 300w\" sizes=\"(max-width: 675px) 100vw, 675px\" \/><\/p>\n<p><strong>Superdense coding with Microsoft&#8217;s Q#<\/strong><\/p>\n<p>Programming with Microsoft Quantum Development Kit involves two parts. The classical part (using a C#) is used to invoke the quantum simulator, provide input data and read output data from it. The quantum part (using the Q# programming language) creates and uses qubits for algorithms.<\/p>\n<p>The following code excerpt illustrates the steps of the superdense coding protocol:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2743\" src=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qsharp.png\" alt=\"\" width=\"795\" height=\"765\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qsharp.png 795w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qsharp-300x289.png 300w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2018\/08\/superdense-qsharp-768x739.png 768w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/p>\n<p><span style=\"font-size: 8pt;\">Note: to speedup the writing process, a few paragraphs and illustrations of this post are based on Wikipedia articles on superdense coding and HSW theorem.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alice and Bob are fictional characters often used to describe cryptographic protocols. We introduced them in a previous article on quantum cryptography. Picture a situation where Alice and Bob are &#8230;<\/p>\n","protected":false},"author":1,"featured_media":3846,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts\/2694"}],"collection":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2694"}],"version-history":[{"count":0,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts\/2694\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/media\/3846"}],"wp:attachment":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}