Secure probabilistic one-time program by quantum state distribution

Abstract

Method and system for executing a one-time program comprising at least one instruction operating on at least one input value (a, b) and returning at least one output value (O), wherein each instruction of the one-time program is encoded onto a state of an elementary quantum system, comprising: encoding the at least one input value (a, b) onto a quantum gate according to a pre-defined input-encoding scheme; applying the quantum gate to the at least one elementary quantum system; making a measurement of a resulting state of the at least one elementary quantum system after the quantum gate; and determining the at least one output value from a result of the measurement.

Claims

1. A method, executed by one or more hardware processors, for executing a one-time program comprising at least one instruction operating on at least one input value (a, b) and returning at least one output value (O), for each instruction of the one-time program comprising the following steps: providing by a program sending device at least one elementary quantum system in a pre-defined state; encoding by the program sending device at least one instruction of a classical program onto the pre-defined state of the at least one elementary quantum system according to a pre-defined program-encoding scheme; transmitting, by the one or more hardware processors, a resulting state of the at least one elementary quantum system via a computer network from the program sending device to a program receiving device, wherein the program receiving device is separate from the program sending device for execution; receiving by the program receiving device, via the computer network the at least one elementary quantum system, wherein the resulting state of the at least one elementary quantum system represents the at least one instruction according to the pre-defined program-encoding scheme; encoding by the program receiving device the at least one input value (a, b) onto a quantum gate according to a pre-defined input-encoding scheme; applying the quantum gate to the at least one elementary quantum system; making a measurement of the resulting state of the at least one elementary quantum system after the quantum gate; and determining the at least one output value (O) from a result of the measurement, wherein the at least one instruction is represented by a predetermined polarization state (Φ.sub.i.sup.A),Φ.sub.j.sup.B)) of at least one single photon (A, B), the quantum gate operating on the predetermined polarization state (Φ.sub.i.sup.A),Φ.sub.j.sup.B)), the measurement comprising detection of direction of the predetermined polarization state of the at least one single photon (A, B), the at least one output value (O) being determined based on the detected direction.

2. The method according to claim 1, wherein the one-time program comprises at least two instructions, wherein the method further comprises executing the one-time program sequentially.

3. The method according to claim 2, wherein the method further comprises encoding the at least one input value (a, b) of a second instruction onto the quantum gate after determining the at least one output value (O) of a first instruction.

4. The method according to claim 3, wherein the at least one input value (a,b) of a second instruction depends on the at least one output value (O) of the first instruction.

5. The method according to claim 4, wherein the at least one elementary quantum system is at least one ensemble of weakly coherent photons or the at least one single photon (A, B).

6. The method according to claim 1, wherein the quantum gate is implemented by at least one phase retarder, wherein the input-encoding scheme determines the setting of the phase retarder(s) corresponding to the at least one input value (a, b).

7. The method according to claim 6, wherein each instruction is represented by at least two elementary quantum systems.

8. The method according to claim 7, wherein the at least one output value (O) is determined from the result of the measurement of the resulting states of the at least two elementary quantum systems using at least one logical exclusive-or gate or at least one logical exclusive-not-or gate, together with one or more of the at least one input value (a, b).

9. The method according to claim 8, wherein the quantum gates are chosen from a set of quantum gates defined such that for each possible pair of quantum gates picked from the set the two quantum gates of the pair are non-commuting.

10. The method according to claim 9, wherein the quantum gate is formed by a half-wave plate and a quarter-wave plate.

11. The method according to claim 1, wherein determining the at least one output value (O) from a result of the measurement comprises modifying the result depending on a clearance value received over a classical channel after confirming the safe reception of the at least one elementary quantum system.

12. The method according to claim 1, wherein the at least one instruction is encoded onto two or more elementary quantum systems, wherein during encoding each elementary quantum system is manipulated separately and contributes only a specific partial representation of the at least one instruction.

13. The method according to claim 12 for preparing the one-time program based on the classical program comprising at least two instructions, wherein following a sequence of the at least two instructions in the classical program and encoding each instruction sequentially.

14. The method according to claim 13, wherein, after transmission of a first elementary quantum system, preparing the encoding of a second elementary quantum system.

15. The method according to claim 14, wherein the at least one elementary quantum system is at least one ensemble of weakly coherent photons or at least one single photon (A, B), and wherein the at least one ensemble of weakly coherent photons or the at least one single photon (A, B) is provided having a pre-determined polarization state, and the at least one instruction of the classical program is encoded on the pre-determined polarization state of the at least one ensemble of weakly coherent photons or the at least one single photon (A, B).

