Clifford Code for Quantum Authentication: Difference between revisions

(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
 
(One intermediate revision by one other user not shown)
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'' 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.
 
'''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 <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 original quantum message was tampered by a third party and 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></br></br>
'''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>.
*'''''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.
*'''''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:'''''
#<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 29: Line 36:
#[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>

Latest revision as of 19:49, 16 January 2022

The Clifford Authentication Scheme is a non-interactive protocol for quantum authentication and was introduced in the paper 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.

Tags: Two Party Protocol, Quantum Functionality, Specific Task, Building Block

OutlineEdit

The Clifford code encodes a quantum message by appending an auxiliary register with each qubit in state   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  , 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.

NotationsEdit

  •  : suppliant (sender)
  •  : authenticator (prover)
  •  :  -qubit state to be transmitted
  •  : security parameter defining the number of qubits in the auxiliary register
  •  : set of Clifford operations on   qubits labelled by a classical key  

PropertiesEdit

  • The Clifford code makes use of   qubits
  • The Clifford code is quantum authentication scheme with security  
  • The qubit registers used can be divided into a message register with   qubits, an auxiliary register with   qubits, and a flag register with   qubit.

Protocol DescriptionEdit

Input:  ,  ,  

Output: Quantum state   if the protocol accepts; fixed quantum state   if the protocol aborts

  • Encoding:
  1.   appends an auxiliary register of   qubits in state   to the quantum message  , which results in  .
  2.   then applies   for a uniformly random   on the total state.
  3.   sends the result to  .
  • Mathematical Encoding Description:
    Mathematically, the encoding process can be described by
     
  • Decoding:
  1.   applies the inverse Clifford   to the received state, which is denoted by  .
  2.   measures the auxiliary register in the computational basis.
    a. If all   auxiliary qubits are 0, the state is accepted and an additional flag qubit in state   is appended.
    b. Otherwise, the remaining system is traced out and replaced with a fixed  -qubit state   and an additional flag qubit in state   is appended.
  • Mathematical Decoding Description:
    Mathematically, the decoding process is described by
     
    In the above,   is the trace over the auxiliary register only, and   is the trace over the quantum message system and the auxiliary system. Furthermore,   and   refer to the measurement projectors that determine whether the protocol accepts or aborts the received quantum message. It is
     
    and
     


ReferencesEdit

  1. Aharanov et al. (2008).
  2. Broadbent and Wainewright (2016).
Contributed by Isabel Nha Minh Le and Shraddha Singh
This page was created within the QOSF Mentorship Program Cohort 4