Clifford Code for Quantum Authentication: Difference between revisions

From Quantum Protocol Zoo
Jump to navigation Jump to search
(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.

Revision as of 12:41, 22 December 2021

The Clifford Authentication Scheme 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 to accept or abort for quantum authentication.

Tags: Two Party Protocol

Outline

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

Notations

  • : 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

Properties

  • 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 Description

  • Input: , ,
  • Output: Receiver accepts or rejects
    • 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 .
    • Decoding: 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 are projective measurement operators.
  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.


References

  1. Aharanov et al. (2008).
  2. Broadbent and Wainewright (2016).
contributed by Shraddha Singh and Isabel Nha Minh Le