Secure Multiparty Delegated Classical Computation: Difference between revisions

From Quantum Protocol Zoo
Jump to navigation Jump to search
No edit summary
Line 17: Line 17:


The server sends an ancilla bit to the first client.
The server sends an ancilla bit to the first client.
The first client performs the <math>\pi/2</math> rotation along <math>y</math>-axis according to his input bit and <math>\pi</math> rotation accordingto his random bit for security.
The first client performs the <math>\pi/2</math> rotation along <math>y</math>-axis according to his input bit and <math>\pi</math> rotation according to his random bit for security.
He then sends the qubit to the next client who performs the same rotation according to his bits.
He then sends the qubit to the next client who performs the same rotation according to his bits.
This process if followed until all clients have performed their operations.
This process is followed until all clients have performed their operations.
Now, one of the client performs the conjugate transpose of the <math>\pi/2</math> rotation on the qubit based on the global XOR of all the inputs which he gets by the XOR routine.
Now, one of the clients performs the conjugate transpose of the <math>\pi/2</math> rotation on the qubit based on the global XOR of all the inputs which he gets by the XOR routine.
The state now prepared is the value of the function XORed with the XOR of the random bits of all clients.
The state now prepared is the value of the function XORed with the XOR of the random bits of all clients.
The clients now announce the random bits with the help of which the final result is calculated.
The clients now announce the random bits with the help of which the final result is calculated.
Line 29: Line 29:
The clients now perform the XOR of the received bits.
The clients now perform the XOR of the received bits.
To calculate the global XOR, the send their results to the designated client who then performs the XOR of all the received bits to get the global XOR.
To calculate the global XOR, the send their results to the designated client who then performs the XOR of all the received bits to get the global XOR.


==Notation==
==Notation==

Revision as of 14:15, 6 June 2019

This example protocol provides a method for computing nonlinear functions involving multiple variables using only linear classical computing and limited manipulation of quantum information. To demonstrate this protocol, the pairwise AND function is computed and can be used as a building block for other functions.


Tags: Multi Party Protocols, Quantum Enhanced Classical Functionality, Universal Task


Assumptions

  • The clients have limited computational capabilities, namely access to linear XOR functionalities.


Outline

Main Routine

The server sends an ancilla bit to the first client. The first client performs the rotation along -axis according to his input bit and rotation according to his random bit for security. He then sends the qubit to the next client who performs the same rotation according to his bits. This process is followed until all clients have performed their operations. Now, one of the clients performs the conjugate transpose of the rotation on the qubit based on the global XOR of all the inputs which he gets by the XOR routine. The state now prepared is the value of the function XORed with the XOR of the random bits of all clients. The clients now announce the random bits with the help of which the final result is calculated.

XOR Routine

The clients choose random bits whose XOR is their input bit and send each such random bit to each client. The clients now perform the XOR of the received bits. To calculate the global XOR, the send their results to the designated client who then performs the XOR of all the received bits to get the global XOR.

Notation

  • : Client with index .
  • : Input bit of client.
  • : Random bit of client.
  • : Rotation around -axis in Bloch sphere by angle .
  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle U} : Operator for performing rotation around -axis in Bloch Sphere.
  • : Operator for performing Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \pi} rotation around Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y} -axis in Bloch Sphere.

Hardware Requirements

  • Basic state preparation and measurement devices.
  • Access to secure classical channels.


Properties

  • The input of each client remains hidden from the other clients and from the server.
  • The server performs the computation without learning anything about the result.
  • As long as at least two clients are honest, it is enough to guarantee the secrecy of the independent inputs.


Pseudocode

To compute ,

Main Routine

  1. The server generates an ancilla bit and sends it to client .
  2. For to :
    1. applies on the received qubit and sends it to client .
  3. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_n} applies on the received qubit.
  4. Any client then applies .
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (U^\dagger)^{\oplus_i x_i} \underbrace{V^{r_n}U^{x_n}}_{\mathcal{C}_n} ... \underbrace{V^{r_2}U^{x_2}}_{\mathcal{C}_2} \underbrace{V^{r_1}U^{x_1}}_{\mathcal{C}_1} |0\rangle= |r \oplus f\rangle }
  5. The resulting state is now sent to the server who measures the outcome Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r \oplus f} and announces it.
  6. The clients locally compute XOR of the random bits of other clients.
  7. They then perform the operation to get the result.

XOR Routine

  1. For
    1. Each client chooses random bits , such that and and sends and to client Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_i} .
    2. Each client Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_i} then computes and .
  2. To perform the operation , the clients send to the designated client, who computes the global XOR.
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \bigoplus_{i=1}^n x_i=\bigoplus_{i=1}^n \tilde{x}_i }
  3. When server announces </math>r \oplus f</math>, all clients broadcast </math>\tilde{r}_i</math> to calculate </math>r</math> and know the value of </math>f</math>.

Further Information

*contributed by Natansh Mathur