16. The method according to claim 15, wherein a clearance value is randomly generated, the encoding of the at least one instruction of the conventional program onto the state of the at least one elementary quantum system being modified according to the clearance value, the clearance value being transmitted only after safe reception of the at least one elementary quantum system for execution has been confirmed.

17. A system, executed by one or more hardware processors, for executing a one-time program comprising at least one instruction operating on at least one input value (a, b) and returning at least one output value (O), comprising: a sender device, comprising: a photon source configured to emit at least one single photon having a predetermined polarized state; and a preparation unit comprising at least one configurable phase retarder for preparing the predetermined polarization state of the at least one photon emitted by the photon source; and a program encoding unit, wherein the photon source and the preparation unit are connected to the program encoding unit, which is configured to control the at least one phase retarder of the preparation unit depending on at least one instruction of a provided classical program using a predefined program-encoding scheme; and a receiver device for receiving the at least one photon representing the at least one instruction of a provided classical program according to a pre-defined program-encoding scheme; an input encoder for encoding the at least one input value (a, b) onto a quantum gate according to a pre-defined input-encoding scheme; a quantum device connected to the input encoder and configured to apply the quantum gate to the at least one photon; a measurement unit making a measurement of a resulting state of the at least one photon exiting the quantum device; and a hardware post-processor connected to the measurement unit and configured to determine the at least one output value (O) from a result of the measurement, wherein the at least one instruction is represented by the predetermined polarization state (Φ.sub.i.sup.A),Φ.sub.j.sup.B)) of the at least one single photon (A, B), the quantum gate operating on the predetermined polarization state (Φ.sub.i.sup.A),Φ.sub.j.sup.B)), the measurement comprising detection of direction of the predetermined polarization state of the at least one single photon (A, B), the at least one output value (O) being determined based on the detected direction.

18. The system according to claim 17, wherein the measurement unit or the post-processor is connected to the input encoder over an internal trigger channel and configured to notify the input encoder of the reception of the at least one elementary quantum system or the at least one instruction.

19. The system according to claim 17, wherein the quantum device comprises at least one configurable phase retarder connected to the input encoder, such that setting of the phase retarder is controlled depending on the at least one input value (a, b), the measurement unit comprising at least one detector capable of detecting a single photon.

20. The system according to claim 17, wherein the program-encoding unit is configured to receive a notification of the emission of the single photon by the photon source and to proceed to a next instruction of the provided program upon reception of the notification.

Description

BRIEF DESCRIPTION OF THE FIGURES

(1) Referring now to the drawings, wherein the figures are for purposes of illustrating the present invention and not for purposes of limiting the same,

(2) FIG. 1 shows a simplified first embodiment of the present invention, wherein each instruction of the one-time program is encoded onto a linear polarization of one single photon;

(3) FIG. 2 shows a simplified second embodiment of the present invention, wherein each instruction of the one-time program is encoded onto linear and elliptical polarizations of two single photons;

(4) FIG. 3 shows a block diagram of a simple post-processing scheme for the second embodiment according to FIG. 2;

(5) FIG. 4 shows a block diagram of an improved post-processing scheme for the second embodiment according to FIG. 2; and

(6) FIG. 5 schematically shows a more detailed structure of the second embodiment according to FIG. 2.

DETAILED DESCRIPTION

(7) FIG. 1 schematically shows the set-up of a first embodiment of the invention comprising an apparatus 1 for executing a one-time program. Apparatus 1 comprises a receiver 2 in the form of a program channel 3, an input encoder 4 connected to an input channel 5, a quantum device 6 comprising a configurable phase retarder in the form of a half-wave plate (HWP) 7 connected to the input encoder 4, a measurement unit 8, a post-processor 9 connected to the measurement unit 8 and an output channel 10.

(8) Apparatus 1 is configured to receive photons over program channel 3, which comprises a light path preferably being formed by an optical waveguide, by an air gap, by an optical fiber or by other means transparent to photons. Apparatus 1 receives one or more input values to the program over input channel 5, which preferably is an electrical channel, preferably providing a data connection and interface to the input encoder 4. The input encoder 4 is connected to the half-wave plate 7 over a control channel 11. The half-wave plate 7 is an electronically switchable waveplate, e.g. made of liquid crystals, ferro-electric liquid crystals, or magneto-optic crystals, configured to rotate the polarization of transmitted photons by a configurable angle β, wherein the configuration can be controlled electronically. The input encoder 4 stores or has access to an input-encoding scheme, which is used to determine the configuration of the HWP 7 based on the input value received over the input channel 5.

