Editing Prepare-and-Send Quantum Fully Homomorphic Encryption

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 26: Line 26:
The server performs all the Clifford and T gates in the circuit following the respective procedure given above. Finally, he is left with the one time padded quantum output of the computation together with the required classical pad key encrypted with the public key of the gadget used for the last T gate, the last public key in the set. The server sends both the quantum state and classical encryptions to the Client.
The server performs all the Clifford and T gates in the circuit following the respective procedure given above. Finally, he is left with the one time padded quantum output of the computation together with the required classical pad key encrypted with the public key of the gadget used for the last T gate, the last public key in the set. The server sends both the quantum state and classical encryptions to the Client.
*'''Decryption (QFHE.Dec())''' The Client uses the last secret key in the set, which was not used to create any gadget (Gadgets used 0-(L-1) secret keys only) and decrypts sent encryptions to obtain the pad key. The pad key thus obtained determines the Pauli operations on the sent quantum state to obtain the final and correct outcome of the computation. The client performs the required operations on individual qubits of the quantum state and gets the output of his computation.
*'''Decryption (QFHE.Dec())''' The Client uses the last secret key in the set, which was not used to create any gadget (Gadgets used 0-(L-1) secret keys only) and decrypts sent encryptions to obtain the pad key. The pad key thus obtained determines the Pauli operations on the sent quantum state to obtain the final and correct outcome of the computation. The client performs the required operations on individual qubits of the quantum state and gets the output of his computation.
== Notation ==
* <math>\mathrm{k}</math>, security parameter
* <math>\mathrm{L}</math>, number of T gates in the evaluation circuit
* <math>\mathrm{n}</math>, dimension of input qubit
* <math>\mathrm{{pk_i,sk_i,evk_i}}</math>, <math>\mathrm{i_{th}}</math> homomorphic key set generated from HE.KeyGen(). Public key for encryption, secret key for decryption, evaluation function key, respectively for given k, the security parameter.
* <math>\Gamma_{pk_{i+1}}(\mathrm{sk_i})</math>, Gadget using <math>\mathrm{i_th}</math> secret key (<math>sk_i</math>) and encrypted by <math>\mathrm{(i + 1)_{th}}</math> public key (<math>\mathrm{pk_{i+1}}</math>)
* <math>\sigma</math>, single qubit state
* <math>\rho=|\psi\rangle\langle\psi|</math>, here <math>\rho</math> is the density matrix of quantum state <math>|\psi\rangle</math>
* <math>\rho</math>, n-qubit input state, where n is determined by the Client
* <math>\rho</math>(HE.Encpk(a)), a is encrypted with public key pk and is represented by density matrix ρ
* p, location of inverse phase gate
* x,z measurement outcome sets of Client for her Bell Pair measurements.
* x’,z’ measurement outcome sets of Server for his Gadget measurement.
* x˜[i], resulting ciphertext one gets for an input ith element of array x or ith bit of key x after the Encrypting it with ith of public key string, pk.


==Requirements==
==Requirements==
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Quantum Protocol Zoo:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Template used on this page: