Editing Clifford Code for Quantum Authentication

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
The ''Clifford Authentication Scheme'' is a non-interactive protocol for [[Authentication of Quantum Messages|quantum authentication]] and was introduced in the paper [https://arxiv.org/pdf/0810.5375.pdf| Interactive Proofs For Quantum Computations by Aharanov et al.]. It applies a random Clifford operator to the quantum message and an auxiliary register and then measures the auxiliary register to decide whether or not a eavesdropper has tampered the original quantum message.
The Clifford Authentication Scheme was introduced in the paper [https://arxiv.org/pdf/0810.5375.pdf| Interactive Proofs For Quantum Computations by Aharanov et al.].
 
'''Tags:''' [[:Category:Two Party Protocols|Two Party Protocol]][[Category:Two Party Protocols]], [[:Category:Quantum Functionality|Quantum Functionality]][[Category:Quantum Functionality]], [[:Category:Specific Task|Specific Task]][[Category:Specific Task]], [[:Category:Building Blocks|Building Block]][[Category:Building Blocks]]


==Outline==
==Outline==
The ''Clifford code'' encodes a quantum message by appending an auxiliary register with each qubit in state <math>|0\rangle</math> and then applying a random Clifford operator on all qubits. The authenticator then measures only the auxiliary register. If all qubits in the auxiliary register are still in state <math>|0\rangle</math>, the authenticator accepts and decodes the quantum message. Otherwise, the original quantum message was tampered by a third party and the authenticator aborts the process.
The Clifford code encodes a <math>m</math>-qubit message by appending an auxiliary register with <math>d</math> qubits in <math>|0\rangle</math>. It then applies a random Clifford operator on all <math>m+d</math> qubits. By measuring only the auxiliary register, the authenticator decides, whether to accept the received state or whether to abort.


==Notations==
==Notations==
Line 11: Line 9:
*<math>\rho</math>: <math>m</math>-qubit state to be transmitted
*<math>\rho</math>: <math>m</math>-qubit state to be transmitted
*<math>d\in\mathbb{N}</math>: security parameter defining the number of qubits in the auxiliary register
*<math>d\in\mathbb{N}</math>: security parameter defining the number of qubits in the auxiliary register
*<math>\{C_k\}</math>: set of Clifford operations on <math>n</math> qubits labelled by a classical key <math>k\in\mathcal{K}</math>
*<math>n=m+d</math>: total number of qubits used
*<math>\{C_k\}</math>: set of Clifford operations on <math>n</math> qubits labelled by key <math>k\in\mathcal{K}</math>


==Properties==
==Properties==
*The Clifford code makes use of <math>n=m+d+1</math> qubits
*The Clifford code is quantum authentication scheme with security <math>2^{-d}</math>
*The Clifford code is [[Authentication of Quantum Messages|quantum authentication]] scheme with security <math>2^{-d}</math>
*The qubit registers used can be divided into a message register with <math>m</math> qubits, an auxiliary register with <math>d</math> qubits, and a flag register with <math>1</math> qubit.


==Protocol Description==
==Protocol Description==
'''Input:''' <math>\rho</math>, <math>d</math>, <math>k</math></br></br>
*'''''Encoding:''''' <math>\mathcal{E}_k: \rho \mapsto C_k\left( \rho \otimes |0\rangle\langle 0|^{\otimes d} \right)C_k^\dagger</math>
'''Output:''' Quantum state <math>\rho^\prime</math> if the protocol accepts; fixed quantum state <math>\Omega</math> if the protocol aborts
*'''''Encoding:'''''
#<math>\mathcal{S}</math> appends an auxiliary register of <math>d</math> qubits in state <math>|0\rangle\langle 0|</math> to the quantum message <math>\rho</math>, which results in <math>\rho\otimes|0\rangle\langle0|^{\otimes d}</math>.
#<math>\mathcal{S}</math> appends an auxiliary register of <math>d</math> qubits in state <math>|0\rangle\langle 0|</math> to the quantum message <math>\rho</math>, which results in <math>\rho\otimes|0\rangle\langle0|^{\otimes d}</math>.
#<math>\mathcal{S}</math> then applies <math>C_k</math> for a uniformly random <math>k\in\mathcal{K}</math> on the total state.
#<math>\mathcal{S}</math> then applies <math>C_k</math> for a uniformly random <math>k\in\mathcal{K}</math> on the total state.
#<math>\mathcal{S}</math> sends the result to <math>\mathcal{A}</math>.
#<math>\mathcal{S}</math> sends the result to <math>\mathcal{A}</math>.
*'''''Mathematical Encoding Description:'''''</br>Mathematically, the encoding process can be described by <math display=block>\mathcal{E}_k: \rho \mapsto C_k\left( \rho \otimes |0\rangle\langle 0|^{\otimes d} \right)C_k^\dagger</math>
*'''''Decoding:''''' Mathematically, the decoding process is described by <math display=block>\mathcal{D}_k: \rho^\prime \mapsto \mathrm{tr}_0\left( \mathcal{P}_\mathrm{acc} C_k^\dagger (\rho^\prime) C_k \mathcal{P}_\mathrm{acc}^\dagger \right) \otimes |\mathrm{ACC}\rangle\langle \mathrm{ACC}| + \mathrm{tr}\left( \mathcal{P}_\mathrm{rej} C_k^\dagger (\rho^\prime) C_k \mathcal{P}_\mathrm{rej}^\dagger \right) \Omega \otimes |\mathrm{REJ}\rangle\langle\mathrm{REJ}|</math> In the above, <math>\mathrm{tr}_0</math> is the trace over the auxiliary register only, and <math>\mathrm{tr}</math> is the trace over the quantum message system and the auxiliary system. Furthermore, <math>\mathcal{P}_\mathrm{acc}=\mathbb{1}^{\otimes n} \otimes |0\rangle\langle 0|^{\otimes d}</math> and <math>\mathcal{P}_\mathrm{rej}=\mathbb{1}^{\otimes (n+d)} - \mathcal{P}_\mathrm{acc}</math> are projective measurement operators.
*'''''Decoding:'''''
#<math>\mathcal{A}</math> applies the inverse Clifford <math>C_k^\dagger</math> to the received state, which is denoted by <math>\rho^\prime</math>.
#<math>\mathcal{A}</math> applies the inverse Clifford <math>C_k^\dagger</math> to the received state, which is denoted by <math>\rho^\prime</math>.
#<math>\mathcal{A}</math> measures the auxiliary register in the computational basis.</br>a. If all <math>d</math> auxiliary qubits are 0, the state is accepted and an additional flag qubit in state <math>|\mathrm{ACC}\rangle\langle\mathrm{ACC}|</math> is appended.</br>b. Otherwise, the remaining system is traced out and replaced with a fixed <math>m</math>-qubit state <math>\Omega</math> and an additional flag qubit in state <math>|\mathrm{REJ}\rangle\langle \mathrm{REJ}|</math> is appended.
#<math>\mathcal{A}</math> measures the auxiliary register in the computational basis.</br>a. If all <math>d</math> auxiliary qubits are 0, the state is accepted and an additional flag qubit in state <math>|\mathrm{ACC}\rangle\langle\mathrm{ACC}|</math> is appended.</br>b. Otherwise, the remaining system is traced out and replaced with a fixed <math>m</math>-qubit state <math>\Omega</math> and an additional flag qubit in state <math>|\mathrm{REJ}\rangle\langle \mathrm{REJ}|</math> is appended.
*'''''Mathematical Decoding Description:''''' </br>Mathematically, the decoding process is described by <math display=block>\mathcal{D}_k: \rho^\prime \mapsto \mathrm{tr}_0\left( \mathcal{P}_\mathrm{acc} C_k^\dagger (\rho^\prime) C_k \mathcal{P}_\mathrm{acc}^\dagger \right) \otimes |\mathrm{ACC}\rangle\langle \mathrm{ACC}| + \mathrm{tr}\left( \mathcal{P}_\mathrm{rej} C_k^\dagger (\rho^\prime) C_k \mathcal{P}_\mathrm{rej}^\dagger \right) \Omega \otimes |\mathrm{REJ}\rangle\langle\mathrm{REJ}|.</math> In the above, <math>\mathrm{tr}_0</math> is the trace over the auxiliary register only, and <math>\mathrm{tr}</math> is the trace over the quantum message system and the auxiliary system. Furthermore, <math>\mathcal{P}_\mathrm{acc}</math> and <math>\mathcal{P}_\mathrm{rej}</math> refer to the measurement projectors that determine whether the protocol accepts or aborts the received quantum message. It is <math display=block>\mathcal{P}_\mathrm{acc}=\mathbb{1}^{\otimes n} \otimes |0\rangle\langle 0|^{\otimes d}</math> and <math display=block>\mathcal{P}_\mathrm{rej}=\mathbb{1}^{\otimes (n+d)} - \mathcal{P}_\mathrm{acc}.</math>




Line 36: Line 29:
#[https://arxiv.org/pdf/0810.5375.pdf| Aharanov et al. (2008).]
#[https://arxiv.org/pdf/0810.5375.pdf| Aharanov et al. (2008).]
#[https://arxiv.org/pdf/1607.03075.pdf| Broadbent and Wainewright (2016).]
#[https://arxiv.org/pdf/1607.03075.pdf| Broadbent and Wainewright (2016).]
 
<div style='text-align: right;'>''contributed by Shraddha Singh and Isabel Nha Minh Le''</div>
<div style='text-align: right;'>''Contributed by Isabel Nha Minh Le and Shraddha Singh''</div>
<div style='text-align: right;'>''This page was created within the [https://www.qosf.org/qc_mentorship/| QOSF Mentorship Program Cohort 4]''</div>
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Quantum Protocol Zoo:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)