(9) After a photon has been received by the receiver 2 and transmitted through the HWP 7, it is incident upon the measurement unit 8. The measurement unit 8 comprises a polarizing beam splitter (PBS) 12, which splits the incident light path 13 into two outgoing lights paths 14, 15. As is well-known per se, the path 14, 15 taken by any single photon depends on its linear polarization relative to the PBS 12. Each outgoing light path 14, 15 terminates at a respective detector 16, 17. The detectors 16, 17 are preferably single-photon detectors, e.g. photomultipliers (PMs) or avalanche photodiodes (APDs). The detectors 16, 17 emit an electrical signal when the presence of a photon is detected. The electrical signal is transmitted to the post-processor 9, which evaluates the measurement outcome, i.e. the obtained polarization state of linear polarization, based on the source of each received signal. Based on the measured outcome of the quantum state the post-processor determines the output value of the instruction represented by the received photon, e.g. based on a pre-defined output-decoding scheme.

(10) The one-time program is executed by apparatus 1 sequentially, i.e. one instruction at a time. In particular, the HWP 7 implements one defined quantum gate at any given point in time and thus represents the input value to a single instruction. The execution of an instruction starts with the preparation of the quantum device 6. Specifically, the input encoder 4 determines the rotation angle β/2 of the HWP 7 encoding the input value for the present instruction and thereafter instructs the HWP 7 over the control channel 11 to apply this angle β/2. When the HWP 7 has processed this instruction, it is configured to apply the quantum gate (i.e. the polarization rotation operation about a specified angle) to a photon subsequently transmitted. Next, apparatus 1 waits for the photon having a polarization state encoding the present instruction of the one-time program. When the photon arrives, it is transmitted through the HWP 7, which applies the quantum gate, e.g. by modifying the polarization state of the photon. After the HWP 7 (seen in direction of the photon path) the photon arrives at the measurement unit 8 which measures the resulting quantum state of the photon after the HWP 7. At the PBS 12, the polarization state collapses to one of the two linear polarization states transmitted or reflected by the PBS 12, e.g. to either vertical or horizontal linear polarization. Subsequently, depending on which state is occupied, one of the two detectors 16, 17 is triggered and the post-processor 9 receives the signal carrying the information about the measured polarization state of the photon. From this information the post-processor 9 determines the output value of the present instruction.

(11) The post-processor 9 preferably is connected to the input encoder 4 over an internal trigger channel 18, as shown by dotted lines in FIGS. 1, 2. When the post-processor 9 recognizes the reception of a photon, it notifies the input encoder 4 that the present instruction has been received. Subsequent to this notification, the input encoder 4 is ready to prepare the quantum device 6 for applying a quantum gate corresponding to the input value(s) of the next instruction of the one-time program until a final result of the one-time program is obtained, i.e. the sequence of instructions of the program has been completed. 1 further schematically shows the preparation of the photon representing an instruction of the one-time program prior to its execution. The photon is first emitted by a photon source 19. The photon source 19 preferably is based on an SPDC process yielding a pair of photons each having a well-defined (and known) polarization. One of the two photons is then used as a heralding photon to notify the sender of the emission of the second photon. This second photon having a certain predetermined polarization state, e.g. linear vertical polarization, is transmitted to a preparation unit 20. The preparation unit 20 comprises a rotatable sender HWP 21, which preferably is of identical construction as HWP 7 used by the apparatus 1 for executing the one-time program. The configuration of the sender HWP 21, e.g. the angle α of rotation of the polarization of a transmitted photon, is controlled by a program-encoding unit (PEU) 22 over a control channel 23. The PEU 22 selects the configuration based on the instructions of the program provided over a program input channel 24 to the PEU 22. In case of a simple sequential encoding it follows the sequence of instructions in the received (conventional) program and encodes the present instruction according to a pre-defined program-encoding scheme, which is implemented in the program-encoding unit 22 or to which the PEU 22 has access. In the present example the PEU 22 determines the angle α corresponding to the present instruction and commands the sender HWP 21 to apply the configuration necessary to cause a rotation of polarization about the angle α by setting the HWP 21 to an angle of α/2. Then, the PEU 22 waits until it is notified over a trigger channel 25 of the emission of a single photon by the photon source 19. When the notification is received, the PEU 22 proceeds to the next instruction of the program and proceeds as above until the program has been fully processed.

