CYPHER SYSTEM, CYPHER APPARATUS, CYPHER METHOD, AND PROGRAM
20240353885 ยท 2024-10-24
Inventors
Cpc classification
G06E1/04
PHYSICS
International classification
Abstract
A cypher system includes a plurality of hardware computers, each hardware computer including a photoelectric fusion processor that includes at least one of (i) a Y gate circuit configured to combine optical signals, (ii) an optical switching circuit configured to switch optical signal paths based on electrical signals, or (iii) a phase modulator configured to modulate a phase of an optical signal. The photoelectric fusion processor is configured to perform optical operation processing and perform an encryption operation including an exclusive OR operation in which two or more bit values are given as inputs, and a nonlinear operation in which two or more bit values are given as inputs.
Claims
1. A cypher system comprising: a plurality of hardware computers, each hardware computer including a photoelectric fusion processor that includes at least one of (i) a Y gate circuit configured to combine optical signals, (ii) an optical switching circuit configured to switch optical signal paths based on electrical signals, or (iii) a phase modulator configured to modulate a phase of an optical signal, wherein the photoelectric fusion processor is configured to perform optical operation processing and perform an encryption operation including an exclusive OR operation in which two or more bit values are given as inputs, and a nonlinear operation in which two or more bit values are given as inputs.
2. The cypher system according to claim 1, wherein the photoelectric fusion processor includes a multistage circuit of Y gates, and the optical operation processing includes inputting optical signals individually corresponding to the two or more bit values to the multistage circuit, detecting intensity of an optical signal output from the multistage circuit, and outputting a bit value corresponding to the intensity as a result of the exclusive OR operation.
3. The cypher system according to claim 1, wherein the photoelectric fusion processor includes a plurality of phase modulators, each phase modulator configured to modulate the phase of the optical signal by in accordance with a given bit value, and the optical operation processing includes inputting, to the plurality of phase modulators, respective electrical signals individually corresponding to the two or more bit values and an optical signal, detecting a phase difference that is derived from chases of respective optical signals output from the plurality of phase modulators, and outputting a bit value corresponding to the phase difference as a result of the exclusive OR operation.
4. The cypher system according to claim 1, wherein the photoelectric fusion processor includes a plurality of optical switching circuits connected in series, each optical switching circuit including a predetermined output port, and the optical operation processing includes inputting, to the plurality of optical switching circuits, respective electrical signals individually corresponding to the two or more bit values and an optical signal, detecting an optical signal output from the predetermined output port of a last optical switching circuit of the plurality of optical switching circuits, and outputting a bit value corresponding to intensity of the optical signal as a result of the exclusive OR operation.
5. The cypher system according to claim 1, wherein the photoelectric fusion processor includes a multistage optical switching circuit with a predetermined output port, and the optical operation processing includes inputting, to the multistage optical switching circuit, (i) electrical signals individually corresponding to the two or more bit values and (ii) optical signals individually representing bit values that are included in a bit string, the bit string being defined by applying a predetermined transformation, and outputting a bit value corresponding to an optical signal output from the predetermined output port of the multistage optical switching circuit, as a result of the nonlinear operation for a predetermined bit value of the two or more bit values.
6. A cypher apparatus comprising: a photoelectric fusion processor including at least one of (i) a Y gate circuit configured to combine optical signals, (ii) an optical switching circuit configured to switch optical signal paths based on electrical signals, or (iii) a phase modulator configured to modulate a phase of an optical signal, wherein the photoelectric fusion processor is configured to perform optical operation processing and perform an encryption operation including an exclusive OR operation in which two or more bit values are given as inputs, and a nonlinear operation in which two or more bit values are given as inputs.
7. A cypher method by a photoelectric fusion processor including at least one of (i) a Y gate circuit configured to combine optical signals, (ii) an optical switching circuit configured to switch optical signal paths based on electrical signals, or (iii) a phase modulator configured to modulate a phase of an optical signal, the cypher method comprising: preforming optical operation processing and an encryption operation including an exclusive OR operation in which two or more bit values are even as inputs, and a nonlinear operation in which two or more bit values are given as inputs.
8. A non-transitory computer readable medium storing a program causing a computer to execute the cypher method of claim 7.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DESCRIPTION OF EMBODIMENTS
[0039] An embodiment of the present invention will be described below. The present embodiment describes an encryption device 10 that uses optical operation processing to implement an encryption operation of an existing encryption technology (encryption method and authentication method). The authentication method can be considered as a kind of application of the encryption method, and the encryption operation is thus assumed to include not only calculation for encryption and decryption in the encryption method but also calculation for authentication/falsification detection and the like in the authentication method.
<Configuration Example of Encryption Device 10>
[0040] A configuration example of the encryption device 10 according to the present embodiment is illustrated in
[0041] The optical operation circuit 101 is a circuit (photoelectric fusion processor) that implements optical operation processing. The optical operation circuit 101 functions as an optical encryption operation unit 111 and an optical operation control unit 112 by one or more programs installed on the encryption device 10.
[0042] The optical encryption operation unit 111 implements an encryption operation by optical operation processing. In particular, the optical encryption operation unit 111 uses optical operation processing to implement an encryption operation using a multistage operation including XOR operations, a multistage operation including different logical operations such as an XOR operation and an AND operation, or the like. Furthermore, the optical encryption operation unit 111 performs not only optical operation processing but also photoelectric conversion (light-to-electricity conversion) for converting an intermediary value (intermediate value) into an electrical value, for example. In the optical operation processing, an optical signal is input, calculation is conducted in the form of an optical signal, and the calculation result is output in the form of an optical signal.
[0043] In a case where electrical signals are used to control a circuit (e.g., an optical switching circuit) that performs optical operation processing, the optical operation control unit 112 performs the control. For example, in a case where a Mach-Zehnder interferometer switch circuit, which is one of optical switching circuits, is used as described later, the optical operation control unit 112 uses an electronic signal to control a path of an optical signal input to the Mach-Zehnder interferometer switch circuit.
[0044] The optical transmitter 102 is a device (peripheral device of the optical operation circuit 101) that outputs an optical signal to the optical operation circuit 101. The optical transmitter 102 functions as a laser transmission unit 121 and a light source control unit 122 by one or more programs installed on the encryption device 10.
[0045] The laser transmission unit 121 functions as a light source for the optical operation circuit 101, and outputs an optical signal by laser light to the optical operation circuit 101 under the control of the light source control unit 122. Hereinafter, the laser transmission unit 121 is also referred to as the light source 121. The light source control unit 122 uses electrical signals to control the laser transmission unit 121 (e.g., performs control such that the laser transmission unit 121 outputs an optical signal).
[0046] The photodetector 103 is a device (peripheral device of the optical operation circuit 101) that detects an optical signal output from the optical operation circuit 101 and stores a calculation result represented by the optical signal in the memory 104. The photodetector 103 functions as a photodetection unit 131 and a photoelectric conversion unit 132 by one or more programs installed on the encryption device 10.
[0047] The photodetection unit 131 detects an optical signal output from the optical operation circuit 101. The photoelectric conversion unit 132 converts the optical signal detected by the photodetection unit 131 into an electrical signal, and stores, in the memory 104, information represented by the electronic signal (that is, information representing a result of calculation by the optical encryption operation unit 111).
[0048] The memory 104 is a storage device that stores information representing a result of calculation by the optical operation circuit 101 (e.g., an encryption result and a decryption result).
[0049] The configuration of the encryption device 10 illustrated in
<AES (Advanced Encryption Standard)>
[0050] While the encryption device 10 according to the present embodiment can use optical operation processing to implement an encryption operation for an optional encryption method or authentication method, the following description shows an example of an encryption operation in encryption processing of the AES (Reference Literature 1), which is a de facto standard for common key encryption methods. However, it is needless to say that an encryption operation in AES decryption processing can be implemented in a similar manner. It is needless to say that encryption operations in optional encryption methods and authentication methods such as one-time pad encryption, besides the AES, can be implemented in a similar manner.
[0051] The AES is constituted by a data operation unit and a key schedule unit. The data operation unit performs operation processing on data (this operation processing is also called round processing) to encrypt (or decrypt) the data, and the key schedule unit generates a round key to be used in the round processing from a secret key. A method of using optical operation processing to implement calculation in the data operation unit and the key schedule unit will be described below.
<Data Operation Unit>
[0052] Round processing by the data operation unit includes four processes of SubBytes, ShiftRows, MixColumns, and AddRoundKey. In general, encryption/decryption processing includes a nonlinear operation unit, and the nonlinear operation unit is implemented by a combination of different logical operations such as an XOR operation and an AND operation. In the AES, SubBytes corresponds to the nonlinear operation unit.
[0053] Here, the number of times round processing is executed varies depending on a key length. The length (block length) of plaintext data is 128 bits, and the key length can be 128 bits, 192 bits, or 256 bits. While the present embodiment shows an example in which the key length is 128 bits, equivalent processing can be used for calculation for other key lengths.
[0054] An implementation example of the optical operation circuit 101 for realizing each component of the data operation unit of the AES by optical operation processing will be described below.
<<AddRoundKey with Initial Key>>
[0055] In the first operation processing of the AES, an XOR operation between 128 bits of an initial key (secret key) generated by the key schedule unit and 128 bits of a plaintext is performed. A 1-bit XOR operation (XOR operation of 128 bits in total) is available in the following three implementation examples (I), (II)-1, and (II)-2.
Implementation Example (I): Implementation Method in which a Y Gate Circuit is Used
[0056] As illustrated in
[0057] The optical signal c after the optical signals a and b have passed through the Y gate circuit 201 is input to the photodetector 103. Then, the photodetection unit 131 of the photodetector 103 detects the optical signal c by direct detection for detecting the intensity of the optical signal, and the photoelectric conversion unit 132 outputs a voltage V or 0 in accordance with the intensity of the optical signal c. That is, the photoelectric conversion unit 132 outputs the voltage V if the intensity of the optical signal c is equal to or greater than a certain threshold, and outputs the voltage 0 if the intensity of the optical signal c is less than the threshold. At this time, the voltage V is set to bit 1, and the voltage 0 is set to bit 0. Thus, the result of the XOR operation of a and b is obtained as an output of the photodetector 103, and is stored in the memory 104.
[0058] Here, in order to perform the XOR operation for 128 bits, one Y gate circuit may be used 128 times, or 128 Y gate circuits may be used. It is also possible to perform the XOR operation for 128 bits with less than 128 Y gate circuits by using a plurality of the light sources 121 and using a plurality of optical signals having different frequencies as inputs.
[0059] In the present implementation example, the information of the secret key is optical signals, and it is therefore unnecessary to maintain the light state in a method of generating a secret key, and it is preferable to adopt an implementation method in which a key schedule is performed in parallel with encryption (on-the-fly key scheduling).
Implementation Example (II)-1: Implementation Method in which a Mach-Zehnder Interferometer Switch Circuit is Used
[0060] As illustrated in
[0061] When information representing the secret key is electrically retained, an electrical signal b corresponding to one bit of the secret key is allocated to an input of the MZI circuit 202, and an optical signal a corresponding to one bit of the plaintext and an optical signal a obtained by inverting a bit value of the optical signal a are allocated to an upper optical signal port and a lower optical signal port, respectively, as inputs to a path of the MZI circuit 202. In a case where a is an optical signal representing bit 1, a is an optical signal representing bit 0, and in a case where a is an optical signal representing bit 0, a is an optical signal representing bit 1. The optical signals a and a are output from the light source 121.
[0062] Here, as illustrated in
[0063] The paths of the optical signals a and a are controlled by the value of the electrical signal b corresponding to one bit of the secret key, and the value represented by an optical signal output from the lower optical signal port of the MZI circuit 202 is equivalent to the result of the XOR operation of a and b. That is, when the optical signal output from the lower optical signal port of the MZI circuit 202 is denoted by c, if the photodetection unit 131 of the photodetector 103 has detected an optical signal c (that is, if an optical signal c having a certain intensity or higher has reached the photodetector 103), the photoelectric conversion unit 132 outputs the voltage V, and if not, the photoelectric conversion unit 132 outputs the voltage 0. At this time, the voltage V is set to bit 1, and the voltage 0 is set to bit 0. Thus, the result of the XOR operation of a and b is obtained as an output of the photodetector 103, and is stored in the memory 104.
[0064] Here, in order to perform the XOR operation for 128 bits, one MZI circuit may be used 128 times, or 128 MZI circuits may be used. It is also possible to perform the XOR operation for 128 bits with less than 128 MZI circuits by using a plurality of the light sources 121 and using a plurality of optical signals having different frequencies as inputs.
Implementation Example (II)-2: Implementation Method in which an MZI Circuit with Two Input Ports is Used
[0065] As illustrated in
[0066] At this time, as fixed optical signals, an optical signal representing bit 0 and an optical signal representing bit 1 are input to the upper optical signal port and the lower optical signal port, respectively, of the 2-input port MZI circuit 203, and two electrical signals (an electrical signal a corresponding to one bit of the plaintext and an electrical signal b corresponding to one bit of the secret key) are individually input to two path control ports. The fixed optical signals are output from the light source 121.
[0067] Here, as illustrated in
[0068] Therefore, the paths of the optical signals are controlled by the value of the electrical signal a corresponding to one bit of the plaintext and the value of the electrical signal b corresponding to one bit of the secret key, and a value represented by an optical signal output from the lower optical signal port of the 2-input port MZI circuit 203 is equivalent to the result of the XOR operation of a and b. That is, when the optical signal output from the lower optical signal port of the 2-input port MZI circuit 203 is denoted by c, if the photodetection unit 131 of the photodetector 103 has detected an optical signal c (that is, if an optical signal c having a certain intensity or higher has reached the photodetector 103), the photoelectric conversion unit 132 outputs the voltage V, and if not, the photoelectric conversion unit 132 outputs the voltage 0. At this time, the voltage V is set to bit 1, and the voltage 0 is set to bit 0. Thus, the result of the XOR operation of a and b is obtained as an output of the photodetector 103, and is stored in the memory 104. In the present implementation example, it is necessary to electrically retain both the plaintext as a target of the XOR operation and the secret key in advance (or convert the optical signals into electrical signals).
[0069] Here, as in the implementation example (II)-1, in order to perform the XOR operation for 128 bits, one 2-input port MZI circuit may be used 128 times, or 128 2-input port MZI circuits may be used. It is also possible to perform the XOR operation for 128 bits with less than 128 2-input port MZI circuits by using a plurality of the light sources 121 and inputting a plurality of optical signals having different frequencies as fixed optical signals.
[0070]
<<SubBytes>>
[0071] SubBytes processing of the AES includes a case where a table conversion table called S-Box is used and a case where affine transformation constituted by an inverse operation over an extension field (GF(2.sup.8)) and an XOR operation is used. Hereinafter, a case where a table conversion table is used will be described.
[0072] As an example, SubBytes (8-bit input, 8-bit output) used for encryption in the AES will be described (Reference Literature 1). SubBytes used for decryption can be configured in a similar manner.
[0073] In the present embodiment, an implementation example will be described in which an electrical signal representing an 8-bit input of SubBytes is input and an optical signal representing one bit of an 8-bit output of SubBytes is output by using an optical pass gate logic circuit (Reference Literature 3).
[0074]
[0075] At this time, the MZI circuits are connected with each other such that optical signals output from the upper optical signal ports of two MZI circuits in the previous stage are input to the optical signal ports of an MZI circuit in the next stage. Specifically, as illustrated in
[0076] Furthermore, in the memory 104, the least significant bit of an output result obtained by inputting each byte (0x00 to 0xFF in hexadecimal notation) to SubBytes is allocated as a memory value. For example, the output of SubBytes for 0x00 is 0x63, and thus, 1, which is the least significant bit of 0x63, is allocated to the top (most significant bit) of the memory value. Similarly, the output of SubBytes for 4x01 is 0x7c, and thus, 0, which is the least significant bit of 0x7c, is allocated to the second value (next to the top) in the memory value. Similarly thereafter, the least significant bit of the output of SubBytes for each of 0x02 to 0xFF is sequentially allocated to the memory value.
[0077] Then, for i=0, . . . , 127, an optical signal representing the 2i-th value from the top in the memory value and an optical signal representing the (2i+1)-th value are respectively input to the upper optical signal port and the lower optical signal port of the i-th MZI circuit in the first stage. These optical signals are output from the light source 121.
[0078] Thus, one bit represented by an optical signal output from the upper optical signal port of the MZI circuit 8001 in the eighth stage is the least significant one bit of the output of SubBytes for (x.sub.7x.sub.6x.sub.5x.sub.4x.sub.3x.sub.2x.sub.1x.sub.0).sub.2. Note that the optical signal output from the upper optical signal port of the MZI circuit 8001 is detected by the photodetector 103, and a 1-bit value represented by the optical signal is stored in the memory 104. Specifically, when the photodetection unit 131 of the photodetector 103 has detected an optical signal having an intensity equal to or greater than a certain threshold, the photoelectric conversion unit 132 outputs the voltage V corresponding to bit 1, and the photoelectric conversion unit 132 outputs the voltage 0 corresponding to bit 0 at other times.
[0079] By implementing the optical operation circuit 101 as described above and controlling the path of each MZI circuit in accordance with a combination of (x.sub.7x.sub.6x.sub.5x.sub.4x.sub.3x.sub.2x.sub.1x.sub.0).sub.0 input to SubBytes, any value (0 or 1) in 256 (=2.sup.8) memory values can be output as the least significant bit of the 8-bit output of SubBytes.
[0080] Similarly, for the other bits of the 8-bit output of SubBytes, a value of the corresponding bit of an output result obtained by inputting each byte to SubBytes is allocated as a memory value, and thus, implementation is available. That is, in a case of outputting a value of the n-th bit (n=0, 1, . . . , 7) of the 8-bit output of SubBytes, the value of the n-th bit of an output result obtained by inputting each byte to SubBytes can be allocated as a memory value. Note that the bit of n=0 corresponds to the least significant bit.
[0081] The relationship between the input/output and the memory value in a case of implementing SubBytes by using an optical pass gate logic circuit is summarized below. [0082] Input of optical pass gate logic circuit: 8-bit input of SubBytes [0083] Output of optical pass gate logic circuit: Value of n-th bit of 8-bit output of SubBytes (n=0, 1, . . . , 7) [0084] Memory value: 256-bit value in which the value of the n-th bit of an output result (8 bits) obtained by inputting, to SubBytes, each of bytes 0x00 to 0xFF is stored in order from the top (the most significant) (n=0, . . . , 7)
[0085]
<<Shift Rows>>
[0086] Operation processing of ShiftRows is performed by changing the connection of optical wiring. In the AES, a 0, 8, 16, or 24-bit cyclic shift is performed depending on the position of the intermediate value, and the optical operation circuit 101 is implemented such that the optical wiring of each bit is physically connected in accordance with the arrangement after the cyclic shift.
[0087]
<<MixColumns and AddRoundKey>>
[0088] MixColumns and AddRoundKey in the AES are different types of operation processing (Reference Literature 1), and the present embodiment is based on the assumption that these two types of operation processing are simultaneously implemented.
[0089] MixColumns is operation processing corresponding to transposition in the AES, and is implemented by multiplication of a 32-bit matrix as illustrated in
[0090] Here, x.sub.1 to x.sub.4, which are 8-bit values, are expressed in binary numbers, and are expressed as follows. Note that a.sub.i, b.sub.i, c.sub.i, and d.sub.i are 1-bit values, i=0, . . . , 7 holds, and i=0 is the least significant bit. [0091] x.sub.1:(a.sub.7a.sub.6a.sub.5a.sub.4a.sub.3a.sub.2a.sub.1a.sub.0).sub.2 [0092] x.sub.2:(b.sub.7b.sub.6b.sub.5b.sub.4b.sub.3b.sub.2b.sub.1b.sub.0).sub.2 [0093] x.sub.3: (c.sub.7c.sub.6c.sub.5c.sub.4c.sub.3c.sub.2c.sub.1c.sub.0).sub.2 [0094] x.sub.4: (d.sub.7d.sub.6d.sub.5d.sub.4d.sub.3d.sub.2d.sub.1d.sub.0).sub.2
[0095] At this time, each bit of the binary representation (y.sub.1.sup.7y.sub.1.sup.6y.sub.1.sup.5y.sub.1.sup.4y.sub.1.sup.3y.sub.1.sup.2y.sub.1.sup.1y.sub.1.sup.0).sub.2 of y.sub.1 can be expressed as follows.
Note that y.sub.1.sup.0 is the least significant bit.
[0096] Here, consideration is given to executing AddRoundKey, which is processing to be performed subsequent to MixColumns, simultaneously with the above XOR operation. That is, consideration is given to performing an XOR operation with a round key simultaneously with calculation of y.sub.1.
[0097] When the number of rounds is denoted by i and the number of bytes is denoted by j, the round key (8 bits) is expressed by RK.sub.j.sup.i(i=1, . . . , 9, j=0, . . . , 15). The binary notation of the round key for an XOR operation with y.sub.1 is expressed as follows. [0098] RK.sub.0.sup.i:(rk.sub.7rk.sub.6rk.sub.5rk.sub.4rk.sub.3rk.sub.2rk.sub.1rk.sub.0).sub.2
[0099] At this time, when an XOR operation (that is, the operation of MixColumns) for obtaining y.sub.1 and an XOR operation of y.sub.1 and the round key are simultaneously performed, the following expression can be obtained.
[0100] From the above, it can be seen that it is necessary to perform a 6-bit XOR operation and an 8-bit XOR operation in order to simultaneously perform calculation of MixColumns and AddRoundKey.
[0101] Now, three types of implementation examples of a case where a 6-bit XOR operation and an 8-bit XOR operation are implemented by optical operation processing will be described below. While the description below shows, as an example, a case where an XOR operation of y.sub.1.sup.0 and rk.sub.0 is performed in the 6-bit XOR operation and an XOR operation of y.sub.1.sup.1 and rk.sub.1 is performed in the 8-bit XOR operation, another 6-bit XOR operation (XOR operation of y.sub.1.sup.2 and rk.sub.2, XOR operation of y.sub.1.sup.5 and rk.sub.5, XOR operation of y.sub.1.sup.6 and rk.sub.6, or XOR operation of y.sub.1.sup.7 and rk.sub.7) or another 8-bit XOR operation (XOR operation of y.sub.1.sup.3 and rk.sub.3, or XOR operation of y.sub.1.sup.4 and rk.sub.4) can be implemented with one circuit by using a multi-wavelength light source.
Implementation Example (A): Implementation Method in which a Bit is Expressed by Amplitude (or Intensity) of Light
[0102] An implementation example of encoding into bit 1 or bit 0 in accordance with the amplitude (or intensity) of an optical signal will be described. In this implementation example, the amplitudes of light beams are superimposed on each other by using a Y gate circuit, and thus a 6-bit XOR operation or an 8-bit XOR operation is implemented.
[0103]
[0104] In a case of performing a 6-bit XOR operation, as illustrated in
[0105] At this time, the amplitude (or intensity) of an optical signal output from the Y gate circuit 204 increases in accordance with the number of superimposed optical signals corresponding to bit 1. For the purpose of superimposing two optical signals in the same phase, a phase shifter for adjustment may be used in one of the paths of the Y gate circuit.
[0106] Therefore, the amplitude (or intensity) of the optical signal output from the Y gate circuit 204 may be detected by the photodetection unit 131 of the photodetector 103, and the photoelectric conversion unit 132 may perform threshold processing on the basis of the detection result and output an electrical signal corresponding to bit 0 or 1. Homodyne detection may be used to detect the amplitude of the optical signal, and direct detection may be used to detect the intensity.
[0107] In the threshold processing by the photoelectric conversion unit 132, an electrical signal corresponding to bit 0 or 1 is output depending on how many times of the amplitude (or intensity) of a single optical signal corresponding to bit 1 at the time of detection by the photodetection unit 131 is equivalent to the amplitude (or intensity) of the optical signal detected by the photodetection unit 131. That is, for example, the photoelectric conversion unit 132 stores in advance, in the memory 104, information in which a multiple and a bit value are associated with each other as follows (that is, information in which an even multiple (including 0 times) is associated with 0, and an odd multiple is associated with 1). [0108] 6 times.fwdarw.0 [0109] 5 times.fwdarw.1 [0110] 4 times.fwdarw.0 [0111] 3 times.fwdarw.1 [0112] 2 times.fwdarw.0 [0113] 1 times.fwdarw.1 [0114] 0 times.fwdarw.0
[0115] Then, the photoelectric conversion unit 132 may determine how many times of the amplitude (or intensity) of a single optical signal corresponding to bit 1 is equivalent to the amplitude (or intensity) of the optical signal detected by the photodetection unit 131, and output the bit value corresponding to the multiple. This bit value is the result of the XOR operation of y.sub.1.sup.0 and rk.sub.0 (the result of the 6-bit XOR operation), and is stored in the memory 104. Unlike the implementation examples (B) and (C) to be described later, it is not necessary to perform photoelectric conversion when calculating the bit value represented by the optical signal output from the Y gate circuit 204 in the present implementation example.
[0116] In a case of performing an 8-bit XOR operation, as illustrated in
[0117] At this time, similarly to the 6-bit XOR operation, the amplitude (or intensity) of an optical signal output from the Y gate circuit 205 increases in accordance with the number of superimposed optical signals corresponding to bit 1. Thus, similarly to the 6-bit XOR operation, the amplitude (or intensity) of the optical signal output from the Y gate circuit 205 may be detected by the photodetection unit 131 of the photodetector 103, and the photoelectric conversion unit 132 may perform threshold processing on the basis of the detection result and output an electrical signal corresponding to bit 0 or 1. Note that, in the threshold processing, similarly to the 6-bit XOR operation, the determination result may be 0 in a case of an even multiple (including 0 times), and 1 in a case of an odd multiple. This bit value is the result of the XOR operation of y.sub.1.sup.1 and rk.sub.1 (the result of the 8-bit XOR operation), and is stored in the memory 104.
Implementation Example (B): Implementation Method in which a Bit is Expressed by a Phase Difference Between Light Beams (Using a Phase Modulator)
[0118] An implementation example will be described in which bit 1 or bit 0 is encoded depending on a phase difference between two light beams by using a phase modulator (PM).
[0119]
[0120] At this time, each of the PMs 206-1 to 206-6 shifts the phase of the input light by if the value of the electrical signal input to the PM is 1, and outputs the input light as it is if the value of the electrical signal input to the PM is 0. Accordingly, in a case where an even number (including 0 number) of a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, and rk.sub.0 is 1, the phase difference between the input light and the reference light is 0, and in a case where an odd number of them is 1, the phase difference between the input light and the reference light is . For example, in a case where the number of bits 1 among a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, and rk.sub.0 is two, the phase of the input light is 2, and thus the phase difference from the reference light is 0. On the other hand, for example, in a case where the number of bits 1 is three, the phase of the input light is 3, and thus the phase difference from the reference light is n.
[0121] Thus, the phase difference between the input light and the reference light is detected by the photodetection unit 131 of the photodetector 103 by homodyne detection (or heterodyne detection), and the photoelectric conversion unit 132 outputs a voltage V if the detected phase difference is 0, and outputs a voltage V if the detected phase difference is . Then, the electronic circuit 105 determines that the bit is 0 if the voltage V has been input, and determines that the bit is 1 if the voltage V has been input, and then outputs an electrical signal representing the determination result. The value represented by this electrical signal is the result of the XOR operation of y.sub.1.sup.0, and rk.sub.0 (the result of the 6-bit XOR operation), and is stored in the memory 104. Note that the photodetection unit 131 can detect an optical signal by heterodyne detection, but in that case, it is necessary to use reference light slightly shifted from the phase of the input light.
[0122] As illustrated in
[0123]
[0124] As illustrated in
[0125] As a modification of the implementation example illustrated in
[0126] In this implementation example, input light passing through the lower path is always shifted by a phase at the PM 208-7. Thus, the intensity of input light obtained by superimposing input light A and input light B on each other at the Y gate circuit 214 corresponds to a result of a 6-bit XOR operation of a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, and rk.sub.0.
[0127] For example, in a case where (a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, rk.sub.0)=(1, 1, 1, 1, 1, 1) holds, the phase difference between the input light A and the input light B is . Therefore, in a case where the input light A and the input light B have been superimposed on each other at the Y gate circuit 214, the intensity of the optical signal output from the Y gate circuit 214 becomes 0. Thus, the voltage 0 is output from the photodetector 103, and an electrical signal representing bit 0 is finally output from the electronic circuit 105.
[0128] As another example, for example, in a case where (a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, rk.sub.0)=(1, 0, 0, 1, 1, 0) holds, the phase difference between the input light A and the input light B becomes 0. Therefore, in a case where the input light A and the input light B have been superimposed on each other at the Y gate circuit 214, the intensity of the optical signal output from the Y gate circuit 214 is twice the intensity of the original input light. Thus, the voltage V is output from the photodetector 103, and an electrical signal representing bit 1 is finally output from the electronic circuit 105.
[0129] As a modification of the implementation example illustrated in
[0130] As described above, it is possible to implement a 6-bit XOR operation and an 8-bit XOR operation also by the method using direct detection by the photodetector 103.
Implementation Example (C): Implementation Method in which a Bit is Expressed by a Path of Light (Using an MZI Circuit)
[0131] A method of expressing bit 1 or bit 0 by using an MZI circuit will be described.
[0132]
[0133] At this time, in a case where an even number (including 0) of a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, and rk.sub.0 is bit 1, an optical signal from the light source 121 is output from the upper optical signal port of the MZI circuit 216-6. On the other hand, in a case where an odd number of them is bit 1, an optical signal from the light source 121 is output from the lower optical signal port of the MZI circuit 216-6. Therefore, the photodetector 103 may output an electrical signal representing bit 1 from the photoelectric conversion unit 132 if the photodetection unit 131 has detected an optical signal, and may output an electrical signal representing bit 0 from the photoelectric conversion unit 132 if the photodetection unit 131 has not detected an optical signal. The value represented by this electrical signal is the result of the XOR operation of y.sub.1.sup.0, and rk.sub.0 (the result of the 6-bit XOR operation), and is stored in the memory 104.
[0134]
[0135] At this time, as in the implementation example illustrated in
[0136] Furthermore, as an implementation example of the optical operation circuit 101 in a case where a 6-bit XOR operation is performed, an implementation example illustrated in
[0137] As illustrated in
[0138] At this time, in a case where an even number (including 0) of a.sub.7, b.sub.0, b.sub.7, c.sub.0, d.sub.0, and rk.sub.0 is bit 1, an optical signal from the light source 121 is output from the upper optical signal port of the 2-input port MZI circuit 220-3. On the other hand, in a case where an odd number of them is bit 1, an optical signal from the light source 121 is output from the lower optical signal port of the 2-input port MZI circuit 220-3. Therefore, as in the implementation example illustrated in
[0139] Similarly, as an implementation example of the optical operation circuit 101 in a case where an 8-bit XOR operation is performed, an implementation example illustrated in
[0140] As illustrated in
[0141] Furthermore, implementation is performed such that an optical signal output from the lower optical signal port of the 2-input port MZI circuit 222-4 is input to the photodetector 103.
[0142] At this time, as in the implementation example illustrated in
[0143]
<<Implementation Example of Entire Data Operation Unit>>
[0144] In the implementation examples described above, optical operation processing is used to implement one round of the data operation unit of the AES.
[0145] As illustrated in
[0146] SubBytes and ShiftRows are repeated 10 times for R=1 to 10. On the other hand, MixColumns and AddRoundKey with a round key are repeated nine times for R=1 to 9. MixColumns is not calculated at the time of R=10 (final round), and thus AddRoundKey at the time of R=10 is implemented in either of the implementation examples (I) and (II)-1. As a result, an XOR operation of the round key and intermediate data for the final round is conducted. Implementation in either of the implementation examples (I) and (II)-1 may depend on whether the round key is retained in the light state or retained electrically. Then, a result of calculation by AddRoundKey at the time of R=10 is used as an encryption result (electrical signal).
<Key Schedule Unit>
[0147] Hereinafter, a method of implementing calculation by the key schedule unit using optical operation processing in a case where the secret key is 128-bits long will be described. Also in a case where the secret key is 192-bits long or 256-bits long, implementation is possible by a similar method.
[0148] The key schedule unit divides the secret key (128 bits) into four blocks, 32 bits each, and conducts calculation. This operation processing includes an XOR operation between RotWord, SubWord, and Rcon, and an intermediate value (Reference Literature 1). At this time, it does not matter whether the secret key (initial key) is electrically retained or retained in the light state.
[0149] A method for determining a bit value depending on the amplitude of light will be described below. [0150] RotWord
[0151] In this processing, four blocks of 32 bits are divided into 8 bits, and 8-bit left rotation is performed. Thus, as in ShiftRows, in a case where the secret key or the round key of the previous stage is retained in the light state, this processing is implemented by changing the connection of the wiring (optical signal line). In a case where the secret key or the round key of the previous stage is electrically retained, implementation is achieved by changing the connection of the electric wiring. [0152] SubWord
[0153] In this processing, SubBytes used when each block is encrypted every 8 bits is applied. Thus, it is possible to use a SubBytes optical pass gate logic circuit using an MZI circuit. In a case where the initial key is electrically retained and RotWord outputs an electrical signal, the electrical signal is input to SubBytes as it is. On the other hand, in a case where the initial key is retained in the light state and RotWord outputs an optical signal, the optical signal needs to be converted into an electrical signal by photoelectric conversion and then input to SubBytes. [0154] XOR operation of Rcon and intermediate value
[0155] The j-th (0<j<12) Rcon is denoted by Rcon.sub.j. Each Rcon.sub.j is a 32-bit fixed value having 4 blocks of 8 bits each. Here, in the initial round of the key schedule, SubWord outputs w.sub.3. Note that w.sub.3 is 32 bits.
[0156]
[0157] As illustrated in
[0158] The path control ports of the MZI circuits 224-1 to 224-5 receive Rcon.sub.1,i, w.sub.0,1, w.sub.1,i, w.sub.2,i, and w.sub.3,i, respectively.
[0159] The directional coupler 225-1 divides an optical signal output from the lower optical signal port of the MZI circuit 224-2, and outputs one of the divided optical signals to the photoelectric conversion 226. Similarly, the directional coupler 225-2 divides an optical signal output from the upper optical signal port of the MZI circuit 224-3, the directional coupler 225-3 divides an optical signal output from the lower optical signal port of the MZI circuit 224-4, and the directional coupler 225-4 divides an optical signal output from the upper optical signal port of the MZI circuit 224-5, and then each directional coupler outputs one of the divided optical signals to the photoelectric conversion 226. That is, the directional couplers are arranged alternately, such as the lower optical signal port, the upper optical signal port, and the lower optical signal port. A division ratio at which an optical signal is divided may be arbitrarily set.
[0160] The amplifiers 227-1 to 227-4 amplify the amplitude to obtain an electrical signal capable of controlling the path of an MZI circuit in the next round. Furthermore, since the amplitude is attenuated by the division of the optical signal, the amplitude is amplified by the amplifier 227-5. However, the amplifiers 227-1 to 227-5 are not essential, and all or some of the amplifiers 227-1 to 227-5 may be omitted in a case where the decrease in amplitude is negligible.
[0161] At this time, an output from the upper optical signal port of the MZI circuit 224-1 corresponds to an XOR operation of w.sub.3,i and Rcon.sub.1,i. Electrical signals w.sub.4,i, w.sub.5,i, w.sub.6,i, and w.sub.7,i that have been output from the photoelectric conversion 226 and have passed through the amplifiers 227-1 to 227-4 are input to the path control port of an MZI circuit in the next round. On the other hand, the optical signal w.sub.7,i that has passed through the amplifier 227-5 is used as an input in the next round, and whether an optical signal from the light source 121 in the next round is to be input to the upper optical signal port or the lower optical signal port of the first of the MZI circuits connected in series is controlled depending on whether the value of the optical signal w.sub.7,i is 0 or 1.
[0162] It is also possible to adopt an implementation in which input light having five wavelengths (.sub.1, .sub.2, .sub.3, .sub.4, and .sub.5) is used as an optical signal output from the light source 121.
[0163] The path control ports of the MZI circuits 228-1 to 228-5 receive Rcon.sub.1,i, w.sub.0,i, w.sub.1,i, w.sub.2,i, and w.sub.3,i, respectively.
[0164] The filter 229-1 is a filter using a ring resonator having the wavelength .sub.1 or the like, and extracts only optical signals having the wavelength .sub.1 from optical signals output from the lower optical signal port of the MZI circuit 228-2 and outputs the extracted optical signals to the photoelectric conversion 230. Similarly, the filter 229-2 is a filter using a ring resonator having the wavelength .sub.2 or the like, and extracts only optical signals having the wavelength .sub.2 from optical signals output from the upper optical signal port of the MZI circuit 228-3 and outputs the extracted optical signals to the photoelectric conversion 230. The same applies to the filters 229-3 and 229-4, in which the filter 229-3 extracts only optical signals having the wavelength .sub.3 from optical signals output from the lower optical signal port of the MZI circuit 228-4, and the filter 229-4 extracts only optical signals having the wavelength .sub.4 from optical signals output from the upper optical signal port of the MZI circuit 228-5, and then each filter outputs the extracted optical signals to the photoelectric conversion 230. The filters are arranged alternately, such as the lower optical signal port, the upper optical signal port, and the lower optical signal port.
[0165] The amplifiers 231-1 to 231-4 amplify the amplitude to obtain an electrical signal capable of controlling the path of an MZI circuit in the next round. However, the amplifiers 231-1 to 231-5 are not essential, and all or some of the amplifiers 231-1 to 231-5 may be omitted in a case where the decrease in amplitude is negligible. Optical signals are not divided in the implementation example illustrated in
[0166] At this time, an output from the upper optical signal port of the MZI circuit 228-1 corresponds to an XOR operation of w.sub.3,i and Rcon.sub.1,i. The electrical signals w.sub.4,i, w.sub.5,i, w.sub.6,i, and w.sub.7,i that have been output from the photoelectric conversion 230 and have passed through the amplifiers 231-1 to 231-4 are input to the path control port of an MZI circuit in the next round. On the other hand, the finally output optical signal w.sub.7,i is used as an input in the next round, and whether an optical signal from the light source 121 in the next round is to be input to the upper optical signal port or the lower optical signal port of the first of the MZI circuits connected in series is controlled depending on whether the value of the optical signal w.sub.7,i is 0 or 1.
[0167] By repeatedly executing the calculation by the implementation example illustrated in
[0168] Calculation in the key schedule unit can be performed by repeating an XOR operation between RotWord, SubWord, and Rcon, and an intermediate value for 10 rounds.
[0169] In the implementation examples described above, optical operation processing is used to implement one round of the key schedule unit of the AES.
CONCLUSION
[0170] As described above, the optical operation circuit 101 of the encryption device 10 according to the present embodiment is implemented by a Y gate circuit, an optical switching circuit, or the like, and can use optical operation processing to implement an XOR operation, a multistage XOR operation, and a nonlinear operation (implement, in particular, a multistage XOR operation and a nonlinear operation that have been conventionally difficult to perform). Therefore, the optical encryption operation unit 111 and the optical operation control unit 112 of the encryption device 10 according to the present embodiment can use optical operation processing to implement an encryption operation (e.g., encryption/decryption processing or authentication/verification processing) used in various encryption methods and authentication methods. While the above embodiment describes a case of using optical operation processing to implement an AES encryption operation by using optical operation processing to implement an XOR operation, a multistage XOR operation, and a nonlinear operation, it is needless to say that the encryption device 10 according to the present embodiment can use optical operation processing to implement an XOR operation, a multistage XOR operation, and a nonlinear operation of encryption operations in other encryption methods and authentication methods.
[0171] The present invention is not limited to the embodiment specifically disclosed above, and various modifications or changes, combinations with known technologies, and the like can be made without departing from the scope of the claims.
REFERENCE LITERATURES
[0172] Reference Literature 1: Federal Information Processing Standards Publication 197 Nov. 26, 2001 Announcing the ADVANCED ENCRYPTION STANDARD (AES) [0173] Reference Literature 2: Shota Kita, Kengo Nozaki, Kenta Takata, Akihiko Shinya, Masaya Notomi, Ultrashort low-loss gates for linear optical logic on Si photonics platform, Communications Physics, volume 3, Article number: 33 (2020), 8 pages. [0174] Reference Literature 3: Japanese Unexamined Patent Application Publication No. 2018-5825
REFERENCE SIGNS LIST
[0175] 10 Encryption device [0176] 101 Optical operation circuit [0177] 102 Optical transmitter [0178] 103 Photodetector [0179] 104 Memory [0180] 111 Optical encryption operation unit [0181] 112 Optical operation control unit [0182] 121 Laser transmission unit [0183] 122 Light source control unit [0184] 131 Photodetection unit [0185] 132 Photoelectric conversion unit