WO2023233668A1 - 光演算装置、及び光演算方法 - Google Patents

光演算装置、及び光演算方法 Download PDF

Info

Publication number
WO2023233668A1
WO2023233668A1 PCT/JP2022/022688 JP2022022688W WO2023233668A1 WO 2023233668 A1 WO2023233668 A1 WO 2023233668A1 JP 2022022688 W JP2022022688 W JP 2022022688W WO 2023233668 A1 WO2023233668 A1 WO 2023233668A1
Authority
WO
WIPO (PCT)
Prior art keywords
optical
bit
input
port
port number
Prior art date
Application number
PCT/JP2022/022688
Other languages
English (en)
French (fr)
Inventor
順子 高橋
浩司 千田
翔太 北
昭彦 新家
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/022688 priority Critical patent/WO2023233668A1/ja
Publication of WO2023233668A1 publication Critical patent/WO2023233668A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F3/00Optical logic elements; Optical bistable devices

Definitions

  • the present invention relates to a data calculation method used in optical communication, optical computing infrastructure, etc.
  • Non-Patent Document 1 proposes an arithmetic method using an MZI optical switch in the non-linear arithmetic part of an encryption system and a Y gate in the linear arithmetic part.
  • a bit of an optical signal is expressed as “0” or “1” depending on the amplitude of the light (or the intensity of the light (square of the amplitude of the light)) and the phase of the light. For example, when the phase difference between two optical signals is 0, it is expressed as bit 0, and when the phase difference is ⁇ , it is expressed as bit 1.
  • Cryptographic circuit technology composed of optical logic gates, Junko Takahashi, Koji Senda, Kimihiro Yamakoshi, Shota Kita, Akihiko Shinie, NTT Technology Journal 2021.11, pp.59-63.
  • Non-Patent Document 1 Non-Patent Document 1
  • the present invention has been made in view of the above points, and an object of the present invention is to provide a technique for reducing photoelectric conversion processing in optical calculation.
  • an address conversion unit that converts a plurality of bit values into an address value used as an input port number
  • An optical arithmetic device comprising: a port converter including a shuffle circuit that outputs light input from an input port having the input port number from an output port having an output port number corresponding to a result of an operation for the input port number. Ru.
  • FIG. 1 is a diagram showing the basic configuration of an optical processing device 100.
  • FIG. FIG. 3 is a diagram for explaining a method of calculating a sign bit.
  • 2 is a diagram illustrating a configuration example of an optical processing device 100 in Example 1-1-1.
  • FIG. 2 is a diagram showing a configuration example of an MZI optical switch.
  • FIG. 3 is a diagram for explaining the operation of an MZI optical switch.
  • 2 is a diagram illustrating a configuration example of an optical processing device 100 in Example 1-1-2.
  • FIG. 2 is a diagram illustrating a configuration example of an optical processing device 100 in Example 1-1-2.
  • FIG. 2 is a diagram illustrating a configuration example of an optical processing device 100 in Example 1-1-2.
  • FIG. 3 is a diagram for explaining an error detection method.
  • FIG. 2 is a diagram illustrating a configuration example of an optical processing device 100 in Example 1-2.
  • FIG. 3 is a diagram showing a configuration example of an optical processing device 100 in Example 2-1-1.
  • FIG. 3 is a diagram showing a configuration example of an optical processing device 100 in Example 2-1-2.
  • FIG. 3 is a diagram for explaining the calculation of MixColumns.
  • FIG. 7 is a diagram illustrating a configuration example of an optical processing device 100 in Example 2-2. It is a diagram showing an example of the configuration of a doubling circuit 123 (shuffle circuit 121).
  • 3 is a diagram showing an example of the configuration of a bit decomposition circuit 122.
  • FIG. 2 is a diagram showing an example of the configuration of a multi-bit XOR arithmetic circuit 130.
  • FIG. 3 is a diagram illustrating a configuration example of an address translation unit 110.
  • FIG. 3 is a diagram showing a configuration example of an address translation unit 110.
  • optical arithmetic device 100 performs arithmetic operations based on optical wiring by expressing multiple bits with optical port numbers, making it possible to construct arbitrary functions and perform arbitrary arithmetic operations. It is said that This makes it possible to reduce the number of optical logic gates used for calculations and the number of photoelectric conversions.
  • FIG. 1 shows the basic configuration of an optical processing device 100 in this embodiment.
  • the optical calculation device 100 receives the optical signal output from the optical output device 200, performs optical calculation, and outputs the optical signal to the photodetection device 300. Note that when using the optical processing device 100 that performs route control using electrical signals, an electrical signal output device 400 that outputs electrical signals is also used.
  • the optical processing device 100 includes an address conversion section 110 and a port conversion section 120.
  • the address converter 110 converts a bit value (optical bit signal) expressed by an optical signal (or electrical signal) into a corresponding address value.
  • the port conversion unit 120 performs calculations as port conversion of optical signals.
  • the address conversion unit 110 converts a bit value (0, 1, 0) into an address value 010, and an optical signal is input to the input port position (port number) in the port conversion unit 120 that corresponds to the address value. be done.
  • the port conversion unit 120 has a shuffle circuit 121 and a bit decomposition circuit 122.
  • the shuffle circuit 121 has a plurality of input ports into which optical signals are input and a plurality of output ports which output optical signals, and the input ports and output ports are connected according to a predetermined rule.
  • the connection method may be a waveguide, an optical fiber, or another method.
  • a port number is assigned to each input port and output port, and an optical signal input to the input port of a certain port number (port number A) is transmitted to the output port of a certain port number (port number B).
  • the output from port number A means that conversion (operation) from port number A to port number B is performed.
  • Input ports and output ports are connected according to predetermined rules so that port number conversion corresponds to a desired operation.
  • the bit decomposition circuit 122 performs processing (decomposition into bits) for returning the port number of the output port from which the optical signal is output to a bit value in the shuffle circuit 121.
  • Example 1 Error correction calculation method
  • the optical calculation device 100 performs calculations for error correction processing.
  • a code bit is generated on the information bit transmitting side, the information bit and the code bit are transmitted, and an error correction process is performed on the receiving side using the received information bit and code bit.
  • the information bits (the number of bits of information transmitted and received between the sender and receiver) are 4 bits, and the code bits used for 1-bit error detection are 3 bits.
  • this is just an example, and the same calculation method is possible for any number of bits. Note that although the error correction processing described below can detect a one-bit operation error, application of the technique according to this embodiment does not depend on the number of error bits.
  • Example 1-1 calculations for generating code bits will be described as Example 1-1, and calculations for error detection will be described as Example 1-2.
  • Example 1-1 Generation of code bit
  • the value of the code bit corresponding to the bit value of the information bit is calculated in advance.
  • the code bits (3 bits) of the Hamming code of the information bits (4 bits) are calculated in advance.
  • each value of the information bit is assigned to the port number of the input port
  • each value of the sign bit is assigned to the port number of the output port
  • the input port and the output port are assigned so that the sign bit corresponds to the information bit. Connect with.
  • FIG. 3 shows a configuration example of the optical processing device 100 in Example 1-1-1.
  • the optical processing device 100 includes an address translation section 110 and a port translation section 120.
  • the port converter 120 includes a shuffle circuit 121 and a bit decomposition circuit 122.
  • the address conversion unit 110 has a configuration in which a plurality of stages in which one or more MZI optical switches are arranged in parallel are connected in series.
  • FIG. 4 shows an example of the configuration of an MZI optical switch.
  • the MZI optical switch is a type of optical logic gate and consists of two optical couplers and an arm with a phase shifter embedded in one or both sides.
  • a phase shifter is embedded in the lower path.
  • the MZI optical switch changes the phase difference between the two paths by changing the refractive index of the optical waveguide depending on whether or not a voltage is applied to the path in which the phase shifter is embedded, and operates as a switch that switches the optical path. do.
  • x 3 corresponds to the A stage
  • x 2 corresponds to the B stage
  • x 1 corresponds to the C stage
  • x 0 corresponds to the D stage.
  • the number of paths (ports) that can output optical signals is 24 .
  • each MZI optical switch in each of stages A to C, is connected to the input side lower arm of the next stage MZI optical switch.
  • the output side arm of the MZI optical switch may be connected to the input side upper arm of the next stage MZI optical switch.
  • the path of the light emitted from the light source is switched depending on the information bits (4 bits), and the light reaches the input of the port converter 120.
  • the port conversion unit 120 (specifically, the shuffle circuit 121), the light reaches the port whose port number is 0000.
  • the port number of the port reached when the information bits are (0, 0, 0, 0) is set to 0000.
  • the connection of the address conversion unit 110 may be set so that when the information bits are (0, 0, 0, 0), light arrives at the input port whose port number is 0000.
  • the path of the light is switched by inputting the light to the MZI optical switch, so the light passes through only one part of the address conversion unit 110.
  • the method of mounting the MZI optical switch used in this embodiment is not limited to a specific method.
  • an MZI optical switch one that operates using thermal effects may be used, one that operates by injecting carriers may be used, or one that operates using methods other than these may be used. .
  • the port conversion section 120 which is composed of the shuffle circuit 121 and the bit decomposition circuit 122, will be described in detail.
  • the input port and the output port are connected so that light propagates from the input port with the port number corresponding to the information bits (4 bits) to the output port with the port number corresponding to the sign bits (3 bits). Then, connect the input port and output port. Light propagates from an input port with a port number corresponding to information bits (4 bits) to an output port with a port number corresponding to sign bits (3 bits). ).
  • the code bit corresponding to the information bits (4 bits) can be calculated. Therefore, the code bit corresponding to the information bit can be calculated by wiring between ports with corresponding port numbers.
  • the value representing each bit position in memory is often fixed, so by connecting the input port and output port in advance, as in this example, the sign bit for the information bit can be set. Can calculate.
  • the input port of the port number corresponding to the information bit (1001) and the output port of the port number corresponding to the sign bit (100), the input port corresponding to the information bit (1001)
  • the light input from the port reaches the output port with port number 100. Therefore, the port number corresponding to the code bit can be obtained.
  • the bit decomposition circuit 122 decomposes the output (port number) of the shuffle circuit 121 into bit values. Specifically, the bit decomposition circuit 122 propagates light for each bit of the output (3-bit port number) from the shuffle circuit 121 to the output port corresponding to its value (0 or 1).
  • the bit decomposition circuit 122 can be realized by a waveguide, an optical fiber, or the like so that such light propagation is performed.
  • the output of the shuffle circuit 121 is 000, that is, when light is output from the output port of the shuffle circuit 121 with a port number of 000, light is output from the input port of the bit decomposition circuit 122 corresponding to the port number of 000.
  • This output result is converted into an optical signal, input to the optical transmission line, and transmitted to the receiver.
  • the shuffle circuit 121 and the bit decomposition circuit 122 may be combined into one circuit.
  • the code bit can be calculated without photoelectric conversion.
  • FIG. 6 shows a configuration example of the optical processing device 100 in Example 1-1-2.
  • the address converter 110 of the optical arithmetic device 100 shown in FIG. 6 has a configuration in which a plurality of Y branches and a plurality of ⁇ gates are connected as shown.
  • the port conversion unit 120 is the same as that described in Example 1-1-1. Note that the "branch” may also be referred to as a "branch element.”
  • the Y branch in the address converter 110 divides the optical signal into two, and the ⁇ gate inputs the two-input optical signal and the bias light (auxiliary light), and here functions as an AND gate for the two-input optical signal.
  • the ⁇ gate uses optical interference and introduces the concept of bias light to change the intensity (amplitude) and phase of the bias light, thereby converting typical logic gate operation into a single gate (3 inputs, 1 input).
  • Example 1-1-2 information bits (x 3 , x 2 , x 1 , x 0 ) and their negations ( -x 3 , -x 2 , -x 1 , -x 0 ) are sent to the address conversion unit 110.
  • the symbol written at the beginning of a character is written at the upper left of the character. " -x 0 " is an example.
  • the input is a sequence of alternating bits and their negations.
  • the address translation unit 110 includes, from the input side, 8 Y branches, 8 ⁇ gates, 8 Y gates, 16 Y gates, and 16 ⁇ gates, These are connected as shown (connected so that light passes through).
  • the code bit can be generated using an optical signal as the information bit without using an electrical signal for inputting the information bit.
  • FIG. 7 shows another example configuration of the address translation section 110.
  • a four-branch optical gate is used.
  • a four-branch optical gate equally divides one light into four paths.
  • the address conversion unit 110 includes, from the input side, 8 Y branches, 8 ⁇ gates, 8 4 branches, and 16 ⁇ gates. is connected. With this configuration, the number of branch gates can be reduced by 16 compared to the configuration shown in FIG.
  • FIG. 8 shows a configuration example of the address conversion section 110 using an 8-branch optical gate and a 4-input AND gate.
  • a 4-input logic gate can be realized by connecting two stages of ⁇ gates, or by using one logic gate that expands the ⁇ gate to 5 inputs (4 inputs and bias light). good.
  • Example 1-2 Error detection
  • Example 1-2 the configuration and operation of an optical arithmetic device 100 that performs error detection based on the code bit generated by the technique of Example 1-1 will be described.
  • Error detection can be performed using the method described in the reference document "Let's get a general idea of Hamming codes: Basic course on error detection and correction, Part 2, Embedded Technology Lab. Published on September 23, 2020.”
  • each bit is expressed as a value (3 bits) representing each predetermined bit position, and becomes "1" in a bit string consisting of an information bit and a code bit.
  • Exclusive OR operation is performed between the 3 bits of the position.
  • the result of the exclusive OR is 000, it means that there is no error, and if it is other than 000, it indicates the location of the error.
  • FIG. 10 shows a configuration example of an optical processing device 100 that performs error detection.
  • the optical processing device 100 includes an address translation section 110 and a port translation section 120.
  • the port converter 120 includes a shuffle circuit 121 and a bit decomposition circuit 122.
  • the address conversion unit 110 has a configuration in which a plurality of stages in which one or more MZI optical switches are arranged in parallel are connected in series.
  • the address conversion unit 110 converts each bit into a total of 7 bits ((x 6 , x 5 , x 4 , x 3 , x 2 , x 1 , x 0 ): x 0 is the least significant bit) of information bits and code bits.
  • the output side arm (path) of each MZI optical switch is connected to the input side lower arm of the next stage MZI optical switch.
  • the output side arm of the MZI optical switch may be connected to the input side upper arm of the next stage MZI optical switch.
  • the path of light emitted from the light source (light output device 200) is switched depending on "information bit + code bit” (7 bits) given as an electrical signal.
  • the light reaches the input of the port converter 120.
  • the output result of the address conversion section 110 is input to the shuffle circuit 121.
  • the shuffle circuit 121 since there are 2 to 3 patterns of "no error + error", in order to associate 2 to 7 patterns of "information bit + code bit” to 2 to 3 patterns, the shuffle circuit 121 has 2 to 7 input ports. , the number of output ports is 23 , and the conversion from 27 to 23 is performed by the shuffle circuit 121. The value of "information bit + sign bit” is assigned to the input port as a port number, and each of 23 different 3-bit values is assigned as a port number to the output port.
  • the value representing each bit position in FIG. 9 Since the value representing each bit position in FIG. 9 is fixed, the value of the output of the shuffle circuit 121 (no error or value at the error position) for the 7-bit value of "information bit + sign bit" is unique. Determined. Therefore, the value of the output of the shuffle circuit 121 for each value of 7 bits of "information bit + sign bit” is calculated in advance, and the input port and output port corresponding to these values (port number) are connected. As a result, the port number of the output port to which the light input to the input port is output becomes a 3-bit value indicating no error or the value of the error position.
  • the subsequent configuration and arithmetic processing of the bit decomposition circuit 122 are the same as in the case of code bit generation in Example 1-1-1. In this way, when detecting errors from information bits and code bits, it is possible to eliminate the need for photoelectric conversion during the calculation, and to perform the calculation using only optical wiring in the port conversion unit 120.
  • Example 2 Cryptographic calculation method
  • the optical calculation device 100 performs calculations in a common key cryptosystem.
  • Common key encryption operations mainly consist of nonlinear operations (S-box) and linear operations.
  • nonlinear calculation will be described as Example 2-1
  • linear calculation will be described as Example 2-2.
  • the nonlinear calculation unit and the linear calculation unit of the key schedule unit can also perform calculations using a method similar to the method described in the second embodiment.
  • Example 2-1 Nonlinear calculation processing
  • AES Advanced Encryption Standard
  • Example 2-1-2 the calculation processing of S-box of PRESENT
  • FIG. 11 shows a configuration example of the optical processing device 100 in Example 2-1-1.
  • the optical processing device 100 includes an address translation section 110 and a port translation section 120.
  • the port converter 120 includes a shuffle circuit 121.
  • the address conversion unit 110 has a configuration in which a plurality of stages in which one or more MZI optical switches are arranged in parallel are connected in series.
  • the AES S-box is a table conversion that converts 8 bits of input into 8 bits of output in a one-to-one correspondence (Reference: "Federal Information Processing Standards Publication 197, November 26, 2001 Announcing the ADVANCED ENCRYPTION STANDARD (AES) ), Figure 7 of https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf).
  • input bits ((x 7 , x 6 , x 5 , x 4 , x 3 , x 2 , x 1 , x 0 ) given as electrical signals: x 0 is the least significant bit ) has a stage for each bit, and an electrical signal (ON/OFF) is given to each MZI optical switch in each stage. In the last stage, the number of paths (ports) that can output light is 28 .
  • each MZI optical switch in each stage is connected to the lower arm on the input side of the MZI optical switch in the next stage.
  • the output side arm of the MZI optical switch may be connected to the input side upper arm of the next stage MZI optical switch.
  • the path of light emitted from the light source is switched depending on the input bits (8 bits) of the S-box, and the light reach one input.
  • the output of the address converter 110 is determined by one route depending on the value of the 8 bits input to the S-box.
  • the port converter 120 is composed of a shuffle circuit 121, and uses the output light of the address converter 110 as input light.
  • the input port and the output port are connected so that light propagates from the input port with the port number corresponding to the input bits (8 bits) to the output port with the port number corresponding to the output bits (8 bits). Then, connect the input port and output port. Which input port is connected to which output port is determined based on AES S-box table conversion.
  • the shuffle circuit 121 optical wiring is performed in advance based on the AES S-box table conversion method, so the input light of the shuffle circuit 121 is converted to the output port of the corresponding S-box.
  • the input of the shuffle circuit 121 is (00) in hexadecimal
  • the light reaches the position of the port number (63) because it is connected to the position of the output port (63), and the output value is (63). becomes.
  • S-box operation for 8 bits is possible. Therefore, for example, 16 bytes can be obtained by repeating the above process 16 times in chronological order, using 16 optical calculation devices 100 described above, or performing calculations with one optical calculation device 100 using 16 wavelengths. S-box operations can be realized.
  • FIG. 12 shows a configuration example of the optical processing device 100 in Example 2-1-2.
  • the address converter 110 of the optical arithmetic device 100 shown in FIG. 12 has a configuration in which a plurality of Y branches and a plurality of ⁇ gates are connected as shown.
  • the port conversion unit 120 is the same as that described in Example 2-1-2 (the number of ports is different).
  • the optical arithmetic unit 100 shown in FIG. An Ultra-Lightweight Block Cipher, CHES 2007: Cryptographic Hardware and Embedded Systems - CHES 2007 pp 450-466.
  • the configuration of the address conversion unit 110 and the connection configuration to the shuffle circuit 121 here are the same as the configuration of the address conversion unit 110 and the connection configuration to the shuffle circuit 121 in Example 1-1-2 shown in FIG. It is.
  • the light source it is determined whether or not the light source emits light based on the 4 bits input to the S-box and its negative value.
  • the light emitted from the light source passes through the Y branch and the ⁇ gate, and is input to the shuffle circuit 121.
  • optical wiring is performed in advance based on S-box table conversion of PRESENT, so the input light of the shuffle circuit 121 is converted to the output port of the corresponding S-box.
  • the light will reach the position of port number (C) because it is connected to the position of output port (C), and the output value will be (C). Become.
  • the configuration in FIG. 12 may be replaced with the configuration using 4 branches in FIG. 7 or the configuration using 8 branches in FIG. 8. It's okay.
  • Example 2-1-1 for example, the above process is repeated 16 times in chronological order, 16 of the above optical processing devices 100 are used, or one optical processing device 100 is used using 16 wavelengths. By performing calculations on 16 bytes, it is possible to perform calculations on 16 bytes.
  • Example 2-1 in the case of a cryptographic operation, the S-box is followed by a nonlinear operation or a linear operation (for example, in the case of AES, ShiftRows ), the bit decomposition circuit 122 is omitted because subsequent calculations can also be performed using port numbers. However, the bit decomposition circuit 122 may be inserted. Furthermore, the technique of Example 2-1 can also be applied to S-box operations (table replacement) for other cryptographic codes.
  • Example 2-2 Linear calculation processing
  • Example 2-2 the configuration and operation of the optical calculation device 100 that performs MixColumns calculation, which is a linear calculation of the encryption system AES, will be described.
  • MixColumns As shown in FIG. 13, the operation of MixColumns consists of multiplication and exclusive OR in units of 8 bits, and input/output is 32 bits. Note that each element of the matrix shown in FIG. 13 is expressed in hexadecimal notation. In addition, in the text of the following specification, for convenience of description, "XOR" will be used as a symbol representing exclusive OR.
  • optical calculation device 100 for performing the 8-bit (y 1 ) calculation shown in FIG. 13(1) will be described.
  • the equation shown in (1) of FIG. 13 can be modified as follows.
  • FIG. 14 shows a configuration example of an optical calculation device 100 that calculates y 1 after deformation.
  • the optical arithmetic device 100 includes an address conversion section 110, a doubling circuit 123, a bit decomposition circuit 122, a multi-bit XOR operation circuit 130, and a photoelectric conversion section 140.
  • the address translation unit 110 is not shown in FIG. 14 because it has the same configuration as the address translation unit 110 described above.
  • the photoelectric conversion unit 140 may be a device external to the optical calculation device 100.
  • calculating y1 it may be implemented using a triple multiplication circuit as shown in equation (1) of FIG.
  • the doubling circuit 123 corresponds to the shuffle circuit 121.
  • the doubling circuit 123 and the bit decomposition circuit 122 may be collectively referred to as the port conversion section 120.
  • the optical arithmetic device 100 may include all of the "address conversion unit 110, the doubling circuit 123, the bit decomposition circuit 122, and the multi-bit
  • the "arithmetic circuit 123 and the bit decomposition circuit 122" may be one optical arithmetic device 100, and the "multi-bit XOR arithmetic circuit 130" may be another optical arithmetic device 100.
  • the photoelectric conversion unit 140 is not necessary.
  • bit decomposition circuit 122 may directly input to the bit decomposition circuit 122 .
  • the doubling circuit 123 in FIG. 14 may be provided for each of x 1 and x 2 (that is, using two doubling circuits 123), or one doubling circuit 123 may be provided for each of x 1 and x 2 by wavelength multiplexing.
  • the calculation circuit 123 may be used to calculate ⁇ z 1 , z 2 ⁇ at the same time.
  • a circuit corresponding to the "bit decomposition circuit 122 and the multi-bit XOR arithmetic circuit 130" is configured so that the arithmetic processing of the "bit decomposition circuit 122 and the multi-bit XOR arithmetic circuit 130" can be performed together using only wiring. It's okay. An example of the configuration of each circuit will be explained below.
  • FIG. 15 shows the configuration of the doubling circuit 123 (shuffle circuit 121).
  • the doubling operation performs a left shift, and when the most significant bit is "1", calculates the exclusive OR of the irreducible polynomial (1b) (Reference: Federal Information Processing Standards Publication 197, November 26, 2001 Announcing the ADVANCED ENCRYPTION STANDARD (AES), https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf).
  • the doubling circuit 123 By connecting the input and the output corresponding to the result of doubling, the doubling circuit 123 (shuffle circuit 121) shown in FIG. 15 can be realized.
  • the doubling circuit 123 (shuffle circuit 121) can calculate ⁇ z 1 , z 2 ⁇ for the 8-bit value ⁇ x 1 , x 2 ⁇ .
  • FIG. 16 shows a configuration example of the bit decomposition circuit 122.
  • the bit decomposition circuit 122 for 8 bits converts each value of ⁇ z 1 , z 2 , x 2 , x 3 , x 4 ⁇ into bits (x 7 , x 6 , x 5 , x 4 , x 3 , x 2 , x 1 , x 0 ) (x 0 is the least significant bit value).
  • a bit decomposition circuit 122 is used for each bit of ⁇ z 1 , z 2 , x 2 , x 3 , x 4 ⁇ , but one circuit may be used by wavelength multiplexing.
  • FIG. 17 shows a configuration example of the multi-bit XOR arithmetic circuit 130.
  • the multi-bit XOR arithmetic circuit 130 includes an address conversion section 110 and a shuffle circuit 121.
  • the address conversion unit 110 inputs the value subjected to bit decomposition by the bit decomposition circuit 122, and performs address conversion for 5 bits.
  • the shuffle circuit 121 is connected (connection between input port and output port) based on the result of the 5-bit XOR operation, and outputs the result of the XOR operation that converts the input to 5 bits.
  • the input to the address conversion unit 110 is an electrical signal. Therefore, a photoelectric conversion unit 140 is required between the bit decomposition circuit 122 and the multi-bit XOR arithmetic circuit 130, but when adopting a configuration using a ⁇ gate as shown in FIG. 12 as the address conversion unit 110, The photoelectric conversion section 140 is not required.
  • the light is input to a shuffle circuit 121 for 5-bit XOR operation, and the result of the XOR operation (z 0 1 XOR z 0 2 XOR x 0 2 XOR x 0 3 XOR x 0 4 ) is A calculation result is obtained by light reaching a port indicating "0" or "1".
  • the present specification discloses at least the following optical calculation device and optical calculation method.
  • an address conversion unit that converts a plurality of bit values into an address value used as an input port number; and a port converter including a shuffle circuit that outputs light input from an input port having the input port number from an output port having an output port number corresponding to a result of an operation for the input port number.
  • the address conversion section includes a plurality of Mach-Zehnder interference type optical switches that input the plurality of bit values as electrical signals.
  • the port conversion unit performs one of the following operations as the operation: an operation for generating a code bit from an information bit, an operation for detecting an error from an information bit and a code bit, a nonlinear operation in cryptographic processing, and a linear operation in cryptographic processing.
  • the optical arithmetic device according to any one of Supplementary Notes 1 to 4, which executes at least one arithmetic operation.
  • An optical calculation method executed by an optical calculation device comprising: an address conversion step of converting the plurality of bit values into an address value used as an input port number;
  • An optical calculation method comprising: a port conversion step of outputting light input from an input port having the input port number from an output port having an output port number corresponding to a result of calculation for the input port number.
  • Reference Signs List 100 Optical calculation device 110 Address conversion unit 120 Port conversion unit 121 Shuffle circuit 122 Bit decomposition circuit 123 Doubling circuit 130 Multi-bit XOR calculation circuit 140 Photoelectric conversion unit 200 Optical output device 300 Photo detection device 400 Electrical signal output device

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Optics & Photonics (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

光演算装置において、複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換部と、前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するシャッフル回路を含むポート変換部とを備える。

Description

光演算装置、及び光演算方法
 本発明は、光通信および光コンピューティング基盤等で利用するデータ演算手法に関連するものである。
 従来技術において、光演算素子を利用した光演算回路の提案がなされている(例えば非特許文献1)。従来技術では、光演算素子であるΨゲートやYゲート及びマッハ・ツェンダー干渉型光スイッチ(MZI光スイッチ)を用いて光回路を実現している。非特許文献1では、暗号方式の非線形演算部分にMZI光スイッチを用いて、線形演算部分にYゲートを用いた演算方法が提案されている。
 従来の演算方法では、光信号のビットは、光の振幅の大きさ(または光の強度(光の振幅の二乗))や光の位相によって「0」か「1」を表現していた。例えば、2つの光信号の位相差が0の場合はビット0、位相差がπの場合はビット1と表現していた。
光論理ゲートで構成する暗号回路技術,高橋順子,千田浩司,山越公洋,北翔太,新家昭彦, NTT技術ジャーナル2021.11, pp.59-63.
 従来技術による演算手法では、特に多ビットの演算を行う際に複数の光論理ゲートを接続するため、光の損失が大きく、正しい演算結果を得るためには演算の途中で光信号から電気信号への変換(光電変換)を頻繁に行う必要があった。
 また、ΨゲートやYゲート(Ψゲートのバイアス光を除いた光ゲート)による演算において、演算結果を次の演算の入力に利用する時に演算結果に応じて入力光信号の位相差を変更するために演算の途中で光電変換を頻繁に行う必要があった。演算の途中で光電変換を行うことは、演算遅延や消費電力の増大につながる。
 特に、光論理ゲートを用いて、非線形演算(例えば排他的論理和(XOR))の多段に接続した演算を行うことは難しく、正しい演算結果を得るためには、演算の最後に電気回路によるしきい値処理が必要であった(非特許文献1)。
 本発明は上記の点に鑑みてなされたものであり、光演算において、光電変換処理を削減するための技術を提供することを目的とする。
 開示の技術によれば、複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換部と、
 前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するシャッフル回路を含むポート変換部と
 を備える光演算装置が提供される。
 開示の技術によれば、光演算において、光電変換処理を削減することが可能となる。
光演算装置100の基本構成を示す図である。 符号ビットの演算方法を説明するための図である。 実施例1-1-1における光演算装置100の構成例を示す図である。 MZI光スイッチの構成例を示す図である。 MZI光スイッチの動作を説明するための図である。 実施例1-1-2における光演算装置100の構成例を示す図である。 実施例1-1-2における光演算装置100の構成例を示す図である。 実施例1-1-2における光演算装置100の構成例を示す図である。 エラー検出方法を説明するための図である。 実施例1-2における光演算装置100の構成例を示す図である。 実施例2-1-1における光演算装置100の構成例を示す図である。 実施例2-1-2における光演算装置100の構成例を示す図である。 MixColumnsの演算について説明するための図である。 実施例2-2における光演算装置100の構成例を示す図である。 2倍算用回路123(シャッフル回路121)の構成例を示す図である。 ビット分解回路122の構成例を示す図である。 多ビットXOR用演算回路130の構成例を示す図である。 アドレス変換部110の構成例を示す図である。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 (光演算装置の基本構成)
 本実施の形態に係る技術では、光演算装置100において、複数のビットを光のポート番号で表現することにより、光配線を基本とする演算を行い、任意の関数の構築や任意の演算を可能としている。このことにより、演算に利用する光論理ゲートの数を減らすことや光電変換の回数を減らすことができる。
 図1に、本実施の形態における光演算装置100の基本構成を示す。光演算装置100は、光出力装置200から出力された光信号を入力とし、光演算を行って、光信号を光検出装置300へ出力する。なお、電気信号で経路制御を行う方式の光演算装置100を使用する場合には、電気信号を出力する電気信号出力装置400も使用される。
 図1に示すように、光演算装置100は、アドレス変換部110とポート変換部120を有する。アドレス変換部110は、光信号(又は電気信号)で表現するビット値(光ビット信号)を、対応するアドレス値へ変換する。ポート変換部120は、演算を光信号のポート変換として実行する。
 例えば、アドレス変換部110は、ビット値(0,1,0)をアドレス値010に変換し、そのアドレス値に対応する、ポート変換部120における入力ポートの位置(ポート番号)に光信号が入力される。
 ポート変換部120は、シャッフル回路121とビット分解回路122を有する。シャッフル回路121は、光信号が入力される複数の入力ポートと、光信号を出力する複数の出力ポートを有し、入力ポートと出力ポートとは予め定めた規則で結線されている。結線の方法は、導波路でもよいし、光ファイバでもよいし、これら以外の方法でもよい。
 入力ポートと出力ポートにはそれぞれポート番号が割り当てられており、あるポート番号(ポート番号Aとする)の入力ポートに入力された光信号が、あるポート番号(ポート番号Bとする)の出力ポートから出力されることが、ポート番号Aからポート番号Bへの変換(演算)がなされることを意味する。
 ポート番号の変換が、所望の演算に対応するように、入力ポートと出力ポートとが予め定めた規則で結線されている。
 ビット分解回路122は、シャッフル回路121において、光信号が出力された出力ポートのポート番号をビット値に戻すための処理(ビットへの分解)を行う。
 上記のとおり、一旦、光信号で表されるビット値をアドレス値へ変換することで、後の演算を光配線のみで行うことが可能となる。本実施の形態に係る技術により、光配線を基本としたNビット入力、Mビット出力の任意の演算を行うことが可能となる(N、Mは任意の整数)。以下、光演算装置100のより具体的な構成と動作の例を、実施例1、実施例2において説明する。
 (実施例1:エラー訂正の演算方法)
 まず、実施例1を説明する。実施例1では、光演算装置100がエラー訂正処理のための演算を行う。
 エラー訂正処理では、一般に、情報ビットの送信側で符号ビットを生成し、情報ビットと符号ビットとを送信し、受信側では、受信した情報ビットと符号ビットとを用いてエラー訂正処理を行う。
 ここでは、情報ビット(送信者と受信者間で送受信する情報のビット数)を4ビットとし、1ビットエラー検出に用いる符号ビットを3ビットとする例を説明する。ただしこれは一例であり、いずれのビット数の場合でも同様の計算方法が可能である。なお、以下で説明するエラー訂正処理では1ビットの演算誤りを検出できるが、本実施の形態に係る技術の適用は誤りのビット数に依存しない。
 以下、符号ビットの生成のための演算を実施例1-1として説明し、エラー検出のための演算を実施例1-2として説明する。
  (実施例1-1:符号ビットの生成)
 情報ビットから符号ビットを生成する光演算装置100を構成する場合、情報ビットのビット値に対応した符号ビットの値を予め計算する。ここでは、情報ビット(4ビット)のハミング符号の符号ビット(3ビット)を予め計算する。
 符号ビットの計算方法としては、例えば参考文献「ハミング符号の大枠を掴もう 誤り検出・訂正基礎講座 第2回,Embedded Technology Lab. 2020年9月23日公開」に開示されている方法を用いることができる。その方法の例を図2に示す。図2に示すように、情報ビット(4ビット)の各ビットを、その位置に対応する3ビットで表し、情報ビットの1に対応する3ビットの間で排他的論理和(XOR)演算を行うことで、当該情報ビットに対応する符号ビットを得ることができる。
 シャッフル回路121において、情報ビットの各値を入力ポートのポート番号に割り当て、符号ビットの各値を出力ポートのポート番号に割り当て、情報ビットに対応する符号ビットになるように、入力ポートと出力ポートとを結線する。
 以下、任意の情報ビットに対応する符号ビットを生成するための光演算装置100の構成例を説明する。以下、実施例1-1-1、実施例1-1-2を説明する。
 <実施例1-1-1:アドレス変換にMZI光スイッチを利用する例>
 図3に、実施例1-1-1における光演算装置100の構成例を示す。図3に示すように、光演算装置100は、アドレス変換部110とポート変換部120を有する。ポート変換部120は、シャッフル回路121とビット分解回路122を有する。
 アドレス変換部110は、1又は複数のMZI光スイッチを並列に並べた段を、複数個直列に接続した構成を備える。
 図4に、MZI光スイッチの構成例を示す。MZI光スイッチは光論理ゲートの一種であり、光カプラ2つと片側または両側に位相シフタを埋め込んだアームから構成される。図4の例では、下側の経路に位相シフタが埋め込まれている。
 MZI光スイッチは、位相シフタが埋め込まれた経路に電圧を加えるか否かによって光導波路の屈折率の変化を起こすことにより、2つの経路の位相差を変更し、光の経路を切り替えるスイッチとして動作する。
 例えば図5(b)に示すように、上側の経路に光が入力され、位相シフタが埋め込まれた経路に電圧を加える場合(電気信号のビット"1"に相当)、光信号は直進した経路(上側)から出力される。(a)に示すように、電圧を加えない場合は(電気信号のビット"0"に相当)、光信号はクロスした経路(下側)から出力される。(c)、(d)に示すように、下側の経路に光が入力される場合も同様である。
 このように、MZI光スイッチでは、電圧のオン・オフにより光信号の経路を切り替えることが可能である。ここでは、一例として、位相シフタがアームの下側にある場合を考える。
 図3に示すアドレス変換部110において、情報ビット((x,x,x,x):xが最下位ビット)における、xがA段に対応し、xがB段に対応し、xがC段に対応し、xがD段に対応する。D段において、光信号を出力し得る経路(ポート)の数は、2個である。
 図3に示す例では、A~C段それぞれの段において、各MZI光スイッチの出力側のアーム(経路)が、次の段のMZI光スイッチの入力側の下側のアームに接続されている。だたし、これは例である。MZI光スイッチの出力側のアームが、次の段のMZI光スイッチの入力側の上側のアームに接続されてもよい。
 図3のアドレス変換部110では、光源(光出力装置200)から発出された光の経路が、情報ビット(4ビット)に依存して切り替えられ、光がポート変換部120の入力に到達する。
 例えば、図3の例において、情報ビットが(0,0,0,0)である時、最上位の各MZI光スイッチのアームを光が通過し、ポート変換部120(具体的にはシャッフル回路121)におけるポート番号が0000のポートに光が到達する。言い換えると、情報ビットが(0,0,0,0)である時に到達するポートのポート番号を0000と設定しておく。あるいは、情報ビットが(0,0,0,0)である時に、ポート番号が0000である入力ポートに光が到着するように、アドレス変換部110の接続を設定しておくこととしてもよい。
 同様に、情報ビットが(0,0,0,1)である時は、アドレス変換部110のD段における16個の出力経路(出力ポート)のうちの上から二番目のポートから光が出力され、ポート変換部121の16個の入力ポートのうちの上から二番目の入力ポートに光が到着する。この入力ポートのポート番号を0001とする。
 アドレス変換部110では、MZI光スイッチへの光の入力により光の経路が切り替わるため、アドレス変換部110のどこか一か所のみを光が通過する。
 本実施例で使用するMZI光スイッチの実装方法は特定の方法に限られない。例えば、MZI光スイッチとして、熱効果を利用して動作させるものを使用してもよい、キャリアを注入よって動作させるものを使用してもよいし、これら以外の方式のものを使用してもよい。
 次に、シャッフル回路121とビット分解回路122から構成されるポート変換部120について詳細に説明する。
 シャッフル回路121では、入力ポートと出力ポートを結線し、情報ビット(4ビット)に相当するポート番号の入力ポートから、符号ビット(3ビット)に相当するポート番号の出力ポートへ光が伝搬するように、入力ポートと出力ポートを結線する。情報ビット(4ビット)に相当するポート番号の入力ポートから、符号ビット(3ビット)に相当するポート番号の出力ポートへ光が伝搬することは、情報ビット(4ビット)から符号ビット(3ビット)を生成する演算を行うことに相当する。
 すなわち、情報ビット(4ビット)の各ビットのビット位置を表した3ビットの値(図2参照)が決まっていれば、情報ビット(4ビット)に対応する符号ビットを計算できる。そのため、対応するポート番号のポート間を配線することにより、情報ビットに対応する符号ビットを計算できる。
 一般的にメモリ内では各ビット位置を表した値は決まっていることが多いので、本実施例のように、入力ポートと出力ポートとを予め結線しておく手法により、情報ビットに対する符号ビットを計算できる。
 例えば、情報ビット(1001)に対応するポート番号の入力ポートと、その符号ビット(100)に対応するポート番号の出力ポートとを結線しておくことにより、情報ビット(1001)に対応する入力ポートから入力された光がポート番号100の出力ポートに到達する。よって、符号ビットに対応するポート番号を得ることができる。
 ビット分解回路122は、シャッフル回路121の出力(ポート番号)をビット値に分解する。具体的には、ビット分解回路122は、シャッフル回路121からの出力(3ビットのポート番号)の各ビットについて、その値(0又は1)に対応する出力ポートへ光を伝搬する。ビット分解回路122は、このような光の伝搬が行われるように、導波路あるいは光ファイバ等で実現することができる。
 例えば、シャッフル回路121の出力が000の場合、つまり、シャッフル回路121における000のポート番号の出力ポートから光が出力された場合、ビット分解回路122における000のポート番号に対応する入力ポートから光が入力され、(y,y,y)=(0,0,0)(yが最下位ビット)のポート位置に光が到達する。そのため、出力結果はビット値(0,0,0)となる。この出力結果を光信号へ変換し、光伝送路へ入力し、受信者へ送信する。
 同様に、シャッフル回路121の出力が101の場合は,(y,y,y)=(1,0,1)に光が到着するため、受光した結果はビット値(1,0,1)を出力することとなる。ここで、シャッフル回路121とビット分解回路122を合わせて1つの回路で実装しても良い。
 上記のとおり、ポート変換部120を利用することで、ビット信号を一旦、アドレスに変換した後は光電変換をすることなく符号ビットを計算できる。
 <実施例1-1-2:アドレス変換にΨゲートを利用する例>
 図6に、実施例1-1-2における光演算装置100の構成例を示す。図6に示す光演算装置100のアドレス変換部110は、複数のY分岐と複数のΨゲートが図示のとおりに接続された構成を備える。ポート変換部120は、実施例1-1-1で説明したものと同じである。なお、「分岐」を「分岐素子」と呼んでもよい。
 アドレス変換部110におけるY分岐は光信号を2分割し、Ψゲートは2入力光信号とバイアス光(補助光)を入力とし、ここでは2入力光信号に対するANDゲートとして機能する。
 Ψゲートは光の干渉を利用し、バイアス光という概念を導入することでバイアス光の強度(振幅)や位相を変化させることにより、代表的な論理ゲート動作を単一のゲート(3入力、1出力)で実現可能な論理ゲートである(参考文献:S. Kita, K. Nozaki, K. Tanaka, A. Shinya and M. Notomi, Ultrashort low-loss Ψ gates for linear optical logic on Si photonics platform, Communications Physics, 3, Article number: 33 (2020))。
 実施例1-1-2では、情報ビット(x,x,x,x)とその否定()をアドレス変換部110への入力とする(xが最下位ビット)。例えば、x=1を光源(光出力装置200)から光が発する状態とし、=0を光源から光を発しない状態(光がない状態)とする。なお、本明細書のテキストでは、記載の便宜上、文字の頭に記載する記号を文字の左上に記載している。「」はその例である。
 図6に示すように、ビットとその否定を交互に並べた列を入力としている。図6の例では、アドレス変換部110は、入力側から、8個のY分岐、8個のΨゲート、8個のYゲート、16個のYゲート、及び、16個のΨゲートを備え、図示のとおりにこれらが接続される(光が通るように接続される)。
 図6の例において、情報ビットが(x,x,x,x)=(0,0,0,0)である場合、光は、最後の段の16個のΨゲートのうちの上から1番目のΨゲートから出力される。よって、1番目のΨゲートは、シャッフル回路121の0番の入力ポートに接続される。
 情報ビット(x,x,x,x)=(0,0,0,1)である場合、光は、最後の段の16個のΨゲートのうちの上から5番目のΨゲートから出力される。よって、5番目のΨゲートは、シャッフル回路121の1番の入力ポートに接続される。他の情報ビットについても同様である。
 ポート変換部121での演算は前述したとおりである。本実施例では、情報ビットの入力のために電気信号を使用することなく、光信号を情報ビットとして使用して、符号ビットを生成することができる。
 図7に、アドレス変換部110の他の構成例を示す。図7に示す例では、4分岐の光ゲートを用いている。4分岐の光ゲートは1つの光を4つの経路に等分する。
 図7に示すように、アドレス変換部110は、入力側から、8個のY分岐、8個のΨゲート、8個の4分岐、及び、16個のΨゲートを備え、図示のとおりにこれらが接続される。このような構成により、図6の構成に比べて分岐ゲートを16個削減することができる。
 また、図8に8分岐の光ゲートと4入力のANDゲートを用いたアドレス変換部110の構成例を示す。図8に示す構成では、1回の分岐と1回の4入力論理ゲートを用いれば良く、簡単な構成を実現できる。4入力論理ゲートは、Ψゲートを2段接続することにより実現してもよいし、Ψゲートを5入力(4つの入力とバイアス光)に拡張した論理ゲートを1つ用いることで実現してもよい。
 (実施例1-2:エラー検出)
 次に、実施例1-2として、実施例1-1の技術により生成した符号ビットに基づいてエラー検出を行う光演算装置100の構成と動作を説明する。
 エラー検出は、参考文献「ハミング符号の大枠を掴もう 誤り検出・訂正基礎講座 第2回,Embedded Technology Lab. 2020年9月23日公開」に記載された方法で行うことができる。
 その方法の例を図9に示す。図9に示すように、符号ビットの生成と同様に、各ビットを予め決められた各ビット位置を表した値(3ビット)で表し、情報ビットと符号ビットからなるビット列において「1」となる位置の3ビットの間の排他的論理和の演算を行う。ここでは、誤りがある場合、誤りの箇所は1箇所(7ビット中のいずれかの1ビット)であると仮定する。排他的論理和の結果が000であれば誤りなしを意味し、000以外であれば、誤りの位置を示す。
 図10に、エラー検出を行う光演算装置100の構成例を示す。図10に示すように、光演算装置100は、アドレス変換部110とポート変換部120を有する。ポート変換部120は、シャッフル回路121とビット分解回路122を有する。
 アドレス変換部110は、1又は複数のMZI光スイッチを並列に並べた段を、複数個直列に接続した構成を備える。
 アドレス変換部110は、情報ビットと符号ビットの合計7ビット((x,x,x,x,x,x,x):xが最下位ビット)における各ビットに対応する段を有し、各段において、各MZI光スイッチの出力側のアーム(経路)が、次の段のMZI光スイッチの入力側の下側のアームに接続されている。だたし、これは例である。MZI光スイッチの出力側のアームが、次の段のMZI光スイッチの入力側の上側のアームに接続されてもよい。
 アドレス変換部110では、符号ビット生成と同様に、光源(光出力装置200)から発出された光の経路が、電気信号として与えられる「情報ビット+符号ビット」(7ビット)に依存して切り替えられ、光がポート変換部120の入力に到達する。
 例えば、図10の例において、情報ビット+符号ビットが(0,0,0,0,0,0,0)である時、最上位の各MZI光スイッチのアームを光が通過し、ポート変換部120(具体的にはシャッフル回路121)におけるポート番号が0000000のポートに光が到達する。言い換えると、情報ビットが(0,0,0,0,0,0,0)である時に到達するポートのポート番号を0000000と設定しておく。他のポート番号についても同様である。
 符号ビット生成と同様に、アドレス変換部110の出力結果をシャッフル回路121への入力とする。この時、1ビットのみ誤りが生じることがあると仮定すると、アドレス変換部110の出力は、2(=2×2)通りとなる{(情報ビットのパターン2通り)×(「誤り無し+誤り」のパターンが2通り)}。
 つまり、「誤り無し+誤り」のパターンが2通りであることから、「情報ビット+符号ビット」の2通りを2通りに対応付けるために、シャッフル回路121は、入力ポートが2個、出力ポートが2個とし、2から2への変換をシャッフル回路121で行うこととなる。入力ポートには、「情報ビット+符号ビット」の値をポート番号として割り当て、出力ポートには、2通りの3ビットの各値をポート番号として割り当てる。
 図9の各ビット位置を表した値が固定であるため、「情報ビット+符号ビット」の7ビットの値に対する、シャッフル回路121の出力の値(誤り無し、又は誤り位置の値)は一意に定まる。よって、「情報ビット+符号ビット」の7ビットの各値に対するシャッフル回路121の出力の値を予め計算し、これらの値(ポート番号)に対応する入力ポートと出力ポートを結線する。これにより、入力ポートに入力された光が出力される出力ポートのポート番号が、誤り無し、又は誤り位置の値を示す3ビットの値となる。
 その後のビット分解回路122の構成及び演算処理は、実施例1-1-1の符号ビットの生成の場合と同様である。このように、情報ビットと符号ビットからエラー検出する際に、演算の途中で光電変換を不要とし、ポート変換部120においては光配線のみで演算を行うことが可能である。
 (実施例2:暗号方式の演算方法)
 次に、実施例2を説明する。実施例2では、光演算装置100が、共通鍵系暗号方式における演算を行う。共通鍵の暗号化演算は、主に非線形演算(S-box)と線形演算から成る。以下では、非線形演算を実施例2-1とし、線形演算を実施例2-2として説明する。なお、鍵スケジュール部の非線形演算部や線形演算部も、実施例2で説明する方法と同様の方法で計算を行うことが可能である。
  (実施例2-1:非線形演算処理)
 ここでは、非線形演算処理の例として、Advanced Encryption Standard(AES)のS-boxの演算処理(実施例2-1-1)と、PRESENTのS-boxの演算処理(実施例2-1-2)を説明する。
 <実施例2-1-1:AESのS-boxの演算処理>
 図11に、実施例2-1-1における光演算装置100の構成例を示す。図11に示すように、光演算装置100は、アドレス変換部110とポート変換部120を有する。ポート変換部120は、シャッフル回路121を有する。アドレス変換部110は、1又は複数のMZI光スイッチを並列に並べた段を、複数個直列に接続した構成を備える。
 AESのS-boxは、入力8ビットを出力8ビットへと1対1対応で変換するテーブル変換である(参考文献:「Federal Information Processing Standards Publication 197, November 26, 2001 Announcing the ADVANCED ENCRYPTION STANDARD (AES), https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf」の図7)。
 図11に示すアドレス変換部110において、電気信号として与えられる入力ビット((x,x,x,x,x,x,x,x):xが最下位ビット)におけるビット毎に段を有し、各段の各MZI光スイッチに、電気信号(ON/OFF)が与えられる。最後の段において、光を出力し得る経路(ポート)の数は、2個である。
 図11に示す例では、各段の各MZI光スイッチの出力側のアーム(経路)が、次の段のMZI光スイッチの入力側の下側のアームに接続されている。だたし、これは例である。MZI光スイッチの出力側のアームが、次の段のMZI光スイッチの入力側の上側のアームに接続されてもよい。
 図11のアドレス変換部110では、光源(光出力装置200)から発出された光の経路が、S-boxの入力ビット(8ビット)に依存して切り替えられ、光がポート変換部120の1つの入力に到達する。つまり、S-boxの入力8ビットの値によってアドレス変換部110の出力が1つの経路に決まる。
 例えば、図11の例において、入力ビットが(0,0,0,0,0,0,0,0)である時、最上位の各MZI光スイッチのアームを光が通過し、ポート変換部120(具体的にはシャッフル回路121)におけるポート番号が00000000のポートに光が到達する。言い換えると、入力ビットが(0,0,0,0,0,0,0,0)である時に到達するポートのポート番号を0000000と設定しておく。他の入力ビットについても同様である。
 ポート変換部120はシャッフル回路121から構成され、アドレス変換部110の出力光を入力光とする。シャッフル回路121では、入力ポートと出力ポートを結線し、入力ビット(8ビット)に相当するポート番号の入力ポートから、出力ビット(8ビット)に相当するポート番号の出力ポートへ光が伝搬するように、入力ポートと出力ポートを結線する。どの入力ポートをどの出力ポートと接続するかについては、AESのS-boxテーブル変換に基づき決定する。
 つまり、シャッフル回路121ではあらかじめ、AESのS-boxテーブル変換方法に基づき光の配線が行われているため、シャッフル回路121の入力光は対応するS-boxの出力ポートへと変換される。例えば、シャッフル回路121の入力が16進数で(00)の場合、出力ポート(63)の位置と結線されているため、ポート番号(63)の位置に光が到達し、出力値は(63)となる。
 上記により、8ビット分のS-box演算は可能である。よって、例えば、上記の処理を時系列的に16回繰り返す、上記の光演算装置100を16個用いる、又は、16波長を利用して1つの光演算装置100で演算する、といった方法により16バイト分のS-box演算を実現できる。
 上記のように、一旦、入力値をアドレス変換すれば、後の演算は配線のみで行うことが可能である。
 <実施例2-1-2:PRESENTのS-boxの演算処理>
 図12に、実施例2-1-2における光演算装置100の構成例を示す。図12に示す光演算装置100のアドレス変換部110は、複数のY分岐と複数のΨゲートが図示のとおりに接続された構成を備える。ポート変換部120は、実施例2-1-2で説明したものと同様である(ポートの数が異なる)。
 図12に示す光演算装置100により、暗号方式PRESENT(参考文献:A. Bogdanov, L.R. Knudsen, G. Leander, C. Paar, A. Poschmann, M.J.B. Robshaw, Y. Seurin, and C. Vikkelsoe, PRESENT: An Ultra-Lightweight Block Cipher, CHES 2007: Cryptographic Hardware and Embedded Systems - CHES 2007 pp 450-466.)のS-boxを演算する。
 ここでのアドレス変換部110の構成、及びシャッフル回路121への接続構成は、図6に示した実施例1-1-2のアドレス変換部110の構成、及びシャッフル回路121への接続構成と同じである。
 本実施例2-1-2では、S-boxの入力4ビットと、その否定値により、光源からの光を発するか否かを決定する。光源から発せられた光は、Y分岐とΨゲートを通過し、シャッフル回路121へ入力される。シャッフル回路121ではあらかじめ、PRESENTのS-boxテーブル変換に基づき光の配線が行われているため、シャッフル回路121の入力光は対応するS-boxの出力ポートへと変換される。
 例えば、シャッフル回路の入力が16進数で(0)の場合、出力ポート(C)の位置と結線されているため、ポート番号(C)の位置に光が到達し、出力値は(C)となる。
 アドレス変換部110に関して、実施例1-1-2と同様に、図12の構成を、図7の4分岐を用いた構成に置き換えてもよいし、図8の8分岐を用いた構成に置き換えてもよい。
 実施例2-1-1と同様に、例えば、上記の処理を時系列的に16回繰り返す、上記の光演算装置100を16個用いる、又は、16波長を利用して1つの光演算装置100で演算する、といった方法により16バイト分の演算を実現できる。
 上記のように、本実施例においても、一旦、入力値をアドレス変換すれば、後の演算は配線のみで行うことが可能である。
 なお、実施例2-1(実施例2-1-1と実施例2-1-2)において、暗号演算の場合はS-boxの後に非線形演算または線形演算が続き(例えばAESの場合はShiftRows)、この後の演算もポート番号による演算が可能であるためビット分解回路122は省略している。ただし、ビット分解回路122を挿入しても良い。また、実施例2-1の技術は他の暗号のS-box演算(テーブル置換)にも適用可能である。
  (実施例2-2:線形演算処理)
 次に、実施例2-2を説明する。実施例2-2では、暗号方式AESの線形演算であるMixColumnsの演算を行う光演算装置100の構成及び動作について説明する。
 まず、図13を参照してMixColumnsの演算について説明する。図13に示すとおり、MixColumnsの演算は、8ビット単位の乗算と排他的論理和から構成され、入出力は32ビットである。なお、図13に示す行列の各要素は16進数表記である。また、以下の明細書のテキストでは、記載の便宜上、排他的論理和を表す記号として、「XOR」を用いることとする。
 ここでは、図13の(1)に示す8ビット(y)の演算を行うための光演算装置100について説明する。他の8ビット{y,y,y}に関しても同様である。図13の(1)で示す式は以下のように変形できる。
 y1={02}・x1 XOR {02}・x2 XOR x2 XOR x3 XOR x4
 図14に、変形後のyを演算する光演算装置100の構成例を示す。なお、光演算装置100は、アドレス変換部110、2倍算用回路123、ビット分解回路122、多ビットXOR演算用回路130、光電変換部140を有する。なお、アドレス変換部110については、これまでに説明したアドレス変換部110の構成と同様であるため、図14には図示していない。また、光電変換部140は、光演算装置100の外部の装置であるとしてもよい。ここで、yを計算するにあたり、図13の式(1)の通り、3倍算用回路を用いて実装しても良い。
 2倍算用回路123は、シャッフル回路121に相当する。2倍算用回路123とビット分解回路122をまとめてポート変換部120と呼んでもよい。また、光演算装置100は、「アドレス変換部110、2倍算用回路123、ビット分解回路122、多ビットXOR演算用回路130」の全部を含んでもよいし、「アドレス変換部110、2倍算用回路123、ビット分解回路122」を1つの光演算装置100とし、「多ビットXOR演算用回路130」は別の光演算装置100であってもよい。
 また、多ビットXOR演算用回路130として、光信号のみで演算を行う方式の回路を使用する場合には、光電変換部140は不要である。
 図14に示す構成では、アドレス変換後の入力値{x,x,x,x}に対し,{x,x}をそれぞれ、2倍算用回路123に入力して{z,z}を得る。そして、{z,z,x,x,x}をビット分解回路122へ入力し、得られた結果を、光電変換部140を介して多ビットXOR用演算回路130へと入力する。
 ここで、{x,x}に関してビット分解が完了している状態の場合はビット分解回路122へ直接入力しても良い。
 ここで、図14の2倍算用回路123は、x,xそれぞれに対して備えてもよいし(つまり、2つの2倍算用回路123を利用)、波長多重により1つの2倍算用回路123を用いて{z,z}を同時に計算しても良い。
 また、「ビット分解回路122と多ビットXOR用演算回路130」の演算処理をまとめて配線のみで行うように、「ビット分解回路122と多ビットXOR用演算回路130」に相当する回路が構成されてもよい。以下、各回路の構成例を説明する。
 <2倍算用回路123>
 図15に、2倍算用回路123(シャッフル回路121)の構成を示す。2倍算の演算は、左シフトを行い、最上位ビットが「1」の場合に既約多項式(1b)の排他的論理和を計算する(参考文献:Federal Information Processing Standards Publication 197, November 26, 2001 Announcing the ADVANCED ENCRYPTION STANDARD (AES), https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf)。
 入力と2倍算の結果に対応する出力とを結線することで、図15に示す2倍算用回路123(シャッフル回路121)を実現できる。8ビットの値{x,x}に対して2倍算用回路123(シャッフル回路121)により{z,z}を計算することができる。
 <ビット分解回路122>
 図16に、ビット分解回路122の構成例を示す。8ビット用のビット分解回路122では、{z,z,x,x,x}の各々の値をアドレス値から図16のようにビット(x,x,x,x,x,x,x,x)へ変換する(xが最下位ビット値)。図14に示す構成では、{z、z、x、x、x}の各ビットに対するビット分解回路122を用いたが、波長多重により、1つの回路を用いても良い。
 <多ビットXOR用演算回路130>
 図17に、多ビットXOR用演算回路130の構成例を示す。図17に示すとおり、多ビットXOR用演算回路130は、アドレス変換部110とシャッフル回路121を有する。
 アドレス変換部110は、ビット分解回路122によりビット分解を行った値を入力とし、5ビット分のアドレス変換を行う。シャッフル回路121は、5ビットXORの演算結果に基づいた結線(入力ポートと出力ポートの接続)がなされており、入力の5ビットにするXORの演算結果を出力する。
 図17には、{z,z,x,x,x}の各々の最下位ビット({z ,z ,x ,x ,x }と表す)の5ビットのXOR演算を行う場合を示している。他のビット(2~8ビット目)の演算に関しては、波長多重により1つの回路を用いても良いし、8個の回路を用いても良い。
 ここでは、アドレス変換部110としてMZI光スイッチを用いた回路(図18)を用いているため、アドレス変換部110への入力は電気信号としている。そのため、ビット分解回路122と多ビットXOR用演算回路130との間に光電変換部140が必要であるが、アドレス変換部110として図12に示すようなΨゲートを用いる構成を採用する場合には光電変換部140は不要である。
 図17において、アドレス変換後、光は、5ビットXOR演算用のシャッフル回路121へ入力され、XOR演算の結果(z0 1 XOR z0 2 XOR x0 2 XOR x0 3 XOR x0 4)が「0」か「1」を示すポートに光が到達することにより、演算結果が得られる。
 なお、ここでは5ビットのアドレス変換を行うアドレス変換部110、及び5ビットのXOR演算用のシャッフル回路121を示したが、MixColumnsの次の演算は鍵とのXOR演算のため、6ビットのアドレス変換を行うアドレス変換部110と6ビットXOR演算用のシャッフル回路121を用いても良い。
 このように、光論理ゲート単体では演算を行うことが難しかった多ビットのXOR演算(非線形演算)をアドレス変換と配線のみで行うことが可能であり、電気回路によるしきい値処理が不要となる。
 以上説明した実施例2に係る技術により、アドレス変換部110とポート変換部120(シャッフル回路122等)を用いて、暗号演算における非線形演算と線形演算を行うことが可能である。AESの場合はShiftRowsの演算も配線処理で行うことが可能であるため、暗号演算部の1ラウンド全体の演算を本実施例2に係る技術により行うことが可能である。
 (実施例のまとめ、効果)
 以上説明した技術により、光信号の複数のビットを光のポート番号で表現することにより、光配線を用いて、各種の任意の演算を行うことができる。このことにより、演算に利用する光論理ゲートの数を減らすことができ、また、光電変換の回数を減らすことができる。また、ΨゲートやMZIを使った場合の演算は、基本的に1ビット単位の演算であるが、本実施例で説明した技術を用いることにより、暗号のS-box演算に示すように8ビットなどの多ビットの演算を一回で行うことができ、演算の回数を減らすことができる。
 すなわち、従来技術では、演算にΨゲートやMZIを用いることにより、振幅や位相をビットの単位とみなして1ビットずつの計算を行っており、また、暗号演算などの演算が複雑になると、多段での演算が必要であり、光電変換や位相の変換が必要であった。それに対し、本技術では、一度、ビット値をポート番号に変換するだけで、任意の演算を配線のみで行うことができ、光電変換の回数を減らすことや、実装が容易になるといった効果を得ることができる。
 (付記)
 本明細書には、少なくとも下記各項の光演算装置、及び光演算方法が開示されている。
(付記項1)
 複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換部と、
 前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するシャッフル回路を含むポート変換部と
 を備える光演算装置。
(付記項2)
 前記アドレス変換部は、前記複数のビット値を電気信号として入力する複数のマッハ・ツェンダー干渉型光スイッチを含む
 付記項1に記載の光演算装置。
(付記項3)
 前記アドレス変換部は、前記複数のビット値を光信号として入力する複数の分岐素子、及び複数の光論理ゲートを含む
 付記項1に記載の光演算装置。
(付記項4)
 前記ポート変換部は、前記出力ポート番号に対応するビット値の列を個々のビット値に分解するビット分解回路を含む
 付記項1ないし3のうちいずれか1項に記載の光演算装置。
(付記項5)
 前記ポート変換部は、前記演算として、情報ビットから符号ビットを生成する演算、情報ビットと符号ビットから誤りを検出するための演算、暗号処理における非線形演算、及び、暗号処理における線形演算のうちの少なくともいずれか1つの演算を実行する
 付記項1ないし4のうちいずれか1項に記載の光演算装置。
(付記項6)
 光演算装置が実行する光演算方法であって、
 複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換ステップと、
 前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するポート変換ステップと
 を備える光演算方法。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 光演算装置
110 アドレス変換部
120 ポート変換部
121 シャッフル回路
122 ビット分解回路
123 2倍算用回路
130 多ビットXOR演算用回路
140 光電変換部
200 光出力装置
300 光検出装置
400 電気信号出力装置

Claims (6)

  1.  複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換部と、
     前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するシャッフル回路を含むポート変換部と
     を備える光演算装置。
  2.  前記アドレス変換部は、前記複数のビット値を電気信号として入力する複数のマッハ・ツェンダー干渉型光スイッチを含む
     請求項1に記載の光演算装置。
  3.  前記アドレス変換部は、前記複数のビット値を光信号として入力する複数の分岐素子、及び複数の光論理ゲートを含む
     請求項1に記載の光演算装置。
  4.  前記ポート変換部は、前記出力ポート番号に対応するビット値の列を個々のビット値に分解するビット分解回路を含む
     請求項1ないし3のうちいずれか1項に記載の光演算装置。
  5.  前記ポート変換部は、前記演算として、情報ビットから符号ビットを生成する演算、情報ビットと符号ビットから誤りを検出するための演算、暗号処理における非線形演算、及び、暗号処理における線形演算のうちの少なくともいずれか1つの演算を実行する
     請求項1ないし3のうちいずれか1項に記載の光演算装置。
  6.  光演算装置が実行する光演算方法であって、
     複数のビット値を、入力ポート番号として使用されるアドレス値へ変換するアドレス変換ステップと、
     前記入力ポート番号の入力ポートから入力された光を、前記入力ポート番号に対する演算の結果に相当する出力ポート番号の出力ポートから出力するポート変換ステップと
     を備える光演算方法。
PCT/JP2022/022688 2022-06-03 2022-06-03 光演算装置、及び光演算方法 WO2023233668A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022688 WO2023233668A1 (ja) 2022-06-03 2022-06-03 光演算装置、及び光演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022688 WO2023233668A1 (ja) 2022-06-03 2022-06-03 光演算装置、及び光演算方法

Publications (1)

Publication Number Publication Date
WO2023233668A1 true WO2023233668A1 (ja) 2023-12-07

Family

ID=89026215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022688 WO2023233668A1 (ja) 2022-06-03 2022-06-03 光演算装置、及び光演算方法

Country Status (1)

Country Link
WO (1) WO2023233668A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150354938A1 (en) * 2014-06-06 2015-12-10 Jacob C. Mower Methods, systems, and apparatus for programmable quantum photonic processing
JP2019523932A (ja) * 2016-06-02 2019-08-29 マサチューセッツ インスティテュート オブ テクノロジー 光ニューラルネットワークのための装置および方法
JP2021135463A (ja) * 2020-02-28 2021-09-13 国立研究開発法人産業技術総合研究所 フォトニクス分類器および分類方法
JP2022062479A (ja) * 2020-10-08 2022-04-20 国立研究開発法人産業技術総合研究所 光干渉回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150354938A1 (en) * 2014-06-06 2015-12-10 Jacob C. Mower Methods, systems, and apparatus for programmable quantum photonic processing
JP2019523932A (ja) * 2016-06-02 2019-08-29 マサチューセッツ インスティテュート オブ テクノロジー 光ニューラルネットワークのための装置および方法
JP2021135463A (ja) * 2020-02-28 2021-09-13 国立研究開発法人産業技術総合研究所 フォトニクス分類器および分類方法
JP2022062479A (ja) * 2020-10-08 2022-04-20 国立研究開発法人産業技術総合研究所 光干渉回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SRIVASTAVA VIVEK KUMAR, PAL AMRINDRA, SHARMA SANDEEP: "Design of Hamming Code Checker Using Titanium-Diffused Lithium Niobate-Based Waveguide", FIBER AND INTEGRATED OPTICS., TAYLOR & FRANCIS, LONDON., GB, vol. 38, no. 4, 4 July 2019 (2019-07-04), GB , pages 218 - 235, XP093116971, ISSN: 0146-8030, DOI: 10.1080/01468030.2019.1621962 *

Similar Documents

Publication Publication Date Title
CN106233660B (zh) 加密处理设备、加密处理方法和程序
JP6406350B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
EP1830531B1 (en) Precoding circuit and precoding-multiplexing circuit for realizing very high transmission rate in optical fiber communication
WO2006098015A1 (ja) データ変換装置及びデータ変換方法
US10084482B2 (en) Systems and methods for interleaved coded modulation with convolutional coding-based low-density parity check codes
WO2023233668A1 (ja) 光演算装置、及び光演算方法
US20070061660A1 (en) Parallel precoder circuit
JP6742584B2 (ja) 光論理回路
Dutta et al. Mach-Zehnder interferometer based all optical reversible carry-lookahead adder
Peng et al. Integrated photonics architectures for residue number system computations
WO2023233669A1 (ja) 光演算装置、及び光演算方法
WO2023032099A1 (ja) 暗号システム、暗号装置、暗号方法、及びプログラム
KR20040043582A (ko) 병렬 순환 중복 검사 코드 발생 시스템 및 방법
Mahyar Reliable and High-Speed KASUMI Block Cipher by Residue Number System Code
JP6707752B2 (ja) 光乗算器および光乗算方法
JP4627283B2 (ja) 光信号処理回路
JP6840321B2 (ja) 光アナログ・デジタル変換装置、光アナログ・デジタル変換方法、光量子化回路および光量子化方法
US9543984B2 (en) Efficient storage architecture for low-density parity-check decoding
JP2020030294A (ja) 光デジタル・アナログ変換器
US9369148B2 (en) Circuit arrangement, device and method for 5B/6B coding
JP6699826B2 (ja) 光論理回路
JP6631921B2 (ja) 光演算器
CN102394652A (zh) 电流型数模转换器
US7869107B2 (en) Optical circuit for comparing two N-bit binary words
RU2140716C1 (ru) Способ криптографического преобразования блоков цифровых данных

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22944945

Country of ref document: EP

Kind code of ref document: A1