(12) The functioning of the arrangement shown in FIG. 1 will be more fully understood by assuming a simple example for the encoding schemes. Since the elementary quantum system is a photon and the quantum device 6 is a HWP 7, there is a single degree of freedom for encoding the input values, i.e. the angle of linear polarization of the photon. Correspondingly, there is a single degree of freedom for the sender. In the program-encoding scheme used in this simple example, the instruction set of the provided conventional program contains the following 1-bit logical gates as defined earlier: constant zero, constant one, identity and flip (or “not”). Each instruction operates on one input value, which can take the logical values zero (0) or one (1), and returns one output value, which can also take the logical values zero (0) or one (1).

(13) The program-encoding scheme is defined as follows:

(14) TABLE-US-00001 HWP angle α/2 (starting from vertical instruction quantum state polarization) constant zero .Math. C 0 .Math. = 1 2 + 2 ( .Math. 0 .Math. + .Math. + .Math. ) 56.25° constant one .Math. C 1 .Math. = 1 2 + 2 ( .Math. 1 .Math. - .Math. - .Math. ) 11.25° identity .Math. C 1 d .Math. = 1 2 + 2 ( .Math. 0 .Math. + .Math. - .Math. ) 33.75° flip .Math. C NOT .Math. = 1 2 + 2 ( .Math. 1 .Math. + .Math. + .Math. ) 78.75°

(15) where 0custom character is implemented as a horizontally polarized photon and 1custom character is implemented as a vertically polarized photon; and where +custom character and −custom character are defined as:

(16) + .Math. = 1 2 ( 0 .Math. + 1 .Math. ) and - .Math. = 1 2 ( 0 .Math. - 1 .Math. )

(17) respectively.

(18) The input-encoding scheme is defined as follows:

(19) TABLE-US-00002 quantum gate input value (measurement basis) HWP angle β/2 zero (0) Z   0° one (1) X 22.5°

(20) where “Z” denotes a measurement in the Pauli-Z basis, i.e. in the basis with eigenstates 0custom character and 1custom character as defined above, and “X” denotes a measurement in the Pauli-X basis, i.e. in the basis with eigenstates +custom character and −custom character as defined above.

(21) The output-decoding scheme is that the output value is zero (0) when the photon is transmitted through the PBS 12 and detector 17 is triggered; and the output value is one (1) when the photon is reflected in the PBS 12 detector 16 is triggered.

(22) In case a larger instruction set is desired, the above-described method of operation of the apparatus shown in FIG. 1 can be extended to more than one elementary quantum system per instruction. At the same time this allows for a corresponding higher number of input values. Of particular interest is an instruction set implementing 2-bit logical gates, which are ubiquitous in present computing algorithms. A 2-bit logical gate takes two input values and returns one output value. Common examples are the logical operations AND, OR and XOR. In total there are 16 possible 2-bit logical gates. The construction of all the 2-bit gates trivially leads to the possibility of arbitrary computation.

(23) When two photons are used to encode each instruction, this would allow for two logical input values corresponding to a duplication of the above input-encoding scheme. Moreover, the original instruction set size (4) would be squared, leading to an instruction set with 16 possible entries and thus allowing for the encoding of any possible 2-bit gate. However, this approach has the disadvantage that the information obtained by the user would be two output values, i.e. more than a single output value. This can be exploited to obtain information about the program independent of the provided input values. In order to avoid this drawback, an input-encoding scheme must be found that comprises four quantum gates, such that for each possible pair of quantum gates picked from the set of four quantum gates the two quantum gates are non-commuting.

(24) Preferably the quantum gate is implemented by a set of two phase retarders e.g. a half-wave plate and a quarter-wave plate. The use of these two waveplate types allows to construct a set that meets the above condition based on operators operating on the polarization state of photons.

(25) It turns out that this is not possible in the basis of only linear polarizations for two photons. FIG. 2 shows a more advanced embodiment of the present invention, which is an extension of the embodiment shown in FIG. 1. Specifically, the quantum device 26 comprises one quarter-wave plate (QWP) 27 in addition to the HWP 7, wherein the QWP 27 is arranged in the light path of the received photon after the HWP 7. The QWP 27 introduces one additional degree of freedom for the input-encoding scheme, represented by the angle δ of rotation of the QWP 27 and manifesting itself in a component of elliptical polarization of the photons. Accordingly the input-encoding unit 4 is connected to both waveplates 7, 27 in order to control both degrees of freedom of the quantum device 26. Apart from this difference, the general structure of the apparatus 1 for executing the one-time program is similar to the structure described in detail with respect to FIG. 1, wherein the same reference numbers are used for similar components in FIG. 2.

