Pseudo-Secret Random Qubit Generator (PSQRG): Difference between revisions

Line 40: Line 40:


==Pseudo-Code==
==Pseudo-Code==
*Notations
**<math>f_k</math>, function for target register
**<math>t_k</math>, trapdoor for function <math>f_k</math>
**<math>U_{f_k}</math>, Unitary operated on the target register taking first register as control, used to compute output of the function in the target register
**y, measurement outcome of the target register
**<math>x,x'</math>, pre-image pair for a given measurement outcome y
**<math>x_i</math> value of qubit i for pre-image x
**<math>x_i'</math> value of qubit i for pre-image x’
**<math>\alpha_i</math>, Client’s measurement angles for qubit i in the control register
**<math>b_i</math>, Server’s measurement outcome for qubit i in the control register
**<math>\theta</math>, classical description of the hidden input state
==='''Stage1''' Preimages superposition===
==='''Stage1''' Preimages superposition===
'''Requirements:'''
'''Requirements:'''
Line 54: Line 66:
#Client: instructs the Server to measure all the qubits (except the last one) of the first register in the  basis. Server obtains the outcomes b = (b1,··· ,bn−1) and returns the result b to the Client
#Client: instructs the Server to measure all the qubits (except the last one) of the first register in the  basis. Server obtains the outcomes b = (b1,··· ,bn−1) and returns the result b to the Client
#Client: using the trapdoor tk computes x,x0. Then check if the nth bit of x and x0 (corresponding to the y received in stage 1) are the same or different. If they are the same, returns abort, otherwise, obtains the classical description of the Server’s state.
#Client: using the trapdoor tk computes x,x0. Then check if the nth bit of x and x0 (corresponding to the y received in stage 1) are the same or different. If they are the same, returns abort, otherwise, obtains the classical description of the Server’s state.
 
 
==Relevant Papers==
==Relevant Papers==
Write, autoreview, editor, reviewer
3,129

edits