Classical Fully Homomorphic Encryption for Quantum Circuits: Difference between revisions

m
Line 96: Line 96:
=== '''Stage 3''' Client’s Output Correction ===
=== '''Stage 3''' Client’s Output Correction ===
   
   
*Input:  Classical output state, <math>l\in\{0,1\}^{\lambda}</math> (or Quantum One time padded state in case of Quantum output), encrypted Pauli corrections  <math>\tilde{a},\tilde{b}</math>
*Input:  Classical output state, <math>l\in\{0,1\}^{\lambda}</math>, encrypted Pauli corrections  <math>\tilde{z},\tilde{x}</math>
*Output:  Decrypted classical message <math>x\oplus m</math> (or final quantum output of computation <math>Z^zX^x|\psi\rangle</math>)
*Output:  Decrypted classical message <math>m\oplus x</math>
**'''Decryption (FHE.Dec<math>_{sk}</math>)'''
**'''Decryption (FHE.Dec<math>_{sk}</math>)'''
# Client decrypts <math>\tilde{a},\tilde{b}</math> using <math>sk_{L+1}</math> to obtain <math>a,b</math>.  
# Client decrypts <math>\tilde{z},\tilde{x}</math> using <math>sk_{L+1}</math> to obtain <math>z,x</math>.  
# She then uses the decrypted Pauli corrections to get the output <math>X^aZ^b|l\rangle</math>, which can be represented as <math>a\oplus l</math>.</br>She operates <math>X^aZ^b</math> on quantum output to get C<math>|\psi\rangle</math>, in case of quantum output.
# She then uses the decrypted Pauli corrections to get the correct output <math>m\oplus x</math>.</br>


==Discussion==
==Discussion==
This protocol is first and only protocol currently, to use a classical functionality to solve a quantum task. It provides computationally security. A verifiable variant of this protocol is still an open question.
This protocol is first and only protocol currently, to use a classical functionality to solve a quantum task. It provides computationally security. A verifiable variant of this protocol is still an open question.
Write, autoreview, editor, reviewer
3,125

edits