(26) In order to harness the capabilities of the executing/receiving apparatus 1, the sender in this example also controls two degrees of freedom to prepare the quantum state of the photons encoding the instructions of the one-time program. In addition to the sender HWP 21, the preparation unit 28 comprises a sender QWP 29, which is provided in the light path of the photons emitted from the photon source 19 in front of the sender HWP 21; i.e. the order of the sender HWP 21 and QWP 29 is inverse to the order of the receiver HWP 7 and QWP 27 with respect to the sequence of transmission of the photon. The sender QWP 28 is also connected to the program-encoding unit 22 via the control channel 23 to receive a configuration setting the angle γ of rotation of the QWP 28.

(27) In this instance, a more sophisticated input-encoding scheme may be employed to avoid the above-mentioned weakness when using two photons:

(28) Photon A:

(29) TABLE-US-00003 QWP angle δ (starting from verti- input values quantum gate HWP angle β/2 cal polarization) 00 Z   0° 0° 01 X 22.5° 0° 10 Z   0° 0° 11 X 22.5° 0°

(30) Photon B:

(31) TABLE-US-00004 QWP angle δ (starting from verti- input values quantum gate HWP angle β/2 cal polarization) 00 Z   0°  0° 01 X 22.5°  0° 10 Y 22.5° 45° 11 Y 22.5° 45°

(32) where in addition to the definitions in connection with the simple input-encoding scheme above, “Y” denotes a measurement in the Pauli-Y basis, i.e. in the basis with eigenstates Rcustom character and Lcustom character defined as

(33) R .Math. = 1 2 ( 0 .Math. + i 1 .Math. ) and L .Math. = 1 2 ( 0 .Math. - i 1 .Math. )

(34) respectively.

(35) Regarding the corresponding program-encoding scheme, the possible states encoding the instructions are chosen from the following set:

(36) For Photon A:

(37) .Math. Φ 0 A .Math. = + cos ( π 8 ) .Math. 0 .Math. + sin ( π 8 ) .Math. 1 .Math. .Math. Φ 1 A .Math. = + cos ( π 8 ) .Math. 0 .Math. - sin ( π 8 ) .Math. 1 .Math.

(38) For Photon B:

(39) .Math. Φ 0 B .Math. = ( + 1 2 - 1 2 i ) .Math. 0 .Math. + 1 2 .Math. 1 .Math. .Math. Φ 1 B .Math. = ( - 1 2 - 1 2 i ) .Math. 0 .Math. + 1 2 .Math. 1 .Math. .Math. Φ 2 B .Math. = 1 2 .Math. 0 .Math. + ( + 1 2 + 1 2 i ) .Math. 1 .Math. .Math. Φ 3 B .Math. = 1 2 .Math. 0 .Math. + ( - 1 2 + 1 2 i ) .Math. 1 .Math. .Math. Φ 2 A .Math. = + sin ( π 8 ) .Math. 0 .Math. + cos ( π 8 ) .Math. 1 .Math. .Math. Φ 3 A .Math. = - sin ( π 8 ) .Math. 0 .Math. + cos ( π 8 ) .Math. 1 .Math. .Math. Φ 4 B .Math. = ( + 1 2 + 1 2 i ) .Math. 0 .Math. + 1 2 .Math. 1 .Math. .Math. Φ 5 B .Math. = ( - 1 2 + 1 2 i ) .Math. 0 .Math. + 1 2 .Math. 1 .Math. .Math. Φ 6 B .Math. = 1 2 .Math. 0 .Math. + ( + 1 2 - 1 2 i ) .Math. 1 .Math. .Math. Φ 7 B .Math. = 1 2 .Math. 0 .Math. + ( - 1 2 - 1 2 i ) .Math. 1 .Math.

(40) These states correspond to the following waveplate settings:

(41) TABLE-US-00005 γ = −22.5° γ = 0.0° γ = 22.5° α/2 = 0.00° |Φ.sub.7.sup.B custom character |Φ.sub.2.sup.B custom character α/2 = 11.25° |Φ.sub.3.sup.A custom character α/2 = 22.50° |Φ.sub.5.sup.B custom character |Φ.sub.3.sup.B custom character α/2 = 33.75° |Φ.sub.1.sup.A custom character α/2 = 45.00° |Φ.sub.4.sup.B custom character |Φ.sub.1.sup.B custom character α/2 = 56.25° |Φ.sub.0.sup.A custom character α/2 = 67.50° |Φ.sub.6.sup.B custom character |Φ.sub.0.sup.B custom character α/2 = 78.75° |Φ.sub.2.sup.A custom character

(42) Based on this set, the program-encoding scheme is provided below. For clarity, the instructions are denoted by their respective output map of all four possible input values (00, 01, 10 and 11). For instance the instruction “logical AND” maps the input values 00, 01 and 10 to the output value 0 and the input value 11 to the output value 1. Therefore this instruction is denoted as “0001”. For each instruction there are two possible encodings/states (a) and (b). In practice, one of the two possible encodings/states (a) or (b) is chosen randomly for each instruction (i.e. for both photons A and B encoding the instruction) to improve security.

(43) Photon A:

(44) TABLE-US-00006 instruction quantum state HWP angle α/2 QWP angle γ 0000 (a) |Φ.sub.0.sup.A custom character 56.25° 0° 0000 (b) |Φ.sub.3.sup.A custom character 11.25° 0° 0001 (a) |Φ.sub.0.sup.A custom character 56.25° 0° 0001 (b) |Φ.sub.3.sup.A custom character 11.25° 0° 0010 (a) |Φ.sub.0.sup.A custom character 56.25° 0° 0010 (b) |Φ.sub.3.sup.A custom character 11.25° 0° 0011 (a) |Φ.sub.0.sup.A custom character 56.25° 0° 0011 (b) |Φ.sub.3.sup.A custom character 11.25° 0° 0100 (a) |Φ.sub.1.sup.A custom character 33.75° 0° 0100 (b) |Φ.sub.2.sup.A custom character 78.75° 0° 0101 (a) |Φ.sub.1.sup.A custom character 33.75° 0° 0101 (b) |Φ.sub.2.sup.A custom character 78.75° 0° 0110 (a) |Φ.sub.1.sup.A custom character 33.75° 0° 0110 (b) |Φ.sub.2.sup.A custom character 78.75° 0° 0111 (a) |Φ.sub.1.sup.A custom character 33.75° 0° 0111 (b) |Φ.sub.2.sup.A custom character 78.75° 0° 1000 (a) |Φ.sub.2.sup.A custom character 78.75° 0° 1000 (b) |Φ.sub.1.sup.A custom character 33.75° 0° 1001 (a) |Φ.sub.2.sup.A custom character 78.75° 0° 1001 (b) |Φ.sub.1.sup.A custom character 33.75° 0° 1010 (a) |Φ.sub.2.sup.A custom character 78.75° 0° 1010 (b) |Φ.sub.1.sup.A custom character 33.75° 0° 1011 (a) |Φ.sub.2.sup.A custom character 78.75° 0° 1011 (b) |Φ.sub.1.sup.A custom character 33.75° 0° 1100 (a) |Φ.sub.3.sup.A custom character 11.25° 0° 1100 (b) |Φ.sub.0.sup.A custom character 56.25° 0° 1101 (a) |Φ.sub.3.sup.A custom character 11.25° 0° 1101 (b) |Φ.sub.0.sup.A custom character 56.25° 0° 1110 (a) |Φ.sub.3.sup.A custom character 11.25° 0° 1110 (b) |Φ.sub.0.sup.A custom character 56.25° 0° 1111 (a) |Φ.sub.3.sup.A custom character 11.25° 0° 1111 (b) |Φ.sub.0.sup.A custom character 56.25° 0°

(45) Photon B:

(46) TABLE-US-00007 instruction quantum state HWP angle α/2 QWP angle γ 0000 (a) |Φ.sub.0.sup.B custom character 67.5° 22.5° 0000 (b) |Φ.sub.4.sup.B custom character .sup. 45° −22.5° 0001 (a) |Φ.sub.1.sup.B custom character .sup. 45° 22.5° 0001 (b) |Φ.sub.5.sup.B custom character 22.5° −22.5° 0010 (a) |Φ.sub.2.sup.B custom character   0° 22.5° 0010 (b) |Φ.sub.6.sup.B custom character 67.5° −22.5° 0011 (a) |Φ.sub.3.sup.B custom character 22.5° 22.5° 0011 (b) |Φ.sub.7.sup.B custom character   0° −22.5° 0100 (a) |Φ.sub.0.sup.B custom character 67.5° 22.5° 0100 (b) |Φ.sub.4.sup.B custom character .sup. 45° −22.5° 0101 (a) |Φ.sub.1.sup.B custom character .sup. 45° 22.5° 0101 (b) |Φ.sub.5.sup.B custom character 22.5° −22.5° 0110 (a) |Φ.sub.2.sup.B custom character   0° 22.5° 0110 (b) |Φ.sub.6.sup.B custom character 67.5° −22.5° 0111 (a) |Φ.sub.3.sup.B custom character 22.5° 22.5° 0111 (b) |Φ.sub.7.sup.B custom character   0° −22.5° 1000 (a) |Φ.sub.0.sup.B custom character 67.5° 22.5° 1000 (b) |Φ.sub.4.sup.B custom character .sup. 45° −22.5° 1001 (a) |Φ.sub.1.sup.B custom character .sup. 45° 22.5° 1001 (b) |Φ.sub.5.sup.B custom character 22.5° −22.5° 1010 (a) |Φ.sub.2.sup.B custom character   0° 22.5° 1010 (b) |Φ.sub.6.sup.B custom character 67.5° −22.5° 1011 (a) |Φ.sub.3.sup.B custom character 22.5° 22.5° 1011 (b) |Φ.sub.7.sup.B custom character   0° −22.5° 1100 (a) |Φ.sub.0.sup.B custom character 67.5° 22.5° 1100 (b) |Φ.sub.4.sup.B custom character .sup. 45° −22.5° 1101 (a) |Φ.sub.1.sup.B custom character .sup. 45° 22.5° 1101 (b) |Φ.sub.5.sup.B custom character 22.5° −22.5° 1110 (a) |Φ.sub.2.sup.B custom character   0° 22.5° 1110 (b) |Φ.sub.6.sup.B custom character 67.5° −22.5° 1111 (a) |Φ.sub.3.sup.B custom character 22.5° 22.5° 1111 (b) |Φ.sub.7.sup.B custom character   0° −22.5°

(47) The basic output-decoding scheme corresponding to the above encoding schemes is schematically illustrated by the post-processing scheme shown in FIG. 3. To evaluate the output value of the present instruction, the measurements of the resulting states of both photons have to be combined. In FIG. 3 the two photons A and B are represented by their respective quantum state functions Φ.sub.i.sup.Acustom character and Φ.sub.j.sup.Bcustom character, where i=0 . . . 3 and j=0 . . . 7 according to the above tables. In the present embodiment the photons A, B pass through the quantum device 28 and their resulting state is measured by the measurement unit at different times. The measurement outputs 38, 39 of the measurement unit 8 are schematically indicated as bit stream sources. In FIG. 3, the further processing of the present instruction from the two measurement outputs 38, 39 to obtain the output 40 is illustrated by a simplified Hardware Description Language notation of the applied logic gates. The measurement output 38 obtained from the first photon A is combined in a logical AND gate 41 with the first input value a. The result of the logical AND gate 41 is then combined in a logical XOR (exclusive or) gate 42 with the measurement output 39 obtained from the second photon B. Then the result of the logical XOR gate 42 is the output value of the instruction encoded by the photons A, B with the input values a, b, wherein the configuration of the quantum device 26 upon receipt of the photons A, B has been chosen according to the above input-encoding scheme and based on the input values a, b.

(48) The post-processing scheme (or output-decoding scheme) shown in FIG. 4 is an extension of the scheme described above in connection with FIG. 3. In addition to the previous scheme, the result of the logical XOR gate 42 is combined with a flip bit 43 in a second logical XOR gate 44 and the output value of the instruction encoded by the photons A, B with the input values a, b is the result of the second logical XOR gate 44. The value of the flip bit is provided by the provider of the one-time program in addition to the prepared elementary quantum systems and over a classical channel, e.g. electronically. This modification has been introduced to mitigate a “re-send attack” that could otherwise be performed by the user/receiver. A dishonest user might exploit the fact that in practical systems the loss of single photons cannot be completely avoided and therefore a mechanism must be foreseen to ask the program provider to re-send an instruction that has not been received by the user (e.g. none of the detectors 16, 17 triggered within the accepted time-frame for receiving the single photon). If a dishonest user pretends to not have received a photon, although they did receive it, and the sender re-sends an identically prepared photon, the user can use the copy to help the reconstruction of the one-time program (i.e. one additional copy does not allow complete reconstruction but does allow tomography). By using the post-processing scheme of FIG. 4, such misuse can be effectively prevented in that the provider only sends the value of the flip bit associated with the present instruction if and only if the user confirms safe receipt of each photon of the present instruction. If only one photon is lost, just this photon will be resent and not (necessarily) the whole instruction (which may be encoded onto more than one photon). For the re-sends or retries, the provider can randomly change the encoding of the instruction according to each of the two possible values of the flip bit.

(49) As an additional security measure, the instructions of the program to be provided as a one-time program can be garbled by placing pairs of logical NOT gates between the 2-bit gates forming the instructions of the program. Each of the introduced NOT gates is absorbed into the adjacent 2-bit gate, i.e. into the previous or subsequent 2-bit gate, respectively, thus altering the identity of the 2-bit gates. They can be inserted at several random locations and thereby further complicate the reconstruction of the one-time program from the provided quantum states. This is beneficial because it allows to construct several versions of the same program which are composed from different instructions and therefore, different elementary quantum system states. In a scenario where the same program might be sent out several times, e.g. to different clients, this ensures that practically no identical representation of the same program will be sent out and therefore an unwanted leakage of information is reduced.

(50) To further improve the security and make different programs indistinguishable from each other, optionally the freedom to choose different instructions having the same output can be used to implement the one-time program in such a way that the a priori probability for a given state representing one instruction is uniform.

(51) As each transmission is noisy, error correction may be performed throughout the process. This is because the single bit gates work with approximately 0.85 probability of success and the 2 bit gates work with 0.75 probability of success. Error correction is achieved by breaking the program up into sections of instructions, sending several copies of each section, with the receiver taking the majority output of each section (i.e. effectively a majority voting algorithm) as the input into the next section. Within each section, the instructions may be garbled differently, however all should have the same output if no errors occur. Although this way some information of the program could be leaked to the receiver if some optimal measurement strategy is found and used (they don't act honestly in applying inputs), not all information about the program is obtainable unless an infinite amount of copies are sent.

(52) FIG. 5 shows another embodiment of the present invention. In particular, a preferred structure of the photon source 30 emitting single photons used for the preparation of the quantum states encoding the instructions of the one-time program is shown in more detail. The photon source 30 comprises a SPDC photon source 31 emitting two identically polarized photons 32, 33. One of the photons 32, 33 is used as heralding photon 32 and detected by a detector 34. The other photon is used to “carry” an instruction of the one-time program and may thus be termed “carrier photon” 33. The detector 34 is connected over a trigger line 36 to a switch 35, e.g. a Pockels cell, which is temporarily opened to let the carrier photon 33 pass. In order to allow the trigger electronics and the switch 35 a lead, i.e. and a certain preparation time, the carrier photon 33 is sent over a delay line 37, e.g. an optical fibre.

(53) The construction of the photon source 30 helps to minimize the probability of the transmission of two carrier photons passing the same configuration of the preparation unit 28 (cf. FIG. 2) and thus having the same quantum state. Such a double transmission would result in a weakness of the present method, because two different measurements could theoretically be performed on the two photons, divulging more information than necessary about the instruction. In FIG. 3 the input-encoding unit and the program-encoding unit are not shown for simplicity and it is referred to the description of FIG. 2 regarding the control of the phase retarders in form of the waveplates 7, 21, 27 and 29.

(54) In a preferred embodiment, the wavelength of the photons is chosen such that a wavelength filter can be used to avoid interference with or perturbations from ambient light. For example a wavelength of the carrier photons between 750 nm and 850 nm, preferably between 780 nm and 800 nm, may be used together with a cut-on filter at a wavelength sufficiently below the photon wavelength, e.g. 10-100 nm, preferably 30-50 nm, below the photon wavelength. In another example a wavelength of the carrier photons between 1500 nm and 1600 nm, preferably between 1540 nm and 1560 nm, may be used together with a cut-on filter as defined above.

(55) The time frame during which the switch 35 is opened for transmission of a photon should be adapted to the dead time of the detectors 16, 17, i.e. below said dead time. This can be advantageous in the case where this dead time is (approximately) known to the encoder (who controls the switch) because even if a second photon should be transmitted through the switch 35, it could not be detected by the same detector as the first photon because of the dead time of the detector 16/17, thus it reduces accidental information leakage to a passive receiver. At the same time it should be large enough to achieve a stable operation and a reliable transmission of the carrier photon. Too large time frames increase the probability of two consecutive photons, with the resulting information leak. In practice a time window of below 100 ns, preferably between 1 and 80 ns, especially between 5 and 60 ns, is used.

(56) From the above embodiments a person skilled in the art (i.e. who is also familiar with quantum mechanics) will recognize that the invention is applicable to any two-level quantum system, for instance but not restricted to atoms, artificial atoms, ions and superconducting circuits, in a similar manner as demonstrated above for photons. Such systems may require quantum memory and/or face challenges in transferring the quantum state, for example but not restricted to from the sender to the receiver. For applications involving such a transfer, photons are the preferred choice of elementary quantum systems.