Clifford Code for Quantum Authentication: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "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.]. ==Outlin...")
 
No edit summary
Line 1: Line 1:
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.].
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.]. It applies a random Clifford operator to the quantum message and an auxiliary register and then measures the auxiliary register to decide whether to accept or abort for [[Authentication of Quantum Messages|quantum authentication]].
 
'''Tags:''' [[:Category:Two Party Protocols|Two Party Protocol]][[Category:Two Party Protocols]]


==Outline==
==Outline==
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.
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 authenticator aborts the process.


==Notations==
==Notations==
Line 9: Line 11:
*<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>n=m+d</math>: total number of qubits used
*<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>\{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 is quantum authentication scheme with security <math>2^{-d}</math>
*The Clifford code makes use of <math>n=m+d+1</math> qubits
*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==
*'''''Encoding:''''' <math>\mathcal{E}_k: \rho \mapsto C_k\left( \rho \otimes |0\rangle\langle 0|^{\otimes d} \right)C_k^\dagger</math>
*'''Input:''' <math>\rho</math>, <math>d</math>, <math>k</math>
*'''Output:''' Receiver accepts or rejects
**'''''Encoding:''''' <math>\mathcal{E}_k: \rho \mapsto C_k\left( \rho \otimes |0\rangle\langle 0|^{\otimes d} \right)C_k^\dagger</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> 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>.
*'''''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:''''' 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.
#<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.
Anonymous user

Navigation menu