WO1999030250A1 - Systeme informatique, systeme cryptographique, circuit systeme lsi, et appareil electronique - Google Patents

Systeme informatique, systeme cryptographique, circuit systeme lsi, et appareil electronique Download PDF

Info

Publication number
WO1999030250A1
WO1999030250A1 PCT/JP1998/005586 JP9805586W WO9930250A1 WO 1999030250 A1 WO1999030250 A1 WO 1999030250A1 JP 9805586 W JP9805586 W JP 9805586W WO 9930250 A1 WO9930250 A1 WO 9930250A1
Authority
WO
WIPO (PCT)
Prior art keywords
units
arithmetic
unit
signal
information processing
Prior art date
Application number
PCT/JP1998/005586
Other languages
English (en)
French (fr)
Inventor
Kazuhiko Amano
Tsugio Nakamura
Hiroshi Kasahara
Tatsuya Shimoda
Original Assignee
Seiko Epson Corporation
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 Seiko Epson Corporation filed Critical Seiko Epson Corporation
Priority to DE69841305T priority Critical patent/DE69841305D1/de
Priority to US09/367,234 priority patent/US6557020B1/en
Priority to JP53065299A priority patent/JP4092735B2/ja
Priority to EP98959154A priority patent/EP0974913B1/en
Publication of WO1999030250A1 publication Critical patent/WO1999030250A1/ja
Priority to US10/375,995 priority patent/US7117237B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • the present invention relates to an information processing system and an encryption / decryption system, and in particular, to an information processing system that performs arbitrary-precision arithmetic using a hardware configuration, and a cryptography that performs arbitrary-precision arithmetic using a hardware configuration to perform encryption and decryption. / Decryption system. Furthermore, the present invention relates to an information processing system, a system LSI, and an electronic device using an internal bus line or an external bus line as an optical transmission system.
  • Cryptographic methods are roughly classified into secret key cryptography and public key cryptography. Representative methods are DES (Data Encryption Standard) as secret key cryptography and RSA (Rivest Shamir Adleman cnptograph) as public key cryptography.
  • DES Data Encryption Standard
  • RSA Rivest Shamir Adleman cnptograph
  • DES is a method of rearranging and replacing data bit strings
  • RSA is a method of performing a multi-bit remainder operation.
  • public key cryptography is hundreds of times slower than secret key cryptography. Become. This is due to the fact that in public-key cryptography, a very high-precision remainder operation modulo several hundred bits or more is performed.
  • high-speed secret key cryptography is usually used for encrypting a large amount of data
  • public key cryptography is used for authentication, signature, and key distribution with a small amount of data. Has been made.
  • public key cryptography since the encryption strength can be selected by changing the bit length of the key, it is required that calculations can be performed using public keys of various bit numbers published by the communication partner.
  • the DESS specifies that it must be implemented using hardware technology, it is practically difficult to avoid decryption by a third party in a software-only encryption / decryption system. If some of the encryption algorithms are implemented in hardware, the encryption strength will be higher.
  • the one-chip public-key cryptographic processor described above can perform arbitrary precision processing within the precision specified in advance in hardware, but cannot perform processing when accuracy exceeding the specified precision is required.
  • the problem is that new hardware must be designed.
  • the arithmetic device has a one-chip configuration using, for example, a TFT (Thin Film Transistor)
  • the entire arithmetic device cannot be used due to the presence of a transistor that does not operate, thereby lowering the yield and reducing manufacturing costs. This raises the problem of increasing
  • microprocessors which consist of a single microprocessor (MPU)
  • MPU microprocessor
  • the wiring width has become submicron order and the resistance has increased, and the stray capacitance has increased due to the multilayer structure. Therefore, a distributed constant circuit is formed in the wiring section, and the propagation delay of the electric signal is increasing.
  • an object of the present invention is to provide an information processing system capable of easily constructing a system capable of performing a calculation with desired accuracy in terms of hardware.
  • Another object of the present invention providing an encryption / decryption system capable of constructing a system in which operation of the arbitrary-precision (optional bit number) is required Hadouwea and easily Ah 0
  • Still another object of the present invention is to provide an information processing system and an encryption / decryption system capable of improving an effective yield rate in a one-chip configuration and improving system reliability. is there.
  • Still another object of the present invention is to provide an information processing system and a system LSI capable of facilitating the design by reducing the signal propagation delay and the deformation of the signal waveform to a negligible level, and an electronic device using the same. Is to do.
  • Still another object of the present invention is to provide a system LSI and a system LSI capable of facilitating management of intellectual property rights by using the above-described encryption / decryption system, etc., while installing a functional block developed by another company. An electronic device using the same is provided.
  • the present invention provides an information processing system that performs arithmetic processing on input data in accordance with a processing procedure and outputs the result.
  • a plurality of operation units each of which is operated at an operation accuracy of 2 m bits (m: natural number) based on the processing procedure;
  • arithmetic processing is facilitated by performing arithmetic processing in a distributed manner by a plurality of arithmetic processing units, and arithmetic operations such as random number generation processing, wavelet conversion processing, high-speed Fourier conversion processing, and digital filter processing are performed. Even when the amount is large and high accuracy is required, it is possible to easily construct a system and speed up the arithmetic processing. In addition, as a result of the distributed processing, the number of gates of the operation unit can be suppressed, and the cost of the device can be reduced.
  • the operation precision required at the time of operation processing is 2 nl bits (11 1 ⁇ 11 and 11 1 is variable)
  • it satisfies X l ⁇ 2 nl / 2 m (x 1 is a natural number variable)
  • the clock generation circuit generates 2 nl reference clock signals during the arithmetic processing.
  • X 1 operation units out of X are effectively cascaded.
  • the power consumed by operation units other than X1 can be saved, and the operation speed can be increased.
  • signals are transmitted by optical signals between a plurality of arithmetic units, the arithmetic speed will be higher.
  • Each of the plurality of arithmetic units has y (y is a fixed natural number) arithmetic modules to be operated with an arithmetic accuracy of 2 m / y.
  • y is a fixed natural number
  • the operation precision required for the operation processing is 2 nl bits (11 1 ⁇ 11 and 11 1 is variable) In this case, it is only necessary to cascade y 1 arithmetic modules so that yl ⁇ 2 nl / 2 m / y (y 1 is a natural number).
  • the calculation is performed with a calculation precision of 2 n2 (n2 ⁇ nl) in the (X1-1) cascade-connected calculation units, and Note that (X 1-1) operation units and another operation unit cascaded together have yl ⁇ (2 nl -2 n2 ) / 2 m / y (yl ⁇ y and y 1 is (Variable) It suffices if one operation module that satisfies is connected in cascade.
  • the operation in each operation unit can be sped up.
  • a first storage unit that stores the processing procedure. Further, it can further include an arithmetic control unit that controls a plurality of arithmetic units based on the processing procedure stored in the first storage unit. At this time, a signal may be transmitted between the plurality of operation units and the operation control means by an optical signal.
  • a second storage unit for temporarily storing calculation results of the plurality of operation units is provided, and a signal is transmitted between the second storage unit and the plurality of operation units by an optical signal. May be configured.
  • each of the plurality of arithmetic units has L (y ⁇ L / A,) when the number of all arithmetic modules is prepared. Up to y good-quality operation modules can be cascaded.
  • each operation precision is 2 bits (ml: fixed at natural number)
  • a plurality of external operation units that operate with an operation precision of 2 m2 bits (m2: fixed as a natural number),
  • a cascade connection terminal for cascading the plurality of internal operation units and the plurality of external operation units
  • the external arithmetic unit satisfies z ⁇ (2 n — 2 ml ) / 2 m2 (z is fixed at a natural number) Are connected in z cascades.
  • Each of the plurality of modular exponentiation units is a modular exponentiation unit
  • a multiplication unit that performs multiplication with a multiplication precision of 2 1 "bits (m is a natural number); a division unit that performs division with a division precision of 2 2 ' m bits;
  • X is connected to the plurality of modular exponentiation units so as to satisfy the condition, and performs encryption and decryption.
  • the multiplication precision 2 ml bit (ml fixed natural number), the interior of the multiple performing modular exponentiation in a division precision 2 2 'ml bit Modular exponentiation unit,
  • a multiplicity of external modular exponentiation units that perform a modular exponentiation operation with a multiplication precision of 2 m2 bits (m2 is fixed as a natural number) and a division precision of 2 2 ′ m2 bits;
  • a cascade connection terminal for cascading the plurality of internal and external modular exponentiation units
  • the external power modular arithmetic unit can be configured with a smaller number of gates, an encryption / decryption system can be easily constructed even in a personal computer system.
  • an information processing system comprising: a plurality of functional units each operating based on a multi-channel electric signal; and a bus line for transmitting a signal between them.
  • Each of the plurality of functional units has a signal output unit and / or a signal input unit, and the signal output unit converts an electric signal of multiple channels into an optical signal of multiple channels having different wavelengths and outputs the converted signal. Having one optical signal conversion means,
  • the signal input unit has optical-to-electrical signal conversion means for converting the multi-channel optical signals having different wavelengths into the multi-channel electric signals
  • the bus line is formed of an optical transmission medium.
  • the signal transmission between one functional unit and the other This is performed by transmitting wavelength-divided multi-channel optical signals via a bus line, which is a medium.
  • the signal output section of each functional unit has an electro-optical signal converting means for converting a multi-channel electric signal to a multi-channel optical signal
  • the signal input section of each functional unit has a multi-channel signal input section.
  • Optical-to-electrical signal conversion means for converting the optical signal into a multi-channel electric signal.
  • one of the plurality of functional units is a central processing unit (CPU), and the bus lines may include a data bus line and an address bus line.
  • CPU central processing unit
  • Both the overnight and addressless bus lines connected to the CPU are optical transmission lines.
  • the data bus and the addressless bus line can be shared by one optical transmission medium. This is because the data and address need only be transmitted in a time division manner, not at the same time.
  • an optical input / output unit for optically communicating with a peripheral device is connected to the bus line.
  • the optical signal converted by the electrical-to-optical signal conversion means of each functional unit in the information processing system can be directly transmitted to the peripheral device, and conversely, the optical signal from the peripheral device can be directly transmitted to the information processing system. Can be entered.
  • noise is not superimposed on the optical signal and noise is not emitted from the optical signal.
  • An optical input / output unit for optically communicating with the peripheral device can perform optical communication with the peripheral device by a chip select signal transmitted from the central processing unit via the bus line. Is preferred.
  • the optical input / output unit can be constituted by an optical shutter or the like operated by a chip select signal.
  • a first semiconductor device having a first internal bus line and a second semiconductor device having a second internal bus line are connected to an external bus line.
  • the first semiconductor device has a first signal output unit and a first signal input unit, and a central processing unit (CPU) that operates based on a multi-channel electric signal includes the first internal bus. Formed on the first substrate with the line,
  • the second semiconductor device has a second signal output unit and a second signal input unit, and is controlled by a signal from the central processing unit, based on a multi-channel electric signal.
  • An operating controlled unit is formed on a second substrate together with the second internal bus line;
  • the first and second signal output units each include an electric-to-optical signal conversion unit that converts a multi-channel electric signal into a multi-channel optical signal having a different wavelength and outputs the converted signal.
  • the second signal input unit includes optical-to-electrical signal conversion means for converting the multi-channel optical signals having different wavelengths into the multi-channel electric signals, wherein the first and second internal bus lines and the external Each bus line is characterized by being formed of an optical transmission medium.
  • the first semiconductor device is the above-described one-chip microcomputer
  • at least one of the functional units that should be originally mounted in the microcomputer is the second semiconductor device.
  • the functional units in the first and second semiconductor devices exchange signals by light via the first and second internal bus lines and the external bus lines. Therefore, functional units arranged on different spatial substrates are connected to each other by a bus line that can communicate at the optical transmission speed. This is equivalent to a microcombination equipped with multiple function units that perform the functions.
  • the capacity of the cache memory can be freely changed.
  • the internal clock of the internal bus line is also supplied to the external bus line.
  • the internal clock becomes the standard clock for all function units, and data processing can be performed in the synchronous mode. If the information processing system or system LSI according to the present invention is mounted on an electronic device, it is possible to easily cope with a change in the function of the electronic device.
  • At least one of the plurality of function blocks has an arithmetic operation function area, and the arithmetic operation function area performs an operation for decryption when a predetermined decryption key is input, and when the decryption is established. For the first time thereafter, the four arithmetic operations other than the decoding are enabled.
  • this system LSI includes, for example, a function program developed by Company A.
  • an RSA decryption key private key
  • this system LSI includes, for example, a function program developed by Company A.
  • an RSA decryption key private key
  • license to an end user who uses the function block developed by Company A in this system LSI.
  • only the end user having the decryption key can use the functional block.
  • this four arithmetic operation function area shall have X cascade-connected operation units that operate with an arithmetic precision of 2 ffi bits (m: fixed as a natural number) based on the processing procedure. Can be.
  • a part of the plurality of arithmetic units may include a plurality of modular exponentiation units to be cascaded.
  • FIG. 1A and 1B show a schematic configuration of an information processing system according to a first embodiment of the present invention.
  • FIG. 1A and 1B show a schematic configuration of an information processing system according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a schematic configuration of the programmable digital processor in FIGS. 1A and 1B.
  • FIG. 3 is a block diagram showing a specific example in which the first embodiment is applied to a pseudo random number generation circuit.
  • FIG. 4 is a schematic block diagram of an encryption / decryption system according to a second embodiment of the present invention.
  • FIG. 5 is a block diagram showing a schematic configuration of the modular exponentiation operation device.
  • FIG. 6 is a block diagram showing a schematic configuration of the arbitrary precision division device.
  • FIG. 7A to 7C are explanatory diagrams for explaining the difficulty of the division / distribution processing.
  • FIG. 8 is an explanatory diagram of the configuration and operation of the arbitrary precision divider.
  • FIG. 9 is a block diagram showing a schematic configuration of the divider.
  • FIG. 10 is an operation timing chart of the divider.
  • FIG. 11 shows a processing procedure of encryption and decryption processing of a public key cryptosystem based on RSA in the second embodiment of the present invention.
  • FIG. 12 is a diagram illustrating the number of gates required for the modular exponentiation operation device.
  • Figure 1 3 A is an explanatory diagram for explaining a calculation method of a b ⁇ M modc.
  • FIG. 13B is a block diagram of a circuit that performs the operation of FIG. 13A.
  • FIG. 14 is an explanatory diagram showing calculation of the calculation processing time required in FIG. 13A.
  • FIG. 15 is an explanatory diagram illustrating an example of the calculation processing time.
  • FIG. 16 shows a conventional encryption / decryption processing procedure of a public key cryptosystem based on RSA.
  • FIG. 17 is a block diagram showing an example of a microcomputer according to the fourth embodiment of the present invention.
  • FIG. 18 is a schematic explanatory diagram of a region including the optical transmission unit of the microcomputer shown in FIG.
  • FIG. 19 is a schematic cross-sectional view of three channels of light-emitting elements constituting the light-emitting unit shown in FIG.
  • FIG. 20 is a schematic explanatory view showing one example of a method for forming the light emitting layer shown in FIG.
  • FIG. 21 is a schematic sectional view of three channels of light receiving elements constituting the light receiving section shown in FIG.
  • FIG. 22 is a schematic explanatory view showing a modified example of the light emitting section shown in FIG.
  • FIG. 23 is a schematic explanatory diagram showing a system LSI according to a fifth embodiment of the present invention.
  • FIG. 24 is a schematic explanatory view showing a sixth embodiment of the present invention in which a light emitting unit, a waveguide, and a light receiving unit are three-dimensionally arranged.
  • FIG. 25 is a schematic diagram of a system LSI according to a seventh embodiment of the present invention.
  • FIG. 1A shows a block diagram of the information processing system of the first embodiment.
  • the information processing system 10 includes, for example, two general-purpose microprocessors as shown in FIG. 1A.
  • the information processing system 10 includes a main microprocessor 1 for controlling the entire system, and a programmable digital processor 3 connected to the main microprocessor 1 and a bus 2.
  • the programmable digital processor 3 functions as a coprocessor that performs an operation with a desired operation accuracy at high speed according to a preset program (processing procedure) in place of the main microprocessor 1.
  • the bus 2 has input devices such as a keyboard and a mouse, output devices such as a printer, and the like, according to the specifications required for the information processing system 10.
  • An external device such as a storage device such as R0M and RAM and a hard disk device are connected directly or through an interface device.
  • FIG. 2 shows a configuration of the programmable digital processor 3 shown in FIG.
  • the programmable digital processor 3 has a system R0M (not shown) and a system RAM, and performs random number generation processing, wavelet conversion processing, and high-speed Fourier processing. Processing procedures such as conversion processing and digital filter processing are loaded and programmed from the main microprocessor 1 side in advance.
  • the programmable digital processor 3 has a control unit 5 that controls the entire system, a RAM 6 that stores various data during processing, processing procedures, and the like, a ROM 8, and a calculation accuracy of 2 m bits (m is X (where X is fixed to a natural number) of operation units 7-1 to 7-X, and a cascade connection between these operation units 7-1 to 7-X It has a switch SW, an internal system bus 4A for transferring address data, instruction data, and the like, and an internal data bus 4B for transferring various data.
  • the internal bus 4 is composed of the internal system bus 4A and the internal data bus 4B. Further, the switch SW is shown for the sake of convenience so that the configuration of the embodiment can be understood on the drawings.
  • the number of effective cascaded arithmetic units is determined based on the number of reference clock signals generated from, for example, the control unit 5 in the programmable digital processor 3, and is determined mechanically.
  • the configuration is not such that the switch SW turns on and off. This will be described later.
  • the X arithmetic units 7-1 to 7-X Although it is possible to obtain the operation result even when all are in the operable state, of the maximum X operation units,
  • X 1 arithmetic unit 7— :! ⁇ 7-X1 should be cascaded to operate effectively. In this way, by performing calculations with 2 nl- bit precision, it is possible to optimize power consumption without unnecessary power consumption, and to optimize the processing time. Become.
  • Each of X must be operated with an operation accuracy of 2 m / y (y is an integer of 2 or more).
  • Y operation modules 9-1 to 9-y are cascaded through switch SW. It is possible.
  • the switch SW is shown for the sake of convenience so that the configuration of the embodiment can be understood on the drawings.
  • the number of effectively cascaded arithmetic modules is determined based on the number of reference clock signals from, for example, the control unit 5 in the programmable digital processor 3, as described above. This is not a configuration in which the switch SW is turned on and off mechanically.
  • a sufficient number y 1 ⁇ 2 nl / 2 for performing 2 nl- bit precision operations out of all y operation modules 91-1 to 9-y of one operation unit It is also possible to effectively cascade the operation modules of m / y (y 1 ⁇ y) ⁇ This makes it possible to further optimize the power consumption and the operation processing time.
  • (X1-1) arithmetic units 7-1-7- (X-1) and y1 in the arithmetic unit 7-X1 It is also possible to use the calculation module of. In this case, if (X 1-1) operation units 7 — 1 to 7— (X ⁇ 1) perform 2 n2 (n2 ⁇ n 1) bit-precision operations, y 1 (2 nl -2 n2 ) / 2 m / y (y 1 ⁇ y) should be satisfied.
  • the main microprocessor 1 gives, via the bus 2, an operation instruction, data necessary for the operation and operation accuracy data corresponding to the required operation accuracy to the programmable digital processor 3.
  • the control unit 5 of the programmable digital processor 3 becomes the operation unit 7 :! 7 to X, based on the processing procedure from the main microphone unit processor unit 1 and / or the RAM 6 (for example, the encryption procedure shown in FIG. 13B), the number of operation units corresponding to the required operation accuracy 2 nl Or arithmetic Control Yule.
  • the arithmetic units 7-1 to X determine the number of units and modules to be cascaded based on the accuracy information of each arithmetic operation.
  • the number of units and modules to be cascaded is determined by the number of reference clock signals required for the operation. This reference clock signal is generated by a reference clock signal generation circuit (not shown) included in the information processing system 10 shown in FIG. 1A.
  • control unit 5 causes the operation unit to perform the operation based on a previously programmed processing procedure. It will be.
  • the signal on the bus 2 between the chips may be an electric signal of multiple channels, or For example, multi-channel optical signals having different wavelengths may be used.
  • multi-channel optical signals having different wavelengths may be used.
  • the internal system bus 4A and the internal data bus 4 are connected between the control unit 105, the RAM 6, the ROM 8, and the x operation units 7-1 to 7-X.
  • An optical signal can be transmitted via B.
  • information other than the electric signal for example, information magnetized like a ferroelectric memory is stored as the storage element constituting the RAM 6, it is not necessary to convert the optical signal into the electric signal.
  • information magnetized based on an optical signal may be stored.
  • the bus between the X arithmetic units 7-1 to 7-x is substantially provided.
  • the buses are also connected to each other and the y operation modules that constitute each operation unit.These buses are used as optical transmission paths, and optical signals are used between the operation units and between operation modules. It is possible to transmit.
  • one or more programmable digital processors 3 ′ are connected to the internal Cascade connection can be made via a cascade connection terminal (not shown). This is equivalent to cascading the arithmetic unit in the programmable digital processor 3 with the arithmetic unit in the programmable digital processor 3 '.
  • the operation unit of one or more programmable digital processors 3 functions as an external operation unit with respect to the internal operation units 7-1 to 7-X in the programmable digital processor 3.
  • the internal operation unit can transmit optical signals also between the external operation units.
  • a plurality of external processing units are configured by, for example, a TFT (Thin Film Transistor)
  • a maximum of z transistors are generated due to the occurrence of defective transistors due to defects or the like.
  • the entire external operation unit may become unusable.
  • the same can be said for not only the operation unit but also the operation modules constituting the external operation unit. At least (y ⁇ L / A ') It is good to prepare joules in advance. In this case, y good operation modules among the L operation modules can be connected. Therefore, even when a failure occurs in an arithmetic module, by switching the connection to the redundant arithmetic module, the arithmetic unit can be handled as a non-defective product.
  • an internal arithmetic unit that performs calculations with a calculation precision of 2 ml bits (ml: natural number) in the programmable digital processor 3, and a calculation precision of 2 m2 bits ( ⁇ 2: natural number) in the programmable digital processor 3.
  • an external operation Yuni' wish to operation by cascade once connected, for carrying out the calculation of the maximum arithmetic precision 2 eta is, by setting the number of connections ⁇ external operation Interview Stevenage Bok to satisfy the following formula Good.
  • the main microphone processor 1 is an essential component. However, if the programmable digital processor 3 has the function of the main microprocessor 1 and is configured to load a program from a storage device or an external storage device via the bus 2, the information shown in FIG. As in the processing system 10 ', the main microprocessor 1 is not required.
  • a processing procedure program is stored in a non-volatile memory such as a mask ROM, a PROM, or an EEPROM in advance, and an operation is performed based on the processing procedure fixed based on the program. It can also be implemented with logic.
  • a non-volatile memory such as a mask ROM, a PROM, or an EEPROM in advance
  • an operation is performed based on the processing procedure fixed based on the program. It can also be implemented with logic.
  • a more specific example of the first embodiment an example in which the present invention is applied to a pseudo-random number generator will be described.
  • computationally safe means that security is lost (that is, from a partial random number sequence that is a part of the generated random number sequence, a partial random number sequence of another part of the generated random number sequence) Can be estimated) and that N can be factored means that they are computationally equivalent.
  • Figure 3 shows a block diagram for generating pseudo-random numbers that are computationally safe using. In this case,
  • pseudo random numbers can be generated with arbitrary precision.
  • control unit 5 and the RAM 6 are provided in the programmable digital processor 3, but the information processing is performed so that the main microprocessor 1 performs these functions. It is also possible to configure the system so that only the arithmetic unit is configured as a single chip and function as an arbitrary-precision general-purpose arithmetic processor.
  • a sender encrypts a plaintext using an encryption key and transmits the encrypted text
  • a receiver of the encrypted text decrypts the encrypted text using a decryption key and returns to the plaintext.
  • the encryption key and the decryption key are the same, whereas the public key cryptosystem is not the same, and the encryption key is made public and the decryption key is kept secret.
  • the principle of the RSA scheme which is a typical public key cryptosystem, will be described.
  • the sender uses a public key to calculate the remainder operation of the plaintext M raised to the power of e (modulating C by dividing Me by n) modulo n. And sends the ciphertext C.
  • Equations (4) and (5) are the least common multiple of (p-1) and (q-1).
  • d can be set small, and the calculation amount can be reduced as shown in the following equations (6) and (7).
  • n private Since it is the product of p and q, it is usually selected to be 512 bits or more so that it cannot be easily factored.
  • the RSA method is widely recognized as a method with high encryption strength by performing a mathematical factor called prime factorization and multi-precision remainder operation.
  • ciphertext C is obtained by using public keys n and e in encryption, and
  • d is selected as follows from p and q of the private key.
  • the maximum precision of each remainder multiplication in the above-mentioned remainder operation process can be less than twice the modulus n. In this way, the target remainder can be calculated by repeating the remainder operation replaced with a small numerical value.
  • each value of A, m, and n is input (step S 1).
  • step S 2 the number K 1 of bits of A is obtained (step S 2), and the maximum exponent N of A N in the remainder arithmetic system is obtained from the number K 1 of bits of A (step S 3).
  • step S5 the number k of bits of the remainder r is obtained (step S6), and the block size of A is determined from the number k of bits (step S7).
  • step S7 If the block size of A is within the accuracy (step S7; No), m multiplications of A by n are performed, and the remainder R obtained from the result is obtained (step S8).
  • Step S7 If the block size of A is out of accuracy (Step S7; Yes), the data is too large and overflows (Step S9). The process ends (step S10).
  • step S 14 to decompose m into qN + a (step S 1 1), if a is not 0 (step S 12; Y es), A a the Me determined (step S 13), obtaining a remainder r 1 a a a divided by n (step S 14).
  • step S15 if q ⁇ 0 (step S15; No), A N is obtained (step S17), and a remainder r obtained by dividing A N by n is obtained (step S18) o
  • step S 19 the remainder r is substituted for r 00 (step S 19), and q multiplications of A N are performed modulo n (step S 20). If a ⁇ 0 (step S 21; No), A residue obtained by dividing the product of the obtained multiplication result r and r1 by n is obtained (step S22), the obtained residue r is set as a residue R to be finally obtained (step S23), and the residue R is set as a residue. Output as data (step S24).
  • n is as high as 512 bits or more. Therefore, if distributed processing of division is impossible, it is difficult to implement hardware as in the first embodiment, and the above processing is processed by software, and programming is not easy. Therefore, it is easy to guess that it takes a lot of calculation time.
  • FIG. 4 is a block diagram of a public key encryption / decryption system according to the second embodiment.
  • the public key encryption / decryption system 11 is roughly divided into a personal computer system 12, a modular exponentiation operation unit 13 connected via an input / output interface 17 of the personal computer system 12, and It is provided with.
  • the personal computer system 12 has a built-in keyboard 15 for inputting various data, a display 16 for performing various displays, an input / output interface 17, and an external storage device such as a hard disk (not shown).
  • a personal computer main body 18 and a printer 19 for performing various printouts are provided.
  • the power-residue arithmetic unit 13 is roughly divided into an arbitrary-precision division unit 20 that performs arbitrary-precision division within a predetermined accuracy range and an arbitrary-precision multiplication unit that performs arbitrary-precision multiplication within a predetermined accuracy range, as shown in FIG. And a multiplication device 21, which are connected by a bus 22.
  • the arbitrary-precision divider 20 includes 8-bit-accurate first dividers 251-1 to H-th dividers 25—H (H: 2 or more) to which the dividend data and the divisor data are input, respectively.
  • 1st switch SW1 to (H-1) th switch SW for cascade-connecting H dividers corresponding to 8-bit precision based on the precision information data (H-1) switches (H-1) and (H-1) switches SW1 to SW (H-1) are precision information data.
  • the required number of dividers are cascade-connected based on one evening.
  • switches SW1 to SW (H-1) are also illustrated for convenience of explanation as in the case of FIG.
  • the dividend data and the divisor data are sequentially provided from the lower 8 bits to the J divider from the first divider 25-1 in 8-bit units.
  • multiple dividers are configured as an external power-residue calculation unit that performs a power-residue operation with a multiplication precision of 2 ra bits (m: fixed to a natural number) and a division precision of 2 21 bits, and the dividend data and the divisor data
  • a cascade connection terminal for cascade connection of the input signal line of the accuracy information data and the output signal line of the quotient data and the remainder data is provided in each power-residue calculation unit;
  • X 2 n / 2 m (where n is a natural number and X is a natural number)
  • the arbitrary-precision multiplier 21 has substantially the same configuration as the arbitrary-precision divider 20 except that the 8-bit divider is replaced with an 8-bit multiplier, and a description thereof will be omitted. Further, if the bus 22 shown in FIG. 4 is an optical transmission line, an optical signal can be transmitted between the arbitrary precision multiplying device 21 and the arbitrary precision dividing device 20.
  • division although not as much as multiplication, various algorithms have been devised. Also, in signal processing, division is not used as often as multiplication.
  • a look-up table (conversion table) showing the relationship between the variable X and 1 / x is prepared in ROM, and the division of y / x is replaced with the multiplication of y (1 / X) and executed.
  • the reciprocal ROM method is the fastest, but has the drawback that if high precision is required, the ROM capacity for storing the look-up table will increase exponentially. Therefore, signal processing is used only when relatively coarse accuracy is sufficient.
  • the following logarithmic calculation method also needs to be used after sufficiently examining the accuracy due to the limitation of the logarithmic ROM capacity.In this sense, the above two ROM methods are general-purpose methods that can be used in any case. It's hard to say.
  • the methods that can divide for any precision are the subtraction shift method and the convergent division method.
  • the convergence division method regards the dividend and divisor as the numerator and denominator of the fraction, multiplies the numerator denominator by the same convergence coefficient until the denominator approaches 1, and the final numerator value obtained is the quotient .
  • the reciprocal of the divisor is obtained by a convergence algorithm, and the quotient can be obtained from the product of the reciprocal and the dividend.
  • the convergence division method in which convergence is performed by approximation, further approximates the propagation of the partial remainder, and the error increases.
  • the subtraction shift method does not have such a problem, and can perform division with arbitrary precision, and is considered to be the most suitable when considering the extended function of division capability by connecting multiple chips (modules).
  • division is effective within the range of usable digits, and the use of even one bit beyond the division capability cannot be easily dealt with, even using a memory or an external circuit.
  • the algorithm of this divider is based on the “subtraction shift method” in which the dividend is shifted and subtracted by trial and error.
  • the general basic formula is represented by the following recurrence formula.
  • R (0, / D ⁇ 2 " ⁇ ⁇ + (2— n R (n) ) / D ⁇ 2— is the quotient Q sought, and the final remainder R is 2— n R ( n ).
  • the digit of the quotient q j + 1 in each operation step is as follows according to the magnitude relationship between 2R and D.
  • the distributed divisor and the subtractor are fixed in each module, and the dividends are connected to perform the shift and the subtraction, thereby enabling the decentralization of the modules.
  • Fig. 8 shows the operation of each step when one module is expanded to two modules for a 4-bit divider for simplicity.
  • the divisor distributed over the two modules is connected to the borrowing terminals BO and BN with a subtractor and a latch circuit.
  • the dividend is connected by the Q I and QO terminals to
  • the divisor part is fixed to each module, and the operation is completed by repeating left shift and subtraction as many times as necessary for the dividend.
  • the quotient q and the partial remainder are determined by the subtraction result in each subtraction process.
  • the operation ends in 7 steps, and in the 8th step, only the quotient q 0 is stored.
  • the quotient data Q is obtained in the dividend latch shift circuit 32 (see FIG. 9) described later, and the remainder data is obtained in the partial remainder shift circuit 34 (see FIG. 9) described later. Become.
  • FIG. 9 shows a schematic block diagram of a first divider 25-1 as an example.
  • the first divider 2 5-1 comprises a divisor latch circuit 31 for latching the input 8-bit divisor data, and a dividend latch shift circuit 32 for latching the dividend data and performing a shift operation.
  • a parallel subtraction circuit 33 for subtracting the divisor corresponding to the divisor data from the dividend corresponding to the dividend data overnight; a partial remainder shift circuit 34 for storing the partial remainder data and performing a shift operation;
  • a control circuit 35 for generating a shift pulse necessary for the division.
  • the division end signal / D END becomes "L" level, and the upper digit subtractor (here, the second subtractor 251-2) operates similarly. Will be started.
  • step S32 A is substituted into A1 (step S32), and the initial value of the operation variable k is set to 1 (step S33).
  • Step S37 the calculation variable k is set to k + 1 (step S38). Then, when the operation variable k is equal to or larger than N, the obtained remainder A is the residue to be obtained. In this case, the maximum precision of the multiplication is twice the number of A bits.
  • the processing can be greatly simplified as compared with the conventional processing of FIG.
  • FIG. 12 shows the number of gates when four modules are incorporated (variable precision of 16 to 64 bits for multiplication and 32 to 128 bits for division).
  • one modular exponentiation unit including a control circuit and a dynamic connection circuit can be integrated into one chip at about 12 000 [gates].
  • the arithmetic processing required for the modular exponentiation operation can be decomposed into four stages of multiplication processing and division processing (1) to (4) as shown in Fig. 13A. .
  • the multiplication of (1) and (3) is performed by the 1-bit multiplier 21 of FIG. 138, and the division of (2) and (4) is performed by the 2i bit of FIG. 13B. This is performed by the divider 20.
  • the multiplication precision in the multiplication processing of (1) and (3) is less than or equal to the maximum number of bits i of c, and the product is at most twice the number of bits i of c.
  • the division accuracy in the division (residue operation) processing of (2) and (4) is at most twice the number of bits i of c.
  • the i-bit multiplier 21 and the 2i-bit divider 20 have the same configuration as the arbitrary precision multiplier 21 and the arbitrary precision divider 20 in FIG.
  • the input values are a, b, and c.
  • the initial M is initialized to 1.
  • a and M are input to the i-bit multiplier 21, and the remainder obtained by dividing the result by c is stored as M.
  • FIG. 13 (1) r 1 2 in A, r 2 2, r 3 3 ... operation is performed by the i-bit multiplier 2 1, in FIG. 13A (2), the r I 2,
  • the remainder obtained by dividing r 2 2 ,... by c is determined by the 2 i-bit divider 20 as r 2, r 3-(M during calculation).
  • the remainder obtained by dividing K 1, K 2,... By c is represented by R 0, R 1,.
  • the remainder Rn-3 obtained by dividing kn-2 by c is the value M to be obtained.
  • the multiplication time of (1) is 1047552 [Clock], 2095104 [Clock] for the remainder operation time of (2), 1047552 [Clock] for the multiplication time of (3), and 2095104 [Clock] for the remainder operation time of (4), a total of 6285312 [Clock] Clock] is required.
  • the configuration is such that X power modular exponentiation units are cascade-connected so that power is satisfied, it is not necessary to supply power to the power modular exponentiation unit that is unnecessary for the operation, so that the power consumption is appropriate. As a result, the calculation processing time can be optimized.
  • the modular exponentiation unit can be configured with a modular exponentiation module that performs modular exponentiation with y multiplication precision 2 ⁇ / y and y division precision 2 2 ′ ( ra / y) that can be cascaded. it can.
  • a modular exponentiation module that performs modular exponentiation with y multiplication precision 2 ⁇ / y and y division precision 2 2 ′ ( ra / y) that can be cascaded. it can.
  • cascade the power-residue operation modules of y 1 ⁇ 2 nl / 2 m / y sufficient to perform encryption and decryption with 2 111- bit precision. If the connection is made, the power consumption and the operation processing time can be further optimized.
  • the arbitrary-precision divider that realizes the distributed processing of division has 128-bit precision, and even if the arbitrary-precision multiplier is formed into one chip with 64-bit precision, about 1 bit is obtained.
  • a scale of 22,000 gates is required, and by connecting the multiplication / division unit (chip) to a power unit of 8 to 16 units, it is possible to easily cope with the accuracy of 512 to 124 bits. . Similarly, higher precision can be easily realized.
  • the operation is performed with the number of clocks proportional to the accuracy (for example, 512 clocks for 512-bit accuracy), and can be built with complete hardware on the board, so that the speed can be increased.
  • an encryption / decryption system can be easily constructed for each personal computer system, and a desirable encryption / decryption system can be realized from the viewpoint of information security.
  • At least K (x ⁇ K / A) power-residue calculation units are prepared in advance for the yield rate A of the power-residue calculation unit, and the non-defective power-residue calculation of the K power-residue calculation units is performed. It is preferable to adopt a redundant configuration so that X units are connected. In this way, even if a failure occurs in the power-residue operation module, the connection can be switched to the redundant power-residue operation module, so that the power-residue operation unit can be treated as a good product.
  • the same can be said not only for the modular exponentiation operation unit but also for the modular exponentiation operation module constituting the modular exponentiation operation unit.
  • the yield A 'of the modular exponentiation operation module at least L (y ⁇ L / A') modular exponentiation operation modules are prepared in advance in each modular exponentiation unit.
  • a redundant configuration is adopted so that y non-defective power-residue operation modules among the power-residue operation modules are connected.
  • the connection is switched to the redundant modular exponentiation module.
  • the modular exponentiation unit can be treated as a good product.
  • the case of the RSA cryptosystem of the public key cryptosystem has been described, but the present invention can be similarly applied to the elliptic curve cryptosystem.
  • the power-residue calculation devices are provided outside the personal computer overnight system.
  • a part of the power-residue calculation device is previously provided inside the personal computer system.
  • Extension slot for modular exponentiation operation unit for accuracy extension is provided in advance in the personal computer overnight system, and the power exponentiation operation unit is extended in the same way as when memory expansion is performed using the memory expansion slot. This is an embodiment in which the calculation accuracy can be easily extended by attaching to a slot.
  • An external modular exponentiation unit is connected to the modular exponentiation unit expansion slot so that encryption and decryption with 2 n- bit precision can be easily performed.
  • Various changes described in the second embodiment are also possible for the external power-residue calculation unit.
  • the present invention is realized by a personal computer.
  • the present invention can be similarly applied to a workstation, various measuring devices, and a computer embedded in a device such as a home appliance. is there.
  • FIG. 17 is a block diagram showing an example of a microcomputer 100 as an information processing system to which the present invention has been applied.
  • the microcomputer 100 includes the following various functional units.
  • CPU central processing unit
  • ROM read 'only' memory
  • RAM random access' memory
  • cache memory high frequency oscillator 108
  • low frequency oscillator 110 reset Timer circuit, such as a clock circuit 112, a prescaler 114, a 16-bit programmable timer 116, an 8-bit programmable timer 118, and a clock timer 120
  • an intelligent DMAC direct memory access controller
  • a high-speed DMA C Data transfer control circuit such as 124, interrupt controller 126, serial interface 128, BCU (bus control unit) 130, A / D (analog / digital) converter 132 and D / A (digital / analog) analog interface circuit such as converter 134, input port 136, output port 138, and I / O (input / output) port I / O circuits such as 140 are arranged in microcomputer 100.
  • the microcomputer 100 includes a bus line 146 such as a data bus 142 and an address bus 144 for connecting the CPU 102 to the other function units 104 to 140, and various terminals 148. These are formed on one semiconductor substrate. In FIG. 17, the data bus 142 and the address bus 144 are separated from each other. And the address may be shared by one line for transmission.
  • the internal bus 4 shown in FIG. 2 is connected to the bus line 146 shown in FIG. 17, and the above-described components are also connected to the micro-programmable processor 3.
  • the signals transmitted through the data bus 142, the address bus 144, and the internal bus 4 are optical signals.
  • multi-channel data For example, 32 bits of data are simultaneously transmitted optically as optical signals having different wavelengths through a data bus 142 formed by an optical transmission medium.
  • address signals are simultaneously transmitted optically through the address bus 144 as multi-channel optical signals having different wavelengths.
  • the data bus 144 and the address bus 144 are also used as one optical transmission medium, the data and address of the optical signal are transmitted in a time-division manner.
  • all of the above-described function units 102 to 140 operate to realize various functions with multi-channel electric signals, and are formed of semiconductor elements or the like, as in the related art.
  • the various function units 102 to 140 are connected to a multi-channel electric signal input via the bus line 144 (data bus 144 and / or address bus 144). And a signal output unit for converting a multi-channel electrical signal into a multi-channel optical signal and outputting the converted signal to the bus line 146.
  • FIG. 18 is a diagram schematically showing a part of the substrate 200 on which the microcomputer 100 is formed.
  • FIG. 18 shows the second functional unit 220 from the first functional unit 210 (one of the functional units 102 to 140) formed on the substrate 200. (The other one of the function units 102 to 140) is shown in the figure for transmitting a signal via the bus line 146.
  • the first function unit 210 includes an electric circuit area 211, a wiring section 214 for transmitting an output signal (multi-channel electric signal) from the electric circuit area 212, and a multi-channel. And a light emitting unit 216 as a signal output unit for emitting and outputting multi-channel optical signals having different wavelengths based on the electrical signals of the respective optical signals.
  • the second function unit 220 includes a light receiving section 222 as a signal input section for converting a multi-channel optical signal into a multi-channel electric signal, and an amplifier circuit 2 for amplifying the multi-channel electric signal. 24, a wiring section 226 for transmitting the electric signal, and an electric circuit area 228.
  • the amplifier circuit 224 functions as a level shifter that shifts the voltage level of the electric signal from the light receiving section 222 to the required voltage level in the second function unit 220. It is provided according to.
  • the bus line 1 4 6 formed between the light emitting section 2 16 and the light receiving section 2 2 2 It is configured as a waveguide 230, which is a medium, and simultaneously transmits multi-channel optical signals.
  • the light-emitting portion 211 shown in FIG. 18 has a number of light-emitting elements equal to the number of multi-channels in order to convert multi-channel electrical signals into multi-channel optical signals.
  • the light receiving section 222 has light receiving elements for multiple channels.
  • the first functional unit 210 includes a light receiving unit optically connected to the waveguide 230 as an optical transmission medium shown in FIG. 18 and an electric signal from the light receiving unit. And an amplifier for amplification.
  • the second functional unit 220 has a light emitting section 222 optically connected to the waveguide 230.
  • FIG. 19 is a cross-sectional view showing an example of three light emitting elements 2 16 A to 2 16 C and a waveguide 230 which are a part of the light emitting section 2 16 shown in FIG. FIG. 19 illustrates a state in which light-emitting elements 2 16 A to 2 16 C for three channels are formed on the common waveguide 230.
  • the waveguide 2 3 0, for example, lower S i 0 2 layers 2 4 0 and the upper Core transparent electrode example IT_ ⁇ between S i 0 2 layers 2 4 2 (Indium (Tin-oxide) Layer 2 4 4 is provided. Note that all of the outer surface of the IT 0 layer 2 4 4 serving as a core, light leakage is covered by S i 0 2 layers 2 4 0 or S i 0 2 layers 2 4 2 is prevented.
  • the light-emitting element 2 16 A has a bank 250 for partitioning a light-emitting portion of each channel on the upper Sio 2 layer 24 2.
  • a metal electrode for example, A 1 _L
  • a 1 _L a metal electrode formed so as to cover the light emitting layer 255 and a part of the bank 250.
  • 2 5 6 are formed. Note that an optical filter that transmits a narrow band wavelength may be formed below the ITO layer 252.
  • the light emitting layer 254 of the light emitting element 216A is formed by, for example, an organic EL (electroluminescence). This organic EL is ejected from an ink jet nozzle 258 onto the ITO layer 252, for example, as shown in FIG. 20, and is formed, for example, with a film thickness of about 0.1 ⁇ m.
  • the wavelength of the light emitted from the light emitting layer 254 of the light emitting element 216 A of a certain channel can be changed to the light emitting layer of the light emitting elements 216 B and 216 C of all the other channels. 254 emission wavelengths.
  • the degree of freedom in selecting the emission wavelength is large, and virtually any wavelength can be selected by selecting a specific material or decoding the material.
  • organic light emitting material one in which the energy of excitons in the light emitting material corresponds to the energy difference between HOMO (highest occupied level) and LUMO (lowest vacant level) corresponding to the band gap of the organic substance. Selected. For example, low molecular weight, high molecular weight, especially conjugated macromolecule with a conjugated system developed in the main chain, conductive molecule and dye molecule are selected.
  • organic light emitting material for example, to emit blue light, anthracene, PPCP, Zn (OxZ) 2s distilbenzene (DSB), a derivative thereof (PESB) and the like are used.
  • DPPC Zn (OxZ) 2s distilbenzene
  • PESB a derivative thereof
  • red light BPPC, berylen, DCM, or the like is used.
  • organic light emitting material for example, PAT for red light emission, MEH-PPV for orange light emission, PDAF, FP- for blue light emission, etc.
  • PPP red light emission
  • MEH-PPV orange light emission
  • PDAF FP- for blue light emission
  • PPP RO—PPP
  • PPP etc.
  • PMPS is used to emit purple light.
  • PPV organic light-emitting material
  • RO-PP V organic light-emitting material
  • CN- PPV organic light-emitting material
  • P dp hQ x ⁇ PQ X ⁇ P VK poly (N- vinylcarbazole)
  • PPS PnPs, such as PB PS
  • the oscillation wavelength (emission color) of PVK can be changed by controlling the mixing concentration and the number of ejections of dopant inks such as dye molecules having poor carrier transport ability such as Eu complexes.
  • dopant inks such as dye molecules having poor carrier transport ability such as Eu complexes.
  • doping a fluorescent dye into an organic light-emitting material consisting of PVK Light color can be adjusted.
  • the emission color can be arbitrarily changed from green to red.
  • the wavelength of light can be adjusted to some extent by an optical filter additionally disposed below the ITO layer 255 in FIG.
  • a normal absorption-type optical color filter can be used as the optical filter described above.
  • An optical signal can be transmitted by passing only light of the color (wavelength).
  • a distributed reflection type multilayer mirror can be used as an optical filter additionally disposed below the ITO layer 255.
  • the DBR mirror has a structure in which a plurality of thin films having different refractive indices are stacked, and in particular, has a plurality of pairs formed of two types of thin films having different refractive indices.
  • the component constituting the thin film include a semiconductor material and a dielectric material, and among these, a dielectric material is preferable. These can be formed using a normal vacuum film forming method or a liquid phase film forming method.
  • the dielectric material an organic compound soluble in an organic solvent can be used as a starting material. In this case, the pattern formation by the ink jet method shown in FIG. 20 can be applied.
  • the light emitting elements 2 16 A to 2 16 C can be vertical cavity surface emitting lasers.
  • This surface-emitting laser is composed of a cladding layer and a mirror between two mirrors having different reflectivities, for example, a distributed reflection multilayer (DBR) mirror (in the example of FIG. 19, the lower mirror has low reflectivity).
  • An active layer (preferably a quantum well structure) is formed by alternately laminating the layers, between the upper and lower layer mirrors and the upper and lower layer electrodes (in the example of Fig. 19, the lower electrode is a transparent electrode such as ITO).
  • ITO transparent electrode
  • the emission wavelength of the surface emitting laser in each channel is also an example of a material that is epitaxially grown.
  • the composition can be changed by selecting the composition of GaA1As, and a plurality of surface emitting lasers having different compositions can be mounted on the waveguide 230 by pattern formation by the inkjet method shown in FIG.
  • an edge emitting laser 270 as shown in FIG. 22 can be used.
  • the light 274 emitted from the end face 272 of the end face light emitting laser 270 is propagated in a wave guide 276 formed of an optical transmission medium such as an ITO.
  • the emission wavelength of the edge emitting laser in each channel can also be changed by selecting the composition of the constituent material.
  • FIG. 21 shows an example of three channels of light receiving elements 222A to 222C provided on an extension of the waveguide 230 shown in FIG. Since the light receiving elements 222A to 222C also have a common configuration except that the composition, material, and the like of some of the layers described later are different, the light receiving element 222A will be described below.
  • the light receiving element 222A includes an optical filter 262, an ITO layer 263 as a transparent electrode, and an ITO layer 263 on the ITO layer 244 in a region where the upper Si02 layer 242 is removed from the waveguide 230. It has a conductive type semiconductor layer, for example, an n-type GaAl As layer 264, a second conductive type semiconductor layer, for example, a p-type GaAlAs layer 266, and a metal electrode 268.
  • a conductive type semiconductor layer for example, an n-type GaAl As layer 264
  • a second conductive type semiconductor layer for example, a p-type GaAlAs
  • the first and second conductivity type semiconductor layers 264 and 266 constitute a PIN photodiode.
  • a PIN photodiode one having a p-type a-SiC (p-type semiconductor), an i-type a-Si layer, and an n-type a-SiC layer may be used.
  • an A1-Si-Cu layer can be used as the metal electrode 268.
  • the optical filter 262 is, for example, a first optical filter that transmits light having a wavelength of X 1 nm or more, and a second optical filter that transmits light having a wavelength of X2 (> X 1) nm or less. And has at least two layers, and functions as a narrow band optical filter that transmits light having a wavelength of X1 to X2 nm.
  • the configuration of the optical filter 262 can be applied to an optical filter additionally disposed below the ITO layer 252 in FIG.
  • the material described as an optical filter additionally disposed below the ITO layer 252 in FIG. 19 can be used for the optical filter 262.
  • the optical filter 262 can change the wavelength of the transmitted light by selecting the constituent material.
  • the wavelength of light that can be detected in a photodiode constituted by the first and second conductive semiconductor layers 264 and 268 can also be changed by selecting the constituent material, for example, the composition of GaAlAs.
  • the wavelength of light detected by the light receiving element 222A of a certain channel is made different from the detection wavelength of the light receiving elements 222B and 222C of all other channels.
  • the optical filter 262 and the first and second conductive semiconductor layers 264 and 268 can be formed by a layer forming method using an ink jet nozzle 258 shown in FIG.
  • light receiving elements 222 A, 222 B, and 222 C having different detection wavelengths may be mounted on the waveguide 230.
  • the CPU 102 shown in FIG. 17 reads the data from the cache memory RAMI 06, for example, a chip enable or chip select signal for selecting the CPU 102 RAM 106, and further, a read address signal, etc. It is output as an electric signal.
  • the multi-channel electric signal is output from the electric circuit area 212 in FIG.
  • the multi-channel electric signal is input to the light emitting unit 216 via the wiring unit 214.
  • one of the electric signals of each channel is input to the metal electrode 256 shown in FIG. Is emitted.
  • an optical signal whose emission is controlled for each channel is emitted from the light emitting layer 254 of each channel, and is incident on the waveguide 230 via the ITO layer 252.
  • the waveguide 230 light propagates through the ITO layer 244 serving as a core as shown in FIG.
  • each of the light receiving elements 222A to 222C constituting the light receiving section has an optical filter 262 that allows light of a different wavelength to pass therethrough. Only light having a wavelength corresponding to each channel is incident on each of the arranged light receiving elements 222A-222C. Further, since each of the light receiving elements 222A to 222C is configured to detect light having a wavelength that has passed through each optical filter 262, an electric signal can be output for each channel.
  • the RAM 106 is electrically driven in the same manner as the conventional LSI, and the necessary data is read out from the RAM 106.
  • the electric signal read from the RAM 106 is converted into an optical signal by the light emitting unit on the second function unit 220 side omitted in FIG. 18, and propagated through the waveguide 230 shown in FIG. This optical signal is converted into an electric signal at the light receiving section on the first functional unit 210 side in FIG. 18 and supplied to the CPU 102 via the amplifier.
  • the input port 136, the output port 138, and the I / O port 140 shown in FIG. 17 may be configured to input and output multi-channel optical signals to and from the bus line 146.
  • the fifth embodiment of the present invention relates to a system LSI in which a plurality of function units integrated in one chip as a conventional LSI, for example, are distributed and accommodated in different semiconductor devices.
  • FIG. 23 shows a configuration in which part of the configuration of the microcomputer 100 shown in FIG. 17 is mounted on a first semiconductor device 300, and all or part of the other components are mounted on a second semiconductor device 302.
  • the figure shows a state in which a system LSI in which second semiconductor devices 300 and 302 are connected by an external bus line 304 is formed on a base substrate 306.
  • the external bus line 304 is formed of, for example, an optical fiber in addition to the waveguide 230 shown in FIG. 18, and signals are transmitted and received between the first and second semiconductor devices 300 and 302 by light.
  • a signal is transmitted between the functional units in each semiconductor device by light in the same manner as in the first embodiment. Is given and received.
  • a RAMI 06 as a cache memory shown in FIG. 17, OM104, and an internal bus line 310 formed of an optical transmission medium are placed on a second substrate. At least on the 312.
  • the function units 108 to 140 not mounted on the second semiconductor device 302 include the first unit. Mounted on the substrate 308 of FIG.
  • the CPU 102 communicates with the other function units 108 to 140 mounted in the first semiconductor device 300 via the internal bus line 146 by an optical signal.
  • address signals can be exchanged.
  • the internal bus line 146, the external bus line 304, Data and address signals can be transmitted and received using an optical signal via the internal bus line 310 in the second semiconductor device 302.
  • the function unit equivalent to the second semiconductor device 302 is not limited to the above-described memory.
  • FIG. 24 is a schematic explanatory view showing a sixth embodiment of the present invention.
  • the light emitting unit, the light receiving unit, and the waveguide are three-dimensionally installed.
  • a first layer to a fifth layer 410 a to 410 e are formed on a substrate 400.
  • the relationship between the light emitting section 4 13 and the light receiving section 4 27 in the fifth layer 4 10 e is as follows: the light emitting section 2 16 and the light receiving section 2 connected by a horizontal waveguide 2 30 shown in FIG. Same as 22.
  • the relationship between the light emitting part 4 13 and the light receiving part 4 24 between the different layers, the relation between the light emitting part 4 14 and the light receiving part 4 22, 4 25, 4 26, the light emitting part 4 12 and the light receiving part 4 The relationship between the light emitting unit 4 and the light emitting unit 4 11 differs from that of the light emitting unit 4 1 3 only in that the waveguide has a vertical portion. This is the same as the relationship between the light receiving sections 222.
  • the first to fifth layers 410a to 410e are formed on different first to fifth substrates.
  • the first substrate on which the first layer 410a is formed can be the substrate 400 in FIG. 24, but if not, the first layer 410a is converted to the first layer. It is peeled from the substrate and transferred onto the substrate 400 in FIG.
  • the second layers 410b to 410e are respectively peeled from the second substrate to the fifth substrate, and are transferred onto the substrate 400 in the order shown in FIG. 24 while being aligned. And stack.
  • the method of peeling and transferring is disclosed in Japanese Patent Application No. 8-225643 filed by the present applicant, and will not be described.
  • the present invention is not limited to the above embodiments, and various modifications can be made within the scope of the present invention.
  • the organic EL and the semiconductor laser are described as examples of the light emitting element.
  • the light emitting element is not limited thereto, and may be formed of an inorganic EL or a light emitting diode.
  • the light receiving element is not limited to the PN photodiode, but may be any of various diodes such as a PN photodiode and an avalanche photodiode, a phototransistor, and photoluminescence.
  • the microcomputer as the information processing system of the present invention is not limited to the one having the function unit shown in FIG. 17, and various scales and types of function unit can be arranged according to the application.
  • one of the system LSIs as in the fifth embodiment is integrated into a single chip as a microcomputer, it is possible to omit some of the functional units required in the conventional microcomputer. It is possible.
  • the function unit omitted from one chip may be mounted on another semiconductor device connected to the one chip via an external bus line.
  • Examples of the electronic device on which the microcomputer of the present invention or the system LSI is mounted include all devices that have been conventionally implemented as microcomputers, and in particular, portable electronic devices that require a reduction in power consumption.
  • the present invention can be suitably applied to information communication devices, home appliances, commercial electronic devices, machine tools, automobile parts and the like.
  • the system LS1500 shown in Fig. 25 is a system LSI equipped with a plurality of function blocks 501, 502, 503, ... from different manufacturers.
  • the three function blocks 501, 502, and 503 shown in Fig. 25 are designed based on libraries developed independently by A, B, and C companies.
  • This system LSI 500 is assumed to be manufactured by Company C.
  • Company C licenses intellectual property rights for burning function blocks 501 and 502 from Company A and Company B Then, this system LSI is manufactured.
  • the seventh embodiment relates to an improvement for managing a license fee relating to this kind of intellectual property right without burdening a development maker and a manufacturer.
  • the above-mentioned RSA decryption key (private key) is disclosed by a license to the end user who uses the function block 501 developed by Company A.
  • the seventh embodiment among the users of the system LSI 500, only the end user having the decryption key can use the function block 501.
  • the configuration and operation of 01 will be described.
  • the function block 501 has four arithmetic operation function areas. This four arithmetic operation function area first executes at least one of encryption and decryption operations when a predetermined decryption key given to the end user is input. For the function block 501, general four arithmetic functions other than encryption and decryption are enabled only after this operation is established.
  • the function block 501 has X arithmetic units 7-1 to 7-X shown in FIG. 2 as four arithmetic operation function units. Some of them are shared as the modular exponentiation unit shown in FIG. 5 or FIG. 13B.
  • the ciphertext M e ⁇ of the formula (3) in the column [1] Explanation of the principle of the RSA method in the second embodiment is used.
  • Decoding C modn is set as a necessary and sufficient condition. Therefore, the end user inputs the decryption key acquired in advance by the license, and calculates the expressions (4) and (5) in the column [1] Explanation of the principle of the RSA method of the second embodiment by using the multiple functions in the function block 501. This is performed using the modular exponentiation unit of, and the ciphertext is decrypted.
  • the function block 501 has the configuration of FIG. 2 of the first embodiment, and a part thereof is used for decrypting the ciphertext described in the second embodiment.
  • signal transmission between each functional block constituting the system LSI 500 and within each functional block can be made optical transmission using the technology of the fourth to sixth embodiments. Needless to say.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Optical Communication System (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

明 細 書
情報処理システム、 暗号/復号システム、 システム L S I及び電子機器 [技術分野]
本発明は、 情報処理システム及び暗号/復号システムに係り、 特にハードゥエ ァ構成によつて任意精度の演算を行う情報処理システム及びハードゥエァ構成に よって任意精度の演算を行って暗号化及び復号を行う暗号/復号システムに関 する。 さらに本発明は、 内部バスラインまたは外部バスラインを光伝送方式とし た情報処理システム、 システム L S I及び電子機器に関する。
[背景技術]
従来より、 乱数発生、 ゥヱーブレッ ト変換、 ニューラルネッ トワーク、 高速フ 一リエ演算、 ディジタルフィル夕等の複雑、 かつ、 大規模な演算を伴う場合には、 開発コスト、 開発期間などの観点から特殊な用途を除き、 専用のハードウェアを 用いることなく、 汎用の演算装置を用い、 ソフトウェアにより実現する構成を採 つていた。
また、 イン夕一ネッ トの普及と共に電子商取引やプライバシー保護の観点から、 情報セキュリティの技術の必要が高まり、 その有効な手段としての暗号技術が注 目されている。
暗号方式は秘密鍵暗号と公開鍵暗号に大別され、 代表的な方式としては、 秘密 鍵暗号としては D E S (Data Encryption Standard) 、 公開鍵暗号としては R S A (Rivest Shamir Adleman cnptograph) がある。
原理的には、 D E Sはデータビッ ト列の並び換えや置換による方式で、 R S A は極めて多ビットの剰余演算を行う方式であり、 一般に秘密鍵暗号方式に比べて 公開鍵暗号方式は数百倍遅くなる。 これは、 公開鍵暗号方式においては、 数百ビ ット以上を法とする非常に多精度の剰余演算を行うことによる。
そこで、 通常、 多量のデータ列の暗号化には高速な秘密鍵暗号方式を用い、 デ 一夕量の少ない認証、 署名および鍵の配送などには公開鍵暗号方式を用いるよう に暗号方式の使い分けがなされている。 また、 公開鍵暗号では、 暗号強度を鍵のビッ ト長を変えることにより選択でき るため、 通信相手の公開したさまざまなビッ ト数の公開鍵を用いて演算ができる ことが求められている。
乱数発生、 ウェーブレッ ト変換、 ニューラルネッ トワーク、 高速フ一リエ演算、 ディジタルフィル夕等を汎用の演算装置を用いてソフ トウエアにより実現する手 法においては、 汎用の演算装置の演算精度を超えて演算を行う場合に、 全てソフ トウェア側で対応する必要があり、 プログラミングの手間及び処理時間の増大に よりその実現が現実的ではなくなつてしまう場合が生じていた。
さらに D E Sではハードウエア技術を用いて実現されなければならないと規定 されているように、 ソフトウェアだけによる暗号/復号システムの場合、 第三者 による解読を避けるのは事実上困難である。 暗号アルゴリズムの一部をハードウ エア化すれば暗号強度はより高いものとなる。
これは公開鍵式暗号方式においても同様であり、 例えば、 1チップ公開鍵暗号 プロセッサが提案されている (電子情報通信学会論文誌 D-I Vol. J80-D-I No.8 pp.725-735 1997-8) 。
しかしながら、 上記 1チップ公開鍵暗号プロセッサにおいては、 予めハードウ エアで規定された精度内での任意精度の処理は可能であるが、 規定された精度を 超える精度が要求された場合には処理はできず、 新たなハードウエアの設計を行 わなければならないという問題点が生じる。
また、 演算装置を、 例えば、 T F T (Thin Film Transistor) で 1チップ構成 とする場合には、 動作しないトランジスタの存在により演算装置全体が使用でき なくなってしまい、 歩留まり率が低下するとともに、 製造コス トの上昇を招くと いう問題点が生じる。
さらに他の課題として、 近年マイクロコンビユー夕の発達により、 各種の分野 にて機器の小型化と高付加価値化が進んでいる一方で、 マイクロコンピュー夕の 設計は極めて困難となっている。 マイクロプロセッサ (M P U ) を 1チヅプ化し て構成されるマイクロコンピュー夕の高集積度化が進むにつれ、 配線幅はサブミ クロンオーダとなって高抵抗化が進み、 多層構造化により浮遊容量も増大するた め、 配線部には分布定数回路が形成されて、 電気信号の伝搬遅延は増大する一方 である。
従って、 マイクロコンピュー夕内の C P U (中央処理ユニッ ト) が他の機能ュ ニッ トに対してデ一夕、 アドレスを伝送するのに要する時間、 他の機能ユニット からデータが入力されるまでに要する時間を考慮して、 C P Uの命令サイクルな どを決定する必要があり、 信号伝搬遅延に起因した設計の負荷が多くなつている ( しかも、 近年は軽薄短小化と付加機能の増大化に従い、 マイクロコンピュータ の超 L S Iと、 高集積化の方向にのみ進んでおり、 マイクロコンピュー夕の設計 はさらに困難になる一方である。
配線抵抗、 容量の増大は、 信号伝搬遅延だけでなく、 信号としての矩形波に変 形も生じさせる。 近年特に携帯用電子機器を中心として省電力化が進んでおり、 電圧レベルが低い矩形波の変形の度合いが大きいと、 信号としての機能を確保で きなくなり、 誤動作の原因ともなる。
そこで、 本発明の目的は、 所望精度の演算が行えるシステムをハードウェア的 に容易に構築することが可能な情報処理システムを提供することにある。
本発明の他の目的は、 任意精度 (任意ビッ ト数) の演算が要求されるシステム をハードウヱァ的に容易に構築することが可能な暗号/復号システムを提供する と あ 0
本発明のさらに他の目的は、 1チップ構成とする場合の実効的な歩留まり率を 向上して、 システムの信頼性を向上することが可能な情報処理システム及び暗号 /復号システムを提供することにある。
本発明のさらに他の目的は、 信号伝搬遅延、 信号波形の変形を無視できる程度 に低減して、 その設計を容易とすることができる情報処理システム及びシステム L S I並びにそれを用いた電子機器を提供することにある。
本発明のさらに他の目的は、 他社開発の機能ブロックを搭載しながらも、 その 知的所有権に関する管理を上述の暗号/復号システム等を利用して容易化するこ とができるシステム L S I及びそれを用いた電子機器を提供することにある。
[発明の開示] 本発明は、 入力データに対して、 処理手順に従って演算処理して出力する情報 処理システムにおいて、
前記処理手順に基づいて、 それそれ演算精度 2mビッ ト (m : 自然数) にて演算 する複数の演算ュニッ 卜と、
前記演算ュニッ ト同士をカスケ一ド接続するための複数のカスケ一ド接続端子 と、
を有し、
演算処理時に必要な最大演算精度を 2。ビッ ト (nは自然数で固定) としたとき、 x≥ 2n/2m (xは自然数) を満たすように前記演算ュニッ 卜が X個カスケード 接続されることを特徴とする。
本発明によれば、 演算処理を複数の演算処理ュニッ トにて分散処理することで ハードウェア処理が容易となり、 乱数発生処理、 ウエーブレッ ト変換処理、 高速 フーリエ変換処理、 デジタルフィル夕処理などの演算量が多く、 精度が要求され る場合でも、 容易にシステムを構築して演算処理の高速化を図ることとができる。 また、 分散処理の結果、 演算ユニッ トのゲート数を抑制することができ、 装置コ ストを低減することが可能となる。
本発明においては、 演算処理時に必要な演算精度を 2nlビッ ト (1 1 ≤ 11で11 1は可変) としたとき、 X l≥ 2nl/2m (x 1は自然数で可変) を満たすように 前記演算ユニッ トが X 1個カスケ一ド接続される。 このとき、 クロック発生回路 は、 演算処理時に 2nl個の前記基準クロック信号を発生させる。 これにより、 X 個のうちの X 1個の演算ュニッ トが実効的にカスケ一ド接続される。 こうすると、 X 1個以外の演算ュニッ トにて消費される電力を節約でき、 演算速度も高速化さ れる。 さらに、 複数の演算ユニット間にて光信号により信号が伝送されるように すれば、 演算速度はより高速となる。
複数の演算ュニットの各々は、 演算精度 2m/yで演算を行うべき演算モジュール をそれそれ y個 (yは自然数で固定) を有し、 y個の演算モジュールをカスケ一 ド接続することにより構成することができる。
このとき、 演算処理時に必要な演算精度を 2nlビッ ト (11 1 ≤ 11で11 1は可変) としたとき、 y l≥2nl/2m/y (y 1は自然数で可変) を満たすように y 1個の 演算モジュールがカスケ一ド接続されればよい。
あるいは、 2 nlビヅ ト精度の演算を行うのに、 (X 1— 1 ) 個のカスケード接 続された演算ユニッ トにて演算精度 2n2 (n2<nl) にて演算が実施され、 前 記 (X 1— 1 ) 個の演算ュニッ トとカスケ一ド接続される他の一つの演算ュニッ トでは、 y l≥ (2nl-2n2) /2m/y (y l≤yで y 1は可変) を満たす y 1個 の演算モジュールがカスケ一ド接続さされればよい。
この最大 y個の演算モジュール間を光信号により信号が伝送されるようにすれ ば、 各演算ユニッ ト内での演算が高速化される。
本発明では、 処理手順を記憶する第 1の記憶部をさらに有することができる。 さらに、 第 1の記憶部に記憶された処理手順に基づいて複数の演算ュニッ 卜の制 御を行う演算制御手段をさらに備えることができる。 このとき、 複数の演算ュニ ットと演算制御手段との間を、 光信号により信号が伝送されるようにしてもよい。 また、 複数の演算ュニッ トでの演算結果を一時的に記憶する第 2の記憶部を有 し、 第 2の記憶部と複数の演算ュニッ トとの間を光信号により信号が伝送される ように構成しても良い。
複数の演算ユニッ トでの演算の一例として、 入力データを X、 Nとし、 出力デ 一夕 Yをとしたとき、 疑似乱数発生のために、 Y = X2 mod Nの演算の例を 挙げることができる。
ここで、 複数のの演算ュニッ 卜の歩留まり率を Aとしたとき、 全演算ュニッ ト の数を K (x≥K/A) 個用意しておけば、 そののうち良品の演算ユニッ トを最 犬で X個カスケ一ド接続することができる。
あるいは、 演算モジュールの歩留まり率を A,としたとき、 前記複数の演算ュニ ヅ トの各々は、 全演算モジュールの数を L (y≥L/A, )個用意しておけば、 そのうち、 良品の演算モジュールを最大で y個カスケ一ド接続することができる。 本発明の他の態様によれば、 入力データに対して、 処理手順に従って演算処理 して出力する情報処理システムにおいて、
前記処理手順に基づいて、 それそれ演算精度 2 ビッ ト (ml : 自然数で固定) にて演算する複数の内部演算ュニッ トと、
演算精度 2m2ビッ ト (m2 : 自然数で固定) で演算をする複数の外部演算ュニ ッ 卜と、
前記複数の内部演算ュニッ ト及び前記複数の外部演算ュニッ トをカスケード接 続するためのカスケ一ド接続端子と、
を有し、
演算処理時の最大演算精度を 2 ビッ ト (nは自然数で可変) としたとき、 z≥ (2n— 2ml) /2m2 (zは自然数で固定) を満たすように前記外部演算ユニッ ト が z個カスケ一ド接続されることを特徴とする。
こうすると、 演算精度を容易にハードウェア的に拡張することができ、 システ ムの信頼性を確保しつつ、 情報処理システムのシステム設計が容易となる。
本発明のさらに他の態様に係る暗号/復号システムによれば、 複数のべき乗剰 余演算ユニッ トと、
前記複数のべき乗剰余演算ュニッ トをカスケ一ド接続するための複数のカスケ —ド端子と、
を有し、
前記複数のべき乗剰余演算ュニッ トの各々は、
乗算精度 21 "ビット (mは自然数で固定) で乗算を行う乗算ユニッ トと、 除算精度 22'mビッ 卜で除算を行う除算ュニッ 卜と、
を有し、
前記複数のべき乗剰余演算ュニッ トにより実施されるべき乗剰余演算の最大演 算精度を 2n (nは自然数で固定) としたとき、
X≥ 2 2 m (Xは自然数で固定)
を満たすように、 前記複数のべき乗剰余演算ユニッ トが X個接続されて、 暗号化 及び復号を行うことを特徴とする。
こうすると、 暗号化または復号のための演算処理を複数の演算処理ュニッ 卜に て分散処理することでハードウェア処理が容易となり、 演算量が多く、 精度が要 求される場合でも、 容易にシステムを構築して演算処理の高速化を図ることとが できる。 また、 分散処理の結果、 演算ユニッ トのゲート数を抑制することができ、 装置コストを低減することが可能となる。
本発明のさらに他の態様に係る暗号/復号システムによれば、 乗算精度 2 mlビ ッ ト (mlは自然数で固定) 、 除算精度 22'mlビッ トでべき乗剰余演算を行う複 数の内部べき乗剰余演算ュニッ 卜と、
乗算精度 2m2ビッ ト (m2は自然数で固定) 、 除算精度 22'm2ビッ トでべき乗 剰余演算を行う複数の外部べき乗剰余演算ュニッ トと、
前記複数の内部及び外部べき乗剰余演算ュニッ トをカスケ一ド接続するための カスケ一ド接続端子と、
を有し、
最大ビッ ト精度 2n (nは自然数で固定) で暗号化及び復号を行うに際して、 z≥ (2n- 2ml) /2m2 (zは自然数で固定) を満たすように前記外部べき乗 剰余演算ュニッ トを z個接続することを特徴とする。
こうすると、 べき乗剰余演算における演算精度を容易にハードウエア的に拡張 することができ、 鍵の精度において十分な信頼性を確保することができる。
さらに少ないゲート数で外部べき乗剰余演算ュニッ トを構成することができる ため、 パーソナルコンピュータシステムにおいても暗号/復号システムを容易に 構築することが可能となる。
本発明のさらに他の態様によれば、 多チヤンネルの電気信号に基づいてそれそ れ動作する複数の機能ュニットと、 それらの間で信号を伝送するバスラインとを、 有する情報処理システムであって、
前記複数の機能ュニッ 卜の各々は、 信号出力部及び/又は信号入力部を有し、 前記信号出力部は、 多チャンネルの電気信号を波長の異なる多チャンネルの光 信号に変換して出力する電気一光信号変換手段を有し、
前記信号入力部は、 波長の異なる多チャンネルの前記光信号を多チャンネルの 前記電気信号をに変換する光一電気信号変換手段を有し、
前記バスラインは光伝送媒体にて形成されていることを特徴とする。
この場合、 一の機能ユニッ トと他の機能ユニッ トとの間の信号伝送は、 光伝送 媒体であるバスラインを介して、 波長分割された多チャンネルの光信号を伝送す ることで行われる。 このため、 各機能ユニッ トの信号出力部は、 多チャンネルの 電気信号を多チャンネルの光信号に変換する電気—光信号変換手段を有し、 各機 能ュニッ 卜の信号入力部は、 多チャンネルの光信号を多チャンネルの電気信号に 変換する光一電気信号変換手段を有する。
1チップのマイクロコンヒュ一夕の各機能ュニッ ト間を光通信しているため、 光の速度による信号伝搬によつて信号伝搬遅延をほとんどは無視できる。 結果と して、 その信号伝搬遅延等に伴う設計上の制約がなくなり、 情報処理システムの 設計を容易化できる。
本発明では、 複数の機能ユニッ トの一つは中央処理ユニッ ト (C P U ) であり、 前記バスラインはデ一夕バスラインとアドレスバスラインとを含むことができる。
C P Uに接続されたデ一夕、 ァドレスバスラインの双方を光伝送ラインとするも のである。
この場合、 デ一夕バスラインとァドレスバスラインとは 1本の光伝送媒体にて 兼用することもできる。 デ一夕とアドレスとは同時でなく、 時分割で伝送すれば よいからである。
本発明ではさらに、 バスラインには、 周辺機器と光通信するための光入出力部 が接続されていることが好ましい。 こうすると、 情報処理システム内の各機能ュ ニッ トの電気一光信号変換手段にて変換された光信号を、 そのまま周辺機器に送 信でき、 逆に周辺機器からの光信号をそのまま情報処理システムに入力できる。 また、 光信号へのノイズの重畳や、 光信号からのノイズの放出もなくなるという 利点もある。
周辺機器と光通信するための光入出力部は、 前記バスラインを介して前記中央 処理ュニッ 卜から伝送されるチップセレク ト信号により、 前記周辺機器との間で の光通信が可能とされることが好ましい。 このとき、 光入出力部としては、 チッ プセレク ト信号により動作される光シャッター等にて構成できる。
本発明のさらに他の態様によれば、 第 1の内部バスラインを有する第 1の半導 体装置と、 第 2の内部バスラインを有する第 2の半導体装置とを、 外部バスライ ンを介して接続して成るシステム L S Iであって、
前記第 1の半導体装置は、 第 1の信号出力部及び第 1の信号入力部を有し、 多 チャンネルの電気信号に基づいて動作する中央処理ユニッ ト (C P U ) が、 前記 第 1の内部バスラインと共に第 1の基板上に形成され、
前記第 2の半導体装置は、 第 2の信号出力部及び第 2の信号入力部を有し、 か つ、 前記中央処理ユニッ トからの信号により制御されて、 多チャンネルの電気信 号に基づいて動作する被制御ュニッ トが、 前記第 2の内部バスラインと共に第 2 の基板上に形成され、
前記第 1, 第 2の信号出力部は、 多チャンネルの電気信号を波長の異なる多チ ヤンネルの光信号に変換して出力する電気一光信号変換手段をそれそれ有し、 前記第 1, 第 2の信号入力部は、 波長の異なる多チャンネルの前記光信号を多 チャンネルの前記電気信号に変換する光一電気信号変換手段をそれそれ有し、 前記第 1, 第 2の内部バスライン及び前記外部バスラインは、 それそれ光伝送 媒体にて形成されていることを特徴とする。
こうすると、 例えば第 1の半導体装置を上述の 1チップ化されたマイクロコン ピュー夕とした場合、 本来マイクロコンピュー夕内に搭載されるべき機能ュニッ 卜の少なくとも一つは、 第 2の半導体装置に搭載できる。 この場合、 第 1, 第 2 の半導体装置内の機能ユニッ ト同士は、 第 1 , 第 2の内部バスライン及び外部バ スラインを介して光による信号の授受が行われる。 従って、 空間的には異なる基 板上に配置された機能ュニット同士が、 光の伝送速度で通信できるバスラインに て接続されるため、 機能的には上述の 1チップ内で光による信号の授受が行われ る複数の機能ュニッ トを搭載したマイクロコンビユー夕と等価となる。
このように、 本来 1チップ内に搭載されるべき機能ュニッ トの一部を外部に取 り出すことができるため、 高集積化の必要はなくなるという利点がある。 あるい は、 マイクロコンビユー夕に演算機能、 メモリなどを増設したい場合にも、 従来 のように 1チップマイクロコンピュー夕の設計をやり直す必要なく、 基本となる マイクロコンピュー夕に光伝送媒体である外部バスラインを介して半導体装置を 外付けすればよい。 従って、 マイクロコンビユー夕の汎用性が高まるという利点 もある。
特に、 本発明を適用すればキヤシュメモリの容量の変更を自由に行うことがで きる。
さらに好ましくは、 本発明において、 内部バスラインの内部クロックを外部バ スラインへも供給する構成とする。 これによつて、 内部クロックが全機能ュニッ トの標準クロックとなり、 同期モ一ドでデータ処理を行うことが可能となる。 上記の本発明に係る情報処理システムまたはシステム L S Iを電子機器に搭載 すれば、 その電子機器の機能変更にも容易に対応できる。
本発明のさらに他の態様によれば、 開発メ一力が異なる複数の機能プロックが 搭載されたシステム L S Iであって、
前記複数の機能プロックの少なくとも一つは、 四則演算機能ェリァを有し、 前記四則演算機能エリアは、 所定の復号鍵が入力された際に復号ための演算を 実施し、 その復号が成立した時以降初めて、 前記復号以外の四則演算機能がイネ 一ブルとされることを特徴とする。
このシステム L S Iには、 例えば A社の開発した機能プロヅクが含まれている とする。 このシステム L S I中の A社の開発した機能プロックを利用するェンド ュ一ザに、 例えば R S A方式の復号鍵 (プライベートキー) をライセンスによつ て開示する。 そして、 本システム L S Iの利用者のうち、 復号鍵を有するエンド ュ一ザのみが機能ブロックを利用できるようにしたものである。 これにより、 A 社の開発した機能プロックを利用するには、 A社から復号鍵をライセンスによつ て取得する必要が生じ、 知的所有権に関する管理が容易となる。
この四則演算機能エリアには、 上述した通り、 処理手順に基づいて、 それそれ 演算精度 2 ffiビッ ト (m : 自然数で固定) にて演算する X個のカスケード接続され る演算ユニッ トを備えることができる。 この複数の演算ユニッ トの一部は、 カス ケ一ド接続される複数のべき乗剰余演算ュニッ トを含むことができる。
[図面の簡単な説明]
図 1 A及び図 1 Bは、 本発明の第 1実施例に係る情報処理システムの概要構成 を示すプロック図である。
図 2は、 図 1 A及び図 1 B中のプログラマブルディジタルプロセッサの概要構 成を示すプロック図である。
図 3は、 第 1実施例を疑似乱数発生回路に適用した具体例を示すプロック図で ある。
図 4は、 本発明の第 2実施例に係る暗号/復号システムの概要構成プロック図 である。
図 5は、 べき乗剰余演算装置の概要構成を示すプロック図である。
図 6は、 任意精度除算装置の概要構成を示すプロック図である。
図 7 A〜図 7 Cはそれそれ、 除算分散処理の困難性を説明する説明図である。 図 8は、 任意精度除算器の構成と動作の説明図である。
図 9は、 除算器の概要構成を示すブロック図である。
図 1 0は、 除算器の動作タイミングチャートである。
図 1 1は、 本発明の第 2実施例における R S Aに基づいた公開鍵暗号方式の暗 号化及び復号処理の処理手順を示している。
図 1 2は、 べき乗剰余演算装置に必要なゲート数を説明する図である。
図 1 3 Aは、 a b≡M m o d cの演算手法を説明する説明図である。
図 1 3 Bは、 図 1 3 Aの演算を実行する回路のプロック図である。
図 1 3 Cは、 図 1 3 Aの手法に従って、 1 8 6 1 9≡M m o d 3 7 7を復号 して M = 1 7を求めた演算例の説明図である。
図 1 4は、 図 1 3 Aにて必要な演算処理時間の計算を示す説明図である。 図 1 5は、 演算処理時間の例を示す説明図である。
図 1 6は、 従来における R S Aに基づいた公開鍵暗号方式の暗号化及び復号処 理の処理手順である。
図 1 7は、 本発明の第 4実施例に係るマイクロコンピュータの一例を示すプロ ック図である。
図 1 8は、 図 1 7に示すマイクロコンピュータの光伝送部を含む領域の概略説 明図である。 図 1 9は、 図 1 8に示す発光部を構成する 3チャンネル分の発光素子の概略断 面図である。
図 2 0は、 図 1 9に示す発光層の製膜方法の一例を示す概略説明図である。 図 2 1は、 図 1 8に示す受光部を構成する 3チャンネル分の受光素子の概略断 面図である。
図 2 2は、 図 1 8に示す発光部の変形例を示す概略説明図である。
図 2 3は、 本発明の第 5実施例に係るシステム L S Iを示す概略説明図である。 図 2 4は、 発光部、 導波路及び受光部を三次元的に配置した本発明の第 6実施 例を示す概略説明図である。
図 2 5は、 本発明の第 7実施例に係るシステム L S Iの概略図である。
[発明を実施するための最良の形態]
次に図面を参照して本発明の好適な実施例を説明する。
(第 1実施例)
図 1 Aに第 1実施例の情報処理システムのプロック図を示す。
情報処理システム 1 0は、 図 1 Aに示すように例えば 2つの汎用のマイクロプ 口セッサにより構成される。 図 1 Aにおいて、 この情報処理システム 1 0は、 シ ステム全体を制御するためのメインマイクロプロセッサ 1と、 メインマイクロプ 口セヅサ 1とバス 2を介して接続されたプログラマブルディジ夕ルプロセッサ 3 と、 を備えている。 プログラマブルディジタルプロセッサ 3は、 メインマイクロ プロセッサ 1に代わって予め設定されたプログラム (処理手順) に従って高速で 所望演算精度の演算を行うコプロセッサ (coprocessor) として機能する。
ここで、 バス 2には、 図示は省略してあるが、 この情報処理システム 1 0に要 求される仕様に応じて、 キ一ボード、 マウスなどの入力装置、 プリン夕などの出 力装置、 R 0 M、 R A M等の記憶装置及びハードディスク装置などの外部装置な どが直接、 あるいは、 イン夕一フェース装置を介して接続されている。
図 2は、 図 1に示すプログラマブルディジ夕ルプロセッサ 3の構成を示してい る。 このプログラマブルディジタルプロセッサ 3は、 図示しないシステム R 0 M、 システム R A Mを有し、 乱数発生処理、 ゥヱーブレッ ト変換処理、 高速フーリエ 変換処理、 デジタルフィル夕処理などの処理手順が予めメインマイクロプロセッ サ 1側からロードされてプログラミングされる。
このプログラマブルディジ夕ルプロセッサ 3は、 全体の制御を司るコントロー ルユニッ ト 5と、 演算途中の各種データ、 処理手順などを格納する RAM 6、 R OM8と、 それそれ演算精度 2mビッ ト (mは自然数で固定) で演算を行う X (X は自然数で固定) 個の演算ュニッ ト 7— 1〜7— Xと、 これら演算ュニッ ト 7— 1〜7— X同士をカスケ一ド接続するためのスィツチ SWと、 ァドレスデ一夕、 命令データなどを転送するための内部システムバス 4 Aと、 各種データを転送す るための内部デ一夕バス 4 Bと、 を備えている。 なお、 内部システムバス 4 Aと 内部デ一夕バス 4 Bとで、 内部バス 4を構成している。 また、 スイッチ SWは、 実施例の構成を図面上で理解できるように便宜的に図示したものである。 実際に は、 実効的にカスケ一ド接続される演算ユニッ トの数は、 プログラマブルディジ タルプロセッサ 3内の例えばコントロールュニッ ト 5から発生する基準クロック 信号の数に基づいて決定され、 機械的にスィッチ SWがオン、 オフする構成では ない。 この点については後述する。
この場合において、 全ての演算ュニッ トを X個カスケード接続した場合に得ら れる最大ビッ ト精度を 2n ( nは自然数で固定) とした時、 カスケード接続される 最大個数 Xは、 以下に示す条件式を満たしている必要がある。
x≥ 2n/ m
なお、 必要な演算精度が最大ビッ ト精度 2n以下のビッ ト精度 2nl ( n lは可変 でかつ n l ≤ n) である場合には、 X個の演算ュニヅ ト 7— 1〜7— Xを全て動 作可能状態としても演算結果を得ることは可能であるが、 最大 X個の演算ュニッ トのうち、
x≥x 1≥ 2nl/2m (x 1は可変)
を満たすように X 1個の演算ュニッ ト 7—:!〜 7— X 1を実効的に動作するよう にカスケード接続すればよい。 こうして、 2 nlビッ ト精度の演算を行うようにす れば、 電力を不必要に消費することなく、 消費電力の適正化を図ることができ、 さらに演算処理時間も最適化することが可能となる。 ここで、 演算ュニヅ ト 7—:! 〜 7— Xの各々は、 それぞれ演算精度 2 m/y (yは 2以上の整数) で演算を行うべき y個の演算モジュール 9— 1 ~9—yが、 スィ ツチ SWを介してカスケード接続可能となっている。 なお、 スィッチ SWは、 実 施例の構成を図面上で理解できるように便宜的に図示したものである。 実際には、 実効的にカスケード接続される演算モジュールの数は、 上述の通り、 プログラマ ブルディジ夕ルプロセッサ 3内の例えばコントロールュニッ ト 5からの基準クロ ック信号の数に基づいて決定され、 機械的にスィッチ SWがオン、 オフする構成 ではない。
ここで、 例えば演算ュニヅ ト 7— 1と演算ュニヅ 卜 7— 2とが実効的にカスケ ―ド接続された場合には、 トータルで 2 y個の演算モジュールがカスケ一ド接続 されたことと等価となる。
そして、 本実施例では、 一つの演算ユニッ トの全 y個の演算モジュール 9一 1 〜9— yのうち、 2nlビッ ト精度の演算を行うのに十分な個数 y 1≥ 2 nl/2m/ y (y 1≤y) の演算モジュールを実効的にカスケード接続することも可能である < こうすれば、 消費電力及び演算処理時間をより最適化することが可能となる。
あるいは、 2nlビッ ト精度の演算を行うのに、 (X 1— 1 ) 個の演算ユニット 7- 1-7- (X— 1) と、 演算ュニヅ ト 7— X 1の中の y 1個の演算モジユー ルとを用いることも可能である。 この場合に、 (X 1— 1 ) 個の演算ユニッ ト 7 — 1〜7— (X— 1) で 2n2 (n2< n 1) のビッ ト精度の演算が実施されると すると、 y 1 (2nl-2n2) /2m/y (y 1≤y) を満たせばよい。
次に、 図 1 A及び図 2に示す装置の動作について説明する。
まず、 メインマイクロプロセッサ 1がプログラマブルディジ夕ルプロセッサ 3 に対し、 演算命令、 演算に必要なデータ及び要求する演算精度に対応する演算精 度デ一夕をバス 2を介して与える。
これによりプログラマプルディジ夕ルプロセッサ 3のコントロールュニッ ト 5 は、 演算ュニッ ト 7—:!〜 7— Xに対し、 メィンマイク口プロセッサュニッ ト 1 及び/または RAM6からの処理手順 (例えば、 図 13Bで示す暗号手順) に基 づいて、 要求された演算精度 2nlに対応する数の演算ュニッ トあるいは演算モジ ユールを制御する。 演算ユニッ ト 7— 1〜マ— Xは、 各演算デ一夕の精度情報に 基づいて、 カスケード接続されるべきュニッ ト数及びモジュール数を判断する。 このカスケード接続されるべきュニッ ト数及びモジュール数は、 演算に必要な基 準クロック信号の数によって決定される。 この基準クロック信号は、 図 1 Aに示 す情報処理システム 1 0が有する図示しない基準クロック信号発生回路にて発生 される。
これにより、 演算に必要とされた数の演算ュニッ ト及び演算モジュールは実効 的にカスケ一ド接続され、 コントロールユニット 5は、 予めプログラミングされ た処理手順に基づいて演算を演算ュニッ トにて行わせることとなる。
そして得られた精度 2 n 1の演算結果をバス 2を介してメインプロセッサュニッ ト 1側に出力することとなる。
ここで、 この第 1実施例ではチップ間すなわち図 1 Aのマイクロプロセッサュ ニッ ト 1とプログラマブルディジ夕ルプロセッサ 3間のバス 2上の信号を、 多チ ャンネルの電気信号としても良いし、 あるいは例えば波長の異なる多チャンネル の光信号としても良い。 チップ間を光通信する技術は既に多くの提案がある。 さらに加えて、 この第 1実施例では、 1チップを構成するプログラマブルディ ジ夕ルプロセッサ 3内の一部または全部のュニッ ト間にて、 光信号を伝送するこ とも可能である。 すなわち、 図 2に示すプログラマブルディジタルプロセッサ 3 の内部システムバス 4 Aと内部デ一夕バス 4 Bとを光伝送路とするのである。 こ うすると、 コントロールユニッ ト 1 0 5と、 R A M 6と、 R O M 8と、 x個の演 算ュニッ ト 7— 1〜7—Xとの各間で、 内部システムバス 4 Aと内部データバス 4 Bを介して光信号を伝送することができる。 このとき、 R A M 6を構成する記 憶素子として、 電気信号以外の情報例えば強誘電メモリのように磁化された情報 を記憶するようにすれば、 光信号を電気信号に変換する必要はない。 例えば強誘 電メモリを用いた場合には、 光信号に基づいて磁化された情報を記憶すればよい c さらには、 X個の演算ユニッ ト 7— l〜7— xの間も実質的にバス接続され、 各 演算ュニッ トを構成する y個の演算モジュールもバス接続されているため、 これ らのバスを光伝送路とし、 演算ュニッ ト間及び演算モジュール間も光信号により 伝送することが可能である。
なお、 1チップ内の内部バスを光伝送路とする具体的例については後述する。 以上の説明においては、 最大 X個の演算ュニッ トが装着されている場合につい て説明したが、 後に機能拡張する場合などに備えて、 プログラマブルディジタル プロセッサ 3に外部演算ュニッ トをカスケード接続するための端子を設けてもよ い。 このように、 外部演算ユニットをカスケ一ド接続するように構成すれば、 内 部演算ュニッ トのみをカスケ一ド接続して得られる演算精度以上の演算精度を確 保することができる。
より詳細には、 プログラマブルディジタルプロセッサ 3を 1チップ構成とした 場合であっても、 図 2に破線で示すように、 一または複数のプログラマブルディ ジ夕ルプロセッサ 3'を、 内部デ一夕バス及び図示しないカスケ一ド接続端子を介 してカスケ一ド接続することができる。 こうすると、 プログラマブルディジタル プロセッサ 3,内の演算ュニッ トを、 プログラマブルディジ夕ルプロセッサ 3'内 の演算ユニッ トとカスケード接続したのと等価となる。 この意味で、 プログラマ ブルディジ夕ルプロセヅサ 3内の内部演算ュニット 7— 1〜7— Xに対して、 一 または複数のプログラマブルディジタルプロセッサ 3,の演算ュニッ トは、 外部演 算ユニッ トとして機能する。 そして、 本実施例では、 この内部演算ユニッ トとが 外部演算ュニッ ト間も光信号により伝送することが可能である。
また、 複数の外部演算ユニッ トを例えば、 TFT (Thin F i lm T r ans i s t or) で構成した場合には、 欠損などにより不良トランジスタが発 生することに起因して、 最大で z個の外部演算ュニッ トの全体が使用できなくな る恐れがある。
そこで、 演算ュニッ 卜の歩留まり率 Aに対して、 少なくとも (z≥K/A) 個の演算ユニッ トを予め用意しておくことが好ましい。 こうすると、 K個の演算 ュニッ トのうち良品の演算ュニッ トを最大で z個接続することできる。
さらにこのことは、 演算ユニッ トばかりでなく、 外部演算ユニッ トを構成する 演算モジュールについても同じことが言えるので、 外部演算モジュールの歩留ま り率 A'に対して、 各外部演算ュニッ ト中に少なくとも (y≥L/A') 演算モ ジュールを予め用意しておくと良い。 こうすると、 L個の演算モジュールのうち 良品の演算モジュールを y個接続することができる。 従って、 演算モジュールに 不良が発生した場合でも、 冗長演算モジュールに接続切換を行うことにより、 そ の演算ュニッ トは良品として扱うことが可能となる。
また、 プログラマブルディジタルプロセッサ 3内に演算精度 2mlビッ ト (ml : 自然数) で演算を行う内部演算ュニッ 卜と、 プログラマブルディジタルプロセ ッサ 3, 内に演算精度 2m2ビッ ト (πι2 : 自然数) で演算を行う外部演算ュニッ トとをカスケ一ド接続して、 最大演算精度 2 ηの演算を実施するには、 外部演算ュ ニッ 卜の接続数 ζを下記の式を満足するように設定すればよい。
z≥ (2n-2ml) /2m2
さらに所望のビヅ ト精度 2nl (n lは自然数、 かつ、 n l≤n) にて演算する 場合には、 z個の外部演算ユニッ トのうち、
z≥z 1≥ (2nl-2ml) /2m2 (z 1は自然数)
を満たすように外部演算ュニッ トをカスケード接続すれば、 演算に必要な外部演 算ユニッ トのみを動作させることができる。 この結果、 消費電力の適正化、 演算 処理時間の適正化を図ることができる。
なお、 情報処理システム 10を構成する場合に、 図 1 Aの実施例ではメインマ イク口プロセッサ 1が必須の構成要件となっていた。 しかし、 プログラマブルデ ィジ夕ルプロセッサ 3にメインマイクロプロセッサ 1の機能を持たせ、 バス 2を 介して記憶装置あるいは外部記憶装置からプログラムをロードするように構成す れば、 図 1 Bに示す情報処理システム 10 ' のように、 メインマイクロプロセッ サ 1は不要となる。
また、 以上の説明においては、 プログラマブルディジタルプロセッサ 3がプロ グラムをロードする場合についてのみ説明したが、 これに限定されるものではな い。 例えば予めマスク ROM、 PROM, EEPROMなどの不揮発性のメモリ に処理手順のプログラムを格納しておき、 これに基づいて固定化した処理手順に 基づいて動作したり、 固定化した処理手順をハ一ドウエアロジックで実現するこ とも可能である。 ここで第 1実施例のより具体的な例として、 本発明を疑似乱数発生装置に適用 した例について説明する。
Nが大きな素数の積の場合に、 非線形演算子である Y = X 2 m o d Nを用い て、 計算量的に安全な疑似乱数を作ることが可能である。 この場合において、 「計算量的に安全な」 とは、 安全性が崩れるということ (すなわち、 生成した乱 数列の一部である部分乱数列から、 生成した乱数列の他の部分の部分乱数列を推 測することができること) と、 Nを因数分解できるということとが、 計算量的に 同等であるということである。
換言すれば、 数学の長い歴史の中で、 因数分解についての簡単な計算法が見つ かっていないので、 多分、 乱数は予測できないであろうということである。
Y = X 2 m o d N
を用いて、 計算量的に安全な疑似乱数を発生するためのプロック図を図 3に示す。 この場合において、
N二 P · Q
であり、 Pと Qとは共に大きな素数である。
図 3に示すように、 入力データ (X、 N ) に対し、
Y = X 2 m o d N
の演算処理を行う際に、 第 1実施例のプログラマブルディジ夕ルプロセッサ 3を 用いることにより、 任意精度で疑似乱数を発生させることができる。
以上の説明のように、 本実施例によれば、 所望精度の演算を行うための情報処 理システムをハードウエア的に容易に実現することが可能であるとともに、 演算 精度の拡張に対してもハードウエア的に容易に対応することが可能となる。
この第 1実施例の説明においては、 プログラマブルディジ夕ルプロセッサ 3内 にコントロールュニッ ト 5及び R A M 6を設ける構成としていたが、 メインマイ クロプロセッサ 1側にこれらの機能を行わせるように情報処理システムを構成し、 演算ュニッ トのみを 1チップ構成とし、 任意精度汎用演算プロセッサとして機能 させることも可能である。
(第 2実施例) 次に暗号化処理及び復号処理を行う暗号ノ復号システムに本発明を適用した第 2実施例について説明する。
[1] RS A方式の原理説明
まず具体的な実施例の説明に先立ち、 代表的な公開鍵方式暗号である R S A方 式について説明する。
ネッ トワーク暗号の利用形態としては、 送信者が暗号鍵を用いて平文を暗号化 して送信し、 その暗号文の受信者は復号鍵を用いて復号し平文に戻す処理を行う ものである。
秘密鍵暗号方式では暗号鍵と復号鍵が同一であるのに対し、 公開鍵暗号方式は 同一ではなく、 暗号鍵を公開し、 復号鍵を秘密に保持する方式である。 次に代表 的な公開鍵暗号方式である R S A方式の原理について述べる。
平文をある適当なブロックに分け、 それに相当する数値を Mとする。 素数 と qを定め、 復号鍵 (プライベートキー) として秘密にし、 次の関係にある nと e を公開鍵 (パブリックキー) とする。
n = p q ( 1 ) gcd (e, (p- 1, q - 1) ) = 1 …"- (2) ここで、 e及び (p— 1) (q- 1) の最大公約数は 1、 すなわち、 (p— 1) (q - 1 ) と互いに素な正数 eを適当に決める。
そして、 下記の (3) 式に示すように、 送信者はパブリックキ一を用いて、 n を法とする平文 Mの e乗の剰余演算 (Meを nで割った余り Cを算出) を行い、 暗 号文 Cを送信する。
Me≡C mod n …… (3) これにより、 暗号文 Cを受信した受信者は、 まず、 プライべ一トキ一を用いて、 下記の (4) 式により (p— l) (q- 1) を法とする eの逆数 dを求める。
e d≡ 1 mod (p— l) (q- 1 ) …… (4) 得られた dにより、 下記の (5) 式から暗号文 Cを平文 Mに復号する。
Cd≡M mod n …… (5) ところで、 式 (4) と式 (5) は、 (p— 1) と (q— 1) の最少公倍数 1 c m (p- 1 , q - 1 ) を用いると、 dを小さく定めることができ、 下記の (6) 式及び (7) 式に示すように、 計算量の軽減がはかれる。
g c d (e, 1 cm (p— 1 , q - 1 ) ) = 1 ( 6 ) e d≡ l mo d l cm (p— 1 , q— 1) ( 7 ) この場合において、 パブリックキ一nはプライべ一トキ一 pと qの積であるた め、 容易に素因数分解できないよう、 通常 5 12ビッ ト以上に選定される。 以上のように R S A方式は素因数分解という数学的要素と多精度剰余演算を行 うことなどで、 暗号強度の高い方式であると広く認知されている。
[ 2 ] 剰余計算例
式 (3) と式 ( 5) のべき乗剰余演算結果が暗号 ·復号文となるため、 丸め操 作や浮動少数点演算が使えず整数演算でなければならない。 べき乗剰余演算は指 数をそのシステムで除算可能な部分に分割して、 より小さな剰余演算の積の繰り 返しで求めることができる。 説明の容易性のため、 ごく小さい数値の例を示す。 パブリックキ一を n= 55、 e = 7とし、 プライべ一トキ一を p = 5、 q = 1 1とする。
平文 M= 3とすると、 暗号文 Cは、 暗号化においてはパブリックキーの nと e を用いて、 式 (3) より
37≡ C mo d 55
から
C = 42
を得る。
復号ではプライベートキーの pと qより dを次のように選定する。
式 (4) より
7 d≡ l mo d (5— 1) ( 1 1— 1)
すなわち、
7 d≡ 1 mo d 40
から
d = 23 となる。
4223≡M mod 55
から
M= 3
となる。
剰余演算においては
X≡ r 1 mod n、
Y≡ r 2 mod n
のとき、 nを法とする下記の式 (8) の乗算が成立する。
X ' Y≡r l ' r 2 mod n (8) この関係式により指数部分を演算可能な部分に分割する。
例えば、
Figure imgf000023_0001
= 425 · 425 · 425 · 425 · 423
そこで、 先ず、 425及び 423についての 2種類の剰余を求める。
425≡ 12 mod 55
423≡ 3 mod 55
式 ( 8 ) から
4223≡ 12 · 12 · 12 · 12 · 3≡r mod 55
个 T 个 个
r 1 r 2 r 3 r 4 r 5
となる。
次に r 1 · r 2からその剰余 r -2を求める。
r l - r 2≡ 12 - 12≡r^ 2 mod 55
より、
r ι— 2 = 34
となる。 以下同様にして、
r 1 - 2 · r 3≡ 34 · 12≡ r 1 - 3 mod 55 より、
r 1- 3 = 23
となる。 さらに
Γ ι -3 · r 4≡23 - 12≡ri-4 mo d 55
より、
r 1-4 = 1
となる。 さらにまた、
Figure imgf000024_0001
となって、
r = 3
を得ることとなる。
以上の剰余演算過程における各剰余乗算の最大精度は法である nの 2倍以下で 済む。 このようにして、 小さな数値に置き換えた剰余演算の繰り返しで、 目的と する剰余を算出することができる。
[ 3 ] 暗号化及び復号処理の一般的手法
ここで、 図 1 6を参照して R S Aに基づく暗号化及び復号処理の一般的手法に ついて説明する。
まず、 Am≡R mo d nについての剰余演算では、 A、 m、 nの各値を入 力する (ステップ S 1 ) 。
合同式 Am≡R mo d n は暗号化においては平文 Mが A、 パブリック キー eが mとして、 パブリックキー nを法とする剰余演算によって得られた Rが 暗号文 Cになる。 復号では暗号文 Cが A、 パブリックキー eとプライべ一トキ一 p、 qから選定された dが mとして、 nを法とする剰余演算によって得られた R が平文 Mである。
先ず、 Aのビッ ト数 K 1を求め (ステップ S 2 ) 、 Aのビッ ト数 K 1から剰余 演算システムにおける ANの最大指数 Nを求める (ステップ S 3) 。
次に最大指数 Nが 1であるか否かを判別し (ステップ S 4) 、 最大指数 N= l であれば A2で精度ォ一バーになるため、 A≡ r mod n
を求め (ステヅプ S 5) 、 剰余 rのビッ ト数 kを求め (ステップ S 6) 、 ビッ ト 数 kから Aのブロック規模を判断する (ステップ S 7) 。
Aのブロック規模が精度内であれば (ステップ S 7 ; No) 、 m個の Aに対す る nを法とする乗算を行い、 その結果から求める剰余 Rを得る (ステップ S 8) 。
また、 Aのブロック規模が精度外であれば (ステップ S 7 ; Ye s) 、 データ が大きすぎてオーバーフローを起こしてしまうので (ステップ S 9) 、 Aのプロ ック規模を小さくすべく、 演算処理を終了する (ステップ S 10) 。
一方、 Nが 2以上であれば (ステップ S 4 ; N o) 、 mを qN+aに分解し (ステップ S 1 1 ) 、 aが 0でないときは (ステップ S 12 ; Y e s ) 、 Aaを求 め (ステップ S 13) 、 A aを nで割った余り r 1を求める (ステップ S 14) 。
次に q = 0であるか否かを判別し (ステップ S 15) 、 q= 0ならば (ステツ プ S 15 ; Ye s) r 1が求める剰余 Rである (ステップ S 16) 。
ステップ S 15の判別において、 q≠ 0であるならば (ステップ S 15 ; No)、 ANを求め (ステップ S 17) 、 ANを nで割った剰余 rを求める (ステップ S 1 8) o
そして剰余 rを r 00に代入し (ステップ S 19) 、 q個の ANに対する nを法 とする乗算を行い (ステップ S 20) 、 a≠ 0であるならば (ステップ S 21 ; No) 、 得られた乗算結果 rと r 1との積を nで割った剰余を求め (ステップ S 22) 、 求めた剰余 rを最終的に求めるべき剰余 Rとし (ステップ S 23) 、 剰 余 Rを剰余データとして出力する (ステップ S24) 。
このように R S Aに基づいた公開鍵暗号方式の暗号化及び復号処理 (剰余演算 処理) は複雑であり、 特に暗号/復号システムにおいては、 前述したように、 n は 5 12ビッ ト以上と高精度であるため、 除算の分散処理が不可能であれば、 本 第 1実施例のようなハ一ドウエア化は困難であり、 上記処理をソフ トウエアで処 理することとなり、 そのプログラミングも簡単ではないので、 多くの演算時間を 要することは容易に推察できる。
[4] 公開鍵暗号/復号システムの構成 図 4は、 第 2実施例の公開鍵暗号/復号システムのブロック図である。
公開鍵暗号/復号システム 1 1は、 大別すると、 パーソナルコンピュータシス テム 12と、 パーソナルコンピュータシステム 1 2の入出力ィン夕一フェース 1 7を介して接続されたべき乗剰余演算装置 1 3と、 を備えて構成されている。 パーソナルコンピュータシステム 12は、 各種デ一夕を入力するためのキーボ —ド 1 5と、 各種表示を行うためのディスプレイ 1 6と、 入出力ィンターフェ一 ス 17及び図示しないハードディスクなどの外部記憶装置を内蔵したパーソナル コンピュータ本体 18と、 各種プリントアウトを行うプリン夕 19と、 を備えて 構成されている。
べき乗剰余演算装置 13は、 大別すると図 5に示すように、 所定の精度範囲内 で任意精度の除算を行う任意精度除算装置 20と、 所定の精度範囲内で任意精度 の乗算を行う任意精度乗算装置 2 1とを備え、 これらはバス 22により接続され る。
[5] 任意精度除算装置及び任意精度乗算装置の構成
任意精度除算装置 20は、 図 6に示すように、 被除数データ及び除数データが それそれ入力される 8ビッ ト精度の第 1除算器 25一 1〜第 H除算器 25— H (H : 2以上の整数) の H個の除算器と、 精度情報デ一夕に基づいて対応する 8 ビヅ ト精度の除算器をカスケ一ド接続するための第 1スィッチ SW1〜第 (H— 1 ) スイッチ SW (H- 1) の (H— 1 ) 個のスィッチと、 を備えて構成されて おり、 第 1スィツチ〜第 (H— 1) スィッチ SW 1〜SW (H— 1) は、 精度情 報デ一夕に基づいて必要な数の除算器をカスケ一ド接続することとなる。
なお、 これらスィッチ SW1〜SW (H— 1) も、 図 2の場合と同様に説明の 便宜上図示したものである。 また、 各 8ビッ ト除算器の間及び各 8ビッ ト除算器 への入出力を、 全て光信号で伝送するように構成することもできる。
より具体的には、 8ビッ ト精度の除算を行う場合には、 全てのスィッチ SW1 〜SW (H— 1) が開状態であり、 第 1除算器 25— 1のみが動作し、 1 6ビッ ト精度の除算を行う場合には、 第 1スィッチ SW 1のみが閉状態となり、 第 1除 算器 25 - 1及び第 2除算器 2 5— 2が動作し、 (8 x J) 精度の除算を行う場 合には (J : 2以上 (H— 1 ) 以下の整数) 、 第 1スィッチ S W 1〜第 (J— 1 ) スィッチ S W ( J - 1 ) が全て閉状態となり第 1除算器 2 5 - 1〜第 J除算器 2 5— Jが動作することとなる。
そして、 被除数デ一夕及び除数デ一夕は、 下位 8ビッ トから 8ビット単位で第 1除算器 2 5— 1から第 J除算器に順次与えられることとなる。
同様に、 複数の除算器を乗算精度 2 raビッ ト (m: 自然数で固定) 、 除算精度 2 21 "ビットでべき乗剰余演算を行う外部べき乗剰余演算ュニッ トとして構成し、 被 除数データ、 除数データ及び精度情報データの入力信号ライン並びに商データ及 び剰余データの出力信号ラインをカスケ一ド接続するためのカスケ一ド接続端子 をそれそれのべき乗剰余演算ュニッ 卜に設け、
X = 2 n/ 2 m (ただし、 nは自然数、 Xは自然数)
を満たすようにべき乗剰余演算ュニッ トを X個接続することにより最大 2 nビッ ト 精度の暗号化及び復号を行うための任意精度べき乗剰余演算装置を構成すること が可能となる。
なお、 任意精度乗算装置 2 1は、 任意精度除算装置 2 0の 8ビッ ト除算器を 8 ビッ ト乗算器に変更した構成とほぼ同様の構成であるので、 その説明を省略する。 また、 図 4に示すバス 2 2を光伝送路とすれば、 これら任意精度乗算装置 2 1と 任意精度除算装置 2 0との間を、 光信号により伝送することができる。
[ 6 ] 除算器の構成
次に任意精度除算装置を構成している除算器の構成について説明する。
[ 6 . 1 ] 除算器のアルゴリズム
まず、 除算器の説明に先立ち、 除算器のアルゴリズムについて説明する。
除算に関しては、 乗算ほどではないが、 いろいろなアルゴリズムが考案されて いる。 また、 信号処理においては、 除算は乗算ほど頻繁に用いられるわけではな い o
しかしながら、 信号の正規化、 コンピュータ通信や情報ネッ トワークにおける 秘匿技術としての暗号化/復号に、 音声認識における特徴抽出において、 周波数 スペク トルを基本とする線形予測係数の演算 (積和が 7 0回、 除算が 1 2回) 、 フォールト トレラントシステムにおいてなどの例に見られるように、 除算を必要 とする場合、 その実現は乗算ほど容易ではなく、 従来においては、 高精度で高速 に結果を得るための有効な手段がなかった。
除算の実現方法としては、 以下の 4種類が知られている。
(1) 変数 Xと 1/x の関係を示すルックアップテーブル (変換表) を RO M内に用意しておき、 y/xなる除算を、 y (1/X) なる乗算に置き換えて 実行する 「逆数 ROM方式」 。
(2) y/x なる除算を直接実行する代わりに、 対数 ROMにより Xと yか ら 1 o gxと 10 g yを求め、 それから z = 10 g X— 10 g yの減算を行い、 最後に指数 ROMにより exp zを求める 「対数計算方式」 。
(3)被除数に対してシフトと減算を試行錯誤的に繰り返す 「減算シフ ト方式」 。
(4) 乗算を繰り返し実行しながら結果を求めるべき商の値に収束させていく 「収束形除算方式」 。
このうち、 逆数 ROM方式が最も高速であるが、 高精度を要求するとルックァ ップテーブルを格納すべき ROMの容量が指数的に大きくなる欠点がある。 従つ て、 信号処理においては比較的粗い精度でよい場合に限られて使用されている。 次の対数計算方式も対数 ROMの容量の制約からくる精度上の検討を十分に行 つたうえで用いる必要があり、 その意味でも以上の二つの ROM方式はどのよう な場合にも用い得る汎用的な方法とは言い難い。
以上の 4方式のうち、 どのような精度に対しても除算可能な方式は減算シフト 方式と収束形除算方式であるといえる。
収束形除算方式は被除数と除数を分数の分子と分母とみなし、 分母が 1に近づ くまで分子分母に同一の収束係数を乗じていき、 得られた最終的な分子の値が商 になる。 あるいは、 除数の逆数を収束アルゴリズムによって求め、 商はこの逆数 と被除数の積から求めることができる。
しかし、 複数チップ (モジュール) 接続による除算能力の拡張機能を考慮した 場合、 近似演算による収束が行われる収束形除算方式では部分剰余の伝搬がさら に近似されることになり、 誤差が大きくなってしまうという問題点が生じる。 この点、 減算シフト方式ではそのような問題はなく、 任意精度で除算可能であ り、 複数チップ (モジュール) 接続による除算能力の拡張機能をも考慮した場合、 最も適しているといえる。
次に、 除算能力の拡張機能について考察する。
例えば、
567890/1 234
の除算を実行するには図 7 Aに示すように、 被除数と除数の減算が繰り返し実行 される。
ここで、 除数 2けたの除算器 (または除算モジュール) を用いて、 除数を 4け たに拡張した使用を考えてみると、 図 7 B及び図 7 Cに示すように、 除数 1 23 4を除数 12と除数 34とに分割するとともに、 被除数 567890を被除数 5 67及び被除数 890とに分割し、 12と 34の除数で分散処理した結果から除 算能力の拡張した解 (図 7A相当) を得るという乗算器のような使い方 (乗算に おいては可能) はできない。
従って、 除算は使用可能けた数の範囲内で有効であり、 1ビッ トでも除算能力 を超えた使用に対しては、 たとえメモリ一や外部回路を用いても容易には対処で きない。
また、 除算においては通常丸め操作を行うが、 暗号/復号システムにおいては、 このような使用はできない。
以上のような理由によって、 従来においては、 ハ一ドウエア化された除算器は 少なく処理速度の遅いソフ トゥエアで対処していた。
ところで、 本除算器のアルゴリズムは被除数に対してシフトと減算を試行錯誤 的に繰り返す 「減算シフト方式」 に基づいたもので、 その一般的な基本式は以下 の漸化式で表される。
R (0,/D =∑ 2"^ι+ ( 2— nR (n)) /D ∑ 2— が求める商 Qであり、 最終剰余 Rは 2— nR (n)である。 各演算工程における商のディジヅ ト qj + 1は 2 Rと Dの大小関係で以下のように 疋まる。
2 R (j) <Dの場合、 q j + 0
2 R (j) Dの場合、 q j + 1= 1
つまり、 まず仮の部分剰余 R + (=2R (j)—D) を求めて、 部分剰余 R (j + 1)が正または "0"ならば qj + 1= 1が求まり、 真の部分剰余とする。 もし、 部分剰余 R + が負ならば、 q j + 1=0で仮の部分剰余の減算を取消す。
以上の操作は、 R (n)を nディジッ トだけ右にシフトすることから求まること を先の漸化式は意味している。
しかし、 以上の漸化式は単に nディジヅ トの商に対してのものである。 除算デ 一夕を各モジュールに分散した場合、 各モジユールの被除数と除数はそれそれ連 結した状態で行われなければならない。
一般に、 除数に対して被除数のけた数が多いため、 分散した除数を連結して被 除数との減算を行うことは、 除数の連結とそれに伴う減算器ゃラツチ回路の連結 などにより容易には実現できなかった。
これに対し、 本実施例の除算器は、 分散した除数と減算器は各モジュール内に 固定し、 被除数を連結してシフ 卜と減算を行うようにしてモジュールの分散化を 可能にしている。
この場合、 筆算とは逆に除数を固定した減算なので被除数は左シフトになる。 例えば、 簡単のために 1モジュ一ルが 4ビッ ト除算器について 2モジュールに 拡張したときの各ステップの動作を図 8に示す。
2モジュールに分散した除数は減算器とラッチ回路を伴ってそのけた借り用端 子 BOと BNで連結される。 被除数は Q Iと QO端子により連結されて初段の R
Iに戻される。 除数部分は各モジュールに固定で、 被除数が必要なけた数だけ左 シフ トと減算を繰返して演算を終了する。 商 qと部分剰余は各減算処理における減算結果によって決まるものである。 な お、 演算は 8ビッ トの減算器の場合、 7ステップで終了し、 8ステップ目では商 q 0の格納だけになる。 この結果、 後述の被除数ラッチ · シフ ト回路 3 2 (図 9 参照) に商データ Qが、 後述の部分剰余のシフ ト回路 3 4 (図 9参照) には剰余 デ一夕が得られることとなる。
[ 6 . 2 ] 除算器の概要構成
図 9に第 1除算器 2 5 — 1を例として除算器の概要構成ブロック図を示す。 第 1除算器 2 5— 1は、 入力された 8ビッ ト除数データをラッチする除数ラッ チ回路 3 1と、 被除数データをラッチし、 シフト操作を行うための被除数ラッチ • シフ ト回路 3 2と、 被除数デ一夕に対応する被除数から除数データに対応する 除数を減算する並列減算回路 3 3と、 部分剰余デ一夕を格納し、 シフ ト操作を行 う部分剰余シフ ト回路 3 4と、 除算に必要なシフ トパルスを発生する制御回路 3 5と、 を備えて構成されている。
[ 6 . 3 ] 除算器の動作
次に除算器の動作について図 1 0を参照して説明する。
時刻 t 1において、 除算開始パルス/ S T A T (/はロウアクティブを示す。 以下、 同様) が立ち下がると、 除算開始パルス/ S T A Tの次の立ち上がり (時 刻 t 2 ) までの間に第 1除算器 2 5 - 1は初期化される。
次に時刻 t 2以降で基準クロック信号 C Kが最初に立ち下がる時刻 t 3におい て被除数デ一夕 ( 8ビッ ト) が被除数ラッチ ·シフト回路 3 2にラッチされ、 除 数デ一夕 (8ビッ ト) が除数ラッチ回路 3 1にラッチされる。
そして、 時刻 t 4において、 基準クロック信号 C Kが次に立上ると、 並列減算 回路 3 3において、 被除数と除数の減算が行われ、 減算結果が正または " 0 "なら ば、 切換スィッチ 3 6は並列減算回路 3 3側となり、 並列減算回路 3 3の減算結 果が負であるならば切換スィツチ 3 6は、 部分剰余シフ ト回路 3 4側となる。 この結果、 時刻 t 5において、 部分剰余シフ ト回路 3 4の部分剰余デ一夕がシ フ トされるとともに、 並列減算回路 3 3の減算結果である部分剰余デ一夕あるい は減算前に部分剰余シフト回路 3 4に保持されていた減算前の部分剰余データが 部分剰余シフ ト回路 34にラッチされる。
同様に時刻 t 5〜時刻 t 6の間に被除数が必要な回数だけ、 すなわち、 全 8ビ ッ トであるから残りの 7ビッ トに対応する 7回の被除数と除数の減算処理及び部 分剰余シフ ト回路のシフト処理及びラツチ処理が繰り返される。
そして時刻 t 6において、 基準クロヅク信号 CKが立ち下がると、 除算終了信 号/ D ENDが "L"レベルとなり、 上位桁の減算器 (ここでは、 第 2減算器 25 一 2) が同様に動作を開始することとなる。
そして、 さらに上位桁の減算器 25— 3〜25— Jにおいて同様の除算動作が 行われて、 最後の減算器 25— Jの除算終了信号/ D ENDが第 1減算器 25- 1に出力されると減算処理を終了することとなる。
これらの結果、 各減算器 25— 1〜25— Jの被除数ラツチ . シフト回路 32 には商データ (8ビッ ト) が求められ、 部分剰余シフ ト回路 34には剰余データ がそれそれ求められることとなる。
以上の動作はすべて制御回路 35が出力するシフトパルス S L Aに同期して行 われるため、 多くの減算器をカスケ一ド接続して除算能力を拡張した際にも伝搬 遅延によるタイミング的な誤動作を生じることはない。
[7] 暗号化処理及び復号処理 (剰余演算処理)
R S Aに基づいた公開鍵暗号方式の暗号化及び復号処理 (剰余演算処理) につ いて図 11を参照して説明する。
AN≡A mod n
の剰余演算では本暗号/復号システムにおいて A、 N、 nの各値を入力する (ス テツプ S 31 ) 。
次に Aを A 1に代入し (ステップ S 32 ) 、 演算用変数 kの初期値を 1とする (ステップ S 33) 。
そして、 演算用変数 kが N未満である間、 すなわち、 次式
k<N
を満たしている間 (ステップ S 39) は、 以下のステップ S 34〜ステップ S 3 8の処理を繰り返す。 まず、 N= 1であるか否かを判別する (ステップ S 34) 。
ステップ S 34の判別において、 N= lである場合には、 A 1を AOに代入す る (ステップ S 35) 。
また、 N≠ lである場合には、 A 1及び Aの乗算を行い、 乗算結果を AOに代 入する (ステップ S 36)
そして、
A 0≡ A mod n
を求め (ステップ S 37) 、 演算用変数 kを k+ 1とする (ステップ S 38) 。 そして、 演算用変数 kが N以上となった場合に、 得られた剰余 Aが求める剰余 となる。 このとき、 乗算の最大精度は Aのビッ ト数の 2倍である。
このように、 本第 1実施例のべき乗剰余演算装置を用いれば、 図 16の従来の 処理と比較して処理を非常に単純化することができる。
[8] べき乗剰余演算装置のゲート数
ここで、 べき乗剰余演算装置を構成する際に必要とされるゲート数について説 明する。
周知のように暗号 Z復号システムにおける剰余演算では極めて高精度であるこ とから、 1モジュールの乗算器の乗算精度を 16ビッ ト、 1モジュールの除算器 の除算精度を 32ビッ トとして、 1ュニッ 卜にそれそれ 4モジュールを内蔵 (乗 算 16〜 64ビッ ト、 除算 32〜 128ビヅ 卜の可変精度) した場合のゲ一ト数 を図 12に示す。
図 12に示すように、 1モジュールの 32ビヅ ト精度除算器を構成するために は、 1700ゲート必要であり、 べき乗剰余演算装置 1ユニッ ト中の任意精度除 算装置では、
1700 x4 = 6800 [ゲート]
が必要となる。
また、 図 12に示すように、 1モジュールの 16ビッ ト精度乗算器を構成する ためには、 1032ゲート必要であり、 べき乗剰余演算装置 1ユニッ ト中の任意 精度乗算装置では、 1032 x 4 = 4 128 [ゲート]
が必要となる。
従って、 べき乗剰余演算装置に必要とされるゲート数は、
6800 + 4 128= 10928 [ゲート]
であり、 制御回路及び動的な接続回路を含めて一つのべき乗剰余演算装置を 12 000 [ゲート] 程度でワンチップ化することが可能となる。
なお、 5 12ビッ ト精度では 8ユニッ ト、 1024ビッ ト精度では 1 6ュニッ トをそれそれ必要とする。
[ 9 ] 演算時間
次に上記べき乗剰余演算装置を用いて、
a b≡M mo d c
を演算する場合に要する演算時間ついて図 1 3 A〜図 13 C、 図 14及び図 1 5 を参照して説明する。
指数 bが nビッ トの場合、 べき乗剰余演算に必要な演算処理は、 図 13Aに示 すように、 ( 1) 〜 (4) の 4段階の乗算処理及び除算処理に分解することがで きる。 この場合において、 ( 1 ) 及び (3) の乗算は、 図 138の丄ビッ ト乗算 器 2 1にて実施され、 (2) 及び (4) の除算は、 図 13 Bの 2 iビヅ ト除算器 20にて実施される。 ( 1) 及び (3) の乗算処理における乗算精度は、 最大 c のビット数 i以下となり、 その積は最大で cのビッ ト数 iの 2倍精度となる。 ま た、 (2) 及び (4) の除算 (剰余演算) 処理における除算精度は、 最大で cの ビヅ ト数 iの 2倍の精度となる。 この iビッ ト乗算器 2 1と 2 iビヅト除算器 2 0とは、 図 5の任意精度乗算装置 2 1と任意精度除算装置 20と同様の構成を有 する。
なお、 図 1 3Bにおいて、 入力される値は a, b, cであり、 Mが格納される レジス夕には、 当初の Mは 1に初期化されている。 そして、 M Mx a mo d cの演算 (b = 0) では、 a, Mが iビッ ト乗算器 2 1に入力され、 その結 果を cで割った余りを Mとして格納する。 また、 a a2 mo d cの演算 (b = 1 ) では、 iビヅ ト乗算器 2 1に 2つの aを入力することにより a 2が求められ る。
ここで、 図 13 A中の ( 1 ) では r 12, r 22, r 33…の演算が iビッ ト乗算 器 2 1で実施され、 図 13A中の (2) では r I2, r 22, …をそれそれ cで割 つた余りが r 2, r 3- (計算途中の M) として、 2 iビッ ト除算器 20で求め られる。 図 13A中の (3) では、 kl = r l xr2、 k 2 =RO x r 3, k 3 =R 1 xr4…の乗算が iビヅ ト乗算器 21で実施される。 また、 図 13A中の (4) では、 K 1 , K 2, …を cで割った余りがそれそれ R 0, R 1, … (計算 途中の M) として、 2 iビヅ ト除算器 20で求められ、 最終段階で kn— 2を c で割った余り Rn— 3が求めるべき値 Mとなる。
この計算例の実例を図 13 Cに示す。 図 13 Cは、 18619≡M mod 3 77を復号して M= 17を求めた計算手順を示している。
図 13 Cにおいて、 ( 2 ) の剰余の値 「289」 , 「204」 , 「146」 , 「204」 は、 1862, 2892, 2042, 1462をそれそれ 377で割った 余りとして求められる。 また、 ( 3 ) の積の値は、 53754= 186 x289, 44880 = 220x 204として求められる。 さらに、 (4) の M= 17は、 44880を 377で割った余りとして求められる。
ここで、 図 13八の&、 b、 cが全て 1024ビッ トである場合の最大演算時 間を必要な基準クロック数で表すと、 図 14に示すように、 ( 1) の乗算時間に 1047552 [クロック] 、 ( 2 ) の剰余演算時間に 2095104 [クロッ ク] 、 (3) の乗算時間に 1047552 [クロック] 、 (4) の剰余演算時間 に 2095104 [クロック] 必要であり、 合計で 6285312 [クロック] 必要となる。
この結果、 基準クロック周波数を 66 [MHz] として演算を行った場合、 演 算時間は、 95. 2 [ms e c] となる。
同様に、 a及び bが 1024ビッ トであり、 指数 bのビット数を 512ビット 及び 9ビッ トとした場合の演算時間は、 図 15に示すように、 それそれ 47. 6 [ms e c] , 0. 7 [ms e c] となる。 ただし、 これらの演算時間は、 毎回 の積及び剰余を最大精度とした時の算出結果であるため、 実際には、 これらの値 よりも小さな値となる。
以上の説明のように第 2実施例によれば、 乗算精度 2 mビッ ト (m : 自然数) 、 除算精度 22 mビッ トでべき乗剰余演算を行うべき乗剰余演算ュニッ トを構成し、 x = 2n/2ra (ただし、 nは自然数、 Xは自然数)
を満たすようにべき乗剰余演算ュニッ トを X個接続することにより、 2nビッ ト精 度の暗号化及び復号を行うことが可能となる。 このため、 容易にシステムのハー ドウエア的な拡張を図ることが可能となっている。
なお、 上記 Xの関係式はべき乗剰余演算ュニッ 卜の最大演算精度が要求される 演算精度と等しい場合であったが、
x> 2n/2m (ただし、 nは自然数、 Xは自然数)
を満たすようにべき乗剰余演算ュニッ トを X個接続することによつても演算能力 に余裕が生まれるだけで、 同様の効果が得られる。
さらに、 べき乗剰余演算ュニッ 卜で演算可能なビッ ト精度 2 nよりも低いビッ ト 精度 2nl (n lは自然数、 かつ、 n l ≤ n) が要求された場合には、 接続されて いる X個のべき乗剰余演算ュニッ トのうち、
x≥x 1≥ 2nl/2m (ただし、 x lは自然数)
を満たすように X 1個のべき乗剰余演算ュニッ トをカスケ一ド接続するように構 成すれば、 演算に不要なべき乗剰余演算ュニッ 卜には電力を供給する必要がない ので、 消費電力の適正化が図れるととともに、 演算処理時間の適正化が図れるこ ととなる。
さらにべき乗剰余演算ュニッ トを、 カスケード接続可能な y個の乗算精度 2 ω/ y、 y個の除算精度 22 ' (ra/y)でべき乗剰余演算を行うべき乗剰余演算モジュール で構成することができる。 この場合、 接続されているべき乗剰余演算モジュール のうち、 2111ビッ ト精度の暗号化及び復号を行うのに十分な個数 y 1≥ 2nl/2 m/yのべき乗剰余演算モジュールをカスケ一ド接続するようにすれば、 さらなる消 費電力の適正化及び演算処理時間の適正化が図れることとなる。
また、 第 2実施例によれば、 除算の分散処理を実現した任意精度除算器を 12 8ビッ ト精度とし、 任意精度乗算器を 64ビッ ト精度でワンチップ化しても約 1 万 2千ゲート規模で済み、 その乗除算ユニッ ト (チップ) を 8 〜 1 6ユニッ ト力 スケ一ド接続することにより 5 1 2 〜 1 0 2 4ビッ ト精度に容易に対応可能であ る。 同様にさらなる高精度化も容易に実現することができる。
そして、 演算は精度に比例したクロック数 (例えば、 5 1 2ビッ ト精度では 5 1 2クロック) で実行し、 ボード上に完全なハードウェアで構築できるので高速 化が可能である。
また、 各パーソナルコンピュータシステム毎に暗号/復号システムを容易に構 築することができ、 情報セキュリティの意味からも望ましい暗号/復号システム を実現することが可能である。
また、 上記説明においては、 最大で X個のべき乗剰余演算ユニッ トが設けられ ている場合について説明したが、 例えば、 べき乗剰余演算ユニットを T F T (Th in Fi lm Transistor) で構成した場合には、 欠損などにより不良トランジスタが 発生することにより 1個のべき乗剰余演算ュニッ 卜が使用できないだけで、 べき 乗剰余演算ュニッ ト全体が使用できなくなり、 実効的な歩留まり率が低下するこ ととなり、 製造コストの上昇を招くこととなる。
そこで、 べき乗剰余演算ユニッ トの歩留まり率 Aに対して、 少なくとも K個 ( x≥K /A ) のべき乗剰余演算ユニッ トを予め用意し、 K個のべき乗剰余演算 ユニッ トのうち良品べき乗剰余演算ュニットを X個接続するように冗長構成を採 用することが好ましい。 こうすると、 べき乗剰余演算モジュールに不良が発生し た場合でも、 冗長べき乗剰余演算モジュールに接続切換を行うことにより、 その ベき乗剰余演算ュニッ トは良品として扱うことが可能となる。
さらにこのことは、 べき乗剰余演算ユニッ トばかりでなく、 べき乗剰余演算ュ ニッ トを構成するべき乗剰余演算モジュールについても同じことが言える。 すな わち、 べき乗剰余演算モジュールの歩留まり率 A'に対して、 各べき乗剰余演算ュ ニッ ト中に少なくとも L個 (y≥L /A' ) のべき乗剰余演算モジュールを予め用 意し、 L個のべき乗剰余演算モジュールのうち良品べき乗剰余演算モジュールを y個接続するように冗長構成を採用する。 こうすると、 べき乗剰余演算モジユー ルに不良が発生した場合でも、 冗長べき乗剰余演算モジュールに接続切換を行う ことにより、 そのべき乗剰余演算ュニッ 卜は良品として扱うことが可能となる。 以上の説明においては、 公開鍵暗号方式の R S A暗号の場合について説明した が、 楕円曲線暗号にも同様に適用が可能である。
(第 3実施例)
上記第 2実施例においては、 全てのべき乗剰余演算装置をパーソナルコンビュ 一夕システムの外部に設けていたが、 この第 3実施例は、 べき乗剰余演算装置の 一部を予めパーソナルコンピュータシステムの内部に設け、 精度拡張のためのベ き乗剰余演算ュニッ ト用拡張スロヅ トをパーソナルコンビュ一夕システムに予め 設け、 メモリの拡張をメモリ拡張スロッ トにより行う場合と同様に、 べき乗剰余 演算ュニッ トを拡張スロッ 卜に装着することにより容易に演算精度拡張を行える ようにした実施例である。
より詳細には、 図 4に示すパーソナルコンピュータシステム 1 1のメインボ一 ド上に予め、 乗算精度 2 m lビッ ト (m l : 自然数で固定) 、 除算精度 2 2 m lビッ トでべき乗剰余演算を行う内部べき乗剰余演算ュニッ トと、 乗算精度 2 m2ビット (m 2 : 自然数で固定) 、 除算精度 2 2 m 2ビットでべき乗剰余演算を行う外部べ き乗剰余演算ュニットをカスケ一ド接続するためのカスケ一ド接続端子としての べき乗剰余演算ュニッ ト用拡張スロッ トを設けておく。 そして、
z≥ ( 2 n - 2 ffi l ) / 2 m 2 ( n, zは自然数で固定)
を満たすように、 べき乗剰余演算ュニッ ト用拡張スロッ 卜に外部べき乗剰余演算 ユニッ トを接続する。 この結果、 2 nビット精度の暗号化及び復号を容易に行うこ とが可能となる。 この外部べき乗剰余演算ユニッ トに関しても、 第 2実施例にて 説明した各種の変更が可能である。
以上の実施例においては、 パーソナルコンピュータにより本発明を実現する場 合についてのみ説明したが、 ワークステーションや、 各種計測機器、 家電製品な どの機器への組込型コンピュータについても同様に適用が可能である。
(第 4実施例)
次に、 第 1〜第 3実施例の中で説明した 1チップ内での光伝送について説明す る。 (マイクロコンピュー夕の概要)
図 17は、 本発明を適用した情報処理システムとしてのマイクロコンピュー夕 100の一例を示すブロック図である。
図 17において、 マイクロコンピュー夕 100は、 下記の各種機能ユニッ トを 含んでいる。 すなわち、 CPU (中央処理ュニッ ト) 102、 ROM (リード ' オンリー 'メモリ) 104、 キャッシュメモリとしての RAM (ランダム · ァク セス 'メモリ) 106、 高周波発振回路 108、 低周波発振回路 1 10、 リセッ ト回路 112、 プリスケーラ 1 14、 16ビットプログラマブル夕イマ 116や 8ビヅ トプログラマブル夕イマ 118やクロック夕イマ 120などのタイマ回路、 インテリジェント DMAC (ダイレクト ·メモリ 'アクセス · コントローラ) 1 22や高速 DMA C 124などのデ一夕転送制御回路、 割り込みコントローラ 1 26、 シリアルイン夕一フエ一ス 128、 B CU (バス · コン トロール 'ュニッ ト) 130、 A/D (アナログ/デジタル) 変換器 132や D/A (デジタル/ アナログ) 変換器 134などのアナログィン夕ーフェース回路、 入力ポート 13 6や出力ポート 138や I/O (入力/出力) ポート 140などの I/O回路が、 マイクロコンピュー夕 100内に配置されている。 さらに、 マイクロコンビュ一 夕 100は、 CPU102と他の機能ュニッ ト 104〜 140と間を接続するデ —夕バス 142ゃァドレスバス 144などのバスライン 146や、 各種端子 14 8を含んでいる。 これらは、 一枚の半導体基板上に形成されている。 なお、 図 1 7ではデ一夕バス 142とアドレスバス 144とを分離しているが、 デ一夕とァ ドレスとを時分割で伝送するようにすれば、 デ一夕/ァドレスバスとしてデ一夕 とアドレスとを 1本のラインで兼用して伝送させてもよい。
また、 図 17に示すバスライン 146には、 図 2に示す内部バス 4が接続され、 上述した各構成はマイクロプログラマブルプロセッ トュニット 3にも接続されて いる。
(各種機能ュニッ ト間での光信号の送受信のための構成)
本実施例の特徴は、 デ一夕バス 142、 アドレスバス 144、 内部バス 4を伝 送される信号を光信号としたことである。 すなわち、 多チャンネルのデータ例え ば 3 2ビッ トのデータは、 それそれ波長の異なる光信号として、 光伝送媒体にて 形成されたデータバス 1 4 2中を同時に光伝送される。 アドレス信号も同様に、 波長の異なる多チャンネルの光信号として、 ァドレスバス 1 4 4を同時に光伝送 される。 なお、 データバス 1 4 2及びアドレスバス 1 4 4が 1本の光伝送媒体に て兼用される場合には、 光信号のデ一夕及びァドレスは時分割にて伝送される。 ここで、 上述の機能ュニッ ト 1 0 2〜 1 4 0は全て、 従来通り、 多チャンネル の電気信号にて各種機能を実現するために動作し、 半導体素子等にて形成されて いる。 このため、 各種の機能ュニッ ト 1 0 2〜 1 4 0は、 バスライン 1 4 6 (デ 一夕バス 1 4 2及び/又はァドレスバス 1 4 4 ) を介して入力される多チャンネ ルの電気信号を多チャンネルの光信号に変換する信号入力部と、 多チャンネルの 電気信号を多チヤンネルの光信号に変換してバスライン 1 4 6に出力させる信号 出力部とのいずれか一方または双方を有する。
図 1 8は、 マイクロコンピュー夕 1 0 0が形成された基板 2 0 0の一部を概略 的に示す図である。 図 1 8には、 基板 2 0 0上に形成された第 1の機能ユニット 2 1 0 (機能ュニヅ ト 1 0 2 ~ 1 4 0のいずれか一つ) より第 2の機能ュニッ ト 2 2 0 (機能ュニヅ ト 1 0 2〜 1 4 0の他の一つ) に向けて、 バスライン 1 4 6 を介して信号を送出するための構成が図示されている。
第 1の機能ュニッ ト 2 1 0は、 電気回路領域 2 1 2と、 その電気回路領域 2 1 2からの出力信号 (多チャンネルの電気信号) を伝送する配線部 2 1 4と、 多チ ャンネルの電気信号に基づいてそれそれ波長の異なる多チャンネルの光信号を発 光出力する信号出力部としての発光部 2 1 6とを有する。
第 2の機能ュニッ ト 2 2 0は、 多チャンネルの光信号を多チャンネルの電気信 号に変換する信号入力部としての受光部 2 2 2と、 多チャンネルの電気信号を増 幅する増幅回路 2 2 4と、 その電気信号を伝送する配線部 2 2 6と、 電気回路領 域 2 2 8とを有する。 なお、 増幅回路 2 2 4は、 受光部 2 2 2からの電気信号の 電圧レベルを、 第 2の機能ュニヅ ト 2 2 0にて必要な電圧レベルまでシフトさせ るレベルシフ夕として機能し、 必要に応じて設けられる。
発光部 2 1 6と受光部 2 2 2との間に形成されるバスライン 1 4 6は、 光伝送 媒体である導波路 2 3 0として構成され、 多チャンネルの光信号を同時に伝送す る。
図 1 8に示す発光部 2 1 6は多チャンネルの電気信号を多チャンネルの光信号 に変換するために、 多チャンネルの数と等しい数の発光素子を有する。 同様に、 受光部 2 2 2も多チャンネル分の受光素子を有する。
なお、 第 1 , 第 2の機能ュニッ ト 2 1 0, 2 2 0間で双方向の信号伝送を行う こともできる。 この場合、 第 1の機能ュニヅ ト 2 1 0は、 図 1 8に示す光伝送媒 体としての導波路 2 3 0と光学的に接続された受光部と、 該受光部からの電気信 号を増幅する増幅器とを有する。 一方、 第 2の機能ユニッ ト 2 2 0は、 導波路 2 3 0と光学的に接続された発光部 2 2 2を有する。
図 1 9は、 図 1 8に示す発光部 2 1 6のうちの一部である 3つの発光素子 2 1 6 A〜2 1 6 C及び導波路 2 3 0の一例を示す断面図である。 図 1 9では、 共通 の導波路 2 3 0上に 3チャンネル分の発光素子 2 1 6 A〜2 1 6 Cが形成されて いる状態が図示されている。
図 1 9において、 導波路 2 3 0は、 例えば、 下層の S i 02層 2 4 0と上層の S i 0 2層 2 4 2との間にコアとなる透明電極例えば I T〇 (インジウム ·ティン - ォキサイ ド) 層 2 4 4を設けて構成される。 なお、 コアとなる I T 0層 2 4 4の 全ての外表面は、 S i 0 2層 2 4 0または S i 0 2層 2 4 2により覆われて光漏れ が防止されている。
発光素子 2 1 6 A〜2 1 6 Cは、 後述するように一部の層の組成、 材料等が異 なる点を除いて同一の構成を有するため、 以下発光素子 2 1 6 Aについて説明す る。 発光素子 2 1 6 Aは、 上層の S i 0 2層 2 4 2上に、 各チャンネルの発光箇所 を仕切るためのバンク 2 5 0を有する。 このバンク 2 5 0内には、 I T O層 2 5 2、 発光層 2 5 4が順次積層され、 発光層 2 5 4及びバンク 2 5 0の一部を覆つ て金属電極 (例えば A 1 _ L i ) 2 5 6が形成されている。 なお、 I T O層 2 5 2の下層に、 狭帯域の波長を通過させる光学フィル夕一を形成してもよい。 この ようにして、 導波路 2 3 0上には、 バンク 2 5 0により光学的に隔絶された複数 の発光素子 2 1 6 A〜2 1 6 Cなどが形成される。 発光素子 216 Aの発光層 254は、 例えば有機 EL (エレクトロルミネッセ ンス) にて形成される。 この有機 ELは、 例えば図 20に示すように、 インクジ ェヅ トノズル 258より I TO層 252上に吐出され、 例えば約 0. 1〃mの膜 厚にて形成される。 そして、 有機 E Lの材料を選択することで、 あるチャンネル の発光素子 216 Aの発光層 254から発光される光の波長を、 他の全てのチヤ ンネルの発光素子 216 B, 216 C等の発光層 254の発光波長と異ならせて いる。
発光層 254として有機 ELを用いると、 発光波長の選択の自由度が大きく、 事実上特定の材料を選択したり、 材料を復号することで、 あらゆる波長の選択が 可能である。
有機発光材料としては、 発光材料中の励起子のエネルギーが有機物質の禁止帯 幅に対応する HOMO (最高被占準位) 一 LUMO (最低空準位) 間のエネルギ 一差に相当するものが選択される。 例えば、 低分子、 高分子、 特に主鎖に共役系 の発達した共役高分子、 導電性分子や色素分子が選択される。
有機発光材料として、 低分子有機材料を用いる場合、 例えば青色発光させるに は、 アントラセン、 PPCP、 Zn (OxZ) 2s ジスチルベンゼン (DSB) 、 その誘導体 (PESB) 等が用いられる。 また、 例えば赤色発光させるには、 B PPC、 ベリレン、 DCMなどが用いられる。
また、 有機発光材料として高分子有機材料を用いる場合であって、 例えば赤色 発光させるためには、 PATなど、 オレンジ色発光させるには MEH— PP Vな ど、 青色発光させるには PDAF、 FP— PPP、 RO— PPP、 PPPなど、 紫色発光させるには P MP Sなどが用いられる。
その他、 有機発光材料として、 PPV、 RO-PP V, CN— PPV、 P d p hQxヽ PQXヽ P VK (ポリ (N—ビニルカルバゾール) ) 、 PPS、 PNPS、 PB P Sなどが用いられる。
特に PVKは、 Eu錯体などキヤリア輸送能力の劣る色素分子などのドーパン トインクの混合濃度や吐出回数を制御することで発振波長 (発光色) を変えるこ とができる。 例えば、 PVKからなる有機発光材料に蛍光色素をドープすると発 光色を調整することができる。
また、 P V Kにローダミン Bや D C Mをドープ可能に構成する場合には、 発光 色を緑色から赤まで任意に変えることができる。
また、 光の波長 (ピーク波長や波長帯域など) は、 図 1 9の I T O層 2 5 2の 下層に追加配置される光学フィル夕一によってある程度調整可能である。
白色光のような波長帯域の広い光が発光され、 その波長を調整する場合は、 上 記光学フィル夕一として、 通常の吸収型の光学カラ一フィル夕一を用いることが でき、 これにより所望の色 (波長) の光のみを通過させて光信号とすることがで きる。
また、 I T O層 2 5 2の下層に追加配置される光学フィル夕としては、 分布反 射型多層膜ミラ一 (D B Rミラー) を用いることができる。 この D B Rミラ一は、 屈折率の異なる複数の薄膜を積層したもの、 特に屈折率の異なる 2種類の薄膜で 構成されたペアを複数有するものである。 この薄膜を構成する成分としては、 例 えば半導体材料や誘電体材料なとが挙げられ、 これらのうちでは誘電体材料が好 ましい。 これらは、 通常の真空成膜法あるいは液相成膜法を用いて形成すること ができる。 また、 誘電体材料は、 有機溶媒に可溶な有機化合物を出発原料として 用いることができ、 この場合図 2 0のインクジエツ ト方式によるパターン形成の 適用が可能となる。
発光素子 2 1 6 A〜2 1 6 Cは、 垂直共振器型の面発光レーザとすることもで きる。 この面発光レーザは、 それそれ反射率が異なる 2つのミラー例えば分布反 射型多層膜 (D B R ) ミラー (図 1 9の例では下層のミラーの反射率が低い) の 間に、 クラッ ド層及び活性層 (量子井戸構造が好ましい) を交互に積層させて形 成し、 上下各層のミラ一と上下各層の電極 (図 1 9の例では下部電極は I T Oな どの透明電極である) との間にはそれぞれコンタク ト層が配置されて形成される。 なお、 この種の面発光レーザの詳細は、 本願出願人の先の出願 (特願平 1 0— 2 0 1 2 4 1 5、 特願平 1 0— 2 0 1 2 4 4、 特閧平 7— 1 9 8 2 0 3など) に 開示されているので、 その詳細な説明は省略する。
各チャンネルの面発光レーザの発光波長も、 ェピタキシャル成長される材料例 えば Ga A 1 Asの組成を選択することで変更可能であり、 図 20のインクジェ ッ ト方式によるパターン形成によって、 組成の異なる複数の面発光レーザを導波 路 230上に実装することができる。
発光素子 216 Aのさらに他の例として、 図 22に示すような端面発光レーザ 270を用いることもできる。 この端面発光レ一ザ 270の端面 272から出射 された光 274は、 I TOなどの光伝送媒体にて形成されたウエーブガイ ド 27 6内を伝搬される。 各チャンネルの端面発光レーザの発光波長も、 その構成材料 の組成を選択することで変更可能である。
図 21は、 図 19に示す導波路 230の延長線上に設けられた 3チャンネル分 の受光素子 222 A〜222 Cの一例を示している。 この受光素子 222 A〜2 22 Cも後述する一部の層の組成、 材料等が異なる点を除いて共通の構成を有す るため、 以下受光素子 222 Aについて説明する。 この受光素子 222 Aは、 導 波路 230の上層の S i 02層 242が除去された領域の I TO層 244上に、 光 学フィルタ一 262と、 透明電極としての I TO層 263と、 第 1導電型半導体 層例えば n型 GaAl As層 264と、 第 2導電型半導体層例えば p型 G a A 1 As層 266と、 金属電極 268とを有する。
ここで、 第 1 , 第 2導電型半導体層 264, 266は P I Nフォトダイオード を構成する。 この P I Nフォトダイオードを構成する他の例として、 p型 a— S i C (p型半導体) と、 i型 a— S i層と、 n型 a— S i C層とを有するもので もよい。 このとき、 金属電極 268として、 A 1— S i— Cu層を用いることが できる。
光学フィル夕一 262は、 例えば X 1 nm以上の波長の光を通過させる第 1の 光学フィル夕一と、 X2 (>X 1 ) nm以下の波長の光を通過させる第 2の光学 フィル夕一との少なくとも 2層を有し、 X 1〜X 2 nmの波長の光を通過させる 狭帯域光フィル夕一として機能する。 なお、 この光学フィルター 262の構成を、 図 19の I TO層 252の下層に追加配置される光学フィル夕一に適用すること もできる。 逆に、 図 19の I TO層 252の下層に追加配置される光学フィル夕 —として説明した材料を、 光学フィルター 262に用いることもできる。 上記の構造により、 導波路 230を伝搬され、 光学フィルター 262を通過し た特定波長の光は、 第 1 , 第 2導電型半導体層 264, 266の間の界面に形成 される空乏層にて光一電流変換され、 この電気信号を電極 263 , 268を介し て取り出すことができる。
ところで、 光学フィル夕一 262は、 その構成材料の選択により、 通過される 光の波長を変更できる。 また、 第 1 , 第 2導電型半導体層 264, 268などに て構成されるフォトダイオードも、 構成材料例えば GaAl Asの組成を選択す ることで、 検出できる光の波長を変更できる。 これにより、 あるチャンネルの受 光素子 222 Aにて検出される光の波長を、 他の全てのチャンネルの受光素子 2 22 B, 222 Cなどでの検出波長と異ならせている。 なお、 光学フィル夕 26 2、 第 1 , 第 2導電型半導体層 264, 268は、 図 20に示すィンクジェッ ト ノズル 258を用いた層形成方法により形成することができる。 あるいは、 検出 波長の異なる受光素子 222 A, 222 B, 222 Cを、 導波路 230上に実装 してもよい。
(マイクロコンピュー夕の動作説明)
図 17に示す CPU 102が例えばキヤヅシュメモリである RAMI 06より デ一夕を読み込む場合には、 CPU 102 RAM106を選択するチップィ ネーブルまたはチップセレクト信号、 さらには読み出しアドレス信号などが、 そ れそれ多チヤンネルの電気信号として出力される。
ここで、 図 18に示す第 1の機能回路 210が CPU 102とすると、 この多 チャンネルの電気信号は図 18の電気回路領域 212より出力される。 この多チ ヤンネルの電気信号は配線部 214を介して発光部 2 16に入力される。 発光部 216を構成する各々の発光素子は、 図 19に示す金属電極 256に各チャンネ ルの電気信号の一つが入力され、 それに基づいて発振 (発光) 制御される発光層 254にて各チャンネル固有の波長の光信号が発光される。 これにより、 各チヤ ンネル毎に発光制御された光信号が各チャンネルの発光層 254より発光され、 I TO層 252を介して導波路 230に入射される。 導波路 230では、 図 19 に示すようにコアとなる I TO層 244を光が伝搬される。 図 18の第 2の機能ュニヅ ト 220を RAM106とすると、 その受光部 22 2に、 導波路 230を伝搬された光信号が入射される。 ここで、 図 21に示すよ うに、 受光部を構成する各々の受光素子 222 A〜222 Cは、 それそれ異なる 波長の光を通過させる光学フィル夕 262を有するので、 多チャンネル分の数だ け配置された各々の受光素子 222 A- 222 Cには、 各チャンネルに対応する 波長の光のみがそれそれ入射される。 さらに、 各々の受光素子 222 A〜222 Cは、 各々の光学フィル夕 262を通過した波長の光を検出するように構成され ているため、 各チャンネル毎に電気信号を出力することができる。
その後は、 従来の L S Iなどと同様に RAM 106が電気的に駆動され、 必要 なデ一夕が RAM 106より読み出される。 RAM 106より読み出された電気 信号は、 図 18では省略した第 2の機能ュニッ ト 220側の発光部にて光信号に 変換され、 図 18に示す導波路 230を介して伝搬される。 この光信号は、 図 1 8ではした第 1の機能ュニット 210側の受光部にて電気信号に変換され、 増幅 器を介して CPU 102に供給される。
このように、 情報処理システムとしてのマイクロコンビユー夕 100内の各機 能ュニッ ト間の信号の授受を光によって行うことにより、 伝送速度のロスをほと んど無視することができる。 従って、 さらに高集積化が進んだとしても、 伝送遅 延を考慮した設計が不要となり、 回路の構築設計が大幅に簡易化される。 しかも、 マイクロコンピュー夕 100内の各機能ュニット間の信号の授受を光によって行 うことにより、 マイクロコンピュー夕 100の発熱も低減させることができる。 なお、 図 17に示すマイクロコンビユー夕 100と、 その周辺機器との間を光 通信する構成とすることもできる。 周辺機器としては、 LCDや CRTなどの表 示部、 プリン夕などを挙げることができる。
この場合、 図 17に示す入力ポート 136、 出力ポート 138、 I/Oポート 140として、 バスライン 146に対して多チャンネルの光信号を入出力する構 成とすればよい。 このとき、 光信号を入出力しない時に通路を遮断する光シャツ 夕一を各ポートに設け、 チップセレク ト信号などにより周辺機器が指定された場 合にのみ光シャツ夕一を開放する構成としてもよい。 (第 5実施例)
本発明の第 5実施例は、 従来の例えば LS Iとして 1チップ内に集積されてい た複数の機能ュニッ トを、 異なる半導体装置に振り分けて収容したシステム L S Iに関する。
図 23は、 図 17に示すマイクロコンピュー夕 100の一部の構成を第 1の半 導体装置 300に搭載し、 他の全部または一部を第 2の半導体装置 302に搭載 し、 第 1 , 第 2の半導体装置 300, 302を外部バスライン 304にて接続し たシステム L S Iをベース基板 306上に形成した状態を示している。 外部バス ライン 304は図 18で示した導波路 230の他、 例えば光ファイバ一にて形成 され、 第 1, 第 2の半導体装置 300, 302間は光により信号の授受が行われ る。 なお、 第 1の半導体装置 300及び第 2の半導体装置 302内に複数の機能 ュニッ 卜が配置される場合、 各半導体装置内での機能ュニッ ト間は第 1実施例と 同様にして光により信号の授受が行われる。
ここで、 図 23に示す第 2の半導体装置 302内に、 図 17に示すキャッシュ メモリとしての RAMI 06と、 : OM104と、 光伝送媒体で形成された内部 バスライン 310とが、 第 2の基板 312上に少なくとも搭載されている。 一方、 図 23に示す第 2の半導体装置 300内には、 図 17に示す CPU 102、 内部 バスライン 146の他、 第 2の半導体装置 302に搭載されない機能ュニッ ト 1 08〜 140が、 第 1の基板 308上に搭載されているものとする。
この構成により、 第 1の半導体装置 300内では、 CPU 102は内部バスラ イン 146を介して、 第 1の半導体装置 300内に搭載された他の機能ュニット 108〜 140との間で光信号によるデ一夕、 ァドレスの信号授受を行うことが できる。 一方、 第 1の半導体装置 300内の CPU 102と、 第 2の半導体装置 302内の ROM 104, RAM 106との間では、 第 1の半導体装置 300内 の内部バスライン 146、 外部バスライン 304及び第 2の半導体装置 302内 の内部バスライン 310を介して、 データ、 アドレスの信号の授受を光信号を用 いて行うことができる。
このような構成により、 従来は CPU 102と共に 1チップ内に納める必要が あった機能ユニッ トの少なくとも一つを、 外部に取り出すことができ、 しかも外 部に取り出した機能ュニヅ ト 1 0 4 , 1 0 6と C P U 1 0 2との間の伝送遅延は 無視することができる。 このため、 1チヅプ化される第 1の半導体装置 3 0 0の 集積度を低くでき、 歩留まりが向上する他、 C P U 1 0 2により直接アクセスさ れる機能ュニヅトとして例えば R O M 1 0 4 , R AM 1 0 6の外付けが可能にな る。 従って、 1チップの基本設計思想を共通化させながら、 外付け素子による機 能の追加を自由に設計することが可能となる。 なお、 第 2の半導体装置 3 0 2に 等される機能ュニットとしては、 上述のようなメモリに限定されるものではない。
(第 6実施例)
図 2 4は、 本発明の第 6実施例を示す概略説明図である。 図 2 4に示すように、 本実施例では発光部、 受光部、 導波路が、 三次元に設置されている。 図 2 4にお いて、 基板 4 0 0上には第 1層〜第 5層 4 1 0 a〜4 1 0 eが形成されている。 第 5層 4 1 0 eにおける発光部 4 1 3と受光部 4 2 7の関係は、 図 1 8に示す水 平な導波路 2 3 0にて接続された発光部 2 1 6と受光部 2 2 2の関係と同じであ る。 また、 異なる層間における発光部 4 1 3と受光部 4 2 4の関係、 発光部 4 1 4と受光部 4 2 2, 4 2 5 , 4 2 6の関係、 発光部 4 1 2と受光部 4 2 1との関 係、 発光部 4 2 3と受光部 4 1 1との関係は、 導波路が垂直部分を有する点のみ が異なり、 基本的には図 1 8に示す発光部 2 1 6と受光部 2 2 2の関係と同じで ある。
このデバイスを製造するには、 下記のようにすることが好ましい。 まず、 第 1 層〜第 5層 4 1 0 a〜4 1 0 eをそれそれ異なる第 1〜第 5基板上に形成する。 次いで、 第 1層 4 1 0 aが形成される第 1基板は、 図 2 4の基板 4 0 0とするこ とができるが、 もしそうでない場合には第 1層 4 1 0 aを第 1基板から剥離させ、 図 2 4の基板 4 0 0上に転写する。 以下、 同様にして第 2層 4 1 0 b〜4 1 0 e をそれそれ第 2基板〜第 5基板から剥離させ、 位置合わせしながら図 2 4に示す 順序で基板 4 0 0上に転写して積層する。 この剥離、 転写方法は本願出願人によ る特願平 8— 2 2 5 6 4 3号などに開示されているので省略する。
このデバイスによれば、 第 4実施例と同様な効果を奏することができると共に、 さらに高集積化を果たすことができる。
なお、 本発明は上記実施例に限定されるものではなく、 本発明の要旨の範囲内 で種々の変形実施が可能である。 例えば、 上述した実施例では発光素子として有 機 E L、 半導体レーザを例に挙げたが、 これらに限らず無機 E L、 発光ダイォ一 ドなどで構成することもできる。 さらに、 受光素子としても、 P I Nフォトダイ オードに限らず、 P Nフォトダイオード、 アバランシェフオトダイオードなどの 各種ダイオード、 フォト トランジスタ、 フォトルミネッセンスなどを用いること ができる。
また、 本発明の情報処理システムであるマイクロコンピュー夕は図 1 7の機能 ュニッ トを有するものに限らず、 用途に応じて種々の規模及び種類の機能ュニッ トを配置することができる。 特に、 第 5実施例のようなシステム L S Iの一つを マイクロコンピュー夕として 1チップ化した場合には、 従来のマイクロコンピュ —夕に必要であった機能ュニッ 卜の一部を省略することも可能である。 1チップ 内より省略された機能ュニッ トは、 該 1チップと外部バスラインを介して接続さ れる他の半導体装置に搭載されればよい。
また、 本発明のマイクロコンビュ一夕あるいはシステム L S Iが搭載される電 子機器としては、 従来よりマイクロコンピュータ化されたあらゆる機器を挙げる ことができ、 特に消費電力の低下が求められる携帯用電子機器の他、 情報通信機 器、 家電、 業務用電子機器、 工作機械、 自動車部品等に好適に実施できる。
(第 7実施例)
次に、 第 2実施例または第 4実施例の構成を利用して実現される本発明の第 7 実施例に係るシステム L S Iについて、 図 2 5を参照して説明する。
図 2 5に示すシステム L S 1 5 0 0は、 開発メーカが異なる複数の機能ブロッ ク 5 0 1 , 5 0 2, 5 0 3…が搭載されたシステム L S Iである。 図 2 5に示す 3つの機能ブロック 5 0 1, 5 0 2 , 5 0 3は、 それそれ A社, B社, C社が独 自に開発したライブラリに基づいて設計されたものである。 このシステム L S I 5 0 0は、 C社によって製造されたものと仮定する。 C社は、 機能ブロック 5 0 1 , 5 0 2の焼き付けのための知的所有権に関する権利を A社及び B社から許諾 され、 このシステム L S Iを製造する。
ここで、 A社及び B社は、 C社が製造するシステム L S Iの数に基づいて、 ラ ィセンス料が計算されるとすると、 C社から正確な製造数の申告を受ける必要が あり、 ライセンス料の管理は A〜C社の全てにとって煩雑となる。
この第 7実施例は、 この種の知的所有権に関するライセンス料の管理を、 開発 メーカ、 製造メーカに負担をかけずに行うための改良に関する。
例えば A社の開発した機能プロック 5 0 1を利用するェンドユーザに、 上述し た R S A方式の復号鍵 (プライべ一トキ一) をライセンスによって開示する。 そ して、 この第 7実施例では、 システム L S I 5 0 0の利用者のうち、 復号鍵を有 するェンドユーザのみが機能プロック 5 0 1を利用できるようにしたものである < 以下、 機能ブロック 5 0 1の構成及び動作について説明する。
機能ブロック 5 0 1は、 四則演算機能エリアを有する。 この四則演算機能エリ ァは、 エンドユーザに与えられた所定の復号鍵が入力された際に、 暗号化及び復 号の少なくとも一方の演算を先ず実施する。 機能プロック 5 0 1は、 この演算が 成立した時以降初めて、 暗号化及び復号以外の一般の四則演算機能がィネーブル とされる。
具体的には、 機能プロック 5 0 1は、 図 2に示す X個の演算ュニッ ト 7— 1〜 7— Xを、 四則演算機能ユニッ トとして有している。 この中の一部が、 図 5また は図 1 3 Bに示すべき乗剰余演算ュニッ トとして共用されている。
ここで、 例えば機能ブロック 5 0 1での一般四則演算機能をイネ一ブルとする には、 第 2実施例の [ 1 ] R S A方式の原理説明の欄の ( 3 ) 式の暗号文 M e≡ C m o d nを解読することが必要十分条件として設定されている。 そこで、 ェンドユーザはライセンスにより予め取得した復号鍵を入力し、 第 2実施例の [ 1 ] R S A方式の原理説明の欄の ( 4 ) ( 5 ) 式の演算を、 機能プロック 5 0 1内の複数のべき乗剰余演算ユニッ トを用いて実施し、 暗号文を復号する。 この 復号の結果、 機能プロック 5 0 1内に設けられた図 2に示す X個の演算ュニッ ト 7— 1〜 7— Xを用いた一般の四則演算機能がイネ一ブルとなり、 機能ブロック 5 0 1を利用できるようになる。 なお、 機能ブロック 5 0 1を利用する毎に復号鍵を入力するのが煩雑であれば、 ライセンスにより取得した復号鍵を記憶する記憶部を設けても良い。
このように、 機能プロック 5 0 1には、 第 1実施例の図 2の構成が備えられ、 その一部が第 2実施例にて説明した暗号文の復号のために用いられる。
ここで、 システム L S I 5 0 0を構成する各機能ブロック間、 各機能ブロック 内での信号伝送は、 第 4〜第 6実施例の技術を利用して、 光伝送とすることがで きることは言うまでもない。

Claims

請 求 の範 囲
1. 入力データに対して、 処理手順に従って演算処理して出力する情報処理シス テムにおいて、
前記処理手順に基づいて、 それそれ演算精度 2mビッ ト (m : 自然数) にて演算 する複数の演算ュニッ トと、
前記演算ュニッ ト同士をカスケ一ド接続するための複数のカスケ一ド接続端子 と、
を有し、
演算処理時に必要な最大演算精度を 2 nビッ ト (nは自然数で固定) としたとき、 x≥ 2n/2m (xは自然数) を満たすように前記演算ュニッ 卜が X個カスケード 接続されることを特徴とする情報処理システム。
2. 請求項 1において、
演算処理時に必要な演算精度を 2nlビッ ト (11 1 ≤ 11で1 1は可変) としたと き、 X l≥2nl/2m (X 1は自然数で可変) を満たすように前記演算ユニッ トが X 1個カスケ一ド接続されることを特徴とする情報処理システム。
3. 請求項 2において、
前記複数の演算ュニッ トに入力される基準クロック信号を発生させるクロック 発生回路を有し、
前記ク口ック発生回路は、 演算処理時に 2 nl個の前記基準ク口ック信号を発生 させることを特徴とする情報処理システム。
4. 請求項 1乃至 3のいずれかにおいて、
前記複数の演算ュニッ ト間は光信号により信号が伝送されることを特徴とする 情報処理システム。
5. 請求項 1乃至 3のいずれかにおいて、
前記複数の演算ュニッ 卜の各々は、 演算精度 2m/yで演算を行うべき演算モジュ ールをそれそれ y個 (yは自然数で固定) を有し、 y個の前記演算モジュールを カスケ一ド接続することにより構成されていることを特徴とする情報処理システ ム。
6. 請求項 1において、
前記複数の演算ュニットの少なくとも一つは、 演算精度 2 m/yで演算を行うべき 演算モジュールを y個 (yは自然数で固定) を有し、 演算処理時に必要な演算精 度を 2 ビッ ト (n 1≤nで n 1は可変) としたとき、 y 1 2 n1/ 2 m/y ( y 1 は自然数で可変) を満たすように y 1個の前記演算モジュールがカスケ一ド接続 されることを特徴とする情報処理システム。
7. 請求項 1において、
2nlビッ ト精度の演算を行うのに、 (X 1— 1 ) 個のカスケード接続された演 算ュニッ トにて演算精度 2 n2 (n2 <n 1) にて演算が実施され、 前記 (x 1 - 1 ) 個の演算ユニッ トとカスケード接続される他の一つの演算ユニッ トでは、 y 1≥ (2nl- 2n2) /2m/y (y 1≤yで y 1は可変) を満たす y 1個の演算モジ ユールがカスケ一ド接続されることを特徴とする情報処理システム。
8. 請求項 6または 7において、
前記演算ュニッ トに入力される基準クロック信号を発生させるクロック発生回 路を有し、
前記ク口ック発生回路は、 演算処理時に 2 nl個の前記基準ク口ック信号を発生 させることを特徴とする情報処理システム。
9. 請求項 5乃至 8のいずれかにおいて、
前記最大 y個の演算モジュール間は光信号により信号が伝送されることを特徴 とする情報処理システム。
10. 請求項 1乃至 9のいずれかにおいて、
前記処理手順を記憶する第 1の記憶部をさらに有することを特徴とする情報処 理システム。
1 1. 請求項 10において、
前記処理手順に基づいて前記複数の演算ュニッ トの制御を行う演算制御手段を 備えたことを特徴とする情報処理システム。
12. 請求項 1 1において、
前記複数の演算ュニッ トと演算制御手段との間は光信号により信号が伝送され ることを特徴とする情報処理システム。
13. 請求項 1乃至 1 1のいずれかにおいて、
前記複数の演算ュニッ トでの演算結果を一時的に記憶する第 2の記憶部を有し、 前記第 2の記憶部と前記複数の演算ュニッ トとの間は光信号により信号が伝送さ れることを特徴とする情報処理システム。
14. 請求項 1乃至 13のいずれかにおいて、
前記入力デ一夕を X、 Nとし、 出力データ Yをとしたとき、 少なくとも一つの 前記演算ユニッ トは、 Y=X2 mod Nの演算処理を実施することを特徴とす る情報処理システム。
15. 請求項 1乃至 14のいずれかにおいて、
前記複数の演算ュニッ 卜の歩留まり率を Aとしたとき、 全演算ュニッ 卜の数 K (x≥K/A) のうち良品の演算ュニヅ トを最大で X個カスケ一ド接続すること を特徴とする情報処理システム。
16. 請求項 5乃至 7のいずれかにおいて、
前記演算モジュールの歩留まり率を A,としたとき、 前記複数の演算ュニッ 卜の 各々は、 全演算モジュールの数 L (y≥L/A' ) のうち、 良品の演算モジユー ルを最大で y個カスケ一ド接続することを特徴とする情報処理システム。
17. 入力データに対して、 処理手順に従って演算処理して出力する情報処理シ ステムにおいて、
前記処理手順に基づいて、 それそれ演算精度 2 mlビッ ト (ml : 自然数で固定) にて演算する複数の内部演算ュニッ トと、
演算精度 2ra2ビッ ト (m2 : 自然数で固定) で演算をする複数の外部演算ュニ ッ 卜と、
前記複数の内部演算ュニッ ト及び前記複数の外部演算ュニッ トをカスケ一ド接 続するためのカスケ一ド接続端子と、
を有し、
演算処理時の最大演算精度を 2 nビッ ト (nは自然数で可変) としたとき、 z (2n-2ml) /2m2 (zは自然数で固定) を満たすように前記外部演算ュニッ ト が z個カスケ一ド接続されることを特徴とする情報処理システム。
18. 請求項 17において、
演算処理時に必要な演算精度を 2 ビッ ト (11 1 ≤ 11で1 1は可変) としたと き、 z 1≥ (2nl-2ml) /2m (z 1は自然数で可変) を満たすように前記外部 演算ュニッ トが z 1個カスケ一ド接続されることを特徴とする情報処理システム。
19. 請求項 17または 18において、
前記複数の内部演算ュニット及び前記複数の外部演算ュニッ ト間は光信号によ り信号が伝送されることを特徴とする情報処理システム。
20. 請求項 17乃至 19のいずれかにおいて、
前記複数の外部演算ュニッ トの各々は、 演算精度 2 m2/yで演算を行うべき演算 モジュールをそれそれ y個 (yは自然数で固定) を有し、 y個の前記演算モジュ —ルをカスケ一ド接続することにより構成されていることを特徴とする情報処理 システム。
21. 請求項 20において、
前記 y個の演算モジュール間は光信号により信号が伝送されることを特徴とす る情報処理システム。
22. 請求項 17乃至 21のいずれかにおいて、
前記処理手順を記憶する記憶部を有することを特徴とする情報処理システム。
23. 請求項 22において、
前記処理手順に基づいて前記複数の内部演算ュニッ ト及び前記複数の外部演算 ュニッ卜の制御を行う演算制御手段を備えたことを特徴とする情報処理システム。
24. 請求項 17乃至 23のいずれかにおいて、
前記入力データを X、 Nとし、 出力データ Yをとしたとき、 前記複数の内部演 算ュニッ 卜及び前記複数の外部演算ュニッ トは、
Y=X2 mod Nの演算処理を実施することを特徴とする情報処理システム。
25. 請求項 17乃至 24のいずれかにおいて、
前記複数の外部演算ュニッ 卜の歩留まり率を Aとしたとき、 全外部演算ュニッ 卜の数 K (z≥K/A) のうち良品の演算ュニッ トを最大で z個カスケ一ド接続 することを特徴とする情報処理システム。
26. 請求項 20または 2 1において、
前記演算モジュールの歩留まり率を A,としたとき、 前記複数の内部演算ュニッ ト及び前記少なくとも一つの外部演算ュニッ 卜の各々は、 全演算モジュールの数 L (y≥L/A, ) のうち、 良品の演算モジュールを最大で y個カスケ一ド接続 することを特徴とする情報処理システム。
27. 複数のべき乗剰余演算ユニッ トと、
前記複数のべき乗剰余演算ュニッ トをカスケ一ド接続するための複数のカスケ —ド端子と、
を有し、
前記複数のべき乗剰余演算ュニッ 卜の各々は、
乗算精度 2mビッ ト (mは自然数で固定) で乗算を行う乗算ユニッ トと、 除算精度 22'mビッ トで除算を行う除算ュニッ トと、
を有し、
前記複数のべき乗剰余演算ュニッ トにより実施されるべき乗剰余演算の最大演 算精度を 2n (nは自然数で固定) としたとき、
x≥ 2n/2m (xは自然数で固定)
を満たすように、 前記複数のべき乗剰余演算ユニッ トが X個接続されて、 暗号化 及び復号を行うことを特徴とする暗号/復号システム。
28. 請求項 27において、
演算処理時に必要な演算精度を 2nlビッ ト (11 1 ≤ 11で11 1は可変) としたと き、 X 1≥ 2nl/2m (x 1≤xで可変) を満たすように、 前記複数のべき乗剰余 演算ュニットが X 1個カスケ一ド接続されることを特徴とする情報処理システム
29. 請求項 27または 28において、
前記複数のべき乗剰余演算ュニッ ト間は光信号により信号が伝送されることを 特徴とする暗号/復号システム。
30. 請求項 27乃至 29のいずれかにおいて、
前記乗算ュニッ トは、 乗算精度 2m/y (yは自然数で固定) で乗算を行う y個の乗算モジュールと、 y個の前記乗算モジュールをカスケ一ド接続するためのカスケ一ド端子と、 を有し、
前記除算ュニッ トは、
除算精度 22' (m/y)で除算を行う y個の除算モジュールと、
y個の前記除算モジュールをカスケ一ド接続するためのカスケ一ド端子と、 を有することを特徴とする暗号/復号システム。
3 1. 請求項 30において、
前記 y個の乗算モジュール間及び前記 y個の乗算モジュール間は、 光信号によ り信号が伝送されることを特徴とする暗号/復号システム。
32. 乗算精度 2mlビット (m lは自然数で固定) 、 除算精度 22·"11ビッ トでべ き乗剰余演算を行う複数の内部べき乗剰余演算ュニッ トと、
乗算精度 2m2ビッ ト (m2は自然数で固定) 、 除算精度 22 m2ビッ トでべき乗 剰余演算を行う複数の外部べき乗剰余演算ュニッ 卜と、
前記複数の内部及び外部べき乗剰余演算ュニッ トをカスケ一ド接続するための カスケ一ド接続端子と、
を有し、
最大ビット精度 2n (nは自然数で固定) で暗号化及び復号を行うに際して、 z≥ (2n- 2ffil) /2m2 (zは自然数で固定) を満たすように前記外部べき乗 剰余演算ュニッ トを z個接続することを特徴とする暗号/復号システム。
33. 請求項 32において、
演算処理時に必要な演算精度を 2 "ビッ ト (n l≤nで n lは可変) としたと き、 z 1≥ (2n-2ml) /2m2 (z 1≤zで可変) を満たすように、 前記外部べ き乗剰余演算ュニットが z 1個カスケード接続されることを特徴とする暗号/復 号システム。
34. 請求項 32または 33において、
前記複数の内部べき乗剰余演算ュニッ トと前記複数の外部べき乗剰余演算ュニ ッ トの間は、 光信号により信号が伝送されることを特徴とする暗号/復号システ ム。
3 5 . 請求項 3 2乃至 3 4のいずれかにおいて、
前記複数の外部べき乗剰余演算ユニッ トの各々は、 乗算精度 2 m/y ( yは自然数 で固定) 、 除算精度 2 2 ' (ra/y)でべき乗剰余演算を行う外部べき乗剰余演算モジュ ールを y個有し、 前記 y個の外部べき乗剰余演算モジュールがカスケ一ド接続さ れていることを特徴とする暗号/復号システム。
3 6 . 請求項 3 5において、
前記 y個の外部べき乗剰余乗算モジュール間は、 光信号により信号が伝送され ることを特徴とする暗号/復号システム。
3 7 . 請求項 3 2乃至 3 6のいずれかにおいて、
前記複数の外部べき乗剰余演算ュニッ トの歩留まり率を Aとしたとき、 全演算 ュニッ卜の数 K ( z≥K/A ) のうち良品の演算ュニヅ トを最大で z個カスケ一 ド接続することを特徴とする暗号/復号システム。
3 8 . 請求項 3 5において、
前記外部べき乗剰余演算モジュールの歩留まり率を A'としたとき、 前記複数の 外部べき乗剰余演算ュニッ 卜の各々は、 全外部べき乗剰余演算モジュールの数 L ( y≥L /A 5 ) のうち、 良品の演算モジュールを y個カスケード接続すること を特徴とする暗号/復号システム。
3 9 . 多チャンネルの電気信号に基づいてそれそれ動作する複数の機能ュニッ ト と、 それらの間で信号を伝送するバスラインとを、 有する情報処理システムであ つて、
前記複数の機能ュニッ 卜の各々は、 信号出力部及び/又は信号入力部を有し、 前記信号出力部は、 多チャンネルの電気信号を波長の異なる多チャンネルの光 信号に変換して出力する電気一光信号変換手段を有し、
前記信号入力部は、 波長の異なる多チャンネルの前記光信号を多チヤンネルの 前記電気信号をに変換する光一電気信号変換手段を有し、
前記バスラインは光伝送媒体にて形成されていることを特徴とする情報処理シ ステム。
4 0 . 請求項 3 9において、
前記複数の機能ユニッ トの一つは中央処理ユニッ ト (C P U ) であり、 前記バ スラインはデータバスラインとアドレスバスラインとを含むことを特徴とする情 報処理システム。
4 1 . 請求項 4 0において、
前記データバスラインと前記ァドレスバスラインとは 1本の光伝送媒体にて兼 用されていることを特徴とする情報処理システム。
4 2 . 請求項 4 0または 4 1において、
前記バスラインには、 周辺機器と光通信するための光入出力部が接続されてい ることを特徴とする情報処理システム。
4 3 . 請求項 4 2において、
前記光入出力部は、 前記バスラインを介して前記中央処理ュニッ 卜から伝送さ れるチップセレク ト信号により、 前記周辺機器との間での光通信が可能とされる ことを特徴とする情報処理システム。
4 4 . 請求項 3 9乃至 4 3いずれかに記載の情報処理システムを有することを特 徴とする電子機器。
4 5 . 第 1の半導体装置と第 2の半導体装置とを外部バスラインを介して接続し て成るシステム L S Iであって、
前記第 1の半導体装置は、 第 1の信号出力部及び第 1の信号出力部を有し、 多 チャンネルの電気信号に基づいて動作する中央処理ユニッ ト (C P U ) が第 1の 基板上に形成され、
前記第 2の半導体装置は、 第 2の信号出力部及び第 2の信号入力部とを有し、 かつ、 前記中央処理ユニッ トからの信号により制御されて、 多チャンネルの電気 信号に基づいて動作する被制御ュニッ トが第 2の基板上に形成され、
前記第 1 , 第 2の信号出力部は、 多チャンネルの電気信号を波長の異なる多チ ヤンネルの光信号に変換して出力する電気—光信号変換手段をそれそれ有し、 前記第 1 , 第 2の信号入力部は、 波長の異なる多チャンネルの前記光信号を多 チャンネルの前記電気信号に変換する光一電気信号変換手段をそれそれ有し、 前記外部バスラインは光伝送媒体にて形成されていることを特徴とするシステ ム: L S I。
4 6 . 請求項 4 5において、
前記被制御ュニットはキヤヅシュメモリであることを特徴とするシステム L S
4 7 . 請求項 4 5または 4 6に記載のシステム L S Iを有することを特徴とする 電子機器。
4 8 . 開発メーカが異なる複数の機能プロックが搭載されたシステム L S Iであ つて、
前記複数の機能ブロックの少なくとも一つは、 四則演算機能エリアを有し、 前記四則演算機能エリアは、 前記四則演算機能エリアは、 所定の復号鍵が入力 された際に復号ための演算を実施し、 その復号が成立した時以降初めて、 前記復 号以外の四則演算機能がイネ一ブルとされることを特徴とするシステム L S I。
4 9 . 請求項 4 8において、
前記四則演算機能エリアは、
処理手順に基づいて、 それそれ演算精度 2 mビッ ト (m : 自然数で固定) にて演 算する複数の演算ュニットと、
前記演算ュニッ ト同士をカスケ一ド接続するための複数のカスケ一ド接続端子 と、
を有し、
演算処理時に必要な最大演算精度を 2 nビッ ト (nは自然数で固定) としたとき、 x≥ 2 n/ 2 m ( xは自然数で固定) を満たすように前記演算ユニッ トが X個カス ケ一ド接続されることを特徴とするシステム L S I。
5 0 . 請求項 4 9において、
演算処理時に必要な演算精度を 2 "ビッ ト (n l ≤ nで n lは可変) としたと き、 X 1≥ 2 n l/ 2 ra ( X 1は自然数で可変) を満たすように前記演算ユニッ トが X 1個カスケ一ド接続されることを特徴とするシステム L S I。
5 1 . 請求項 4 9または 5 0において、 前記複数の演算ュニッ ト間は光信号により信号が伝送されることを特徴とする システム: L S I。
52. 請求項 49または 50において、
前記複数の演算ュニッ 卜の一部は、 カスケード接続される複数のべき乗剰余演 算ュニッ トを含み、
前記複数のべき乗剰余演算ュニッ トの各々は、
乗算精度 2" "ビッ ト (mは自然数で固定) で乗算を行う乗算ユニッ トと、 除算精度 22 !"ビ、ソ トで除算を行う除算ュニッ トと、
を有し、
前記複数のべき乗剰余演算ュニッ トにより実施されるべき乗剰余演算の最大演 算精度を 2n (nは自然数で固定) としたとき、
x≥ 2n/2m (xは自然数で固定)
を満たすように、 前記複数のべき乗剰余演算ュニッ 卜が X個接続されて復号を行 うことを特徴とするシステム LS I。
53. 請求項 52において、
演算処理時に必要な演算精度を 2nlビッ ト (11 1 ≤ 11で1 1は可変) としたと き、 X 1≥ 2nl/2m (X 1≤xで可変) を満たすように、 前記複数のべき乗剰余 演算ュニッ 卜が X 1個カスケ一ド接続されることを特徴とするシステム L S I。
54. 請求項 52または 53において、
前記複数のべき乗剰余演算ュニッ ト間は光信号により信号が伝送されることを 特徴とするシステム L S I。
55. 請求項 48乃至 54のいずれかに記載のシステム L S Iを有することを特 徴とする電子機器。
PCT/JP1998/005586 1997-12-10 1998-12-10 Systeme informatique, systeme cryptographique, circuit systeme lsi, et appareil electronique WO1999030250A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE69841305T DE69841305D1 (de) 1997-12-10 1998-12-10 Entzifferungs/Verzifferungssystem
US09/367,234 US6557020B1 (en) 1997-12-10 1998-12-10 Information processing system, enciphering/deciphering system, system LSI, and electronic apparatus
JP53065299A JP4092735B2 (ja) 1997-12-10 1998-12-10 情報処理システム及び暗号/復号システム
EP98959154A EP0974913B1 (en) 1997-12-10 1998-12-10 Encryption/Decryption system
US10/375,995 US7117237B2 (en) 1997-12-10 2003-02-28 Information processing system, encryption/decryption system, system LSI, and electronic equipment

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9/340439 1997-12-10
JP34043997 1997-12-10
JP10/259283 1998-08-28
JP25928398 1998-08-28

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US09/367,234 A-371-Of-International US6557020B1 (en) 1997-12-10 1998-12-10 Information processing system, enciphering/deciphering system, system LSI, and electronic apparatus
US09367234 A-371-Of-International 1998-12-10
US10/375,995 Division US7117237B2 (en) 1997-12-10 2003-02-28 Information processing system, encryption/decryption system, system LSI, and electronic equipment

Publications (1)

Publication Number Publication Date
WO1999030250A1 true WO1999030250A1 (fr) 1999-06-17

Family

ID=26544050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/005586 WO1999030250A1 (fr) 1997-12-10 1998-12-10 Systeme informatique, systeme cryptographique, circuit systeme lsi, et appareil electronique

Country Status (7)

Country Link
US (2) US6557020B1 (ja)
EP (1) EP0974913B1 (ja)
JP (1) JP4092735B2 (ja)
CN (1) CN1280755C (ja)
DE (1) DE69841305D1 (ja)
TW (1) TW407251B (ja)
WO (1) WO1999030250A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715077B1 (en) * 1999-03-23 2004-03-30 International Business Machines Corporation System and method to support varying maximum cryptographic strength for common data security architecture (CDSA) applications
US7089173B1 (en) 2000-04-26 2006-08-08 Altera Corporation Hardware opencore evaluation
FR2811093A1 (fr) * 2000-06-30 2002-01-04 St Microelectronics Sa Dispositif et procede d'evaluation d'algorithmes
JP2002286959A (ja) 2000-12-28 2002-10-03 Canon Inc 半導体装置、光電融合基板、及びそれらの製造方法
US6836784B2 (en) * 2001-01-17 2004-12-28 Matsushita Electric Industrial Co., Ltd. Efficient greatest common divisor algorithm using multiprecision arithmetic
JP3532860B2 (ja) * 2001-01-22 2004-05-31 株式会社東芝 剰余系表現を利用した演算装置及び方法及びプログラム
US7006883B2 (en) * 2001-10-10 2006-02-28 Semiconductor Energy Laboratory Co., Ltd. Production system for composite product and production method for manufacturing of same
KR100448897B1 (ko) * 2002-05-20 2004-09-16 삼성전자주식회사 기능 라이브러리를 내재한 칩 개발 시스템
US7187770B1 (en) 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
US20040024802A1 (en) * 2002-08-05 2004-02-05 Khan Raheel Ahmed High-performance programmable processing element for GF (2N)
US8612772B1 (en) 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
US8566616B1 (en) 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US8020142B2 (en) * 2006-12-14 2011-09-13 Intel Corporation Hardware accelerator
TWI386845B (zh) * 2008-09-12 2013-02-21 Altek Corp Error calculation of the integer division operation circuit
US8095767B2 (en) * 2008-12-30 2012-01-10 Microsoft Corporation Arbitrary precision floating number processing
TWI403952B (zh) * 2009-05-15 2013-08-01 Chunghwa Telecom Co Ltd A large integer modulus index chip structure for signature cryptography
US8694573B2 (en) * 2009-10-26 2014-04-08 Jadavpur University Method and system for determining a quotient value
CN102223631B (zh) * 2010-04-16 2014-06-04 华为技术有限公司 M2m中数据加密传输的方法、设备及系统
CN106528975B (zh) * 2016-11-01 2019-10-01 电子科技大学 一种应用于电路与系统的故障预测与健康管理方法
WO2021029024A1 (ja) * 2019-08-14 2021-02-18 日本電信電話株式会社 秘密ソフトマックス関数計算システム、秘密ソフトマックス関数計算装置、秘密ソフトマックス関数計算方法、秘密ニューラルネットワーク計算システム、秘密ニューラルネットワーク学習システム、プログラム
CN112491544A (zh) * 2020-11-26 2021-03-12 森得(广州)信息科技服务有限公司 一种平台数据动态加密的方法及系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS639951A (ja) * 1986-06-30 1988-01-16 Toshiba Corp 大規模集積回路
EP0281303A2 (en) 1987-03-04 1988-09-07 Cylink Corporation Modulo arithmetic processor chip
JPS63282777A (ja) * 1987-03-04 1988-11-18 株式会社リコー モジュロ演算プロセッサチップ
JPH0214345A (ja) * 1988-07-01 1990-01-18 Nec Corp マイクロプロセッサ多重化システム
JPH0567770A (ja) * 1991-09-06 1993-03-19 Sony Corp 光電子集積回路装置
JPH0567769A (ja) * 1991-09-05 1993-03-19 Sony Corp 3次元光電子集積回路装置
JPH0697486A (ja) * 1992-09-14 1994-04-08 Nippon Steel Corp 光結合回路素子
JPH06295958A (ja) * 1992-04-08 1994-10-21 Fu-Chieh Hsu 回路モジュール冗長性アーキテクチャ
JPH0713945A (ja) * 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
EP0657804A1 (en) 1993-12-08 1995-06-14 Hewlett-Packard Company Overflow control for arithmetic operations
JPH07264165A (ja) * 1994-03-18 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 波長多重光結線装置
JPH08225643A (ja) 1994-12-19 1996-09-03 Asahi Chem Ind Co Ltd ガイドを有する芳香族ポリカーボネートの製造法
JPH0951087A (ja) * 1995-08-04 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> 光接続集積回路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224676A (en) * 1978-06-30 1980-09-23 Texas Instruments Incorporated Arithmetic logic unit bit-slice with internal distributed iterative control
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式
JPS6328277A (ja) 1986-07-21 1988-02-05 Matsushita Seiko Co Ltd Pwm信号発生回路
US4891781A (en) 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
US5289397A (en) * 1991-07-22 1994-02-22 Itt Corporation High-speed modulo exponentiator device
US5357122A (en) 1991-09-05 1994-10-18 Sony Corporation Three-dimensional optical-electronic integrated circuit device with raised sections
US5576554A (en) 1991-11-05 1996-11-19 Monolithic System Technology, Inc. Wafer-scale integrated circuit interconnect structure architecture
EP0541288B1 (en) 1991-11-05 1998-07-08 Fu-Chieh Hsu Circuit module redundacy architecture
US5285078A (en) 1992-01-24 1994-02-08 Nippon Steel Corporation Light emitting element with employment of porous silicon and optical device utilizing light emitting element
JPH06175583A (ja) * 1992-12-09 1994-06-24 Nec Corp べき乗剰余演算回路
SE9303817L (sv) * 1993-11-17 1994-11-14 Telub Teknik Ab System för läsning av krypterad information samt en enhet för användning i ett sådant system
JP3525209B2 (ja) * 1996-04-05 2004-05-10 株式会社 沖マイクロデザイン べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法
JPH09312099A (ja) * 1996-05-21 1997-12-02 Toshiba Microelectron Corp 半導体記憶装置及びそのアクセス方法
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
JP3673234B2 (ja) * 2002-03-20 2005-07-20 株式会社東芝 暗号処理を行う情報記録再生装置と情報記録再生方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS639951A (ja) * 1986-06-30 1988-01-16 Toshiba Corp 大規模集積回路
EP0281303A2 (en) 1987-03-04 1988-09-07 Cylink Corporation Modulo arithmetic processor chip
JPS63282777A (ja) * 1987-03-04 1988-11-18 株式会社リコー モジュロ演算プロセッサチップ
JPH0214345A (ja) * 1988-07-01 1990-01-18 Nec Corp マイクロプロセッサ多重化システム
JPH0567769A (ja) * 1991-09-05 1993-03-19 Sony Corp 3次元光電子集積回路装置
JPH0567770A (ja) * 1991-09-06 1993-03-19 Sony Corp 光電子集積回路装置
JPH06295958A (ja) * 1992-04-08 1994-10-21 Fu-Chieh Hsu 回路モジュール冗長性アーキテクチャ
JPH0697486A (ja) * 1992-09-14 1994-04-08 Nippon Steel Corp 光結合回路素子
JPH0713945A (ja) * 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
EP0657804A1 (en) 1993-12-08 1995-06-14 Hewlett-Packard Company Overflow control for arithmetic operations
JPH07264165A (ja) * 1994-03-18 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 波長多重光結線装置
JPH08225643A (ja) 1994-12-19 1996-09-03 Asahi Chem Ind Co Ltd ガイドを有する芳香族ポリカーボネートの製造法
JPH0951087A (ja) * 1995-08-04 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> 光接続集積回路

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BRICKELL E F: "A SURVEY OF HARDWARE IMPLEMENTATIONS OF RSA", SECURITY IN COMMUNICATION NETWORKS : THIRD INTERNATIONAL CONFERENCE ; REVISED PAPERS / SCN 2002, AMALFI, ITALY, SEPTEMBER 11 - 13, 2002, SPRINGER VERLAG, DE, no. 435, 1 January 1990 (1990-01-01), DE, pages 368 - 370, XP002920588, ISBN: 978-3-540-24128-7, DOI: 10.1007/0-387-34805-0_34 *
DRABIK T. J.: "OPTOELECTRONIC INTEGRATED SYSTEMS BASED ON FREE-SPACE INTERCONNECTSWITH AN ARBITRARY DEGREE OF SPACE VARIANCE.", PROCEEDINGS OF THE IEEE., IEEE. NEW YORK., US, vol. 82., no. 11., 1 November 1994 (1994-11-01), US, pages 1595 - 1622., XP000491594, ISSN: 0018-9219, DOI: 10.1109/5.333741 *
GOODMAN J. W., ET AL.: "OPTICAL INTERCONNECTIONS FOR VLSI SYSTEMS.", PROCEEDINGS OF THE IEEE., IEEE. NEW YORK., US, vol. 72., no. 07., 1 July 1984 (1984-07-01), US, pages 850 - 866., XP002920587, ISSN: 0018-9219 *
HOORNAERT F, ET AL.: "FAST RSA-HARDWARE : DREAM OR REALITY?", SECURITY IN COMMUNICATION NETWORKS : THIRD INTERNATIONAL CONFERENCE ; REVISED PAPERS / SCN 2002, AMALFI, ITALY, SEPTEMBER 11 - 13, 2002, SPRINGER VERLAG, DE, no. 330, 1 May 1988 (1988-05-01), DE, pages 257 - 264, XP002920586, ISBN: 978-3-540-24128-7, DOI: 10.1007/3-540-45961-8_23 *
MIYAGUCHI S.: "FAST ENCRYPTION ALGORITHM FOR THE RSA CRYPTOGRAPHIC SYSTEM.", COMPUTER NETWOKS. WASHINGTON, SEPTEMBER 20- 23 1982 DIGEST OF PAPERS FROM COMPCON. FALL., NEW YORK, I.E.E.E., US, vol. CONF. 25, 1 September 1982 (1982-09-01), US, pages 672 - 678., XP000746488 *
See also references of EP0974913A4 *

Also Published As

Publication number Publication date
CN1280755C (zh) 2006-10-18
US6557020B1 (en) 2003-04-29
US20030147530A1 (en) 2003-08-07
EP0974913B1 (en) 2009-11-25
EP0974913A4 (en) 2003-06-18
DE69841305D1 (de) 2010-01-07
CN1246940A (zh) 2000-03-08
EP0974913A1 (en) 2000-01-26
TW407251B (en) 2000-10-01
JP4092735B2 (ja) 2008-05-28
US7117237B2 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
WO1999030250A1 (fr) Systeme informatique, systeme cryptographique, circuit systeme lsi, et appareil electronique
CA2535741C (en) Data converter and method thereof
US6748410B1 (en) Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
EP0601907B1 (en) A compact microelectronic device for performing modular multiplication and exponentiation over large numbers
TWI244611B (en) Circuit and method for performing multiple modulo mathematic operations
Thapliyal et al. Reversible logic to cryptographic hardware: a new paradigm
Yuksel et al. Universal hash functions for emerging ultra-low-power networks
EP1552382A2 (en) Efficient arithmetic in finite fields of odd characteristic on binary hardware
KR100508092B1 (ko) 저전력 모듈로 곱셈을 수행하는 연산장치
TWI439101B (zh) 用於產生一鑑定鑑認碼之裝置與方法
JP2000261486A (ja) パケット通信システム
JPH05324277A (ja) 暗号通信方法
JP2000259077A (ja) 情報処理システム
CN101465726B (zh) 用于秘钥的反破解方法及执行此方法的控制器与储存装置
JP2000298575A (ja) 情報処理システム
JP4328905B2 (ja) 集積回路およびその制御方法
Ambrose et al. Randomised multi‐modulo residue number system architecture for double‐and‐add to prevent power analysis side channel attacks
Tian et al. High-speed modular multipliers for isogeny-based post-quantum cryptography
Liu et al. Efficient Fast Additive Homomorphic Encryption Cryptoprocessor for Privacy-Preserving Federated Learning Aggregation
Onions A high-speed integrated circuit with applications to RSA Cryptography
JP2008102681A (ja) Ipコア及び複合ipコア
Hong et al. A fast bit-interleaving RSA cryptosystem based on Radix-4 cellular-array modular multiplier
Kakde et al. Performance analysis of Montgomery multiplier for public key cryptosystem
Öksüzoğlu Fast, compact and secure implementation of rsa on dedicated hardware
Chiou et al. Parallel modular multiplication with table look-up

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98802395.4

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998959154

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09367234

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1998959154

Country of ref document: EP