Editing
Prepare-and-Send Verifiable Quantum Fully Homomorphic Encryption
(section)
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.
Anti-spam check. Do
not
fill this in!
==Outline== This protocol consists mainly of four stages: Key Generation, Encryption, Homomorphic evaluation, and Verified decryption. To introduce verification, the major changes from the standard [[Prepare and Send Quantum Fully Homomorphic Encryption]] protocol take place in stage 2 (Evaluation) where a computational log is provided as an extra output and in stage 4 (Verified decryption) which accepts computational log and performs the verification. The verification performed in this protocol is mainly classical in nature. *'''Key Generation and encryption''': This procedure requires the generation of single-qubit and two-qubit states from a small fixed set, performing Bell measurements and Pauli gates, and executing the encoding procedure of a quantum error-correcting code on which the trap code is based. '''Key gen''': ** The classical fully homomorphic encryption scheme is used here to generate the public key, the secret keys and the evaluation function key for the encryption. ** A message authenticating system (MAC) is used to authenticate this process. Using [[MAC]], a key is also generated. ** A random global permutation is selected from <math>3*m</math> letters. A tuple is generated now using the global permutation and all the keys generated in the above steps. These are the non-evaluation keys which used to encrypt the auxiliary states. '''Encryption''': We encrypt each qubit of the plaintext using the trap code, and encrypt the trap code keys using the FHE scheme. This again requires the ability to perform Paulis, execute an error-correcting encoding, and the generation of basic single-qubit states. ** Majority of the single-qubit and two-qubit quantum states are encrypted using the global permutation. A [[CSS]] concatenated Steane code is selected with specific requirements. The quantum state is first encoded using this CSS code which results in a state with <math>m</math> qubits. Then, <math>m</math> computational and <math>m</math> Hadamard traps (<math>|0\rangle</math> and <math>|+\rangle</math> states) are added to that state and the resulting state is permutated using the global permutation. Next, if <math>n</math> is the number of qubits that will be encrypted, two bits strings are picked of length <math>n</math> to encrypt the state with [[Quantum one time pad]]. After this, we obtain our magic state for that particular quantum state. Here it is important to note that the keys for [[Quantum one time pad]] are selected during Encryption rather than Key Generation. ** For the <math>T</math> gate, error correcting gadgets are prepared from [[garden-hose gadgets]]. ** Then the evaluation key is formed by MAC which uses the auxiliary states, including the magic states. </br> * '''Evaluation''': Evaluation of a circuit is done gate by gate. Throughout this procedure, apart from the outputs, a complete computational log is made of all randomness used, all computation steps, all intermediate results, and all the classical FHE computations. To measure a qubit, we measure all ciphertext qubits and place the outcomes in the log. ** Measurements: In computational basis measurement, logical measurement is performed by measurement of all physical qubits of the ciphertext and also checks the traps. This is followed by using the encryption function of classical homomorphic encryption on the result. In Hadamard basis measurement, because of the Hadamard gate property of <math>H|0\rangle = |+\rangle</math> and <math>H|+\rangle = |0\rangle</math>, all computational traps are swapped with the Hadamard traps. . A transversal application of <math>H</math> to all relevant physical qubits precedes the evaluation procedure for the computational basis measurement. ** Pauli gates: Applying a logical Pauli is done by applying the same Pauli to all physical qubits. The application of Pauli gates (<math>X</math> and/or <math>Z</math>) to a state encrypted with a quantum one-time pad can be achieved without touching the actual state, by updating the keys to QOTP in the appropriate way. The logical Pauli-X is performed by (homomorphically) flipping the X-key bits of the QOTP and Pauli-Y works in the same manner for Z-key bits. Hence, this is a classical task. ** CNOT gate: The effect of applying CNOT to the encrypted qubits, without the quantum one-time padding is that logical CNOT is applied to the physical data qubits in the permutation and the remaining traps are unchanged due to its action. Hence in the quantum one-time pad, the secret key bits are homomorphically updated during evaluation while applying CNOT. ** Phase gates: Performing this gate requires homomorphic evaluation of all the above gates: (classically controlled) Paulis, CNOTs, and measurements. Here the corresponding encrypted magic state is also used. ** Hadamard gate: The Hadamard gate can be applied using the same method used in the Phase gate. ** T gate: Applying T requires a magic state and an encrypted [[garden-hose gadget]] (because the T-gate magic state circuit applies a P-gate conditioned on a measurement outcome). The evaluation of that circuit is complicated and hence that specific error correcting gadget is used. </br> *'''Verified decryption''' **Here the correctness and consistency of the classical FHE transcript, the measurement outcomes, and the claimed circuit are checked. The result of this computation is a set of keys for the trap code, which are correct provided that Eval was performed honestly. In this step, decryption takes place using these keys and the output is either plaintext or reject. In terms of quantum capabilities, decryption requires executing the decoding procedure of the error-correcting code, computational-basis and Hadamard-basis measurements, and Paulis. ** This procedure consists of two parts. Several classical checks are performed at first, where MAC-verification of all classically authenticated messages takes places. It also includes checking if the gates listing in the computational log match the circuit description. The portion of the log which specifies the purely classical, FHE steps taking during classical homomorphic encryption are also checked. ** Next, all the unmeasured traps are checked and the remaining qubits are decoded. If the logs don't match or if any of the traps are triggered, then the entire process is rejected.
Summary:
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)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
News
Protocol Library
Certification Library
Nodal Subroutines
Codes Repository
Knowledge Graphs
Submissions
Categories
Supplementary Information
Recent Changes
Contact us
Help
Tools
What links here
Related changes
Special pages
Page information