1. Introduction
Quantum computing has been extensively studied from theory to practice [
1,
2]. It is widely accepted that noisy intermediate-scale quantum (NISQ) computers may be available in the coming decades [
3]. However, the limited quantum memory of NISQ devices means that they may not have the capability to deal with large-scale quantum information processing. This is obviously a severe constraint, as many practical problems, e.g.,
machine learning, usually require immense memory overhead. A feasible way to overcome this obstacle is to utilize
distributed architecture for quantum computations [
4]. That is, using a group of small-scale quantum computers interconnected by classical and quantum networks to implement large-scale quantum computation tasks. However, considering the tremendous cost of building a quantum computer, it is not likely that ordinary consumers will be able to afford an NISQ computer in the foreseeable future. In fact, it is widely believed that the role of quantum computers is similar to today’s classical supercomputers, which means only a few organizations or enterprises can have quantum computers at their disposal. Thus, for ordinary customers, a better way to access quantum computers is to delegate their computations to the companies that offer quantum computing as cloud services. Indeed, this computation pattern has been applied in today’s Internet, e.g., IBM Quantum platform [
5].
Delegated quantum computation is actually closely related to distributed quantum computation [
4]. The client-to-server pattern in delegated computation naturally belongs to the category of distributed quantum computation. A class of delegated quantum computation protocols are constructed under the framework of measurement-based quantum computation (MBQC) [
6,
7,
8], which is driven by a sequence of single-qubit measurements on some specific entangled state, where the entangled resource is also a basic module in the distributed quantum computation. Another class of delegated quantum computation protocols are obtained using the technique
quantum computing on encrypted data (QCED) [
9] or
quantum homomorphic encryption (QHE) [
10]. Although QCED and QHE are distinct concepts, the basic idea behind them is identical. Both of them use the
quantum one-time pad to encrypt the input and output states but use different the methods to achieve the non-Clifford gates. Nevertheless, most schemes use the entangled states as the ancillary resources, for example [
10,
11,
12].
Both distributed quantum computation and delegated quantum computation have been investigated broadly; see references [
13,
14,
15,
16,
17,
18,
19,
20,
21] and [
6,
11,
22,
23,
24,
25,
26,
27,
28], respectively. Typically, the distributed architecture for quantum computation makes use of photons as
flying qubits between computational nodes, where each node is equipped with a quantum computer. The flying qubits are usually used to generate entangle states between distinct servers (i.e., nodes). By means of quantum entanglement, the non-local operations, such as controlled-NOT gate, can be done between two distant servers. Note that the quantum computer in each server is not necessarily an optical quantum computer; it can be made up of some other quantum system [
29], such as ion traps or cloud atoms. Related experiments have been successfully demonstrated (see references [
30,
31]). Recently, researchers also investigated the possibility of simulating large-scale quantum systems in a hybrid quantum-classical manner [
32]. That is, using a classical computer combined with a small quantum computer to simulate a large quantum computer [
33]. However, the computational model considered in [
32,
33] is slightly different from the traditional model of circuit-based quantum computation. In this paper, we will not consider the method in [
32], but rather the quantum entanglement to implement the non-local operation. In general, delegated quantum computation refers specifically to the
secure delegated quantum computation (SDQC), which requires that no one except the client can obtain the right input and output of the computation. Typically, the client is required to have some basic quantum capacities, for example, preparing some single qubits or performing single-qubit measurements. In [
34], the authors proposed a more rigorous SDQC protocol, which they called
universal blind quantum computation (UBQC). The new protocol can guarantee that not only the input and output but also the computation itself, i.e., the algorithm, are unknown to the server. Although it seems that UBQC is more secure than SDQC, they are equivalent. That is, SDQC can be converted into UBQC [
35]. As delegated quantum computation protocols effectively release the quantum resources in the client side, related experimental demonstrations have rapidly been implemented using the linear optics components (see References [
9,
25,
36,
37]).
Based on the above observations, in this paper we formally propose a distributed secure delegated quantum computation protocol that allows a half-classical client who can only prepare special single qubits to implement a large-scale quantum circuit on several quantum servers interconnected by entangled channels. Each server only has a limited quantum memory so that it can only compute a fraction of the delegated circuit. Moreover, during the computation, servers get nothing about the input and output of the computation. We also give a detailed security proof for our protocol. The rest of this paper is organized as follows.
Section 2 introduces some basic preliminaries and notation.
Section 3 presents the basic modules for delegated quantum computation.
Section 4 gives the complete distributed delegated quantum computation protocol.
Section 5 analyzes the security of our protocol. The last section discusses some remaining problems in our work.
2. Preliminaries and Notation
We assume that readers are familiar with the basics of quantum computation. In this work, we will use the following basic quantum gates:
where
and
;
P and
T refer to the phase gate and the
gate, respectively; and
denotes the controlled-
Z gate. In order to analyze conveniently, we also introduce the
Z-rotation operator defined as follows:
where
is referred as the
rotation angle. Regardless of the global phases, we can see that
,
, and
. We use
to denote the following single qubit:
where we consider
. It is clear that, up to an unimportant global phase,
. Thus,
is also called as the
rotation angle. By this definition, we can see that
and
. Note that for any
the states
and
comprise a basis, thus we can define a single-qubit measurement operator as follows:
where
is referred as the
measurement angle in this case, and
denotes the classical measurement outcome. Specifically,
if the post-measurement state is
, otherwise
. Finally, in this work we will also use a special two-qubit entangled state defined as follows:
which can be prepared by applying a
gate on two qubits
.
3. Secure Delegated Quantum Computation
In this work, the delegated quantum computation model we adopt is from [
38], in which the authors improved the original QCED protocol [
11] in two aspects. First, the quantum capacities of clients are further reduced. In theory, they only need to prepare the qubits
, where
. Second, the security of the protocol can be still guaranteed even if some information is leaked to servers.
First of all, we specify that the client’s input is encoded in X basis. That is, encoding 0 and 1 as and , respectively. Let be the n-bit classical input string, then the corresponding encoded input state can be expressed as . For simplicity, we abbreviate as . The universal gate set we consider is . Note that this gate set is not minimal because , and P can be obtained from . Despite that, additional basic gates can effectively decrease the circuit complexity.
Now suppose the client’s input state is
, where
. In [
38], the client uses the random operator
to encrypt each qubit
, where
, and
are referred as the
encryption keys, and for any operator
U we define
and
. The subscript
i in
, and
is used to denote that the corresponding gate is applied on the
ith qubit (hereinafter referred to as qubit
i). Similarly, the subscript
i in
is used to denote that the corresponding encryption keys are related to qubit
i. We can check that this encryption scheme is a quantum one-time pad (see Equation (
11)), thus it provides an information-theoretical security for any qubit
.
In theory, to achieve this encryption, the client needs to perform random gates
,
, and
on the state
in sequence. However, for the qubit
, it can be easily verified that
where
. Thus, instead of preparing
then encrypting it by
, the client can directly generate the encrypted qubit. Specifically, given the
ith input bit
, the client randomly chooses the corresponding encryption keys
, then computes the value
. Finally, the client prepares the qubit
as the encrypted qubit
i.
After preparing all encrypted input qubits, the client sends them to the server. The server then performs the delegated quantum circuit
U on the encrypted qubits. Here, the circuit
U is known to both client and server (they can negotiate in advance via a classical channel). We assume that this circuit has been decomposed into a sequence of basic gates from the gate set
. That is,
, where each
and the positive integer number
m is the total number of gates. The following identities, which all hold up to an irrelevant global phase, can be easily verified.
It follows from Equations (
13)–(
17) that the basic gates
are
commutable with the encryption operator
, although the encryption keys may need to be updated. For example, Equation (
13) indicates that performing an
followed by an
is equivalent to performing an
followed by an
. Thus, the client only needs to update the value of
such that
. The cases for
, and
follow the same reason. The related updating rules of encryption keys are shown in Equations (
14)–(
17). Note, however, that the commutativity noted above is not suited for the Hadamard gate
H, as there is no
for any
. In [
38], the authors proposed a quantum teleportation scheme that they called the
H-gadget (see
Figure 1) so as to implement the
H gate in a similar manner. Specifically, the client needs to prepare two ancillary qubits
and a measurement angle
, where
and
are chosen randomly, whereas
can be determined by the following way.
Note that for any
, we can express them uniquely as follows:
where
. Thus, the client can first generate random bits
then compute the values of
and
. To determine
, the client generates a random bit, denoted by
, then computes
such that
Note also that
is relevant to the measurement outcome
, which means it can be determined until the client obtains the first measurement outcome
from the server. Nevertheless, in theory, all qubits including ancillary qubits can be sent to the server before the computation begins. Thus, the complete procedure is classically interactive. Finally, the updating rule for
H is shown as follows:
where
denote the updated encryption keys related to qubit
i. The correctness of the
H-gadget is given in the
Appendix A. The detailed security proof of the protocol can be found in [
38].
4. Distributed Architecture for Secure Delegated Quantum Computations
In this section, we give a simple scheme to implement the non-local
gate between two quantum servers. Our method uses the entangled state
(see Equation (
10) for its definition) as ancillary qubits. The similar schemes have been studied intensively, for example, in [
39,
40]. The basic circuit is shown in
Figure 2a. In the following content, we first verify the circuit identity shown in
Figure 2, then, based on this circuit identity, we construct a distributed architecture for secure delegated quantum computations.
We start with a circuit named
X-teleportation [
40] (see
Figure 3a), which is easy to verify.
First, we substitute a
and two
H gates for the
gate, obtaining the equivalent circuit, as shown in
Figure 3b. We then convert the measurement basis from
Z to
X by the following identity (see
Figure 4), which is also easy to verify. Finally, we obtain a variant of the
X-teleportation that consists of
, and
X-basis measurement, as shown in
Figure 5.
We now turn back to
Figure 2a. Note first that the
gate commutes with itself, thus the circuit can be reorganized, as in
Figure 6a. Obviously, the partial circuits in the red-dotted line and blue-dotted line boxes are exactly the same circuit as the one in
Figure 5, where
. Therefore, we can see that, after measuring qubits
, the rest qubits and the rest
gate comprise the circuit as, in
Figure 6b. Finally, we use the following identity to exchange the positions of
X and
, which can be easily verified:
where
. Substituting the above identity in
Figure 6b and considering the symmetry of
gate, we immediately obtain the desired circuit, as shown in
Figure 2b.
Considering the encryption operators
and
on qubits
i and
j, we can see from
Figure 6b that the non-local
can be thought to be performed on qubits
, which are encrypted by
and
, thus according to the updating rule shown in Equation (
17), we immediately obtain the updating rule of the non-local
gate as follows:
Based on the above analysis, we construct a distributed architecture for secure delegated quantum computation, where a classical client equipped with some qubit generator can delegate an
n-qubit circuit to
d small-scale quantum servers. Without loss of generality, we assume that
. In this configuration, each server typically needs a
-qubit register to process
k input qubits of the
n-qubit circuit. That is, for each qubit in the
n-qubit circuit, the server needs a 2-qubit register to simulate it. To make sure
, it requires that
. We show this distributed architecture in
Figure 7. Note that there is a special third party in this distributed architecture, which is used to generate and distribute entangled states
between all quantum servers. Thus, all servers do not need to be interconnected directly by a quantum (even classical) channel, as there is no information exchange between servers during the computation.
We give the complete procedure of the protocol in terms of pseudo-code (see Algorithms 1–3). For simplicity, we use
and
to denote the client and
d servers, respectively. That is, the
qth quantum server is referred to as
. As noted, each server only processes
k input qubits of the
n-qubit delegated circuit. More specifically, for
, it only processes the qubits indexed by
. Thus, in the case of no confusion, we also use
to denote the corresponding qubits. In addition, the delegated circuit
U is formally expressed as
, where
denotes the qubits on which the basic gate
is exerted. For example, if
is a
gate on qubits
k and
l, then
. By this definition, we can see that there must be
if
is a local gate in
, otherwise it only can be
for some
and
.
Algorithm 1 Distributed Secure Delegated Quantum Computations |
- Input:
private against all public for and all - Output:
private against all - 1:
generates and computes rotation angles according to Equation ( 12), then prepares as the encrypted input state, finally sends the qubits to where . Specifically, sends the qubits to then sends the qubits to , and so on - 2:
fordo - 3:
if and for some then - 4:
if is not H then - 5:
performs on qubit while updates the encryption keys of this qubit according to the updating rules shown in Equations ( 13)–( 16) - 6:
else - 7:
calls the procedure Hadamard() (See Algorithm 2) - 8:
end if - 9:
else is a gate on qubits - 10:
if for some then - 11:
performs on qubits while updates the encryption keys of those qubits according to the updating rule shown in Equation ( 17) - 12:
else for some - 13:
calls the procedure Nonlocal-CZ() (See Algorithm 3) - 14:
end if - 15:
end if - 16:
end for - 17:
Each server measures the final k qubits in Z basis, then sends the measurement outcomes to let be the result collected from all servers - 18:
computes the output . a is the X encryption keys of the final state
|
Algorithm 2 Implement an H gate on qubit i where i is in |
- 1:
procedureHadamard() qubit i is encrypted by - 2:
generates and computes the angle according to Equation ( 18), then prepares and sends the ancillary qubit to - 3:
performs and gates on qubit i and , then measures qubit i and sends the measurement outcome to , finally labels the ancillary qubit as i - 4:
generates and computes the angles and according to Equations ( 18) and ( 19), respectively, then prepares the ancillary qubit and sends it with to - 5:
performs a gate on qubit i and , then measures qubit i with and sends the measurement outcome to , finally labels the ancillary qubit as i - 6:
updates the encryption keys of qubit i according to Equation ( 20) - 7:
end procedure
|
Algorithm 3 Implement a nonlocal gate on qubits i and j where i is in while j is in , that is, |
- 1:
procedureNonlocal-CZ() qubits i and j are encrypted by and , respectively - 2:
delegates the third party to prepare an entangled state and distribute it to and , that is, each server holds one qubit of as the ancillary qubit - 3:
() performs () and gates on qubit i (j) and its ancillary qubit, then measures qubit i (j) and sends the measurement outcome () to , finally labels its ancillary qubit as i (j) - 4:
updates the encryption keys of qubits i and j according to Equation ( 22) - 5:
end procedure
|
5. The Security of the Distributed Delegated Quantum Computation
We show that our protocol can guarantee the unconditional privacy of the input and output of the computation. We only consider that all servers and the third party who serves as an entanglement resource are honest-but-curious, which means they follow the algorithm honestly but try to obtain the information about the input and output. For example, they may record all classical information generated during the computation and cooperate with each other, even with the third party.
For the input, the conclusion is obvious as the client encrypts each input qubit by a quantum one-time pad. Therefore, to complete the proof, we only need to prove that the output state of the computation is also encrypted by a unbiased quantum one-time pad. In other words, there is no information leakage about the encryption keys during the computation. From the procedures of Algorithm 1, we can see that only when the client calls the procedures Hadamard and Nonlocal-CZ will there be an interaction between client and servers. In the other cases, the algorithm is non-interactive, which means there is no information leakage about the encryption keys from client to server as they do not exchange any information. Based on this observation, we infer that to prove the privacy we only need to analyze the procedures that implement the H and the nonlocal gates.
We first consider the
procedure Hadamard(
). In the following content, we use
to denote all servers including the
untrusted third party. According to Algorithm 2, we can see that given the qubit
i encrypted by
where
,
controls two ancillary qubits
and
, and receives a measurement angle
from
, it also generates two measurement outcomes
from two independent measurements. We can infer from the below state evolution that the measurement outcomes
are uniformly random, thus
can obtain no information gain about any encryption keys according to
and
.
The only available information to
now is the measurement angle
. Let
be
, where
, then according to Equation (
19), we know that
and
can be expressed as follows:
where
, and
are known to
. Intuitively, given
, and
, no server can determine the correct values of
, as there are six variables in two equations. Nevertheless,
may gain some information utilizing
and
. For example, if
, then
can infer that
. Substituting this into Equation (
24a),
can obtain a simplified equality
. Despite this fact, we can show that there is no information leakage about all variables from
to
. That is, we prove that in the view of
, the following equality holds true:
where the random variable
represents the possible parameters
. To see that, we need to know the following simple facts.
First, if
and
x is uniform, i.e.,
, then
is also uniform. Second, if
are uniform and let
, then
. Finally, if
and
x is uniform, let
, then
. These three basic facts can be easily verified. With these facts, we can complete our proof. Define
so that
. As
, we first know that
. Furthermore, as
, we can get that
. Likewise, we can also get
and
. For
, define
so that
, from which we can infer that
. Note that
, and
are irrelevant to
, which means
for any
. As for
, as they are related to both
and
, in order to simplify our analysis, we define
,
, and
, then obtain that
. Clearly,
, so
and
are only related to
. By this, we can easily get that
and
. Finally,
and
are obviously irrelevant to
and
(see Equations (
24a) and (
24b)), which means
and
. So far, we have proved the statement in Equation (
25), from which we know that the servers can obtain no information gain about
from the
. Thus, after the
procedure Hadamard(
), the updated keys
are also secure.
Finally, we consider the
procedure Nonlocal-CZ(
), where
. Note that in this procedure,
can only obtain two independent and uniform measurement outcomes
. According to the updating rules shown in Equation (
22), we can see that as long as the encryption keys
and
are secure then the updated keys will also be secure against the servers. As a result, we conclude that, from the perspective of all servers, the output state of the computation is still encrypted by a sound quantum one-time pad.
6. Discussion
In this work, we proposed a secure distributed delegated quantum computation protocol, which allows clients to delegate their private computation to several quantum servers. We have shown that unconditional security of the input and output of the computation can be guaranteed as long as all servers follow the protocol honestly. Nevertheless, there are some notable problems in our work when we consider it in practice. In the end of this paper, we discuss those practical problems.
First, note that our protocol can only work well in a noise-free environment. To make our protocol fault-tolerant, we assume that each quantum server must be capable of performing
fault-tolerant quantum computation [
41]. However, this would inevitably increase the overhead of ancillary qubits. In addition, we need to consider two channel noises: one is between the client and each server, the other is between the third party and each server. The former will introduce errors in the input state, whereas the latter will introduce errors in the entangled state. There are some methods to remedy this problem. For the input state, the client can utilize some
quantum error-correct code [
42] to protect each qubit. However, it requires that the client can perform additional quantum operations. As for the entangled state, each pair of servers can use some
quantum entanglement distill [
43] protocol to obtain the entangled states with high fidelity. Similarly, it requires additional local operations and classical communications between the servers.
Second, note that our protocol can only protect the security of the input and output of the computation. This is because the model of the delegated quantum computation we used in our work is SDQC protocol instead of UBQC protocol. Nevertheless, we can convert, in principle, a SDQC protocol into a UBQC protocol. To do that, we first encode the delegated circuit
U as a binary string denoted by
. Next, according to the quantum computation theory [
44], there exists a universal quantum circuit
such that
where the input of the universal circuit
consists of two parts:
is the input state of
U and
is the canonical and quantum description of the circuit
U. Performing this universal circuit
in our protocol, we can apparently achieve a blind distributed delegated quantum computation.
Last, we should note that in this work we only consider the honest servers and the third party who perform the protocol as the client desires. However, a real server may not follow the protocol honestly, and an untrusted third party may prepare some other entangled states for the servers. To detect such a malicious server including the untrusted third party, we should introduce a verification mechanics in our protocol. Indeed, verification is an important topic in the quantum computation theory (see [
45,
46]). There is an easy way to achieve the verification in our protocol. Specifically, given the delegated circuit
U, the client can introduce another small quantum circuit
V, for example, a permutation circuit [
47], which is easy to simulate on a classical computer. The client then randomly inserts the qubits of
V into the circuit
U and runs this hybrid circuit on the universal quantum circuit
. After the computation, the client check the result of
V; if the result does not match the desired, then the client rejects the output.