Prepare-and-Send Quantum Fully Homomorphic Encryption: Difference between revisions

Jump to navigation Jump to search
Line 13: Line 13:
*'''Gadget Construction''' This step involves construction of gadgets to correct any additional phase gate error on the input due to T gates in the circuit. If there are L T gates in the Circuit, one needs L Gadgets constructed using L private keys and then encrypted using L public keys. The public key used for encryption should not belong to the same homomorphic key set of private key used for construction. A gadget consists of 2m EPR pairs (maximally entangled qubits). Client starts with 4m such pairs. Performs pairwise Bell measurement on one half of the EPR pairs. Pairs for Bell measurement are chosen according to the private decryption key used for the particular gadget. This leaves other half of the EPR pairs entangled in the same pairs as chosen by Client to perform bell measurement. E.g. if (a,b) and (c,d) denote two EPR pairs and one performs bell measurement on a and c, then b and d become maximally entangled with some extra Pauli X,Z corrections due to measurement (refer to one-pad key in supplementary draft). These corrections are determined by Client’s measurement outcomes. The resulting gadget thus has 2m EPR pairs, some of which have an inverse phase gate. Classical information of a gadget includes private key used, Client’s measurement outcomes and locations of inverse phase gates. This data is encrypted with the public key. Hence, L such gadgets consisting of encrypted classical information and 2m EPR pairs quantum one-time padded by the Pauli X,Z gates, are sent to the server.<br/>
*'''Gadget Construction''' This step involves construction of gadgets to correct any additional phase gate error on the input due to T gates in the circuit. If there are L T gates in the Circuit, one needs L Gadgets constructed using L private keys and then encrypted using L public keys. The public key used for encryption should not belong to the same homomorphic key set of private key used for construction. A gadget consists of 2m EPR pairs (maximally entangled qubits). Client starts with 4m such pairs. Performs pairwise Bell measurement on one half of the EPR pairs. Pairs for Bell measurement are chosen according to the private decryption key used for the particular gadget. This leaves other half of the EPR pairs entangled in the same pairs as chosen by Client to perform bell measurement. E.g. if (a,b) and (c,d) denote two EPR pairs and one performs bell measurement on a and c, then b and d become maximally entangled with some extra Pauli X,Z corrections due to measurement (refer to one-pad key in supplementary draft). These corrections are determined by Client’s measurement outcomes. The resulting gadget thus has 2m EPR pairs, some of which have an inverse phase gate. Classical information of a gadget includes private key used, Client’s measurement outcomes and locations of inverse phase gates. This data is encrypted with the public key. Hence, L such gadgets consisting of encrypted classical information and 2m EPR pairs quantum one-time padded by the Pauli X,Z gates, are sent to the server.<br/>
Finally, Client stores all the gadgets with the classical evaluation key of the corresponding secret key (generated from HE.KeyGen) used to construct the gadget, as the set of quantum evaluation keys. Note that, the gadgets are quantum states and classical evaluation keys are random numbers, the resulting quantum evaluation key is what we call a classical-quantum (CQ) state.
Finally, Client stores all the gadgets with the classical evaluation key of the corresponding secret key (generated from HE.KeyGen) used to construct the gadget, as the set of quantum evaluation keys. Note that, the gadgets are quantum states and classical evaluation keys are random numbers, the resulting quantum evaluation key is what we call a classical-quantum (CQ) state.
  ''' Encryption'''
  '''Encryption'''
This step is used to encrypt the quantum input into a quantum ciphertext using the first public key which has not been used for gadget construction. Every input qubit state is quantum one time padded by the Client, using two classical random bits, one of which decided the operation of Pauli-X and the other operation of Pauli-Z gate on the qubit state. She also encrypts the classical random bits (called pad key) with the same public key using classical HE (HE.Enc) and hence stores it with the corresponding encrypted qubit state as a classical-quantum state. She then sends this CQ state, encrypted pad key, public key tuple and evaluation key tuple to Server.
This step is used to encrypt the quantum input into a quantum ciphertext using the first public key which has not been used for gadget construction. Every input qubit state is quantum one time padded by the Client, using two classical random bits, one of which decided the operation of Pauli-X and the other operation of Pauli-Z gate on the qubit state. She also encrypts the classical random bits (called pad key) with the same public key using classical HE (HE.Enc) and hence stores it with the corresponding encrypted qubit state as a classical-quantum state. She then sends this CQ state, encrypted pad key, public key tuple and evaluation key tuple to Server.
   ''' Circuit Evaluation'''
   '''Circuit Evaluation'''
This step operates the circuit on the encrypted input state and updates the encrypted classical information using the evaluation key. As states earlier, any circuit can be implemented using a set of Universal Gates. This set consists of Clifford Gates and T gates.
This step operates the circuit on the encrypted input state and updates the encrypted classical information using the evaluation key. As states earlier, any circuit can be implemented using a set of Universal Gates. This set consists of Clifford Gates and T gates.
The Clifford group gates may affect a single qubit or multiple qubits but they follow a simple set of rules for for updation of the encrypted classical information (pad key), given in the pseudo code. Server operates the circuit and with each gate in the circuit it updates the encrypted classical description.<br/>
The Clifford group gates may affect a single qubit or multiple qubits but they follow a simple set of rules for for updation of the encrypted classical information (pad key), given in the pseudo code. Server operates the circuit and with each gate in the circuit it updates the encrypted classical description.<br/>
Write, autoreview, editor, reviewer
3,129

edits

Navigation menu