<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.veriqloud.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Limacher</id>
	<title>Quantum Protocol Zoo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.veriqloud.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Limacher"/>
	<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Special:Contributions/Limacher"/>
	<updated>2026-04-20T13:09:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.veriqloud.fr/index.php?title=Protocol_Library&amp;diff=4118</id>
		<title>Protocol Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Protocol_Library&amp;diff=4118"/>
		<updated>2019-10-28T15:04:55Z</updated>

		<summary type="html">&lt;p&gt;Limacher: Quantum Secret Sharing added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=&amp;quot;40%&amp;quot;|Functionality&lt;br /&gt;
!width=&amp;quot;60%&amp;quot;|Protocols&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|[[Anonymous Transmission]]||[[GHZ-based Quantum Anonymous Transmission]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Verifiable Quantum Anonymous Transmission]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|[[Authentication of Quantum Messages]]||[[Clifford based Quantum Authentication]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Polynomial Code based Quantum Authentication]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Byzantine Agreement]]||[[Fast Quantum Byzantine Agreement]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Bit Commitment]]||[[Quantum Bit Commitment]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Coin Flipping]]||[[Quantum Coin Flipping]]&lt;br /&gt;
|- &lt;br /&gt;
|rowspan=&amp;quot;8&amp;quot;|[[Quantum Digital Signature|(Quantum) Digital Signature]] |||[[Gottesman and Chuang Quantum Digital Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Prepare and Measure Quantum Digital Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Measurement Device Independent Quantum Digital Signature (MDI-QDS)]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Arbitrated Quantum Digital Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Blind Delegation of Quantum Digital Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Designated Verifiable Quantum Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Limited Delegation of Quantum Digital Signature]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Quantum Proxy Signature]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Entanglement Verification]]||[[Multipartite Entanglement Verification]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Fingerprinting]]||[[Quantum Fingerprinting]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Quantum Identity Authentication]]||[[-]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|[[Quantum Key Distribution|(Quantum) Key Distribution]]||[[BB84 Quantum Key Distribution]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Measurement Device Independent Quantum Key Distribution (MDI-QKD)]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Device-Independent Quantum Key Distribution]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Continuous-Variable Quantum Key Distribution (CV-QKD)]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Leader Election]]||[[Quantum Leader Election]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|[[Quantum Money|(Quantum) Money]]||[[Quantum Cheque]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Quantum Coin]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Quantum Token]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Wiesner Quantum Money]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Oblivious Transfer]]||[[Quantum Oblivious Transfer]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| [[Quantum Secret Sharing|Secret Sharing]] ||[[Quantum Secret Sharing using GHZ States]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Verifiable Quantum Secret Sharing]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;| [[Secure Client- Server Delegated Quantum Computation]] ||[[Classical Fully Homomorphic Encryption for Quantum Circuits]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Measurement-Only Universal Blind Quantum Computation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Prepare-and-Send Quantum Fully Homomorphic Encryption]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Prepare-and-Send Universal Blind Quantum Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Pseudo-Secret Random Qubit Generator (PSQRG)]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|[[Secure Verifiable Client-Server Delegated Quantum Computation]]||[[Prepare-and-Send Verifiable Universal Blind Quantum Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Measurement-Only Verifiable Universal Blind Quantum Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Prepare-and-Send Verifiable Quantum Fully Homomorphic Encryption]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|[[Secure Delegated Classical Computation]]||[[Secure Client-Server Classical Delegated Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Secure Multiparty Delegated Classical Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|[[Secure Multi-Party Delegated Computation]]||[[Secure Multiparty Delegated Quantum Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Secure Multiparty Delegated Classical Computation]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|[[Teleportation|(Quantum) Teleportation]]||[[Quantum Teleportation|State Teleporation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gate Teleporation]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Verification of Universal Quantum Computation]]||[[Interactive Proofs for Quantum Computation|Quantum Prover Interactive Proofs]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Verification of Sub-Universal Quantum Computation]]||[[-]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Verification of NP-complete problems]]||[[-]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Classical Verification of Universal Quantum Computation]]||[[-]]&lt;br /&gt;
|-&lt;br /&gt;
||-||[[Weak String Erasure]]&lt;br /&gt;
|-&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=&amp;quot;40%&amp;quot;|Nodal Subroutine&lt;br /&gt;
!width=&amp;quot;60%&amp;quot;|Types&lt;br /&gt;
|-&lt;br /&gt;
||[[Quantum Cloning]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Universal Superposition of Orthogonal States|Superposition]]&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|[[Quantum Random Number Generator]]||[[Certified finite randomness expansion]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Certified infinite randomness expansion]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Randomness amplification (8 devices)]]&lt;/div&gt;</summary>
		<author><name>Limacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3842</id>
		<title>Quantum Secret Sharing</title>
		<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3842"/>
		<updated>2019-09-13T16:15:48Z</updated>

		<summary type="html">&lt;p&gt;Limacher: Second batch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Functionality Description==&lt;br /&gt;
Quantum Secret Sharing (QSS) allows to transfer a quantum state (or a classical message encoded as quantum state), referred to as the secret, from Alice to Bob but only with the consent of a third-party, Charlie. A QSS protocol is generalizable to an arbitrary number of parties consisting of one sender, one recipient, and all other parties being endorsers. In case of only two parties, sender and receiver, QSS is equivalent to [[Quantum Teleportation]]. Despite the no-cloning theorem not allowing the quantum secret to be in possession of more than one party at the same time, there exist QSS protocols that mimic classical secret sharing (see [[Quantum Secret Sharing#Further Details|Further Information]]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;  [[:Category: Building Blocks|Building Blocks]], [[:Category: Multi Party Protocols|Multi Party]], [[:Category: Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Two Party Protocols]] [[Category: Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
* QSS can replace certain classical secret sharing scenarios with unconditional security.[[Quantum Secret Sharing#References|(1)]]&lt;br /&gt;
* Secret sharing is a very common building block in other protocols:[[Quantum Secret Sharing#References|(2)]]&lt;br /&gt;
** [[Secure Multiparty Delegated Quantum Computation]]&lt;br /&gt;
** Leader election and [[Fast Quantum Byzantine Agreement|Byzantine Agreement]]&lt;br /&gt;
** Error correction in quantum computers[[Quantum Secret Sharing#References|(3)]]&lt;br /&gt;
** Bank transfers with third party endorsement, see [[Quantum Cheque]]&lt;br /&gt;
&lt;br /&gt;
==Protocols==&lt;br /&gt;
#[[Quantum Secret Sharing using GHZ States]][[Quantum Secret Sharing#References|(4)]]&lt;br /&gt;
#[[Verifiable Quantum Secret Sharing]] (VQSS)&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
* Confidentiality: QSS with one dishonest party not following the protocol must guarantee that no information about the quantum secret at all is revealed to any party. &lt;br /&gt;
* Security: Every protocol must ensure that no information about the secret is leaked to an external eavesdropper.&lt;br /&gt;
&lt;br /&gt;
==Further Information==&lt;br /&gt;
QSS is inspired by classical secret sharing (CSS), but has one fundamental difference due to the no-cloning theorem. In CSS, Alice shares a secret among &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; parties and any team of &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; parties or more, with &amp;lt;math&amp;gt;t \leq n&amp;lt;/math&amp;gt;, has full access to the secret, whereas &amp;lt;math&amp;gt;t-1&amp;lt;/math&amp;gt; collaborating parties or less have no information about the secret at all. Such &amp;lt;math&amp;gt;(t, n)&amp;lt;/math&amp;gt;-threshold schemes are not straightforward to implement for QSS, since the no-cloning theorem forbids that quantum states are copied, resulting in only one party, the receiver, obtaining the quantum secret from Alice, who looses hers during the process. However, &amp;lt;math&amp;gt;(t, n)&amp;lt;/math&amp;gt; schemes can be built through sequentially running several QSS rounds.[[Quantum Secret Sharing#References|(5)]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9802025 Mayers (2001)]&lt;br /&gt;
#[https://arxiv.org/abs/1807.03219 Joy et al (2018)]&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9910067 Gottesman (1999)]&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9806063 Hillery et al (1998)]&lt;br /&gt;
#[https://arxiv.org/abs/1710.11600 Lu et al (2018)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&#039;text-align: right;&#039;&amp;gt;&#039;&#039;contributed by Peter Limacher&#039;&#039;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Limacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3840</id>
		<title>Quantum Secret Sharing</title>
		<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3840"/>
		<updated>2019-09-13T14:34:57Z</updated>

		<summary type="html">&lt;p&gt;Limacher: Initial filling with text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Functionality Description==&lt;br /&gt;
Quantum Secret Sharing (QSS) allows to transfer a quantum state (or a classical message encoded as quantum state), referred to as the secret, from Alice to Bob but only with the consent of a third-party, Charlie. A QSS protocol is generalizable to an arbitrary number of parties always consisting of one sender, one recipient, and all other parties being endorsers. In case of only two parties, sender and receiver, QSS is equivalent to [[Quantum Teleportation]]. QSS with one dishonest party not following the protocol must guarantee that no information about the quantum secret at all is revealed to any party.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;  [[:Category: Building Blocks|Building Blocks]], [[:Category: Multi Party Protocols|Multi Party]], [[:Category: Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Two Party Protocols]] [[Category: Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
* QSS can replace certain classical secret sharing scenarios with unconditional security.[[Quantum Secret Sharing#References|(1)]]&lt;br /&gt;
* Secret sharing is a very common building block in other protocols:[[Quantum Secret Sharing#References|(2)]]&lt;br /&gt;
** [[Secure Multiparty Delegated Quantum Computation]]&lt;br /&gt;
** Leader election and [[Fast Quantum Byzantine Agreement|Byzantine Agreement]]&lt;br /&gt;
** Error correction in quantum computers[[Quantum Secret Sharing#References|(3)]]&lt;br /&gt;
** Bank transfers with third party endorsement, see [[Quantum Cheque]]&lt;br /&gt;
&lt;br /&gt;
==Protocols==&lt;br /&gt;
(under construction)&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
QSS is inspired by classical secret sharing (CSS), but has one fundamental difference due to the no-cloning theorem. In CSS, Alice shares a secret among &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; parties and any team of &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; parties or more, with &amp;lt;math&amp;gt;t \leq n&amp;lt;/math&amp;gt;, has full access to the secret, whereas &amp;lt;math&amp;gt;t-1&amp;lt;/math&amp;gt; collaborating parties or less have no information about the secret at all. Such &amp;lt;math&amp;gt;(t, n)&amp;lt;/math&amp;gt;-threshold schemes are not possible for QSS, since the no-cloning theorem forbids that quantum states are copied, resulting in only one party, the receiver, obtaining the quantum secret from Alice, who looses hers at the same. So in contrast to CSS, there are always &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; parties in QSS that all must collaborate by adhering to the protocol, in order that one party will receive the secret from Alice.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9802025 Mayers (2001)]&lt;br /&gt;
#[https://arxiv.org/abs/1807.03219 Joy et al (2018)]&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9910067 Gottesman (1999)]&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9806063 Hillery et al (1998)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&#039;text-align: right;&#039;&amp;gt;&#039;&#039;contributed by Peter Limacher&#039;&#039;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Limacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3823</id>
		<title>Quantum Secret Sharing</title>
		<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Quantum_Secret_Sharing&amp;diff=3823"/>
		<updated>2019-09-11T12:23:55Z</updated>

		<summary type="html">&lt;p&gt;Limacher: Page created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Functionality Description==&lt;br /&gt;
(under construction)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;  [[:Category: Building Blocks|Building Blocks]], [[:Category: Multi Party Protocols|Multi Party]], [[:Category: Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Two Party Protocols]] [[Category: Quantum Enhanced Classical Functionality]]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
* QSS can replace classical secret sharing protocols.&lt;br /&gt;
* Secret sharing is a very common building block for other protocols like (under construction).&lt;br /&gt;
&lt;br /&gt;
==Protocols==&lt;br /&gt;
(under construction)&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
(under construction)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9806063 Hillery et al (1998)]&lt;br /&gt;
#[https://arxiv.org/abs/quant-ph/9910067 Gottesman (1999)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&#039;text-align: right;&#039;&amp;gt;&#039;&#039;contributed by Peter Limacher&#039;&#039;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Limacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.veriqloud.fr/index.php?title=Secure_Multiparty_Delegated_Quantum_Computation&amp;diff=3821</id>
		<title>Secure Multiparty Delegated Quantum Computation</title>
		<link rel="alternate" type="text/html" href="https://wiki.veriqloud.fr/index.php?title=Secure_Multiparty_Delegated_Quantum_Computation&amp;diff=3821"/>
		<updated>2019-09-11T11:37:30Z</updated>

		<summary type="html">&lt;p&gt;Limacher: /* Outline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This [https://arxiv.org/abs/1606.09200 example protocol] achieves the functionality of [[Secure Client- Server Delegated Computation|Delegation Quantum Computation]] to a server for multiple Clients with the guarantee that Server is unknown of any Clients&#039; inputs, outputs, and computation. This protocol is an extension of [[Prepare-and-Send Universal Blind Quantum Computation]] in the multiparty setting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039; [[:Category:Multi Party Protocols|Multi Party Protocols]], [[:Category:Quantum Functionality|Quantum Functionality]], [[:Category:Universal Task|Universal Task]]&lt;br /&gt;
[[Category:Multi Party Protocols]] [[Category:Quantum Functionality]][[Category:Universal Task]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Assumptions==&lt;br /&gt;
&lt;br /&gt;
* The clients have secure access to classical multiparty functionalities, which will be treated as oracles.&lt;br /&gt;
* A set of malicious clients cannot corrupt the Server, and the other way around.&lt;br /&gt;
&lt;br /&gt;
==Outline==&lt;br /&gt;
&lt;br /&gt;
The Protocol consists of 2 phases: Preparation phase and Computation phase.&lt;br /&gt;
&lt;br /&gt;
===Preparation phase===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Input qubits:&#039;&#039;&#039; For the input qubit states, each client one-time pads their qubit and uses [[Quantum Secret Sharing|secret sharing]] schemes to share the secret values with other clients. The honest behaviour for every client is enforced via the given protocol. The server then one-time pads them and measures the one-time padded qubits and announces the measurement values.&lt;br /&gt;
* &#039;&#039;&#039;Non-output and non-input qubits:&#039;&#039;&#039; The clients send the qubits in random phases allowed in MBQC. The server then one-time pads them and announces the measurement values.&lt;br /&gt;
* &#039;&#039;&#039;Output qubits:&#039;&#039;&#039; The server prepares them in the &amp;lt;math&amp;gt;|+\rangle&amp;lt;/math&amp;gt; state.&lt;br /&gt;
* &#039;&#039;&#039;Graph state:&#039;&#039;&#039; The server entangles the qubits to a brickwork state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Computation phase===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Non-output qubits:&#039;&#039;&#039; All clients choose a random bit based on which they compute the measurement angle of the qubits. They send this angle to the server who then returns the result based on the measurement.    &lt;br /&gt;
* &#039;&#039;&#039;Output qubits:&#039;&#039;&#039; The server sends the encrypted qubits to the corresponding clients. The clients then jointly compute the Pauli corrections and apply them to get the actual output.&lt;br /&gt;
&lt;br /&gt;
==Notation==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;: Total clients.&lt;br /&gt;
* &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt;: Client with index &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &amp;lt;math&amp;gt;\mathcal{C}_k&amp;lt;/math&amp;gt;: Register of client &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;: Server performing the computation.&lt;br /&gt;
* &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt;: Set of input qubits.&lt;br /&gt;
* &amp;lt;math&amp;gt;O&amp;lt;/math&amp;gt;: Set of output qubits.&lt;br /&gt;
* &amp;lt;math&amp;gt;O^c&amp;lt;/math&amp;gt;: Set of all qubits except the output qubits.&lt;br /&gt;
* &amp;lt;math&amp;gt;\mathcal{S}_k&amp;lt;/math&amp;gt;: Register of server with register index &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &amp;lt;math&amp;gt;t^i_j&amp;lt;/math&amp;gt;: Outcome of the measurement for the qubit corresponding to &amp;lt;math&amp;gt;i^{th}&amp;lt;/math&amp;gt; client for &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; qubit.&lt;br /&gt;
* &amp;lt;math&amp;gt;a_j&amp;lt;/math&amp;gt;: Random bit chosen by &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; client in preparation phase.&lt;br /&gt;
* &amp;lt;math&amp;gt;r^k_j&amp;lt;/math&amp;gt;: Random bit chosen by &amp;lt;math&amp;gt;k^{th}&amp;lt;/math&amp;gt; client for &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; qubit in computation phase.&lt;br /&gt;
* &amp;lt;math&amp;gt;\theta^j_j&amp;lt;/math&amp;gt;: Random phase given by &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; client to &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; qubit.&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta_j&amp;lt;/math&amp;gt;: Measurement angle for encrypted qubit &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &amp;lt;math&amp;gt;\phi_j&amp;lt;/math&amp;gt;: Measurementangle for &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; decrypted qubit.&lt;br /&gt;
* &amp;lt;math&amp;gt;s^X_j&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; correction term for &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; qubit.&lt;br /&gt;
* &amp;lt;math&amp;gt;s^Z_j&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; correction term for &amp;lt;math&amp;gt;j^{th}&amp;lt;/math&amp;gt; qubit.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
* The quantum operations required from the clients are limited to creating &amp;lt;math&amp;gt;|+\rangle&amp;lt;/math&amp;gt; states and applying X gates and rotations around the z-axis.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SMPDQC_Server.PNG|center|Secure Multiparty Delegated Quantum Computation (Server)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SMPDQC_Client.PNG|center|Secure Multiparty Delegated Quantum Computation (Client)]]&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
&lt;br /&gt;
* There is no need of quantum memory for the clients as the quantum communication from the clients to the server can be done in single-qubit rounds.&lt;br /&gt;
* The protocol provides security against a dishonest Server and against a coalition of dishonest clients.&lt;br /&gt;
* Security in the more general scenario where a Server and some clients collaborate to cheat is not guaranteed.&lt;br /&gt;
* No guarantee is given on the correctness of the computation outcome.&lt;br /&gt;
* The protocol uses Verifiable Secret Sharing (VSS) schemes and a computation oracle to calculate the necessary values at each step of the protocol and to ensure that the clients behave honestly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Protocol Description==&lt;br /&gt;
*Enforcing honest behavior for client &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt;&lt;br /&gt;
# Client &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt; sends &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; qubits &amp;lt;math&amp;gt;|+_{\theta_i^k}\rangle=\frac{1}{\sqrt{2}}(|0\rangle+e^{i\theta_i^k}|1\rangle)&amp;lt;/math&amp;gt; to the Server and secret-shares the values &amp;lt;math&amp;gt;\{\theta_i^k\}_{i=1}^m&amp;lt;/math&amp;gt; with all clients, using a VSS scheme.&lt;br /&gt;
# The Server requests the shared values from the clients for all but one qubit, and measures in the resconstructed bases. If the bases agree with the results of the measurements, then with high probability, the remaining state is correctly formed in relation to the shared angle.&lt;br /&gt;
*State preparation for &amp;lt;math&amp;gt;j\in I&amp;lt;/math&amp;gt;)&lt;br /&gt;
#Server stores states received from clients &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt; to distinct registers &amp;lt;math&amp;gt;\mathcal{S}_k\subset \mathcal{S}&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;k=1,\dots,n&amp;lt;/math&amp;gt;);&lt;br /&gt;
##for &amp;lt;math&amp;gt;k=1,\dots,n-1&amp;lt;/math&amp;gt;&lt;br /&gt;
###if &amp;lt;math&amp;gt;k=j&amp;lt;/math&amp;gt; &#039;&#039;&#039;then&#039;&#039;&#039; break;&lt;br /&gt;
###if &amp;lt;math&amp;gt;k=n-1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;j=n&amp;lt;/math&amp;gt; &#039;&#039;&#039;then&#039;&#039;&#039; break;&lt;br /&gt;
###if &amp;lt;math&amp;gt;k=j-1&amp;lt;/math&amp;gt;, &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
####CNOT on &amp;lt;math&amp;gt;\mathcal{S}_k\otimes\mathcal{S}_{k+2}&amp;lt;/math&amp;gt;;&lt;br /&gt;
###&#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
####CNOT on &amp;lt;math&amp;gt;\mathcal{S}_k\otimes\mathcal{S}_{k+1}&amp;lt;/math&amp;gt;;&lt;br /&gt;
###measure state in &amp;lt;math&amp;gt;\mathcal{S}_k&amp;lt;/math&amp;gt; and get outcome &amp;lt;math&amp;gt;t_j^k&amp;lt;/math&amp;gt;;&lt;br /&gt;
##if &amp;lt;math&amp;gt;j=n&amp;lt;/math&amp;gt; &#039;&#039;&#039;then&#039;&#039;&#039; &lt;br /&gt;
###CNOT on &amp;lt;math&amp;gt;\mathcal{S}_{n-1}\otimes\mathcal{S}_n&amp;lt;/math&amp;gt;;&lt;br /&gt;
####Measure state in &amp;lt;math&amp;gt;\mathcal{S}_{n-1}&amp;lt;/math&amp;gt; and get outcome &amp;lt;math&amp;gt;t_n^{n-1}&amp;lt;/math&amp;gt;;&lt;br /&gt;
##else&lt;br /&gt;
###CNOT on &amp;lt;math&amp;gt;(\mathcal{S}_{n}\otimes\mathcal{S}_j)&amp;lt;/math&amp;gt;; &lt;br /&gt;
####Measure state in &amp;lt;math&amp;gt;\mathcal{S}_n&amp;lt;/math&amp;gt; and get outcome &amp;lt;math&amp;gt;t_j^n&amp;lt;/math&amp;gt;;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
\begin{figure}[H]&lt;br /&gt;
            &lt;br /&gt;
    \centerline{&lt;br /&gt;
    \Qcircuit @C=0.5em @R=1.5em {&lt;br /&gt;
    \lstick{C_1:20:28, 17 April 2019 (CEST)20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^1}}}	&amp;amp;\qw	&amp;amp;\targ &amp;amp;\meter	&amp;amp;	\cw 	&amp;amp; t_j^1\\	&lt;br /&gt;
    \lstick{C_2:20:28, 17 April 2019 (CEST)20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^2}}}  	&amp;amp;\qw		&amp;amp;\ctrl{-1}&amp;amp;\qw	&amp;amp;\targ		 &amp;amp;	\meter 	&amp;amp;	\cw		&amp;amp;	t_j^2\\&lt;br /&gt;
    \lstick{C_3:20:28, 17 April 2019 (CEST)20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^3}}} 	&amp;amp;\qw		&amp;amp;\qw	  &amp;amp;\qw	  	&amp;amp;\ctrl{-1}		&amp;amp;\qw &amp;amp;\targ{+1} &amp;amp; \meter	&amp;amp;	\cw		&amp;amp; \cw	&amp;amp;[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)  t_j^3\\&lt;br /&gt;
    \lstick{\vdots \hspace{1in}\vdots}  				&amp;amp;				 &amp;amp;		   &amp;amp;		&amp;amp;		 &amp;amp;			&amp;amp;	\vdots	&amp;amp;		&amp;amp;	&amp;amp; &amp;amp; &amp;amp; &amp;amp; 	&amp;amp;  &amp;amp;  &amp;amp; &amp;amp; \ddots \\&lt;br /&gt;
    \lstick{C_n:20:28, 17 April 2019 (CEST)20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^n}}}				&amp;amp;\qw   			 &amp;amp;\qw 	   &amp;amp;\qw		&amp;amp; \qw	 &amp;amp;\qw		&amp;amp;\qw		&amp;amp;\qw	&amp;amp;\qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp;\qw &amp;amp;\qw &amp;amp; \qw &amp;amp;\ctrl{-1}		&amp;amp;\qw &amp;amp;\targ &amp;amp; \meter	&amp;amp;	\cw		&amp;amp; \cw &amp;amp;20:28, 17 April 2019 (CEST)~	t_j^n\\&lt;br /&gt;
    \lstick{C_j:~X^{a_j}Z(\theta_j^j)\big[\mathcal{C}_j\big] } 	[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)			&amp;amp;\qw   			 &amp;amp;\qw 	   &amp;amp;\qw		&amp;amp; \qw	 &amp;amp;\qw		&amp;amp;\qw		&amp;amp;\qw	&amp;amp;\qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp;\qw &amp;amp; \qw &amp;amp; \qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp; \ctrl{-1}	&amp;amp;\qw &amp;amp; \qw &amp;amp; &amp;amp; &amp;amp;\hspace{0.7in}X^{a_j}Z(\theta_j)\big[\mathcal{C}_j\big] \\\\&lt;br /&gt;
                         }		&lt;br /&gt;
        }&lt;br /&gt;
        \caption{Remote State Preparation with quantum input (Protocol \ref{Algo2}). Client &amp;lt;/math&amp;gt;C_j&amp;lt;/math&amp;gt; performs a one-time pad on his register &amp;lt;/math&amp;gt;\mathcal{C}_j&amp;lt;/math&amp;gt; and the result of the circuit remains one-time padded, where &amp;lt;/math&amp;gt;\theta_j=\theta_j^j+\sum_{k=1,k\neq j}^n (-1)^{\bigoplus_{i=k}^n t_j^i+a_j}\theta_j^k&amp;lt;/math&amp;gt;.}\label{fig:algo1}&lt;br /&gt;
\end{figure}&lt;br /&gt;
    &lt;br /&gt;
 &lt;br /&gt;
====State preparation for (&amp;lt;math&amp;gt;j\in O^c\setminus I&amp;lt;/math&amp;gt;)====&lt;br /&gt;
&lt;br /&gt;
# Server stores states received from clients &amp;lt;math&amp;gt;C_k&amp;lt;/math&amp;gt; to distinct registers &amp;lt;math&amp;gt;\mathcal{S}_k\subset \mathcal{S}&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;k=1,\dots,n&amp;lt;/math&amp;gt;);&lt;br /&gt;
# For &amp;lt;math&amp;gt;k=1,\dots,n-1&amp;lt;/math&amp;gt;&lt;br /&gt;
## CNOT on &amp;lt;math&amp;gt;\mathcal{S}_k\otimes\mathcal{S}_{k+1}&amp;lt;/math&amp;gt;;&lt;br /&gt;
## Measure state in &amp;lt;math&amp;gt;\mathcal{S}_k&amp;lt;/math&amp;gt; and get outcome &amp;lt;math&amp;gt;t_j^k&amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
\begin{figure}[H]&lt;br /&gt;
    \centerline{&lt;br /&gt;
    \Qcircuit @C=0.5em @R=1.5em {&lt;br /&gt;
    \lstick{C_1:[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^1}}}	&amp;amp;\qw  &amp;amp;\targ &amp;amp;\meter	&amp;amp;	\cw 	&amp;amp; t_j^1\\	&lt;br /&gt;
    \lstick{C_2:[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^2}}}  	&amp;amp;\qw		&amp;amp;\ctrl{-1}&amp;amp;\qw	&amp;amp;\targ		 &amp;amp;	\meter 	&amp;amp;	\cw		&amp;amp;	t_j^2\\&lt;br /&gt;
    \lstick{C_3:[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^3}}} 	&amp;amp;\qw		&amp;amp;\qw	  &amp;amp;\qw	  	&amp;amp;\ctrl{-1}		&amp;amp;\qw &amp;amp;\targ &amp;amp; \meter	&amp;amp;	\cw		&amp;amp; \cw	&amp;amp;[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)  t_j^3\\&lt;br /&gt;
    \lstick{\vdots \hspace{0.7in}\vdots}  \hspace{0.5in}				&amp;amp;				 &amp;amp;		   &amp;amp;		&amp;amp;		 &amp;amp;			&amp;amp;	\vdots	&amp;amp;		&amp;amp;	&amp;amp; &amp;amp; &amp;amp; &amp;amp; 	&amp;amp;  &amp;amp;  &amp;amp; &amp;amp; \ddots \\&lt;br /&gt;
    \lstick{C_{n-1}:\hspace{0.1in}\ket{+_{\theta_j^{n-1}}}}				&amp;amp;\qw   			 &amp;amp;\qw 	   &amp;amp;\qw		&amp;amp; \qw	 &amp;amp;\qw		&amp;amp;\qw		&amp;amp;\qw	&amp;amp;\qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp;\qw &amp;amp;\qw &amp;amp; \qw &amp;amp;\ctrl{-1}		&amp;amp;\qw &amp;amp;\targ &amp;amp; \meter	&amp;amp;	\cw		&amp;amp; \cw &amp;amp; 20:28, 17 April 2019 (CEST)	t_j^{n-1}\\&lt;br /&gt;
    \lstick{C_n:[[User:Shraddha|Shraddha]] ([[User talk:Shraddha|talk]]) 20:28, 17 April 2019 (CEST)\ket{+_{\theta_j^n}}}				&amp;amp;\qw   			 &amp;amp;\qw 	   &amp;amp;\qw		&amp;amp; \qw	 &amp;amp;\qw		&amp;amp;\qw		&amp;amp;\qw	&amp;amp;\qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp;\qw &amp;amp; \qw &amp;amp; \qw	&amp;amp; \qw	&amp;amp;\qw	&amp;amp; \ctrl{-1}	&amp;amp;\qw &amp;amp; \qw &amp;amp; &amp;amp; &amp;amp;\hspace{0.3in}\mathbf{\ket{+_{\theta_j}}}\\&lt;br /&gt;
                         }		&lt;br /&gt;
        }&lt;br /&gt;
    \caption{Remote State Preparation without quantum input (Protocol \ref{Algo3}), where &amp;lt;/math&amp;gt;\theta_j=\theta_j^n+\sum_{k=1}^{n-1} (-1)^{\bigoplus_{i=k}^{n-1} t_j^i}\theta_j^k&amp;lt;/math&amp;gt;.}\label{fig:algo2}&lt;br /&gt;
\end{figure}&lt;br /&gt;
    &lt;br /&gt;
====Multiparty Quantum Computing Protocol====&lt;br /&gt;
* A quantum input &amp;lt;math&amp;gt;\rho_{in}&amp;lt;/math&amp;gt; and measurement angles &amp;lt;math&amp;gt;\{\phi_j\}_{j=1}^q&amp;lt;/math&amp;gt; for qubits &amp;lt;math&amp;gt;j\in O^c&amp;lt;/math&amp;gt; .&lt;br /&gt;
    &lt;br /&gt;
&#039;&#039;&#039;Preparation phase&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quantum input&#039;&#039;: For &amp;lt;math&amp;gt;j\in I&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# Client &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; applies a one-time pad &amp;lt;math&amp;gt;X^{a_j}Z(\theta_j^j)&amp;lt;/math&amp;gt; to his qubit, where &amp;lt;math&amp;gt;a_j\in_R\{0,1\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\theta_j^j\in_R\{l\pi/4\}_{l=0}^7&amp;lt;/math&amp;gt; and sends it to the Server. He secret-shares the values &amp;lt;math&amp;gt;a_j&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\theta_j^j&amp;lt;/math&amp;gt; with the other clients.&lt;br /&gt;
# Each client &amp;lt;math&amp;gt;C_k (k\neq j)&amp;lt;/math&amp;gt;, runs Protocol 1 with the Server. If all clients pass the test, the Server at the end has &amp;lt;math&amp;gt;n-1&amp;lt;/math&amp;gt; states &amp;lt;math&amp;gt;|+_{\theta_j^k}\rangle=\frac{1}{\sqrt{2}}\big(|0\rangle+e^{i\theta_j^k}|1\rangle \big)&amp;lt;/math&amp;gt; for &amp;lt;math&amp;gt;k\neq j&amp;lt;/math&amp;gt;.&lt;br /&gt;
# The Server runs Protocol2 and announces outcome vector &amp;lt;math&amp;gt;\mathbf{t}_j&amp;lt;/math&amp;gt;. &lt;br /&gt;
At this point the Server has the state  &amp;lt;math&amp;gt;\rho&#039;_{in}=\big(X^{a_1}Z(\theta_1)\otimes \dots \otimes X^{a_n} Z(\theta_n)\otimes \mathbf{1}_{\mathcal{R}}\big)\cdot \rho_{in}&amp;lt;/math&amp;gt;, where &lt;br /&gt;
&amp;lt;math&amp;gt;\theta_j=\theta_j^j+\sum_{k=1, k\neq j}^n (-1)^{\bigoplus_{i=k}^n t_j^i+a_j}\theta_j^k &amp;lt;/math&amp;gt;&lt;br /&gt;
# [non-output / non-input qubits:] For &amp;lt;math&amp;gt;j\in O^c\setminus I&amp;lt;/math&amp;gt; &lt;br /&gt;
        \begin{enumerate}&lt;br /&gt;
            \item[4.] All clients &amp;lt;/math&amp;gt;C_k&amp;lt;/math&amp;gt;, &amp;lt;/math&amp;gt;k\in[n]&amp;lt;/math&amp;gt;  run Protocol \ref{Algo1} with the Server. If all clients pass the test, the Server at the end has &amp;lt;/math&amp;gt;n&amp;lt;/math&amp;gt; states &amp;lt;/math&amp;gt;\ket{+_{\theta_j^k}}=\frac{1}{\sqrt{2}}\big(\ket{0}+e^{i\theta_j^k}\ket{1}  \big)&amp;lt;/math&amp;gt; for &amp;lt;/math&amp;gt;k=1,\dots,n&amp;lt;/math&amp;gt;.&lt;br /&gt;
            \item[5.] The Server runs Protocol \ref{Algo3} getting outcome vector &amp;lt;/math&amp;gt;\mathbf{t}_j&amp;lt;/math&amp;gt;. He ends up with the state &amp;lt;/math&amp;gt;\ket{+_{\theta_j}}&amp;lt;/math&amp;gt;, where:&lt;br /&gt;
            \begin{equation}\label{eq:entangle2}&lt;br /&gt;
                \theta_j=\theta_j^n+\sum_{k=1}^{n-1} (-1)^{\bigoplus_{i=k}^{n-1} t_j^i}\theta_j^k&lt;br /&gt;
            \end{equation}&lt;br /&gt;
        \end{enumerate}&lt;br /&gt;
        \item[output qubits:] For &amp;lt;/math&amp;gt;j\in O&amp;lt;/math&amp;gt;, the Server prepares &amp;lt;/math&amp;gt;\ket{+}&amp;lt;/math&amp;gt; states.&lt;br /&gt;
        \item[graph state:] The Server entangles the &amp;lt;/math&amp;gt;n+q&amp;lt;/math&amp;gt; qubits to a brickwork state by applying ctrl-&amp;lt;/math&amp;gt;Z&amp;lt;/math&amp;gt; gates.&lt;br /&gt;
    &lt;br /&gt;
    \end{description}&lt;br /&gt;
        &lt;br /&gt;
    \begin{flushleft}&lt;br /&gt;
        \underline{\emph{Computation phase}}&lt;br /&gt;
        \vspace{-7pt}&lt;br /&gt;
    \end{flushleft}&lt;br /&gt;
    &lt;br /&gt;
    \begin{description}&lt;br /&gt;
        \item[non-output qubits:] For &amp;lt;/math&amp;gt;j\in O^c&amp;lt;/math&amp;gt;&lt;br /&gt;
        \begin{enumerate}&lt;br /&gt;
            \item All clients &amp;lt;/math&amp;gt;C_k&amp;lt;/math&amp;gt;, &amp;lt;/math&amp;gt;k=1,\dots,n&amp;lt;/math&amp;gt; choose random &amp;lt;/math&amp;gt;r_j^k\in\{0,1\}&amp;lt;/math&amp;gt;, which they secret-share with the other clients. Then using a computation oracle, they compute the measurement angle of qubit &amp;lt;/math&amp;gt;j&amp;lt;/math&amp;gt;:&lt;br /&gt;
            \begin{equation}\label{angle}&lt;br /&gt;
                \delta_j:=\phi&#039;_j+\pi r_j+\theta_j&lt;br /&gt;
            \end{equation}&lt;br /&gt;
            where undefined values are equal to zero, or otherwise:&lt;br /&gt;
            \begin{itemize}&lt;br /&gt;
                \item &amp;lt;/math&amp;gt;\phi&#039;_j=(-1)^{a_j+s_j^X}\phi_j+s^Z_j\pi+a_{f^{-1}(j)}\pi&amp;lt;/math&amp;gt;.&lt;br /&gt;
                \item &amp;lt;/math&amp;gt;r_j=\bigoplus\limits_{k=1}^n r_j^k&amp;lt;/math&amp;gt;.&lt;br /&gt;
                \item &amp;lt;/math&amp;gt;s_i=b_i\oplus r_i&amp;lt;/math&amp;gt;, for &amp;lt;/math&amp;gt;i\leq j&amp;lt;/math&amp;gt;.&lt;br /&gt;
            \end{itemize}&lt;br /&gt;
            \item The Server receives &amp;lt;/math&amp;gt;\delta_j&amp;lt;/math&amp;gt; and measures qubit &amp;lt;/math&amp;gt;j&amp;lt;/math&amp;gt; in basis &amp;lt;/math&amp;gt;\{\ket{+_{\delta_j}},\ket{-_{\delta_j}}\}&amp;lt;/math&amp;gt;, getting result &amp;lt;/math&amp;gt;b_j&amp;lt;/math&amp;gt;. He announces &amp;lt;/math&amp;gt;b_j&amp;lt;/math&amp;gt; to the clients.&lt;br /&gt;
        \end{enumerate}&lt;br /&gt;
        \item[output qubits:] For &amp;lt;/math&amp;gt;j\in O&amp;lt;/math&amp;gt;, the Server sends the ``encrypted&#039;&#039; quantum state to client &amp;lt;/math&amp;gt;C_{j-q}&amp;lt;/math&amp;gt;. All participants jointly compute &amp;lt;/math&amp;gt;s_j^X&amp;lt;/math&amp;gt; and &amp;lt;/math&amp;gt;s_j^Z&amp;lt;/math&amp;gt; and send it to client &amp;lt;/math&amp;gt;C_{j-q}&amp;lt;/math&amp;gt;, who applies operation &amp;lt;/math&amp;gt;Z^{s_j^Z}X^{s_j^X}&amp;lt;/math&amp;gt; to retrieve the actual quantum output. &lt;br /&gt;
    \end{description}&lt;br /&gt;
&lt;br /&gt;
\end{algorithm}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&#039;text-align: right;&#039;&amp;gt;&#039;&#039;*contributed by Natansh Mathur&#039;&#039;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Limacher</name></author>
	</entry>
</feed>