implements Secure Delegated Computation
Introduction
This protocol [1] 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.
Outline
Theย protocolย consistsย ofย twoย routines:
Mainย Routine
The server sends an ancilla bit to the first client. The first client performs the $\pi/2$ rotation along the $y$-axis according to his input bit and a $\pi$ 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 continues until all clients have performed their operations.
Now, one of the clients performs the conjugate transpose of the $\pi/2$ rotation on the qubit based on the global XOR of all the inputs, which he gets via 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ย thenย performย theย XORย ofย theย receivedย bits.
Toย calculateย theย globalย XOR,ย theyย sendย theirย resultsย toย theย designatedย client,ย whoย thenย performsย theย XORย ofย allย theย receivedย bitsย toย getย theย globalย XOR.
Assumptions
The clients have limited computational capabilities, namely access to linear XOR functionalities.
Requirements
Networkย Stage:ย Prepare-and-measure
- Basicย stateย preparationย andย measurementย devices.
- Accessย toย secureย classicalย channels.
Theย separateย resourcesย forย clientย andย serverย areย asย follows: (pictures)
Notation
- $C_i$: Client with index $i$
- $x_i$: Input bit of $i^{\text{th}}$ client
- $r_i$: Random bit of $i^{\text{th}}$ client
- $R_y(\theta)$: Rotation around $y$-axis in the Bloch sphere by angle $\theta$
- $U$: Operator for performing $\pi/2$ rotation around the $y$-axis in the Bloch sphere
- $V$: Operator for performing $\pi$ rotation around the $y$-axis in the Bloch sphere
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.ย ย
Technical Description
Output: compute $$ f(x_1, x_2, \dots, x_n) = \sum_{i,j=1}^{n} x_i x_j \quad \forall i \ne j $$
Mainย Routine
- Theย serverย generatesย anย ancillaย bitย $|0\rangle$ย andย sendsย itย toย clientย $C_1$.
- Forย $iย =ย 1$ย toย $nย โย 1$:ย ย
- Clientย $C_i$ย appliesย $V^{r_i}ย U^{x_i}$ย onย theย receivedย qubitย andย sendsย itย toย clientย $C_{i+1}$.ย ย
- Clientย $C_n$ย appliesย $V^{r_n}ย U^{x_n}$ย onย theย receivedย qubit.
- Any client then applies $(U^\dagger)^{\oplus_i x_i}$. $$ (U^\dagger)^{\oplus_i x_i} \underbrace{V^{r_n} U^{x_n}}_{C_n} \cdotsย \underbrace{V^{r_2}ย U^{x_2}}_{C_2}ย \underbrace{V^{r_1}ย U^{x_1}}_{C_1}ย |0\rangleย =ย |rย \oplusย f\rangleย $$
- Theย resultingย stateย isย nowย sentย toย theย server,ย whoย measuresย theย outcomeย $rย \oplusย f$ย andย announcesย it.
- Theย clientsย locallyย computeย theย XORย ofย theย randomย bitsย ofย theย otherย clients.ย ย
- Theyย thenย performย theย operationย $fย =ย rย \oplusย (rย \oplusย f)$ย toย getย theย result.
XORย Routine
- Forย $i,ย jย =ย 1,ย \dots,ย n$:ย ย
- Eachย clientย $C_j$ย choosesย randomย bitsย $x_j^i,ย r_j^iย \inย \{0,ย 1\}$ย suchย that:ย $x_jย =ย \bigoplus_{i=1}^{n}ย x_j^iย \quadย \text{and}ย \quadย r_jย =ย \bigoplus_{i=1}^{n}ย r_j^i$,ย andย sendsย $x_j^i$ย andย $r_j^i$ย toย clientย $C_i$.
- Eachย clientย $C_i$ย thenย computes:ย $\tilde{x}_iย =ย \bigoplus_{j=1}^{n}ย x_j^iย \quadย \text{and}ย \quadย \tilde{r}_iย =ย \bigoplus_{j=1}^{n}ย r_j^i$
- To perform the operation $U^\dagger$, the clients send $\tilde{x}_i$ to the designated client, who computes the global XOR: $$ย \bigoplus_{i=1}^{n}ย x_iย =ย \bigoplus_{i=1}^{n}ย \tilde{x}_iย $$
- Whenย theย serverย announcesย $rย \oplusย f$,ย allย clientsย broadcastย $\tilde{r}_i$ย toย calculateย $r$ย andย knowย theย finalย valueย ofย $f$.
Experimental Implementations
No content has been added to this section, yet!
Further Information
No content has been added to this section, yet!
References
- Clementi, Marco, Anna Pappa, Andreas Eckstein, Ian A. Walmsley, Elham Kashefi, and Stefanie Barz. โClassical multiparty computation using quantum resources.โ Physical Review A 96, no. 6 (2017): 062317.


Leave a Reply