JP2000261486A - Packet communication system - Google Patents

Packet communication system

Info

Publication number
JP2000261486A
JP2000261486A JP6264299A JP6264299A JP2000261486A JP 2000261486 A JP2000261486 A JP 2000261486A JP 6264299 A JP6264299 A JP 6264299A JP 6264299 A JP6264299 A JP 6264299A JP 2000261486 A JP2000261486 A JP 2000261486A
Authority
JP
Japan
Prior art keywords
encryption
packet
modular exponentiation
multiplication
units
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP6264299A
Other languages
Japanese (ja)
Inventor
Kazuhiko Amano
和彦 天野
Tatsuya Shimoda
達也 下田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Corp filed Critical Seiko Epson Corp
Priority to JP6264299A priority Critical patent/JP2000261486A/en
Publication of JP2000261486A publication Critical patent/JP2000261486A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To built up a high security system in packet communication. SOLUTION: The packet communication system transmits packets each including an address field and a data field on a network where a plurality of terminals 12A-1-12A-3, 12B-1-12B-3, 12C-1-12C-3 and a plurality of routers 10A-10D are interconnected. Each of a plurality of the terminals and the routers has an encryption/decoding device. Each encryption/decoding device of a plurality of the terminals encrypts address information at least in the address field in the case of packet transmission and decodes the encrypted address information in the case of packet reception. Each encryption/decoding device of each router decodes the encrypted address information and transmits the packet to a communication path selected according to the information in a routing table.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数の端末機と少
なくとも一つのルータとが接続されたネットワーク上に
て、アドレスフィールドとデータフィールドとを含むパ
ケットを伝送するパケット通信システムに関し、とくに
そのセキュリティシステムの構築に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a packet communication system for transmitting a packet including an address field and a data field on a network in which a plurality of terminals and at least one router are connected. Concerning system construction.

【0002】[0002]

【背景技術及び発明が解決しようとする課題】近年、イ
ンターネット、ローカルエリアネットワーク等のパケッ
ト交換網を介してパケット通信が盛んに行われている。
この際、機密性の高いデータを送る場合には、公衆回線
上にて暗号化されたデータを送信するのが通常である。
2. Description of the Related Art In recent years, packet communication has been actively performed via a packet switching network such as the Internet or a local area network.
At this time, when transmitting highly confidential data, it is common to transmit encrypted data over a public line.

【0003】暗号方式は秘密鍵暗号と公開鍵暗号に大別
され、代表的な方式としては、秘密鍵暗号としてはDE
S(Data Encryption Standard)、公開鍵暗号としては
RSA(Rivest Shamir Adleman criptograph)があ
る。
[0003] Encryption methods are roughly classified into secret key encryption and public key encryption.
S (Data Encryption Standard) and public key encryption include RSA (Rivest Shamir Adleman criptograph).

【0004】原理的には、DESはデータビット列の並
び換えや置換による方式で、RSAは極めて多ビットの
剰余演算を行う方式であり、一般に秘密鍵暗号方式に比
べて公開鍵暗号方式は数百倍遅くなる。これは、公開鍵
暗号方式においては、数百ビット以上を法とする非常に
多精度の剰余演算を行うことによる。
[0004] In principle, DES is a method of rearranging and replacing data bit strings, and RSA is a method of performing an extremely multi-bit remainder operation. In general, a public key cryptosystem is several hundreds more than a secret key cryptosystem. Twice as slow. This is because in the public key cryptosystem, a very multi-precision remainder operation modulo several hundred bits or more is performed.

【0005】そこで、通常、多量のデータ列の暗号化に
は高速な秘密鍵暗号方式を用い、データ量の少ない認
証、署名および鍵の配送などには公開鍵暗号方式を用い
るように暗号方式の使い分けがなされている。
Therefore, usually, a high-speed secret key cryptosystem is used for encrypting a large amount of data strings, and a public key cryptosystem is used for authentication, signature and key distribution with a small amount of data. They are used properly.

【0006】また、公開鍵暗号では、暗号強度を鍵のビ
ット長を変えることにより選択できるため、通信相手の
公開したさまざまなビット数の公開鍵を用いて演算がで
きることが求められている。
[0006] In the public key cryptography, since the encryption strength can be selected by changing the bit length of the key, it is required that the operation can be performed using public keys of various bit numbers disclosed by a communication partner.

【0007】ここで、機密性の高いデータを送る場合に
アプリケーションソフトウェアを用いて暗号化または復
号処理を実施すると、解読が困難となるように暗号化を
複雑化するほど、暗号化及び/または復号されるデータ
量が膨大化するほど、その処理に比較的長い時間を要す
る。
[0007] When encrypting or decrypting data using application software when transmitting highly confidential data, the encryption and / or decryption becomes more complicated as the encryption becomes more complicated so that the decryption becomes more difficult. As the amount of data to be processed becomes enormous, the processing requires a relatively long time.

【0008】また、アプリケーションソフトウェアを用
いた暗号化または復号処理は、オペレーションシステム
(OS)まで上がって来たパケットの内容を読む必要が
ある。このとき、発信元または送信先以外の機器のOS
に記録されたパケットの内容は、悪意を持てば解読可能
であり、あるいは回線アナライザなどを用いて他人の通
信を盗み見ることができ、セキュリティが低いという問
題があった。
[0008] Further, in the encryption or decryption processing using application software, it is necessary to read the contents of the packet that has been sent to the operation system (OS). At this time, the OS of the device other than the source or destination
However, there is a problem that the content of the packet recorded in the communication can be deciphered with malicious intent, or the communication of another person can be intercepted using a line analyzer or the like, resulting in low security.

【0009】特に、DESではハードウェア技術を用い
て実現されなければならないと規定されているように、
ソフトウェアだけによる暗号/復号システムの場合、第
三者による解読を避けるのは事実上困難である。暗号ア
ルゴリズムの一部をハードウェア化すれば暗号強度はよ
り高いものとなる。
In particular, as specified in the DES that it must be realized using hardware technology,
In the case of a software-only encryption / decryption system, it is practically difficult to avoid decryption by a third party. If a part of the encryption algorithm is implemented as hardware, the encryption strength will be higher.

【0010】これは公開鍵式暗号方式においても同様で
あり、例えば、1チップ公開鍵暗号プロセッサが提案さ
れている(電子情報通信学会論文誌 D-I Vol.J80-D-I
No.8pp.725-735 1997-8)。
[0010] The same applies to the public key cryptosystem. For example, a one-chip public key cryptographic processor has been proposed (Transactions of the Institute of Electronics, Information and Communication Engineers, DI Vol. J80-DI).
No. 8 pp. 725-735 1997-8).

【0011】しかしながら、上記1チップ公開鍵暗号プ
ロセッサにおいては、予めハードウェアで規定された精
度内での任意精度の処理は可能であるが、規定された精
度を超える精度が要求された場合には処理はできず、新
たなハードウェアの設計を行わなければならないという
問題点が生じる。
[0011] However, the one-chip public key cryptographic processor can perform arbitrary precision processing within the precision specified in advance by hardware, but when an accuracy exceeding the specified precision is required, A problem arises in that processing cannot be performed, and new hardware must be designed.

【0012】そこで、本発明の目的は、暗号化されるデ
ータ量を少なくしながらも、セキュリティの高いパケッ
ト通信が可能なパケット通信システムを提供することに
ある。
An object of the present invention is to provide a packet communication system capable of performing highly secure packet communication while reducing the amount of data to be encrypted.

【0013】本発明の他の目的は、暗号化または復号す
るための任意精度の演算が行えるシステムをハードウェ
ア的に容易に構築することを可能として、よりセキュリ
ティの高いパケット通信システムを提供することにあ
る。
Another object of the present invention is to provide a packet communication system with higher security which enables a system capable of performing an operation of arbitrary precision for encryption or decryption to be easily constructed in hardware. It is in.

【0014】[0014]

【課題を解決するための手段】本発明は、複数の端末機
と少なくとも一つのルータとが接続されたネットワーク
上にて、アドレスフィールドとデータフィールドとを含
むパケットを伝送するパケット通信システムにおいて、
前記複数の端末機及び前記少なくとも一つのルータの各
々は、暗号/復号装置を有し、前記複数の端末機の各々
は、パケット送信時には前記暗号/復号装置にて少なく
とも前記アドレスフィールド内のアドレス情報を暗号化
し、パケット受信時には暗号化された前記アドレス情報
を前記暗号/復号装置にて復号し、前記少なくとも一つ
のルータは、暗号化された前記アドレス情報を前記暗号
/復号装置にて復号し、ルーティングテーブル内の情報
に従って選択された通信経路に前記パケットを送信する
ことを特徴とする。
SUMMARY OF THE INVENTION The present invention provides a packet communication system for transmitting a packet including an address field and a data field on a network in which a plurality of terminals and at least one router are connected.
Each of the plurality of terminals and the at least one router has an encryption / decryption device, and each of the plurality of terminals transmits at least address information in the address field by the encryption / decryption device when transmitting a packet. And at the time of packet reception, the encrypted address information is decrypted by the encryption / decryption device, and the at least one router decrypts the encrypted address information by the encryption / decryption device; The packet is transmitted to a communication path selected according to information in a routing table.

【0015】この場合、複数の端末機の各々は、パケッ
ト送信時には暗号/復号装置にて前記アドレスフィール
ド内の送信先アドレス情報及び発信元アドレス情報のい
ずれか一方または双方が暗号化される。
In this case, in each of the plurality of terminals, at the time of packet transmission, one or both of the destination address information and the source address information in the address field are encrypted by the encryption / decryption device.

【0016】このように本発明によれば、暗号化される
アドレス情報には、アドレスフィールド内のアドレス情
報が含まれる。パケット内のデータフィールド中のデー
タが暗号化されずに盗聴されても、発信元と送信先のい
ずれか一方または双方が暗号化されていれば、そのデー
タ自体は意味をなさない場合があるからである。従っ
て、発信元アドレス情報及び送信先アドレス情報の双方
またはいずれか一方のみを暗号化すれば、結果としてデ
ータの機密性が確保される。
As described above, according to the present invention, the address information to be encrypted includes the address information in the address field. Even if the data in the data field in the packet is eavesdropped without encryption, the data itself may not make sense if one or both of the source and destination are encrypted. It is. Therefore, if both or one of the source address information and the destination address information is encrypted, the confidentiality of the data is ensured as a result.

【0017】パケットのデータフィールドに、機密デー
タが格納された機密データフィールドが設け、複数の端
末機の各々は、パケット送信時には暗号/復号装置にて
機密データフィールド内の機密データを暗号化すること
ができる。
A confidential data field in which confidential data is stored is provided in the data field of the packet, and each of the plurality of terminals encrypts the confidential data in the confidential data field with an encryption / decryption device when transmitting the packet. Can be.

【0018】こうすると、パケットの機密性のセキュリ
ティがより高く担保される。
In this case, the security of the confidentiality of the packet is further ensured.

【0019】各々の暗号/復号装置は、複数のべき乗剰
余演算ユニットと、前記複数のべき乗剰余演算ユニット
をカスケード接続するための複数のカスケード端子と、
を有し、前記複数のべき乗剰余演算ユニットの各々は、
乗算精度2mビット(mは自然数で固定)で乗算を行う
乗算ユニットと、除算精度22・mビットで除算を行う除
算ユニットと、を有し、前記複数のべき乗剰余演算ユニ
ットにより実施されるべき乗剰余演算の最大演算精度を
n(nは自然数で固定)としたとき、 x≧2n/2m(xは自然数で固定) を満たすように、前記複数のべき乗剰余演算ユニットが
x個接続されて、暗号化または復号を行うことができ
る。
Each of the encryption / decryption devices includes a plurality of modular exponentiation units, a plurality of cascade terminals for cascading the plurality of modular exponentiation units,
Wherein each of the plurality of modular exponentiation units includes:
It has a multiplication unit that performs multiplication with a multiplication accuracy of 2 m bits (m is a natural number) and a division unit that performs division with a division accuracy of 2 2 · m bits, and is performed by the plurality of modular exponentiation units. Assuming that the maximum operation precision of the modular exponentiation operation is 2 n (n is fixed as a natural number), the number of the plurality of modular exponentiation arithmetic units is x such that x ≧ 2 n / 2 m (x is fixed as a natural number). Once connected, it can perform encryption or decryption.

【0020】こうすると、暗号化または復号のための演
算処理を複数のべき乗剰余演算処理ユニットにて分散処
理することでハードウェア処理が容易となり、演算量が
多く、精度が要求される場合でも、容易にシステムを構
築して演算処理の高速化を図ることができる。このよう
に、べき乗剰余演算における演算精度を容易にハードウ
ェア的に拡張することができ、暗号化及び復号に用いる
鍵の精度に、十分な信頼性を確保することができる。ま
た、ハードウェアにて暗号化、復号を行うようにすれ
ば、オペレーションシステムまでデータを引き上げずに
処理できるので、セキュリティが担保される。
In this way, hardware processing is facilitated by performing distributed processing of the arithmetic processing for encryption or decryption by a plurality of modular exponentiation arithmetic processing units. Even when the arithmetic amount is large and precision is required, The system can be easily constructed to increase the speed of the arithmetic processing. As described above, the operation accuracy in the modular exponentiation operation can be easily extended in terms of hardware, and sufficient reliability can be ensured in the accuracy of the key used for encryption and decryption. Further, if encryption and decryption are performed by hardware, data can be processed without being sent to the operation system, so that security is ensured.

【0021】また、分散処理の結果、べき乗剰余演算ユ
ニットのゲート数を抑制することができ、装置コストを
低減することが可能となる。こうのうよ少ないゲート数
でべき乗剰余演算ユニットを構成することができるた
め、例えばパーソナルコンピュータシステム間でのパケ
ット通信においても、暗号/復号システムを容易に構築
することが可能となる。
Further, as a result of the distributed processing, the number of gates of the modular exponentiation operation unit can be suppressed, and the cost of the apparatus can be reduced. Since the modular exponentiation operation unit can be configured with such a small number of gates, it is possible to easily construct an encryption / decryption system even in packet communication between personal computer systems, for example.

【0022】暗号化または復号の算処理時にあっては、
その演算処理に必要な演算精度を2 n1ビット(n1≦n
でn1は可変)としたとき、x1≧2n1/2m(x1≦
xで可変)を満たすように、前記複数のべき乗剰余演算
ユニットがx1個カスケード接続される。このとき、例
えばクロック発生回路から、演算処理時に2n1個の基準
クロック信号を発生させる。このようにして、x個のう
ちのx1個の演算ユニットが実効的にカスケード接続さ
れる。こうすると、x1個以外の演算ユニットにて消費
される電力を節約でき、演算速度も高速化される。さら
に、複数の演算ユニット間にて光信号により信号が伝送
されるようにすれば、演算速度はより高速となる。
At the time of arithmetic processing of encryption or decryption,
The calculation accuracy required for the calculation process is 2 n1Bit (n1 ≦ n
And n1 is variable), x1 ≧ 2n1/ 2m(X1 ≦
x) so as to satisfy x)
X1 units are cascaded. At this time,
For example, from the clock generation circuit, 2n1Criteria
Generate a clock signal. In this way, x
X1 arithmetic units are effectively cascaded
It is. In this case, it is consumed by arithmetic units other than x1
Power consumption can be saved, and the calculation speed can be increased. Further
In addition, signals are transmitted by optical signals between multiple arithmetic units
By doing so, the calculation speed becomes higher.

【0023】複数のべき乗剰余演算ユニット間は光信号
が伝送されるようにすれば、暗号/復号装置内での演算
がさらに高速化される。
If an optical signal is transmitted between a plurality of modular exponentiation operation units, the operation in the encryption / decryption device can be further speeded up.

【0024】各々のべき乗剰余乗算ユニットは、演算精
度2m/yで演算を行うべき演算モジュールをそれぞれy
個(yは自然数で固定)を有し、y個の演算モジュール
をカスケード接続することにより構成することができ
る。
Each of the modular exponentiation multiplication units includes an operation module to be operated with an operation accuracy of 2 m / y.
(Y is a natural number) and can be configured by cascading y arithmetic modules.

【0025】このとき、演算処理時に必要な演算精度を
n1ビット(n1≦nでn1は可変)としたとき、y1
≧2n1/2m/y(y1は自然数で可変)を満たすように
y1個の演算モジュールがカスケード接続されればよ
い。
At this time, when the operation precision required in the operation processing is 2 n1 bits (n1 ≦ n and n1 is variable), y1
It suffices that y1 operation modules be cascaded so as to satisfy ≧ 2 n1 / 2 m / y (y1 is a natural number).

【0026】この最大y個の演算モジュール間を光信号
により信号が伝送されるようにすれば、各演算ユニット
内での演算が高速化される。
If a signal is transmitted by an optical signal between the maximum y operation modules, the operation in each operation unit is speeded up.

【0027】[0027]

【発明の実施の形態】次に図面を参照して本発明の好適
な実施の形態を説明する。
Preferred embodiments of the present invention will now be described with reference to the drawings.

【0028】(ネットワークシステムの説明)図1は、
本発明に係るネットワークシステムを示している。図1
において、複数の端末機であるパーソナルコンピータ1
2A−1〜12A−3,12B−1〜12B−3,12
C−1〜12C−3及び4台のルータ10A〜10Dが
回線11にて接続されることで、ネットワーク(パケッ
ト交換網)が構成される。このパケット交換網はいくつ
かのルール(プロトコル)にて統制され、例えばインタ
ーネットであれば、ネットワークがTCP/IP(TRAN
SMISSION CONTROL PROTOCOL/INTERNET PROTCOL)=OS
Iプロトコルの4層(トランスポート層)/3層(ネッ
トワーク層)に対応する通信プロトコルを実装し、コン
ピュータ間の公衆通信ネットワークを構成している。
(Explanation of Network System) FIG.
1 shows a network system according to the present invention. FIG.
, The personal computer 1 as a plurality of terminals
2A-1 to 12A-3, 12B-1 to 12B-3, 12
A network (packet switching network) is configured by connecting C-1 to 12C-3 and the four routers 10A to 10D via the line 11. This packet switching network is governed by several rules (protocols).
SMISSION CONTROL PROTOCOL / INTERNET PROTCOL) = OS
A communication protocol corresponding to the four layers (transport layer) / 3 layers (network layer) of the I protocol is implemented, and a public communication network between computers is configured.

【0029】ここで、ルータ10A〜10Dは、パケッ
トが相手先に届けられるようにガイドするインテリジェ
ント型のブリッジで、各パケットの最初の数行に記載さ
れているアドレスを読み、その宛先にパケットを送る最
善の経路を、混み具合も考慮して決定するものである。
Here, the routers 10A to 10D are intelligent bridges that guide the packets so as to be delivered to the destination, read the addresses described in the first few lines of each packet, and send the packet to its destination. The best route to send is determined in consideration of the degree of congestion.

【0030】図1に示す各々のパーソナルコンピュータ
12A−1〜12A−3,12B−1〜12B−3,1
2C−1〜12C−3は、図2に示すようにパーソナル
コンピュータ12としての同一の構成を有している。
Each of the personal computers 12A-1 to 12A-3, 12B-1 to 12B-3, 1 shown in FIG.
2C-1 to 12C-3 have the same configuration as the personal computer 12, as shown in FIG.

【0031】パーソナルコンピュータ12は、大別する
と、入出力装置13Aを介して回線11と接続され、ハ
ードディスクなどの外部記憶装置を内蔵したパーソナル
コンピュータ本体13と、パーソナルコンピュータ本体
13に対して、入出力インターフェース13B及びバス
2を介して接続された暗号/復号装置(プログラマブル
ディジタルプロセッサ)14とを備えている。パーソナ
ルコンピュータ12はさらに、各種データを入力するた
めのキーボード15と、各種表示を行うためのディスプ
レイ16と、図示しないディスプレイなどを備えてい
る。
The personal computer 12 is roughly divided into a personal computer main unit 13 connected to the line 11 via an input / output device 13A and having an external storage device such as a hard disk, and a personal computer main unit 13. An encryption / decryption device (programmable digital processor) 14 is connected via the interface 13B and the bus 2. The personal computer 12 further includes a keyboard 15 for inputting various data, a display 16 for performing various displays, a display (not shown), and the like.

【0032】このように、回線11にて互いに接続され
た各々のパーソナルコンピュータ12は、それぞれ暗号
/復号装置14を有している。そして、一のパーソナル
コンピュータ12より回線11を介して他のパーソナル
コンピュータ12に情報を出力する場合に、回線11を
伝送される情報の一部は暗号化される。すなわち、一の
パーソナルコンピュータ12に設けられた暗号/復号装
置14は、送信情報を暗号化し、他のパーソナルコンピ
ュータ12に設けられた暗号/復号装置14は受信情報
を復号する。
As described above, each of the personal computers 12 connected to each other by the line 11 has the encryption / decryption device 14. When information is output from one personal computer 12 to another personal computer 12 via the line 11, a part of the information transmitted on the line 11 is encrypted. That is, the encryption / decryption device 14 provided in one personal computer 12 encrypts transmission information, and the encryption / decryption device 14 provided in another personal computer 12 decrypts received information.

【0033】一方、ルータ10A〜10Dは、図3に示
すようにルータ10としての同一の構成を有している。
このルータ10は、内蔵されたルーティングテーブルの
情報に従って、パケット通信の経路選択をするルータ本
体17と、ルータ本体17に対して、図2と同様にバス
2を介して接続された暗号/復号装置(プログラマブル
ディジタルプロセッサ)14とを備えている。
On the other hand, the routers 10A to 10D have the same configuration as the router 10, as shown in FIG.
This router 10 includes a router body 17 for selecting a route of packet communication according to information of a built-in routing table, and an encryption / decryption device connected to the router body 17 via the bus 2 as in FIG. (Programmable digital processor) 14.

【0034】ここで、各々のパーソナルコンピュータ1
2の入出力部13Aにて送受信されるパケット18は、
図4に示すように、アドレスフィールド18Aとデータ
フィールド18Bとを含んでいる。
Here, each personal computer 1
The packet 18 transmitted and received by the input / output unit 13A of the second
As shown in FIG. 4, it includes an address field 18A and a data field 18B.

【0035】本実施の形態ではの各々のパーソナルコン
ピュータ10の暗号/復号装置14は、パケット送信時
には少なくともアドレスフィールド18A内のアドレス
情報を暗号化し、パケット受信時には暗号化されアドレ
ス情報18Bを復号する。一方、各ルータの暗号/復号
装置14は、暗号化されたアドレス情報を復号し、ルー
ティングテーブル(通信経路制御情報)内の情報に従っ
て選択された通信経路にパケット18を送信する。
In the present embodiment, the encryption / decryption device 14 of each personal computer 10 encrypts at least the address information in the address field 18A when transmitting a packet, and decrypts the encrypted address information 18B when receiving a packet. On the other hand, the encryption / decryption device 14 of each router decrypts the encrypted address information and transmits the packet 18 to the communication path selected according to the information in the routing table (communication path control information).

【0036】暗号化されるアドレス情報は、図4に示す
発信元アドレスフィールド18A−1内の発信元アドレ
ス情報及び送信先アドレスフィールド18A−2内の送
信先アドレス情報の双方またはいずれか一方でよい。例
えば、図1のパーソナルコンピュータ12A−1よりパ
ーソナルコンピュータに、100万円を送金するという
課金データを送る場合を例に挙げて説明する。この場
合、データとして「100万円を送金する」が暗号化さ
れずに盗聴されても、送り元と送り先のいずれか一方ま
たは双方が暗号化されていれば、そのデータ自体は意味
をなさない。従って、発信元アドレス情報及び送信先ア
ドレス情報の双方またはいずれか一方のみを暗号化すれ
ば、結果としてデータの機密性が確保される。
The address information to be encrypted may be the source address information in the source address field 18A-1 and / or the destination address information in the destination address field 18A-2 shown in FIG. . For example, a case will be described as an example in which the personal computer 12A-1 in FIG. 1 transmits billing data for remitting 1 million yen to the personal computer. In this case, even if "transmit 1,000,000 yen" is eavesdropped without encryption, if the data of one or both of the source and the destination is encrypted, the data itself has no meaning. . Therefore, if both or one of the source address information and the destination address information is encrypted, the confidentiality of the data is ensured as a result.

【0037】あるいは、暗号化される一部の情報は、ア
ドレスフィールド18A内のアドレス情報に加えて、デ
ータフィールド18B内の機密データフィルド18B−
1中の機密データを含むことができる。上記の例におい
て、機密データフィールド18B−1内に「送り主12
A−1、送り先12C−1」とあり、通常データフィー
ルド18B−2内に「100万円を送金する」とあった
場合、アドレスフィールド18A及び機密データフィー
ルド18B−1の情報を暗号化することで、上記と同様
にデータの機密性が確保される。
Alternatively, a part of the information to be encrypted includes a secret data field 18B- in the data field 18B in addition to the address information in the address field 18A.
1 may include confidential data. In the above example, "Sender 12" is included in the confidential data field 18B-1.
A-1, the destination 12C-1 ", and when the normal data field 18B-2 says" Remit 1,000,000 ", the information in the address field 18A and the confidential data field 18B-1 should be encrypted. Thus, the confidentiality of data is ensured in the same manner as described above.

【0038】あるいは、機密データフィールド18B−
1内に「100万円を送金する」とあり、通常データフ
ィールド18B−2内に「送り主12A−1、送り先1
2C−1」とあった場合も同様にデータの機密性は確保
できる。このように、こうすると、暗号化される情報量
が少ないにも関わらず、セキュリティを高いレベルで確
保できる。また、特定フィールド内の情報のみ暗号化す
るようにすれば、パケット18内のどの情報を暗号化す
るかを、フィールドによって区別できるからである。
Alternatively, the confidential data field 18B-
1 indicates that "1,000,000 yen is to be remitted," and the normal data field 18B-2 indicates "sender 12A-1, destination 1
2C-1 ", data confidentiality can be similarly secured. In this way, a high level of security can be ensured, despite the small amount of information to be encrypted. Also, if only the information in the specific field is encrypted, which information in the packet 18 is to be encrypted can be distinguished by the field.

【0039】一方、ルータ10では、パケット18内の
アドレスフィールド18A内の情報とルータ本体17内
のルーティングテーブルの情報とに基づいて、どのルー
タあるいはパーソナルコンピュータにパケット18を送
信すべきかの経路選択を行う。このためにルータ10の
暗号/復号装置14では、パケット18内のアドレスフ
ィールド18A内の暗号化された発信元アドレスフィー
ルド18A−1及び/または送信先アドレスフィールド
18A−2内のアドレス情報を復号する。これにより、
ルータ10は発信元アドレス及び送信先アドレスを知る
ことができ、パケット10の送信経路の選択を行うこと
ができる。
On the other hand, the router 10 selects a router or a personal computer to which the packet 18 is to be transmitted based on the information in the address field 18A in the packet 18 and the information in the routing table in the router body 17. Do. Therefore, the encryption / decryption device 14 of the router 10 decrypts the encrypted address information in the source address field 18A-1 and / or the destination address field 18A-2 in the address field 18A in the packet 18. . This allows
The router 10 can know the source address and the destination address, and can select the transmission route of the packet 10.

【0040】(暗号/復号装置の概略構成及び動作)図
5は、図2及び図3に示す暗号/復号装置14の構成を
示している。
(Schematic Configuration and Operation of Encryption / Decryption Device) FIG. 5 shows the configuration of the encryption / decryption device 14 shown in FIGS.

【0041】この暗号/復号装置14は、図示しないシ
ステムROM、システムRAMを有し、暗号化及び復号
の処理手順が予め、図2に示すパーソナルコンピュータ
本体13内あるいは図3に示すルータ本体17内のメイ
ンマイクロプロセッサ1側からバス2を介してロードさ
れてプログラミングされる。
The encryption / decryption device 14 has a system ROM and a system RAM (not shown), and the encryption and decryption processing procedures are performed in advance in the personal computer body 13 shown in FIG. 2 or in the router body 17 shown in FIG. Is loaded via the bus 2 from the main microprocessor 1 side and programmed.

【0042】この暗号/復号装置14は、全体の制御を
司るコントロールユニット5と、演算途中の各種デー
タ、処理手順などを格納するRAM6及びROM8と、
それぞれ演算精度2mビット(mは自然数で固定)で演
算を行うx(xは自然数で固定)個のべき乗剰余演算ユ
ニット7−1〜7−xと、これらべき乗剰余演算ユニッ
ト7−1〜7−x同士をカスケード接続するためのスイ
ッチSWと、アドレスデータ、命令データなどを転送す
るための内部システムバス4Aと、各種データを転送す
るための内部データバス4Bと、を備えている。なお、
内部システムバス4Aと内部データバス4Bとで、内部
バス4を構成している。また、スイッチSWは、本実施
の形態の構成を図面上で理解できるように便宜的に図示
したものである。実際には、実効的にカスケード接続さ
れるべき乗剰余演算ユニットの数は、暗号/復号装置1
4内の例えばコントロールユニット5から発生する基準
クロック信号の数に基づいて決定され、機械的にスイッ
チSWがオン、オフする構成ではない。この点について
は後述する。
The encryption / decryption device 14 includes a control unit 5 for controlling the entire control, a RAM 6 and a ROM 8 for storing various data in the middle of calculations, processing procedures, and the like.
X (x is fixed to a natural number) power-residue operation units 7-1 to 7-x each performing an operation with an operation precision of 2 m bits (m is fixed to a natural number), and these power-residue operation units 7-1 to 7-7 A switch SW for cascade-connecting −x, an internal system bus 4A for transferring address data, instruction data, and the like, and an internal data bus 4B for transferring various data. In addition,
The internal system bus 4A and the internal data bus 4B constitute the internal bus 4. The switch SW is shown for convenience so that the configuration of the present embodiment can be understood in the drawings. In practice, the number of modular exponentiation operation units to be effectively cascaded depends on the encryption / decryption device 1
For example, the switch SW is determined based on the number of reference clock signals generated from the control unit 5 in the control unit 4 and is not mechanically turned on and off. This will be described later.

【0043】この場合において、全てのべき乗剰余演算
ユニットをx個カスケード接続した場合に得られる最大
ビット精度を2n(nは自然数で固定)とした時、カス
ケード接続される最大個数xは、以下に示す条件式を満
たしている必要がある。
In this case, when the maximum bit precision obtained when all x modular exponentiation arithmetic units are cascaded is 2 n (n is a natural number), the maximum number x cascaded is as follows: It is necessary to satisfy the conditional expression shown in.

【0044】x≧2n/2m なお、必要な演算精度が最大ビット精度2n以下のビッ
ト精度2n1(n1は可変でかつn1≦n)である場合に
は、x個のべき乗剰余演算ユニット7−1〜7−xを全
て動作可能状態としても演算結果を得ることは可能であ
るが、最大x個のべき乗剰余演算ユニットのうち、 x≧x1≧2n1/2m(x1は可変) を満たすようにx1個のべき乗剰余演算ユニット7−1
〜7−x1を実効的に動作するようにカスケード接続す
ればよい。こうして、2n1ビット精度の演算を行うよう
にすれば、電力を不必要に消費することなく、消費電力
の適正化を図ることができ、さらに演算処理時間も最適
化することが可能となる。
X ≧ 2 n / 2 m If the required operation precision is bit precision 2 n1 (n1 is variable and n1 ≦ n) which is equal to or less than the maximum bit precision 2 n , x power-residue operations are performed. Although it is possible to obtain the operation result even when all of the units 7-1 to 7-x are in the operable state, among the maximum x modular exponentiation operation units, x ≧ x1 ≧ 2 n1 / 2 m (x1 is a variable X1 power-residue operation units 7-1 to satisfy
7-x1 may be cascaded so as to operate effectively. In this way, by performing the calculation with 2 n1 bit precision, the power consumption can be optimized without unnecessarily consuming the power, and the calculation processing time can be optimized.

【0045】ここで、べき乗剰余演算ユニット7−1〜
7−xの各々は、それぞれ演算精度2m/y(yは2以上
の整数)で演算を行うべきy個のべき乗剰余演算モジュ
ール9−1〜9−yが、スイッチSWを介してカスケー
ド接続可能となっている。なお、スイッチSWは、実施
例の構成を図面上で理解できるように便宜的に図示した
ものである。実際には、実効的にカスケード接続される
べき乗剰余演算モジュールの数は、上述の通り、暗号/
復号装置14内の例えばコントロールユニット5からの
基準クロック信号の数に基づいて決定され、機械的にス
イッチSWがオン、オフする構成ではない。
Here, the modular exponentiation operation units 7-1 to 7-1
In each of 7-x, y power-residue operation modules 9-1 to 9-y to be operated with an operation accuracy of 2 m / y (y is an integer of 2 or more) are cascade-connected via a switch SW. It is possible. The switches SW are shown for convenience so that the configuration of the embodiment can be understood on the drawings. In practice, the number of modular exponentiation modules to be effectively cascaded depends on the encryption /
It is determined based on the number of reference clock signals from the control unit 5 in the decoding device 14, for example, and the switch SW is not turned on and off mechanically.

【0046】ここで、例えばべき乗剰余演算ユニット7
−1とべき乗剰余演算ユニット7−2とが実効的にカス
ケード接続された場合には、トータルで2y個のべき乗
剰余演算モジュールがカスケード接続されたことと等価
となる。
Here, for example, the modular exponentiation operation unit 7
When −1 and the modular exponentiation operation unit 7-2 are effectively cascaded, this is equivalent to cascading a total of 2y modular exponentiation arithmetic modules.

【0047】そして、本実施例では、一つのべき乗剰余
演算ユニットの全y個のべき乗剰余演算モジュール9−
1〜9−yのうち、2n1ビット精度の演算を行うのに十
分な個数y1≧2n1/2m/y(y1≦y)の演算モジュ
ールを実効的にカスケード接続することも可能である。
こうすれば、消費電力及び演算処理時間をより最適化す
ることが可能となる。
In this embodiment, all of the power-residue operation modules 9-9 in one power-residue operation unit are used.
Of the numbers 1 to 9-y, it is also possible to effectively cascade the number of operation modules y1 ≧ 2 n1 / 2 m / y (y1 ≦ y) sufficient to perform the operation with 2 n1 bit precision. .
This makes it possible to further optimize power consumption and arithmetic processing time.

【0048】あるいは、2n1ビット精度の演算を行うの
に、(x1−1)個のべき乗剰余演算ユニット7−1〜
7−(x1−1)と、べき乗剰余演算ユニット7−x1
の中のy1個のべき乗剰余演算モジュールとを用いるこ
とも可能である。この場合に、(x1−1)個のべき乗
剰余演算ユニット7−1〜7−(x1−1)で2n2(n
2<n1)のビット精度の演算が実施されるとすると、
y1≧(2n1−2n2)/2m/y(y1≦y)を満たせば
よい。
Alternatively, to perform the operation with 2 n1 bit precision, (x1-1) power-residue arithmetic units 7-1 to 7-1 are used.
7- (x1-1) and a modular exponentiation unit 7-x1
It is also possible to use y1 modular exponentiation operation modules. In this case, the (x1-1) modular exponentiation units 7-1 to 7- (x1-1) have 2 n2 (n
Assuming that an operation with bit precision of 2 <n1) is performed,
It is sufficient that y1 ≧ (2 n1 −2 n2 ) / 2 m / y (y1 ≦ y) is satisfied.

【0049】次に、図1〜図5に示す装置の動作につい
て説明する。
Next, the operation of the apparatus shown in FIGS. 1 to 5 will be described.

【0050】まず、メインマイクロプロセッサ1が暗号
/復号装置14に対し、暗号化/復号に要求される演算
精度に対応する演算精度データをバス2を介して与え
る。
First, the main microprocessor 1 supplies operation accuracy data corresponding to the operation accuracy required for encryption / decryption to the encryption / decryption device 14 via the bus 2.

【0051】これにより暗号/復号装置14のコントロ
ールユニット5は、べき乗剰余演算ユニット7−1〜7
−xに対し、メインマイクロプロセッサユニット1及び
/またはRAM6からの処理手順(後述する図15で示
す暗号手順)に基づいて、要求された演算精度2n1に対
応する数のべき乗剰余演算ユニットあるいはべき乗剰余
演算モジュールを制御する。べき乗剰余演算ユニット7
−1〜7−xは、各演算データの精度情報に基づいて、
カスケード接続されるべきユニット数及びモジュール数
を判断する。このカスケード接続されるべきユニット数
及びモジュール数は、演算に必要な基準クロック信号の
数によって決定される。この基準クロック信号は、図2
に示すコンピュータ本体13または図3に示すルータ本
体17あるいは図5に示すコントロールユニット5が有
する図示しない基準クロック信号発生回路にて発生され
る。
As a result, the control unit 5 of the encryption / decryption device 14 has the modular exponentiation units 7-1 to 7
For −x, based on the processing procedure from the main microprocessor unit 1 and / or the RAM 6 (encryption procedure shown in FIG. 15 described later), a modular exponentiation unit or a power of a number corresponding to the required operation precision 2 n1 Controls the remainder operation module. Modular exponentiation unit 7
-1 to 7-x are based on the accuracy information of each operation data,
The number of units and modules to be cascaded is determined. 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 shown in FIG.
Is generated by a reference clock signal generating circuit (not shown) included in the computer main unit 13 shown in FIG. 3, the router main unit 17 shown in FIG. 3, or the control unit 5 shown in FIG.

【0052】これにより、演算に必要とされた数のべき
乗剰余演算ユニット及び演算モジュールは実効的にカス
ケード接続され、コントロールユニット5は、予めプロ
グラミングされた処理手順に基づいて演算をべき乗剰余
演算ユニットにて行わせることとなる。
Thus, the modular exponentiation arithmetic units and arithmetic modules of the number required for the operation are effectively cascaded, and the control unit 5 converts the arithmetic to the modular exponentiation arithmetic unit based on a pre-programmed processing procedure. Will be performed.

【0053】そして得られた精度2n1の演算結果(暗
号)をバス2、コンピュータ本体13の入出力部13A
を介して、回線11側に出力するか、あるいは復号結果
をバス2を介してコンピュータ本体13またはルータ本
体17内のメインマイクロプロセッサ1に出力する。
The obtained operation result (encryption) of precision 2 n1 is transferred to the bus 2 and the input / output unit 13A
To the line 11 side, or outputs the decoding result to the main microprocessor 1 in the computer body 13 or the router body 17 via the bus 2.

【0054】ここで、この実施の形態ではチップ間すな
わち図5のメインマイクロプロセッサユニット1と暗号
/復号装置14間のバス2上の信号を、多チャンネルの
電気信号としても良いし、あるいは例えば波長の異なる
多チャンネルの光信号としても良い。チップ間を光通信
する技術は既に多くの提案がある。
Here, in this embodiment, the signal on the bus 2 between the chips, that is, between the main microprocessor unit 1 and the encryption / decryption device 14 in FIG. 5 may be a multi-channel electric signal, May be multi-channel optical signals of different types. There have already been many proposals for technologies for optically communicating between chips.

【0055】さらに加えて、この実施の形態では、1チ
ップを構成する暗号/復号装置14内の一部または全部
のユニット間にて、光信号を伝送することも可能であ
る。すなわち、図5に示す暗号/復号装置14の内部シ
ステムバス4Aと内部データバス4Bとを光伝送路とす
るのである。こうすると、コントロールユニット5と、
RAM6と、ROM8と、x個のべき乗剰余演算ユニッ
ト7−1〜7−xとの各間で、内部システムバス4Aと
内部データバス4Bを介して光信号を伝送することがで
きる。このとき、RAM6を構成する記憶素子として、
電気信号以外の情報例えば強誘電メモリのように磁化さ
れた情報を記憶するようにすれば、光信号を電気信号に
変換する必要はない。例えば強誘電メモリを用いた場合
には、光信号に基づいて磁化された情報を記憶すればよ
い。さらには、x個のべき乗剰余演算ユニット7−1〜
7−xの間も実質的にバス接続されているため、これら
のバスを光伝送路とし、べき乗剰余演算ユニット間も光
信号により伝送することが可能である。なお、1チップ
内の内部バスを光伝送路とする具体的例については後述
する。
In addition, in this embodiment, an optical signal can be transmitted between some or all of the units in the encryption / decryption device 14 constituting one chip. That is, the internal system bus 4A and the internal data bus 4B of the encryption / decryption device 14 shown in FIG. 5 are used as optical transmission paths. Then, the control unit 5 and
Optical signals can be transmitted between the RAM 6, the ROM 8, and each of the x modular exponentiation units 7-1 to 7-x via the internal system bus 4A and the internal data bus 4B. At this time, as a storage element constituting the RAM 6,
If information other than an electric signal is stored, for example, information magnetized like a ferroelectric memory, it is not necessary to convert an optical signal into an electric signal. For example, when a ferroelectric memory is used, information magnetized based on an optical signal may be stored. Further, x power remainder arithmetic units 7-1 to 7-1
Since the buses 7-x are also substantially connected to each other, these buses can be used as optical transmission lines, and optical power signals can be transmitted between the modular exponentiation units. A specific example in which an internal bus in one chip is used as an optical transmission line will be described later.

【0056】以上の説明においては、最大x個のべき乗
剰余演算ユニットが装着されている場合について説明し
たが、後に機能拡張する場合などに備えて、暗号/復号
装置14に外部べき乗剰余演算ユニットをカスケード接
続するための端子を設けてもよい。このように、外部べ
き乗剰余演算ユニットをカスケード接続するように構成
すれば、内部べき乗剰余演算ユニットのみをカスケード
接続して得られる演算精度以上の演算精度を確保するこ
とができる。
In the above description, a description has been given of a case in which a maximum of x modular exponentiation units are mounted. However, in order to extend the function later, the external modular exponentiation unit is provided to the encryption / decryption device 14. A terminal for cascade connection may be provided. In this way, if the external power-residue operation units are configured to be connected in cascade, it is possible to secure operation accuracy higher than the operation accuracy obtained by cascade-connecting only the internal power-residue operation units.

【0057】より詳細には、暗号/復号装置14を1チ
ップ構成とした場合であっても、図5にて破線で示すよ
うに、一または複数のプログラマブルディジタルプロセ
ッサ14’を、内部データバス及び図示しないカスケー
ド接続端子を介してカスケード接続することができる。
こうすると、プログラマブルディジタルプロセッサ1
4’内のべき乗剰余演算ユニットを、暗号/復号装置1
4内のべき乗剰余演算ユニットとカスケード接続したの
と等価となる。この意味で、暗号/復号装置14内の内
部べき乗剰余演算ユニット7−1〜7−xに対して、一
または複数のプログラマブルディジタルプロセッサ1
4’のべき乗剰余演算ユニットは、外部べき乗剰余演算
ユニットとして機能する。そして、本実施例では、この
内部べき乗剰余演算ユニットとが外部べき乗剰余演算ユ
ニット間も光信号により伝送することが可能である。
More specifically, even when the encryption / decryption device 14 has a one-chip configuration, as shown by a broken line in FIG. 5, one or a plurality of programmable digital processors 14 'are connected to an internal data bus and an internal data bus. Cascade connection can be performed via a cascade connection terminal (not shown).
In this case, the programmable digital processor 1
The modular exponentiation unit in 4 ′ is transmitted to the encryption / decryption device 1
4 is equivalent to being connected in cascade with the modular exponentiation operation unit 4. In this sense, one or a plurality of programmable digital processors 1 are provided to the internal modular exponentiation operation units 7-1 to 7-x in the encryption / decryption device 14.
The modular exponentiation unit 4 ′ functions as an external modular exponentiation unit. In this embodiment, the internal power-residue operation unit and the external power-residue operation unit can also be transmitted by an optical signal.

【0058】また、複数の外部べき乗剰余演算ユニット
を例えば、TFT(Thin Film Transistor)で構成した
場合には、欠損などにより不良トランジスタが発生する
ことに起因して、最大でz個の外部べき乗剰余演算ユニ
ットの全体が使用できなくなる恐れがある。
When a plurality of external power-residue calculation units are constituted by, for example, TFTs (Thin Film Transistors), a maximum of z external power-residues are generated due to the occurrence of defective transistors due to defects or the like. There is a possibility that the entire arithmetic unit cannot be used.

【0059】そこで、べき乗剰余演算ユニットの歩留ま
り率Aに対して、少なくともK(z≧K/A)個のべき
乗剰余演算ユニットを予め用意しておくことが好まし
い。こうすると、K個のべき乗剰余演算ユニットのうち
良品のべき乗剰余演算ユニットを最大でz個接続するこ
とできる。
Therefore, it is preferable to prepare at least K (z ≧ K / A) power-residue calculation units in advance with respect to the yield rate A of the power-residue calculation units. By doing so, it is possible to connect up to z non-defective product modular exponentiation units among the K modular exponentiation units.

【0060】また、暗号/復号装置14内にて演算精度
m1ビット(m1:自然数)で演算を行う内部べき乗剰
余演算ユニットと、プログラマブルディジタルプロセッ
サ14’内にて演算精度2m2ビット(m2:自然数)で
演算を行う外部べき乗剰余演算ユニットとをカスケード
接続して、最大演算精度2nの演算を実施するには、外
部べき乗剰余演算ユニットの接続数zを下記の式を満足
するように設定すればよい。
Further, an internal power-residue operation unit for performing an operation with an operation accuracy of 2 m1 bits (m1: natural number) in the encryption / decryption device 14 and an operation accuracy of 2 m2 bits (m2: In order to perform cascade connection with an external power-residue operation unit that performs an operation using natural numbers) and perform an operation with a maximum operation accuracy of 2 n , the number z of connections of the external power-residue operation unit is set so as to satisfy the following expression. do it.

【0061】z≧(2n−2m1)/2m2 さらに所望のビット精度2n1(n1は自然数、かつ、n
1≦n)にて演算する場合には、z個の外部べき乗剰余
演算ユニットのうち、 z≧z1≧(2n1−2m1)/2m2(z1は自然数) を満たすように外部べき乗剰余演算ユニットをカスケー
ド接続すれば、演算に必要な外部べき乗剰余演算ユニッ
トのみを動作させることができる。この結果、消費電力
の適正化、演算処理時間の適正化を図ることができる。
Z ≧ (2 n −2 m1 ) / 2 m2 Further, desired bit precision 2 n1 (n1 is a natural number and n
When the calculation is performed with 1 ≦ n), of the z external power residue calculation units, the external power residue calculation is performed such that z ≧ z1 ≧ (2 n1 −2 m1 ) / 2 m2 (z1 is a natural number). If the units are connected in cascade, only the external power-residue arithmetic unit required for the operation can be operated. As a result, it is possible to optimize the power consumption and the arithmetic processing time.

【0062】なお、暗号/復号装置14を構成する場合
に、図5に示す構成ではメインマイクロプロセッサ1が
必須の構成要件となっていた。しかし、暗号/復号装置
14にメインマイクロプロセッサ1の機能を持たせ、バ
ス2を介して記憶装置あるいは外部記憶装置からプログ
ラムをロードするように構成すれば、メインマイクロプ
ロセッサ1は不要となる。
When configuring the encryption / decryption device 14, the main microprocessor 1 is an essential component in the configuration shown in FIG. However, if the encryption / decryption device 14 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 main microprocessor 1 becomes unnecessary.

【0063】また、以上の説明においては、暗号/復号
装置14がプログラムをロードする場合についてのみ説
明したが、これに限定されるものではない。例えば予め
マスクROM、PROM、EEPROMなどの不揮発性
のメモリに処理手順のプログラムを格納しておき、これ
に基づいて固定化した処理手順に基づいて動作したり、
固定化した処理手順をハードウエアロジックで実現する
ことも可能である。
In the above description, only the case where the encryption / decryption device 14 loads a program has been described, but the present invention is not limited to this. For example, a program of a processing procedure 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 a processing procedure fixed based on the program.
It is also possible to realize the fixed processing procedure by hardware logic.

【0064】以上の説明のように、本実施の形態によれ
ば、所望精度の演算を行うための暗号/復号装置14を
ハードウェア的に容易に実現することが可能であるとと
もに、演算精度の拡張に対してもハードウェア的に容易
に対応することが可能となる。
As described above, according to the present embodiment, the encryption / decryption device 14 for performing the operation with the desired accuracy can be easily realized in hardware, and the operation accuracy can be improved. It is possible to easily cope with the expansion in terms of hardware.

【0065】この実施の形態においては、暗号/復号装
置14内にコントロールユニット5及びRAM6を設け
る構成としていたが、メインマイクロプロセッサ1側に
これらの機能を行わせるように暗号/復号装置14を構
成し、べき乗剰余演算ユニットのみを1チップ構成と
し、任意精度汎用演算プロセッサとして機能させること
も可能である。
In this embodiment, the control unit 5 and the RAM 6 are provided in the encryption / decryption device 14. However, the encryption / decryption device 14 is configured so that the main microprocessor 1 performs these functions. However, it is also possible to configure only the exponentiation remainder arithmetic unit in a one-chip configuration and to function as an arbitrary-precision general-purpose arithmetic processor.

【0066】(暗号化及び復号処理の具体例)次に、暗
号/復号装置14での具体的な暗号化処理及び復号処理
について説明する。
(Specific Example of Encryption and Decryption Processing) Next, specific encryption processing and decryption processing in the encryption / decryption device 14 will be described.

【0067】[1] RSA方式の原理説明 まず具体的な処理内容の説明に先立ち、代表的な公開鍵
方式暗号であるRSA方式について説明する。
[1] Explanation of Principle of RSA Method First, prior to a description of specific processing contents, an RSA method, which is a typical public key cryptosystem, will be described.

【0068】ネットワーク暗号の利用形態としては、送
信者が暗号鍵を用いて平文を暗号化して送信し、その暗
号文の受信者は復号鍵を用いて復号し平文に戻す処理を
行うものである。
As a usage form of the network encryption, a sender encrypts a plaintext using an encryption key and transmits the encrypted text, and a receiver of the encrypted text decrypts the encrypted text using a decryption key and returns to the plaintext. .

【0069】秘密鍵暗号方式では暗号鍵と復号鍵が同一
であるのに対し、公開鍵暗号方式は同一ではなく、暗号
鍵を公開し、復号鍵を秘密に保持する方式である。次に
代表的な公開鍵暗号方式であるRSA方式の原理につい
て述べる。
In the secret key cryptosystem, 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. Next, the principle of the RSA scheme, which is a typical public key cryptosystem, will be described.

【0070】平文をある適当なブロックに分け、それに
相当する数値をMとする。素数pとqを定め、復号鍵
(プライベートキー)として秘密にし、次の関係にある
nとeを公開鍵(パブリックキー)とする。
The plaintext is divided into some appropriate blocks, and a numerical value corresponding to the block is M. The prime numbers p and q are determined, kept secret as a decryption key (private key), and the following relationships n and e are set as public keys (public key).

【0071】 n=pq …… (1) gcd(e,(p−1,q−1))=1 …… (2) ここで、e及び(p−1)(q−1)の最大公約数は
1、すなわち、(p−1)(q−1)と互いに素な正数
eを適当に決める。
N = pq (1) gcd (e, (p−1, q−1)) = 1 (2) Here, the greatest common contract of e and (p−1) (q−1) The number is 1, that is, a positive number e relatively prime to (p-1) (q-1) is appropriately determined.

【0072】そして、下記の(3)式に示すように、送
信者はパブリックキーを用いて、nを法とする平文Mの
e乗の剰余演算(Meをnで割った余りCを算出)を行
い、暗号文Cを送信する。
Then, as shown in the following equation (3), the sender calculates the remainder operation of the plaintext M raised to the power of e using the public key (the remainder C obtained by dividing Me by n) using the public key. ) And transmit the ciphertext C.

【0073】 Me≡C mod n …… (3) これにより、暗号文Cを受信した受信者は、まず、プラ
イベートキーを用いて、下記の(4)式により(p−
1)(q−1)を法とするeの逆数dを求める。
[0073] M e ≡C mod n ...... (3 ) Thus, the receiver that has received the cipher text C first uses the private key, by the following formula (4) (p-
1) Find the reciprocal d of e modulo (q-1).

【0074】 ed≡1 mod (p−1)(q−1) …… (4) 得られたdにより、下記の(5)式から暗号文Cを平文
Mに復号する。
Ed @ 1 mod (p−1) (q−1) (4) With the obtained d, the ciphertext C is decrypted into the plaintext M from the following equation (5).

【0075】 Cd≡M mod n …… (5) ところで、式(4)と式(5)は、(p−1)と(q−
1)の最少公倍数lcm(p−1,q−1)を用いる
と、dを小さく定めることができ、下記の(6)式及び
(7)式に示すように、計算量の軽減がはかれる。
C d ≡M mod n (5) By the way, equations (4) and (5) are obtained by calculating (p−1) and (q−
If the least common multiple 1 cm (p-1, q-1) of 1) is used, d can be determined to be small, and the calculation amount can be reduced as shown in the following equations (6) and (7).

【0076】 gcd(e,lcm(p−1,q−1))=1 …… (6) ed≡1 mod lcm(p−1,q−1) …… (7) この場合において、パブリックキーnはプライベートキ
ーpとqの積であるため、容易に素因数分解できないよ
う、通常512ビット以上に選定される。
Gcd (e, lcm (p−1, q−1)) = 1 (6) ed≡1 mod lcm (p−1, q−1) (7) In this case, the public key Since n is the product of the private keys p and q, it is usually selected to be 512 bits or more so that it cannot be easily factored.

【0077】以上のようにRSA方式は素因数分解とい
う数学的要素と多精度剰余演算を行うことなどで、暗号
強度の高い方式であると広く認知されている。
As described above, the RSA method is widely recognized as a method having a high encryption strength by performing a mathematical element called prime factorization and multi-precision remainder operation.

【0078】[2] 剰余計算例 式(3)と式(5)のべき乗剰余演算結果が暗号・復号
文となるため、丸め操作や浮動少数点演算が使えず整数
演算でなければならない。べき乗剰余演算は指数をその
システムで除算可能な部分に分割して、より小さな剰余
演算の積の繰り返しで求めることができる。説明の容易
性のため、ごく小さい数値の例を示す。
[2] Example of Remainder Calculation Since the result of the modular exponentiation operation of Expressions (3) and (5) is an encrypted / decrypted text, a rounding operation or a floating-point operation cannot be used, and the operation must be an integer operation. The modular exponentiation operation divides the exponent into parts that can be divided by the system, and can be obtained by repeating the product of the smaller modular exponentiation. For simplicity of explanation, an example of a very small numerical value is shown.

【0079】パブリックキーをn=55、e=7とし、
プライベートキーをp=5、q=11とする。
Assuming that the public key is n = 55 and e = 7,
The private key is p = 5 and q = 11.

【0080】平文M=3とすると、暗号文Cは、暗号化
においてはパブリックキーのnとeを用いて、式(3)
より 37≡C mod 55 から C=42 を得る。
Assuming that the plaintext M = 3, the ciphertext C is obtained by using the public keys n and e in the encryption by the equation (3).
Obtain C = 42 from a more 3 7 ≡C mod 55.

【0081】復号ではプライベートキーのpとqよりd
を次のように選定する。
In the decryption, d is obtained from p and q of the private key.
Is selected as follows.

【0082】式(4)より 7d≡1 mod (5−1)(11−1) すなわち、 7d≡1 mod 40 から d=23 となる。From equation (4), 7d≡1 mod (5-1) (11-1), that is, d = 23 from 7d≡1 mod 40.

【0083】4223≡M mod 55 から M=3 となる。M = 3 from 42 23 ≡M mod 55.

【0084】剰余演算においては X≡r1 mod n、 Y≡r2 mod n のとき、nを法とする下記の式(8)の乗算が成立す
る。
In the remainder operation, when X≡r1 mod n and Y≡r2 mod n, the multiplication of the following equation (8) modulo n is satisfied.

【0085】 X・Y≡r1・r2 mod n …… (8) この関係式により指数部分を演算可能な部分に分割す
る。
XY≡r1 · r2 mod n (8) The exponent is divided into operable parts by this relational expression.

【0086】例えば、 そこで、先ず、425及び423についての2種類の剰余
を求める。
For example, Therefore, first, we obtain the two remainders of 42 5 and 42 3.

【0087】 425≡12 mod 55 423≡3 mod 55 式(8)から 4223≡12・12・12・12・ 3≡r mod 55 ↑ ↑ ↑ ↑ ↑ r1 r2 r3 r4 r5 となる。42 5 ≡12 mod 55 42 3 ≡3 mod 55 From equation (8), 42 23 ≡12.12.12.12.3≡r mod 55 ↑ ↑ ↑ ↑ 1 r1 r2 r3 r4 r5

【0088】次にr1・r2からその剰余r1-2を求め
る。
Next, the remainder r 1-2 is obtained from r1 · r2.

【0089】 r1・r2≡12・12≡r1-2 mod 55 より、 r1-2=34 となる。以下同様にして、 r1-2・r3≡34・12≡r1-3 mod 55 より、 r1-3=23 となる。さらに r1-3・r4≡23・12≡r1-4 mod 55 より、 r1-4=1 となる。さらにまた、 r1-4・r5≡1・3≡r mod 55 となって、 r=3 を得ることとなる。[0089] than r1 · r2≡12 · 12≡r 1-2 mod 55 , the r 1-2 = 34. In the same manner, r 1-3 = 23 from r 1-2 · r3r34 · 12≡r 1-3 mod 55. Further, from r 1-3 · r4≡23 · 12≡r 1-4 mod 55, r 1-4 = 1. Furthermore, r 1-4 · r5≡1.3≡r mod 55 is obtained, and r = 3 is obtained.

【0090】以上の剰余演算過程における各剰余乗算の
最大精度は法であるnの2倍以下で済む。このようにし
て、小さな数値に置き換えた剰余演算の繰り返しで、目
的とする剰余を算出することができる。
The maximum precision of each remainder multiplication in the above-mentioned remainder calculation process can be less than twice the modulus n. In this way, the target remainder can be calculated by repeating the remainder calculation replaced with a small numerical value.

【0091】[3] 暗号化及び復号処理の一般的手法 ここで、図19を参照してRSAに基づく暗号化及び復
号処理の一般的手法について説明する。
[3] General Method of Encryption and Decryption Processing Here, a general method of encryption and decryption processing based on RSA will be described with reference to FIG.

【0092】まず、Am≡R mod nについての剰
余演算では、A、m、nの各値を入力する(ステップS
1)。
First, in the remainder operation for A m ≡R mod n, each value of A, m, and n is input (step S
1).

【0093】合同式 Am≡R mod n は暗号化
においては平文MがA、パブリックキーeがmとして、
パブリックキーnを法とする剰余演算によって得られた
Rが暗号文Cになる。復号では暗号文CがA、パブリッ
クキーeとプライベートキーp、qから選定されたdが
mとして、nを法とする剰余演算によって得られたRが
平文Mである。
The congruence expression A m ≡R mod n is obtained by encrypting a plaintext M as A and a public key e as m.
The R obtained by the remainder operation modulo the public key n becomes the ciphertext C. In the decryption, ciphertext C is A, d selected from public key e and private keys p and q is m, and R obtained by remainder operation modulo n is plaintext M.

【0094】先ず、Aのビット数K1を求め(ステップ
S2)、Aのビット数K1から剰余演算システムにおけ
るANの最大指数Nを求める(ステップS3)。
[0094] First, determine the number of bits K1 in A (step S2), and obtains the maximum exponent N of A N in the remainder operation system from a few bits of A K1 (step S3).

【0095】次に最大指数Nが1であるか否かを判別し
(ステップS4)、最大指数N=1であればA2で精度
オーバーになるため、 A≡r mod n を求め(ステップS5)、剰余rのビット数kを求め
(ステップS6)、ビット数kからAのブロック規模を
判断する(ステップS7)。
[0095] Then the maximum exponent N is determined whether or not 1 (step S4), and to become a precision over by A 2 if the maximum exponent N = 1, seeking A≡r mod n (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).

【0096】Aのブロック規模が精度内であれば(ステ
ップS7;No)、m個のAに対するnを法とする乗算
を行い、その結果から求める剰余Rを得る(ステップS
8)。
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 S7).
8).

【0097】また、Aのブロック規模が精度外であれば
(ステップS7;Yes)、データが大きすぎてオーバ
ーフローを起こしてしまうので(ステップS9)、Aの
ブロック規模を小さくすべく、演算処理を終了する(ス
テップS10)。
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).

【0098】一方、Nが2以上であれば(ステップS
4;No)、mをqN+aに分解し(ステップS1
1)、aが0でないときは(ステップS12;Ye
s)、Aaを求め(ステップS13)、Aaをnで割った
余りr1を求める(ステップS14)。 次にq=0で
あるか否かを判別し(ステップS15)、q=0ならば
(ステップS15;Yes)r1が求める剰余Rである
(ステップS16)。
On the other hand, if N is 2 or more (step S
4; No), decompose m into qN + a (step S1)
1) If a is not 0 (step S12; Ye)
s), obtains a A a (step S13), and obtains the remainder r1 of the A a divided by n (step S14). Next, it is determined whether or not q = 0 (step S15). If q = 0 (step S15; Yes), r1 is the remainder R to be obtained (step S16).

【0099】ステップS15の判別において、q≠0で
あるならば(ステップS15;No)、ANを求め(ス
テップS17)、ANをnで割った剰余rを求める(ス
テップS18)。
If it is determined in step S15 that 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).

【0100】そして剰余rをr00に代入し(ステップ
S19)、q個のANに対するnを法とする乗算を行い
(ステップS20)、a≠0であるならば(ステップS
21;No)、得られた乗算結果rとr1との積をnで
割った剰余を求め(ステップS22)、求めた剰余rを
最終的に求めるべき剰余Rとし(ステップS23)、剰
余Rを剰余データとして出力する(ステップS24)。
Then, the remainder r is substituted for r00 (step S19), and q A N are multiplied modulo n (step S20). If a ≠ 0 (step S20)
21; No), a remainder obtained by dividing the product of the obtained multiplication result r and r1 by n is obtained (step S22), and the obtained remainder r is set as a remainder R to be finally obtained (step S23). It is output as remainder data (step S24).

【0101】このようにRSAに基づいた公開鍵暗号方
式の暗号化及び復号処理(剰余演算処理)は複雑であ
り、特に暗号/復号システムにおいては、前述したよう
に、nは512ビット以上と高精度であるため、除算の
分散処理が不可能であれば、本実施の形態のようなハー
ドウェア化は困難であり、上記処理をソフトウェアで処
理することとなり、そのプログラミングも簡単ではない
ので、多くの演算時間を要することは容易に推察でき
る。
As described above, the encryption and decryption processing (remainder operation processing) of the public key cryptosystem based on RSA is complicated. In particular, in an encryption / decryption system, as described above, n is as high as 512 bits or more. If the distributed processing of division is impossible because of the accuracy, it is difficult to implement hardware as in the present embodiment, and the above processing is performed by software, and the programming is not easy. It can be easily inferred that the calculation time is required.

【0102】[4]公開鍵暗号/復号システムの構成 図6は、公開鍵を用いた図1の暗号/復号装置14を、
べき乗剰余演算装置として表したブロック図である。べ
き乗剰余演算装置としてのこの暗号/復号装置14は、
大別すると、所定の精度範囲内で任意精度の除算を行う
任意精度除算装置20と、所定の精度範囲内で任意精度
の乗算を行う任意精度乗算装置21とを備え、これらは
バス22により接続される。
[4] Configuration of Public Key Encryption / Decryption System FIG. 6 shows an encryption / decryption device 14 shown in FIG.
FIG. 2 is a block diagram represented as a modular exponentiation operation device. This encryption / decryption device 14 as a modular exponentiation device has
When roughly classified, an arbitrary-precision division device 20 for performing arbitrary-precision division within a predetermined accuracy range and an arbitrary-precision multiplication device 21 for performing arbitrary-precision multiplication within a predetermined accuracy range are provided. Is done.

【0103】この任意精度除算装置(除算ユニット)2
0と任意精度乗算装置(乗算ユニット)21とは、図5
に示すべき乗剰余演算ユニット7−1〜7−xのうちの
一つのべき乗剰余演算ユニット1に対応する。
This arbitrary precision division device (division unit) 2
0 and the arbitrary precision multiplication device (multiplication unit) 21 are shown in FIG.
Corresponds to one power-residue operation unit 1 among the power-residue operation units 7-1 to 7-x.

【0104】任意精度除算装置22は、最大乗算精度2
mビット(m:自然数で固定)内の任意乗算精度で乗算
を行い、任意精度除算装置20(除算ユニット)は、最
大除算精度22mビット内の任意除算精度で除算を行う。
そして、x=2n/2mを満たすようにべき乗剰余演算ユ
ニット7−1〜7−xをx個接続することにより、最大
nビット精度の暗号化及び復号を行うための任意精度
べき乗剰余演算装置(暗号/復号装置14)を構成する
ことが可能となる。
The arbitrary-precision division device 22 calculates the maximum multiplication accuracy 2
Multiplication is performed with an arbitrary multiplication precision within m bits (m: fixed as a natural number), and the arbitrary precision division device 20 (division unit) performs division with an arbitrary division precision within a maximum division precision of 22 m bits.
Then, by connecting x power-residue arithmetic units 7-1 to 7-x so as to satisfy x = 2 n / 2 m , an arbitrary-precision power-residue for performing encryption and decryption with a maximum of 2 n bits is performed. An arithmetic unit (encryption / decryption device 14) can be configured.

【0105】[5]任意精度除算装置及び任意精度乗算
装置の構成 任意精度除算装置20は、図7に示すように、被除数デ
ータ及び除数データがそれぞれ入力される8ビット精度
の第1除算器25−1〜第H除算器25−H(H:2以
上の整数)のH個の除算器(除算モジュール)と、精度
情報データに基づいて対応する8ビット精度の除算器を
カスケード接続するための第1スイッチSW1〜第(H
−1)スイッチSW(H−1)の(H−1)個のスイッ
チと、を備えて構成されており、第1スイッチ〜第(H
−1)スイッチSW1〜SW(H−1)は、精度情報デ
ータに基づいて必要な数の除算器をカスケード接続する
こととなる。
[5] Arrangement of Arbitrary Precision Divider and Arbitrary Precision Multiplier As shown in FIG. 7, the arbitrary precision divider 20 is a first divider 25 of 8-bit precision to which dividend data and divisor data are respectively input. -1 to H-th divider 25-H (H: an integer of 2 or more) for cascading H dividers (division modules) and corresponding 8-bit precision dividers based on the precision information data The first switches SW1 to (H
-1) switches SW (H-1) and (H-1) switches SW (H-1).
-1) The switches SW1 to SW (H-1) cascade-connect a required number of dividers based on the accuracy information data.

【0106】なお、これらスイッチSW1〜SW(H−
1)も、図5の場合と同様に説明の便宜上図示したもの
である。また、各8ビット除算器の間及び各8ビット除
算器への入出力を、全て光信号で伝送するように構成す
ることもできる。
The switches SW1 to SW (H-
1) is also shown for convenience of explanation similarly to the case of FIG. Further, it is also possible to configure so that all the inputs and outputs between each 8-bit divider and each input / output to each 8-bit divider are transmitted as optical signals.

【0107】より具体的には、8ビット精度の除算を行
う場合には、全てのスイッチSW1〜SW(H−1)が
開状態であり、第1除算器25−1のみが動作し、16
ビット精度の除算を行う場合には、第1スイッチSW1
のみが閉状態となり、第1除算器25−1及び第2除算
器25−2が動作し、(8×J)精度の除算を行う場合
には(J:2以上(H−1)以下の整数)、第1スイッ
チSW1〜第(J−1)スイッチSW(J−1)が全て
閉状態となり第1除算器25−1〜第J除算器25−J
が動作することとなる。
More specifically, when performing 8-bit precision division, all switches SW1 to SW (H-1) are open, only the first divider 25-1 operates, and 16
When performing bit-precision division, the first switch SW1
Only in the closed state, the first divider 25-1 and the second divider 25-2 operate, and when performing division with (8 × J) accuracy, (J: 2 or more and (H-1) or less) Integers), the first switch SW1 to the (J-1) th switch SW (J-1) are all closed, and the first divider 25-1 to the Jth divider 25-J
Will work.

【0108】そして、被除数データ及び除数データは、
下位8ビットから8ビット単位で第1除算器25−1か
ら第J除算器に順次与えられることとなる。
The dividend data and the divisor data are
The lower 8 bits are sequentially supplied to the J-th divider from the first divider 25-1 in 8-bit units.

【0109】なお、任意精度乗算装置21は、任意精度
除算装置20の8ビット除算器を8ビット乗算器に変更
した構成とほぼ同様の構成であるので、その説明を省略
する。
The arbitrary-precision multiplying device 21 has substantially the same configuration as the arbitrary-precision dividing device 20 except that the 8-bit divider is replaced with an 8-bit multiplier, and a description thereof will be omitted.

【0110】このように、べき乗剰余演算を行う図5に
示すべき乗剰余演算ユニット7−1〜7−xが、被除数
データ、除数データ及び精度情報データの入力信号ライ
ン並びに商データ及び剰余データの出力信号ラインをカ
スケード接続するためのカスケード接続端子を有し、x
=2n/2mを満たすようにべき乗剰余演算ユニット7−
1〜7−xを最大でx個接続することにより、最大2n
ビット精度の暗号化及び復号を行うことができる。
As described above, the power-residue calculation units 7-1 to 7-x shown in FIG. 5 for performing the power-residue calculation are provided with the input signal lines of the dividend data, the divisor data and the precision information data, and the output of the quotient data and the remainder data. A cascade connection terminal for cascade connection of signal lines;
= 2 n / 2 m so that the modular exponentiation operation unit 7−
By connecting a maximum of x 1 to 7-x, a maximum of 2 n
Bit-precision encryption and decryption can be performed.

【0111】なお、図6に示すバス22を光伝送路とす
れば、これら任意精度乗算装置21と任意精度除算装置
20との間を、光信号により伝送することができる。
If the bus 22 shown in FIG. 6 is used as an optical transmission line, an optical signal can be transmitted between the arbitrary precision multiplying device 21 and the arbitrary precision dividing device 20.

【0112】[6]除算器の構成 次に任意精度除算装置20を構成している除算器の構成
について説明する。
[6] Configuration of Divider Next, the configuration of the divider constituting the arbitrary-precision divider 20 will be described.

【0113】[6.1] 除算器のアルゴリズム まず、除算器の説明に先立ち、除算器のアルゴリズムに
ついて説明する。
[6.1] Algorithm of Divider First, before describing the divider, the algorithm of the divider will be described.

【0114】除算に関しては、乗算ほどではないが、い
ろいろなアルゴリズムが考案されている。また、信号処
理においては、除算は乗算ほど頻繁に用いられるわけで
はない。
Regarding division, although not so much as multiplication, various algorithms have been devised. Also, in signal processing, division is not used as frequently as multiplication.

【0115】しかしながら、信号の正規化、コンピュー
タ通信や情報ネットワークにおける秘匿技術としての暗
号化/復号に、音声認識における特徴抽出において、周
波数スペクトルを基本とする線形予測係数の演算(積和
が70回、除算が12回)、フォールトトレラントシス
テムにおいてなどの例に見られるように、除算を必要と
する場合、その実現は乗算ほど容易ではなく、従来にお
いては、高精度で高速に結果を得るための有効な手段が
なかった。
However, in signal normalization, encryption / decryption as a concealment technique in computer communications and information networks, in feature extraction in speech recognition, calculation of linear prediction coefficients based on a frequency spectrum (product sum is 70 times) , Division 12 times), in a fault-tolerant system, etc., when division is required, the realization is not as easy as multiplication, and conventionally, it is necessary to obtain a result with high accuracy and high speed. There was no effective means.

【0116】除算の実現方法としては、以下の4種類が
知られている。
The following four types of division realizing methods are known.

【0117】(1)変数xと1/x の関係を示すルッ
クアップテーブル(変換表)をROM内に用意してお
き、y/xなる除算を、y(1/X) なる乗算に置き
換えて実行する「逆数ROM方式」。
(1) A look-up table (conversion table) indicating the relationship between the variable x and 1 / x is prepared in the ROM, and the division of y / x is replaced with the multiplication of y (1 / X). "Reciprocal ROM method" to execute.

【0118】(2)y/x なる除算を直接実行する代
わりに、対数ROMによりxとyから logxとlo
gyを求め、それからz=logx−logyの減算を
行い、最後に指数ROMによりexpzを求める「対数
計算方式」。
(2) Instead of directly executing the division of y / x, logx and log are calculated from x and y by a logarithmic ROM.
gy, and then subtracts z = logx-logy, and finally, expz is obtained by exponential ROM.

【0119】(3)被除数に対してシフトと減算を試行
錯誤的に繰り返す「減算シフト方式」。
(3) "Subtraction shift method" in which shift and subtraction are repeated by trial and error with respect to the dividend.

【0120】(4)乗算を繰り返し実行しながら結果を
求めるべき商の値に収束させていく「収束形除算方
式」。
(4) A “convergent division method” in which a result is converged to a quotient value to be obtained while repeatedly executing a multiplication.

【0121】このうち、逆数ROM方式が最も高速であ
るが、高精度を要求するとルックアップテーブルを格納
すべきROMの容量が指数的に大きくなる欠点がある。
従って、信号処理においては比較的粗い精度でよい場合
に限られて使用されている。
Of these, the reciprocal ROM method is the fastest, but has the disadvantage that when high precision is required, the capacity of the ROM for storing the look-up table increases exponentially.
Therefore, in signal processing, it is used only when relatively coarse accuracy is sufficient.

【0122】次の対数計算方式も対数ROMの容量の制
約からくる精度上の検討を十分に行ったうえで用いる必
要があり、その意味でも以上の二つのROM方式はどの
ような場合にも用い得る汎用的な方法とは言い難い。
The following logarithmic calculation method also needs to be used after sufficiently examining the accuracy due to the limitation of the capacity of the logarithmic ROM. In this sense, the above two ROM methods are used in any case. It is hard to say that it is a versatile method of obtaining.

【0123】以上の4方式のうち、どのような精度に対
しても除算可能な方式は減算シフト方式と収束形除算方
式であるといえる。
Of the above four methods, the methods that can divide any precision are the subtraction shift method and the convergent division method.

【0124】収束形除算方式は被除数と除数を分数の分
子と分母とみなし、分母が1に近づくまで分子分母に同
一の収束係数を乗じていき、得られた最終的な分子の値
が商になる。あるいは、除数の逆数を収束アルゴリズム
によって求め、商はこの逆数と被除数の積から求めるこ
とができる。
In the convergent division method, the dividend and the divisor are regarded as the numerator and denominator of the fraction, and the numerator denominator is multiplied by the same convergence coefficient until the denominator approaches 1, and the obtained final numerator value is used as the quotient. Become. Alternatively, 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.

【0125】しかし、複数チップ(モジュール)接続に
よる除算能力の拡張機能を考慮した場合、近似演算によ
る収束が行われる収束形除算方式では部分剰余の伝搬が
さらに近似されることになり、誤差が大きくなってしま
うという問題点が生じる。
However, in consideration of an extended function of the division capability by connecting a plurality of chips (modules), in the convergence division method in which convergence is performed by an approximate operation, propagation of a partial remainder is further approximated, and an error increases. There is a problem that it becomes.

【0126】この点、減算シフト方式ではそのような問
題はなく、任意精度で除算可能であり、複数チップ(モ
ジュール)接続による除算能力の拡張機能をも考慮した
場合、最も適しているといえる。
In this regard, 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 in consideration of an extended function of division capability by connecting a plurality of chips (modules).

【0127】次に、除算能力の拡張機能について考察す
る。
Next, an extended function of the division capability will be considered.

【0128】例えば、 567890/1234 の除算を実行するには図8(A)に示すように、被除数
と除数の減算が繰り返し実行される。
For example, to execute the division of 567890/1234, the dividend and the divisor are repeatedly subtracted as shown in FIG.

【0129】ここで、除数2けたの除算器(または除算
モジュール)を用いて、除数を4けたに拡張した使用を
考えてみると、図8(B)及び図8(C)に示すよう
に、除数1234を除数12と除数34とに分割すると
ともに、被除数567890を被除数567及び被除数
890とに分割し、12と34の除数で分散処理した結
果から除算能力の拡張した解(図8(A)相当)を得る
という乗算器のような使い方(乗算においては可能)は
できない。
Here, consider the use of a divisor extended to four digits using a divisor (or division module) of two digits, as shown in FIGS. 8B and 8C. , The divisor 1234 is divided into the divisor 12 and the divisor 34, the dividend 567890 is divided into the dividend 567 and the dividend 890, and the results of the distributed processing with the divisors of 12 and 34 are used to expand the division capability (see FIG. 8A ) Is not possible (like multiplication).

【0130】従って、除算は使用可能けた数の範囲内で
有効であり、1ビットでも除算能力を超えた使用に対し
ては、たとえメモリーや外部回路を用いても容易には対
処できない。
Therefore, division is effective within the range of usable digits, and use of even one bit exceeding the division capability cannot be easily dealt with even by using a memory or an external circuit.

【0131】また、除算においては通常丸め操作を行う
が、暗号/復号システムにおいては、このような使用は
できない。
In addition, a rounding operation is usually performed in division, but such use cannot be performed in an encryption / decryption system.

【0132】以上のような理由によって、従来において
は、ハードウェア化された除算器は少なく処理速度の遅
いソフトウェアで対処していた。
For the reasons described above, in the related art, the number of dividers implemented by hardware is small and is dealt with by software having a slow processing speed.

【0133】ところで、本除算器のアルゴリズムは被除
数に対してシフトと減算を試行錯誤的に繰り返す「減算
シフト方式」に基づいたもので、その一般的な基本式は
以下の漸化式で表される。
The algorithm of this divider is based on a "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. You.

【0134】[0134]

【数1】 (Equation 1)

【0135】[0135]

【数2】 (Equation 2)

【0136】式(B)が求める商Qであり、最終剰余R
は2-n(n)である。
Equation (B) is the quotient Q to be found, and the final remainder R
Is 2- nR (n) .

【0137】各演算工程における商のディジットqj+1
は2RとDの大小関係で以下のように定まる。
Digit of quotient q j + 1 in each operation step
Is determined by the magnitude relationship between 2R and D as follows.

【0138】2R(j)<Dの場合、qj+1=0 2R(j)≧Dの場合、qj+1=1 つまり、まず仮の部分剰余R(j+1)(=2R(j)−D)を
求めて、部分剰余R(j+1)が正または“0"ならばqj+1
=1が求まり、真の部分剰余とする。もし、部分剰余R
(j+1)が負ならば、qj+1=0で仮の部分剰余の減算を取
消す。
When 2R (j) <D, q j + 1 = 0 When 2R (j) ≧ D, q j + 1 = 1 That is, first, a provisional partial remainder R (j + 1) (= 2R ( j) −D), and if the partial remainder R (j + 1) is positive or “0”, q j + 1
= 1 is obtained, and is set as a true partial remainder. If the partial remainder R
If (j + 1) is negative, the subtraction of the temporary partial remainder is canceled at q j + 1 = 0.

【0139】以上の操作は、R(n)をnディジットだけ
右にシフトすることから求まることを先の漸化式は意味
している。
The above recurrence formula means that the above operation is obtained by shifting R (n) rightward by n digits.

【0140】しかし、以上の漸化式は単にnディジット
の商に対してのものである。除算データを各モジュール
に分散した場合、各モジュールの被除数と除数はそれぞ
れ連結した状態で行われなければならない。
However, the above recurrence equation is simply for the quotient of n digits. When the division data is distributed to each module, the dividend and the divisor of each module must be connected to each other.

【0141】一般に、除数に対して被除数のけた数が多
いため、分散した除数を連結して被除数との減算を行う
ことは、除数の連結とそれに伴う減算器やラッチ回路の
連結などにより容易には実現できなかった。
In general, since the dividend has more digits than the divisor, it is easy to connect the distributed divisors and subtract the dividend with the divisor by connecting the divisors and connecting the subtractor and the latch circuit. Could not be realized.

【0142】これに対し、本実施例の除算器は、分散し
た除数と減算器は各モジュール内に固定し、被除数を連
結してシフトと減算を行うようにしてモジュールの分散
化を可能にしている。
On the other hand, in the divider according to the present embodiment, the distributed divisor and the subtractor are fixed in each module, and the dividends are connected to perform the shift and the subtraction so that the modules can be distributed. I have.

【0143】この場合、筆算とは逆に除数を固定した減
算なので被除数は左シフトになる。
In this case, the dividend is left-shifted because the divisor is fixed, contrary to the handwriting.

【0144】例えば、簡単のために1モジュールが4ビ
ット除算器について2モジュールに拡張したときの各ス
テップの動作を図9に示す。
For example, FIG. 9 shows the operation of each step when one module is expanded to two modules for a 4-bit divider for simplicity.

【0145】2モジュールに分散した除数は減算器とラ
ッチ回路を伴ってそのけた借り用端子BOとBNで連結
される。被除数はQIとQO端子により連結されて初段
のRIに戻される。除数部分は各モジュールに固定で、
被除数が必要なけた数だけ左シフトと減算を繰返して演
算を終了する。
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 to the QI and QO terminals and returned to the first stage RI. The divisor is fixed to each module,
The operation is terminated by repeating left shift and subtraction by the number of dividends required.

【0146】商qと部分剰余は各減算処理における減算
結果によって決まるものである。なお、演算は8ビット
の減算器の場合、7ステップで終了し、8ステップ目で
は商q0の格納だけになる。この結果、後述の被除数ラ
ッチ・シフト回路32(図10参照)に商データQが、
後述の部分剰余のシフト回路34(図10参照)には剰
余データが得られることとなる。
The quotient q and the partial remainder are determined by the subtraction result in each subtraction process. In the case of an 8-bit subtractor, the operation ends in seven steps, and in the eighth step, only the quotient q0 is stored. As a result, the quotient data Q is stored in a dividend latch / shift circuit 32 (see FIG. 10) described later.
The remainder data is obtained in the later-described partial remainder shift circuit 34 (see FIG. 10).

【0147】[6.2] 除算器の概要構成 図10に第1除算器25−1を例として除算器の概要構
成ブロック図を示す。
[6.2] Schematic Configuration of Divider FIG. 10 is a block diagram showing a schematic configuration of a divider using the first divider 25-1 as an example.

【0148】第1除算器25−1は、入力された8ビッ
ト除数データをラッチする除数ラッチ回路31と、被除
数データをラッチし、シフト操作を行うための被除数ラ
ッチ・シフト回路32と、被除数データに対応する被除
数から除数データに対応する除数を減算する並列減算回
路33と、部分剰余データを格納し、シフト操作を行う
部分剰余シフト回路34と、除算に必要なシフトパルス
を発生する制御回路35と、を備えて構成されている。
The first divider 25-1 includes a divisor latch circuit 31 for latching input 8-bit divisor data, a dividend latch / shift circuit 32 for latching dividend data and performing a shift operation, and a dividend data shift circuit 32. , A parallel subtraction circuit 33 for subtracting the divisor corresponding to the divisor data from the dividend, a partial remainder shift circuit 34 for storing partial remainder data and performing a shift operation, and a control circuit 35 for generating a shift pulse necessary for division. And is provided.

【0149】[6.3] 除算器の動作 次に除算器の動作について図11を参照して説明する。[6.3] Operation of Divider Next, the operation of the divider will be described with reference to FIG.

【0150】時刻t1において、除算開始パルス/ST
AT(/はロウアクティブを示す。以下、同様)が立ち
下がると、除算開始パルス/STATの次の立ち上がり
(時刻t2)までの間に第1除算器25−1は初期化さ
れる。
At time t1, division start pulse / ST
When AT (/ indicates low active; the same applies hereinafter) falls, the first divider 25-1 is initialized until the next rise (time t2) of the division start pulse / STAT.

【0151】次に時刻t2以降で基準クロック信号CK
が最初に立ち下がる時刻t3において被除数データ(8
ビット)が被除数ラッチ・シフト回路32にラッチさ
れ、除数データ(8ビット)が除数ラッチ回路31にラ
ッチされる。
Next, after time t2, the reference clock signal CK
At the time t3 when the first falls, the dividend data (8
) Is latched by the dividend latch / shift circuit 32, and the divisor data (8 bits) is latched by the divisor latch circuit 31.

【0152】そして、時刻t4において、基準クロック
信号CKが次に立上ると、並列減算回路33において、
被除数と除数の減算が行われ、減算結果が正または
“0"ならば、切換スイッチ36は並列減算回路33側
となり、並列減算回路33の減算結果が負であるならば
切換スイッチ36は、部分剰余シフト回路34側とな
る。
When the reference clock signal CK rises next at time t4, the parallel subtraction circuit 33
When the dividend and the divisor are subtracted, and the subtraction result is positive or “0”, the changeover switch 36 is on the parallel subtraction circuit 33 side. If the subtraction result of the parallel subtraction circuit 33 is negative, the changeover switch 36 The remainder shift circuit 34 is provided.

【0153】この結果、時刻t5において、部分剰余シ
フト回路34の部分剰余データがシフトされるととも
に、並列減算回路33の減算結果である部分剰余データ
あるいは減算前に部分剰余シフト回路34に保持されて
いた減算前の部分剰余データが部分剰余シフト回路34
にラッチされる。
As a result, at time t5, the partial remainder data of the partial remainder shift circuit 34 is shifted, and the partial remainder data as the result of the subtraction by the parallel subtraction circuit 33 or the partial remainder data before the subtraction is held in the partial remainder shift circuit 34. The partial remainder data before the subtraction is transferred to the partial remainder shift circuit 34.
Latched.

【0154】同様に時刻t5〜時刻t6の間に被除数が
必要な回数だけ、すなわち、全8ビットであるから残り
の7ビットに対応する7回の被除数と除数の減算処理及
び部分剰余シフト回路のシフト処理及びラッチ処理が繰
り返される。
Similarly, during the period from time t5 to time t6, the dividend is the required number of times, that is, since it is a total of 8 bits, the seven dividends and the divisor corresponding to the remaining seven bits are subtracted and the partial remainder shift circuit is operated. Shift processing and latch processing are repeated.

【0155】そして時刻t6において、基準クロック信
号CKが立ち下がると、除算終了信号/DENDが
“L"レベルとなり、上位桁の減算器(ここでは、第2
減算器25−2)が同様に動作を開始することとなる。
At time t6, when the reference clock signal CK falls, the division end signal / DEND goes to "L" level, and the upper digit subtractor (here, the second
The subtractor 25-2) starts the operation similarly.

【0156】そして、さらに上位桁の減算器25−3〜
25−Jにおいて同様の除算動作が行われて、最後の減
算器25−Jの除算終了信号/DENDが第1減算器2
5−1に出力されると減算処理を終了することとなる。
Then, the upper digit subtracters 25-3 to 25-3
A similar division operation is performed in 25-J, and the division end signal / DEND of the last subtractor 25-J is output to the first subtractor 2
When output to 5-1 is made, the subtraction processing ends.

【0157】これらの結果、各減算器25−1〜25−
Jの被除数ラッチ・シフト回路32には商データ(8ビ
ット)が求められ、部分剰余シフト回路34には剰余デ
ータがそれぞれ求められることとなる。
As a result, each of the subtracters 25-1 to 25-
The quotient data (8 bits) is obtained in the J dividend latch / shift circuit 32, and the remainder data is obtained in the partial remainder shift circuit 34.

【0158】以上の動作はすべて制御回路35が出力す
るシフトパルスSLAに同期して行われるため、多くの
減算器をカスケード接続して除算能力を拡張した際にも
伝搬遅延によるタイミング的な誤動作を生じることはな
い。
Since all of the above operations are performed in synchronization with the shift pulse SLA output from the control circuit 35, even when many subtractors are cascaded to increase the division capability, a timing malfunction due to a propagation delay may occur. Will not occur.

【0159】[7] 暗号化処理及び復号処理(剰余演
算処理) RSAに基づいた公開鍵暗号方式の暗号化及び復号処理
(剰余演算処理)について図12を参照して説明する。
[7] Encryption and Decryption (Remainder Operation) The encryption and decryption (remainder operation) of the public key cryptosystem based on the RSA will be described with reference to FIG.

【0160】AN≡A mod n の剰余演算では本暗号/復号システムにおいてA、N、
nの各値を入力する(ステップS31)。
In the remainder operation of A N ≡A mod n, A, N,
Each value of n is input (step S31).

【0161】次にAをA1に代入し(ステップS3
2)、演算用変数kの初期値を1とする(ステップS3
3)。
Next, A is substituted into A1 (step S3).
2), the initial value of the operation variable k is set to 1 (step S3)
3).

【0162】そして、演算用変数kがN未満である間、
すなわち、次式 k<N を満たしている間(ステップS39)は、以下のステッ
プS34〜ステップS38の処理を繰り返す。
While the operation variable k is smaller than N,
That is, while the following equation k <N is satisfied (step S39), the following steps S34 to S38 are repeated.

【0163】まず、N=1であるか否かを判別する(ス
テップS34)。
First, it is determined whether or not N = 1 (step S34).

【0164】ステップS34の判別において、N=1で
ある場合には、A1をA0に代入する(ステップS3
5)。
If N = 1 in step S34, A1 is substituted for A0 (step S3).
5).

【0165】また、N≠1である場合には、A1及びA
の乗算を行い、乗算結果をA0に代入する(ステップS
36)そして、 A0≡A mod n を求め(ステップS37)、演算用変数kをk+1とす
る(ステップS38)。
When N ≠ 1, A1 and A1
And the result of the multiplication is substituted into A0 (step S
36) Then, A0≡A mod n is obtained (step S37), and the calculation variable k is set to k + 1 (step S38).

【0166】そして、演算用変数kがN以上となった場
合に、得られた剰余Aが求める剰余となる。このとき、
乗算の最大精度はAのビット数の2倍である。
When the calculation variable k becomes equal to or larger than N, the obtained remainder A becomes the remainder to be obtained. At this time,
The maximum precision of the multiplication is twice the number of bits of A.

【0167】このように、本実施の形態のべき乗剰余演
算装置を用いれば、図19の従来の処理と比較して処理
を非常に単純化することができる。
As described above, the use of the modular exponentiation operation device according to the present embodiment can greatly simplify the processing as compared with the conventional processing shown in FIG.

【0168】[8] べき乗剰余演算装置のゲート数 ここで、べき乗剰余演算装置を構成する際に必要とされ
るゲート数について説明する。
[8] Number of Gates of Power-Remainder Arithmetic Apparatus Here, the number of gates required when configuring the power-residue arithmetic apparatus will be described.

【0169】周知のように暗号/復号システムにおける
剰余演算では極めて高精度であることから、1モジュー
ルの乗算器の乗算精度を16ビット、1モジュールの除
算器の除算精度を32ビットとして、1ユニットにそれ
ぞれ4モジュールを内蔵(乗算16〜64ビット、除算
32〜128ビットの可変精度)した場合のゲート数を
図13に示す。
As is well known, since the modular arithmetic in the encryption / decryption system has extremely high precision, the multiplication precision of one module multiplier is 16 bits, the division precision of one module divider is 32 bits, and one unit is used. FIG. 13 shows the number of gates in the case where four modules are incorporated in each (variable precision of multiplication 16 to 64 bits and division 32 to 128 bits).

【0170】図13に示すように、1モジュールの32
ビット精度除算器を構成するためには、1700ゲート
必要であり、べき乗剰余演算装置1ユニット中の任意精
度除算装置では、 1700×4=6800[ゲート] が必要となる。
[0170] As shown in FIG.
To configure a bit precision divider, 1700 gates are required, and the arbitrary precision division unit in one unit of the modular exponentiation unit requires 1700 × 4 = 6800 [gates].

【0171】また、図13に示すように、1モジュール
の16ビット精度乗算器を構成するためには、1032
ゲート必要であり、べき乗剰余演算装置1ユニット中の
任意精度乗算装置では、 1032×4=4128[ゲート] が必要となる。
As shown in FIG. 13, in order to configure a 16-bit precision multiplier of one module, 1032
A gate is necessary, and the arbitrary precision multiplication unit in one unit of the modular exponentiation operation unit requires 1032 × 4 = 4128 [gate].

【0172】従って、べき乗剰余演算装置に必要とされ
るゲート数は、 6800+4128=10928[ゲート] であり、制御回路及び動的な接続回路を含めて一つのべ
き乗剰余演算装置を12000[ゲート]程度でワンチ
ップ化することが可能となる。
Therefore, the number of gates required for the modular exponentiation arithmetic unit is 6800 + 4128 = 10928 [gates], and one modular exponentiation arithmetic unit including a control circuit and a dynamic connection circuit is about 12000 [gates]. It can be made into one chip.

【0173】なお、512ビット精度では8ユニット、
1024ビット精度では16ユニットをそれぞれ必要と
する。
In 512-bit precision, 8 units are used.
1024-bit precision requires 16 units each.

【0174】[9] 演算時間 次に上記べき乗剰余演算装置を用いて、 ab≡M mod c を演算する場合に要する演算時間ついて図14〜図18
を参照して説明する。
[0174] [9] using a calculation time then the power residue arithmetic device, with calculation time required in the case of calculating the a b ≡M mod c 14 to 18
This will be described with reference to FIG.

【0175】指数bがnビットの場合、べき乗剰余演算
に必要な演算処理は、図14に示すように、(1)〜
(4)の4段階の乗算処理及び除算処理に分解すること
ができる。この場合において、図14の(1)及び
(3)の乗算は、図15のiビット乗算器21にて実施
され、図14の(2)及び(4)の除算は、図15の2
iビット除算器20にて実施される。図14の(1)及
び(3)の乗算処理における乗算精度は、最大cのビッ
ト数i以下となり、その積は最大でcのビット数iの2
倍精度となる。また、図14の(2)及び(4)の除算
(剰余演算)処理における除算精度は、最大でcのビッ
ト数iの2倍の精度となる。このiビット乗算器21と
2iビット除算器20とは、図6の任意精度乗算装置2
1と任意精度除算装置20と同様の構成を有する。
When the exponent b is n bits, the arithmetic processing required for the modular exponentiation operation is as shown in FIG.
(4) It can be decomposed into four-stage multiplication processing and division processing. In this case, the multiplication of (1) and (3) of FIG. 14 is performed by the i-bit multiplier 21 of FIG. 15, and the division of (2) and (4) of FIG.
This is performed by the i-bit divider 20. The multiplication accuracy in the multiplication processing of (1) and (3) in FIG. 14 is less than or equal to the maximum number of bits i of c, and the product is a maximum of 2 of the number of bits i of c.
Double precision. In addition, the division accuracy in the division (remainder operation) processing of (2) and (4) in FIG. 14 is at most twice the number of bits i of c. The i-bit multiplier 21 and the 2i-bit divider 20 correspond to the arbitrary-precision multiplier 2 shown in FIG.
1 and the same configuration as the arbitrary precision division device 20.

【0176】なお、図15において、入力される値は
a,b,cであり、Mが格納されるレジスタには、当初
のMは1に初期化されている。そして、M←M× a
modcの演算(b=0)では、a,Mがiビット乗算
器21に入力され、その結果をcで割った余りをMとし
て格納する。また、a←a2 mod cの演算(b=
1)では、iビット乗算器21に2つのaを入力するこ
とによりa2が求められる。
In FIG. 15, the input values are a, b, and c, and the initial M is initialized to 1 in the register storing M. Then, M ← M × a
In the modc operation (b = 0), 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. Also, the calculation of a ← a 2 mod c (b =
In 1), a 2 is obtained by inputting two a to the i-bit multiplier 21.

【0177】ここで、図14中の(1)ではr12,r
2,r33…の演算がiビット乗算器21で実施され、
図14中の(2)ではr12,r22,…をそれぞれcで
割った余りがr2,r3…(計算途中のM)として、2
iビット除算器20で求められる。図14中の(3)で
は、k1=r1×r2、k2=RO×r3、k3=R1
×r4…の乗算がiビット乗算器21で実施される。ま
た、図14中の(4)では、K1,K2,…をcで割っ
た余りがそれぞれR0,R1,…(計算途中のM)とし
て、2iビット除算器20で求められ、最終段階でkn
−2をcで割った余りRn−3が求めるべき値Mとな
る。
Here, in (1) of FIG. 14, r1 2 , r
The operation of 2 2 , r 3 3 ... Is performed by the i-bit multiplier 21,
In (2) in FIG. 14, the remainder obtained by dividing r1 2 , r2 2 ,... By c is defined as r2, r3.
It is obtained by the i-bit divider 20. In (3) of FIG. 14, k1 = r1 × r2, k2 = RO × r3, k3 = R1
× r4... Are multiplied by the i-bit multiplier 21. In (4) of FIG. 14, the remainders obtained by dividing K1, K2,... By c are obtained by the 2i-bit divider 20 as R0, R1,.
The remainder Rn-3 obtained by dividing -2 by c is the value M to be obtained.

【0178】この計算例の実例を図16に示す。図16
は、18619≡M mod 377を復号してM=17
を求めた計算手順を示している。
FIG. 16 shows an actual example of this calculation example. FIG.
Decodes 186 19 ≡M mod 377 to obtain M = 17
Is shown.

【0179】図16において、(2)の剰余の値「28
9」,「204」,「146」,「204」は、186
2,2892,2042,1462をそれぞれ377で割っ
た余りとして求められる。また、(3)の積の値は、5
3754=186×289,44880=220×20
4として求められる。さらに、(4)のM=17は、4
4880を377で割った余りとして求められる。
In FIG. 16, the remainder value “28” of (2)
9 ”,“ 204 ”,“ 146 ”, and“ 204 ”are 186
2 , 289 2 , 204 2 , and 146 2 are each obtained as a remainder when divided by 377. The value of the product of (3) is 5
3754 = 186 × 289, 44880 = 220 × 20
4 is required. Further, M = 17 in (4) is 4
The remainder is obtained by dividing 4880 by 377.

【0180】ここで、図14のa、b、cが全て102
4ビットである場合の最大演算時間を必要な基準クロッ
ク数で表すと、図17に示すように、(1)の乗算時間
に1047552[クロック]、(2)の剰余演算時間
に2095104[クロック]、(3)の乗算時間に1
047552[クロック]、(4)の剰余演算時間に2
095104[クロック]必要であり、合計で6285
312[クロック]必要となる。
Here, all of a, b, and c in FIG.
When the maximum calculation time in the case of 4 bits is represented by the required reference clock number, as shown in FIG. 17, the multiplication time of (1) is 10475552 [clock], and the remainder calculation time of (2) is 2095104 [clock]. , (3) multiplication time is 1
047552 [clock], 2 in the remainder operation time of (4)
095104 [clock] required, totaling 6285
312 [clocks] are required.

【0181】この結果、基準クロック周波数を66[M
Hz]として演算を行った場合、演算時間は、95.2
[msec]となる。
As a result, the reference clock frequency is set to 66 [M
Hz], the calculation time is 95.2.
[Msec].

【0182】同様に、a及びbが1024ビットであ
り、指数bのビット数を512ビット及び9ビットとし
た場合の演算時間は、図18に示すように、それぞれ4
7.6[msec]、0.7[msec]となる。ただ
し、これらの演算時間は、毎回の積及び剰余を最大精度
とした時の算出結果であるため、実際には、これらの値
よりも小さな値となる。
Similarly, when a and b are 1024 bits and the number of bits of the exponent b is 512 bits and 9 bits, the operation time is 4 as shown in FIG.
7.6 [msec] and 0.7 [msec]. However, since these calculation times are the calculation results when the product and remainder are set to the maximum precision, they are actually smaller than these values.

【0183】以上の説明のように、乗算精度2mビット
(m:自然数)、除算精度22・mビットでべき乗剰余演
算を行うべき各々の乗剰余演算ユニットを構成し、 x=2n/2m (ただし、nは自然数、xは自然
数) を満たすようにべき乗剰余演算ユニットをx個接続する
ことにより、2nビット精度の暗号化及び復号を行うこ
とが可能となる。このため、容易にシステムのハードウ
ェア的な拡張を図ることが可能となっている。
As described above, each modular exponentiation unit for performing modular exponentiation with a multiplication accuracy of 2 m bits (m: natural number) and a division accuracy of 2 2 · m bits is constructed, and x = 2 n / By connecting x power-residue operation units so as to satisfy 2 m (where n is a natural number and x is a natural number), encryption and decryption with a precision of 2 n bits can be performed. Therefore, it is possible to easily expand the hardware of the system.

【0184】なお、上記xの関係式はべき乗剰余演算ユ
ニットの最大演算精度が要求される演算精度と等しい場
合であったが、 x>2n/2m (ただし、nは自然数、xは自然
数) を満たすようにべき乗剰余演算ユニットをx個接続する
ことによっても演算能力に余裕が生まれるだけで、同様
の効果が得られる。
[0184] Note that the relationship formula of the x is the maximum arithmetic precision of the power residue arithmetic units were equal to the arithmetic precision that is required, x> 2 n / 2 m ( where, n is a natural number, x is a natural number By connecting x power-residue operation units so as to satisfy the condition (1), the same effect can be obtained only by providing a margin in the operation capacity.

【0185】さらに、べき乗剰余演算ユニットで演算可
能なビット精度2nよりも低いビット精度2n1(n1は
自然数、かつ、n1≦n)が要求された場合には、接続
されているx個のべき乗剰余演算ユニットのうち、 x≧x1≧2n1/2m (ただし、x1は自然数) を満たすようにx1個のべき乗剰余演算ユニットをカス
ケード接続するように構成すれば、演算に不要なべき乗
剰余演算ユニットには電力を供給する必要がないので、
消費電力の適正化が図れるととともに、演算処理時間の
適正化が図れることとなる。
Further, when a bit precision 2 n1 (n1 is a natural number and n1 ≦ n) lower than the bit precision 2 n that can be calculated by the power-residue calculation unit is required, the x number of connected x If the power-residue calculation units are configured so that x1 power-residue calculation units are cascaded so as to satisfy x ≧ x1 ≧ 2 n1 / 2 m (where x1 is a natural number), the power-residue unnecessary for the operation is obtained. There is no need to supply power to the arithmetic unit,
The power consumption can be optimized, and the calculation processing time can be optimized.

【0186】さらにべき乗剰余演算ユニットを、図5に
示すように、カスケード接続可能なy個の乗算精度2
m/y、y個の除算精度22・(m/y)でべき乗剰余演算を行う
べき乗剰余演算モジュール9−1〜9−yで構成するこ
とができる。この場合、接続されているべき乗剰余演算
モジュールのうち、2n1ビット精度の暗号化及び復号を
行うのに十分な個数y1≧2n1/2m/yのべき乗剰余演
算モジュールをカスケード接続するようにすれば、さら
なる消費電力の適正化及び演算処理時間の適正化が図れ
ることとなる。
Further, as shown in FIG. 5, the modular exponentiation operation unit is composed of y cascade-connectable multiplication precisions of 2.
It can be composed of modular exponentiation modules 9-1 to 9-y for performing modular exponentiation with m / y and y division precisions of 2 2 · (m / y) . In this case, among the connected modular exponentiation operation modules, the modular exponentiation operation modules of a sufficient number y1 ≧ 2 n1 / 2 m / y to perform encryption and decryption with 2 n1 bits precision are cascaded. Then, the power consumption and the operation processing time can be further optimized.

【0187】また、除算の分散処理を実現した任意精度
除算器を128ビット精度とし、任意精度乗算器を64
ビット精度でワンチップ化しても約1万2千ゲート規模
で済み、その乗除算ユニット(チップ)を8〜16ユニ
ットカスケード接続することにより512〜1024ビ
ット精度に容易に対応可能である。同様にさらなる高精
度化も容易に実現することができる。
The arbitrary-precision divider that realizes the division distribution processing has 128-bit precision, and the arbitrary-precision multiplier has 64 bits.
Even if it is made into one chip with bit precision, the scale of about 12,000 gates is sufficient, and 512 to 1024 bits precision can be easily handled by cascading 8 to 16 units of the multiplication / division unit (chip). Similarly, higher precision can be easily realized.

【0188】そして、演算は精度に比例したクロック数
(例えば、512ビット精度では512クロック)で実
行し、ボード上に完全なハードウェアで構築できるので
高速化が可能である。
The calculation is executed with the number of clocks in proportion to the precision (for example, 512 clocks in the case of 512-bit precision), and can be constructed on a board with complete hardware, so that the speed can be increased.

【0189】また、上記説明においては、最大でx個の
べき乗剰余演算ユニットが設けられている場合について
説明したが、例えば、べき乗剰余演算ユニットをTFT
(Thin Film Transistor)で構成した場合には、欠損な
どにより不良トランジスタが発生することにより1個の
べき乗剰余演算ユニットが使用できないだけで、べき乗
剰余演算ユニット全体が使用できなくなり、実効的な歩
留まり率が低下することとなり、製造コストの上昇を招
くこととなる。
In the above description, the case where a maximum of x power-residue operation units are provided has been described.
(Thin Film Transistor), when a defective transistor is generated due to a defect or the like, only one power-residue operation unit cannot be used, and the entire power-residue operation unit cannot be used. And the production cost increases.

【0190】そこで、べき乗剰余演算ユニットの歩留ま
り率Aに対して、少なくともK個(x≧K/A)のべき
乗剰余演算ユニットを予め用意し、K個のべき乗剰余演
算ユニットのうち良品べき乗剰余演算ユニットをx個接
続するように冗長構成を採用することが好ましい。こう
すると、べき乗剰余演算モジュールに不良が発生した場
合でも、冗長べき乗剰余演算モジュールに接続切換を行
うことにより、そのべき乗剰余演算ユニットは良品とし
て扱うことが可能となる。
Therefore, at least K (x ≧ K / A) power-residue operation units are prepared in advance for the yield rate A of the power-residue operation units. It is preferable to adopt a redundant configuration so as to connect x units. In this way, even if a failure occurs in the modular exponentiation module, by switching the connection to the redundant modular exponentiation module, the modular exponentiation unit can be handled as a non-defective product.

【0191】さらにこのことは、べき乗剰余演算ユニッ
トばかりでなく、べき乗剰余演算ユニットを構成するべ
き乗剰余演算モジュールについても同じことが言える。
すなわち、べき乗剰余演算モジュールの歩留まり率A'
に対して、各べき乗剰余演算ユニット中に少なくともL
個(y≧L/A')のべき乗剰余演算モジュールを予め
用意し、L個のべき乗剰余演算モジュールのうち良品べ
き乗剰余演算モジュールをy個接続するように冗長構成
を採用する。こうすると、べき乗剰余演算モジュールに
不良が発生した場合でも、冗長べき乗剰余演算モジュー
ルに接続切換を行うことにより、そのべき乗剰余演算ユ
ニットは良品として扱うことが可能となる。
The same can be said for not only the modular exponentiation unit but also the modular exponentiation module constituting the modular exponentiation unit.
That is, the yield rate A ′ of the modular exponentiation operation module
, At least L in each modular exponentiation unit
A number (y ≧ L / A ′) of modular exponentiation operation modules are prepared in advance, and a redundant configuration is adopted so that y non-defective exponentiation modular operation modules among L power modular exponentiation modules are connected. In this way, even if a failure occurs in the modular exponentiation module, by switching the connection to the redundant modular exponentiation module, the modular exponentiation unit can be handled as a non-defective product.

【0192】以上の説明においては、公開鍵暗号方式の
RSA暗号の場合について説明したが、楕円曲線暗号に
も同様に適用が可能である。
In the above description, the case of the RSA cryptosystem of the public key cryptosystem has been described. However, the present invention can be similarly applied to the elliptic curve cryptosystem.

【0193】なお、上述した実施の形態では、全てのべ
き乗剰余演算装置をコンピュータ本体13の外部に設け
ていたが、べき乗剰余演算装置(暗号/復号装置14)
の一部を予めコンピュータ本体13またはルータ本体1
7の内部に設けることもできる。この場合、精度拡張の
ためのべき乗剰余演算ユニット用拡張スロットをコンピ
ュータ本体13またはルータ本体17に予め設け、メモ
リの拡張をメモリ拡張スロットにより行う場合と同様
に、べき乗剰余演算ユニットを拡張スロットに装着する
ことにより容易に演算精度拡張を行うことができる。
In the above-described embodiment, all the power-residue arithmetic units are provided outside the computer main unit 13. However, the power-residue arithmetic units (encryption / decryption units 14)
Part of the computer body 13 or the router body 1
7 can also be provided. In this case, an extension slot for a modular exponentiation operation unit is provided in the computer main body 13 or the router main body 17 for precision expansion, and the modular exponentiation operation unit is attached to the expansion slot as in the case where memory expansion is performed by the memory expansion slot. By doing so, the calculation accuracy can be easily extended.

【0194】また、実施の形態においては、回線11に
より互いに接続される複数のパーソナルコンピュータ1
2に本発明を適用したが、ワークステーションや、各種
計測機器、家電製品などの機器への組込型コンピュータ
についても同様に適用が可能である。
In the embodiment, a plurality of personal computers 1 connected to each other by a line 11 are described.
Although the present invention is applied to No. 2, the present invention can be similarly applied to a workstation, various measuring devices, and a computer embedded in devices such as home appliances.

【0195】さらに、本発明が適用されるパケット交換
網としては、LANの他、インターネットなどにも適用
できる。インターネットの場合、パケットとして機能す
るIP(INTERNET PROTCOL)データグラム内のヘッダフ
ィールドにIPアドレス(発信元アドレス及び送信先ア
ドレス)が格納され、データフィールドにデータが格納
される。IPアドレス(32ビット)は、発信元及び送
信先を一意に決めるアドレス情報である。従って、本発
明では少なくともヘッダフィールド内の発信元アドレス
及び送信先アドレスのいずれか一方または双方を暗号化
すればよい。もちろん、データフィールド内に機密デー
タフィールドを設け、その中の機密データも併せて暗号
化してもよい。特に、インターネットのように情報の透
過性の高いネットワークシステムに本発明を適用する意
義が高い。
Further, the packet switching network to which the present invention is applied can be applied not only to a LAN but also to the Internet and the like. In the case of the Internet, an IP address (source address and destination address) is stored in a header field in an IP (INTERNET PROTCOL) datagram functioning as a packet, and data is stored in a data field. The IP address (32 bits) is address information that uniquely determines a source and a destination. Therefore, in the present invention, at least one or both of the source address and the destination address in the header field may be encrypted. Of course, a confidential data field may be provided in the data field, and the confidential data therein may also be encrypted. In particular, it is significant to apply the present invention to a network system having high information transparency such as the Internet.

【0196】(暗号化及び復号処理の高速化について)
図20は、図2及び図3に示す暗号/復号装置14をプ
ログラマブルディジタルプロセッサ148として、他の
機能ブロックと共に1チップ化したマイクロコンピュー
タ100を示している。
(Speeding up of encryption and decryption processing)
FIG. 20 shows a microcomputer 100 in which the encryption / decryption device 14 shown in FIGS. 2 and 3 is formed as a programmable digital processor 148 into one chip together with other functional blocks.

【0197】図20において、マイクロコンピュータ1
00は、下記の各種機能ユニットを含んでいる。すなわ
ち、CPU(中央処理ユニット)102、ROM(リー
ド・オンリー・メモリ)104、キャッシュメモリとし
てのRAM(ランダム・アクセス・メモリ)106、高
周波発振回路108、低周波発振回路110、リセット
回路112、プリスケーラ114、16ビットプログラ
マブルタイマ116や8ビットプログラマブルタイマ1
18やクロックタイマ120などのタイマ回路、インテ
リジェントDMAC(ダイレクト・メモリ・アクセス・
コントローラ)122や高速DMAC124などのデー
タ転送制御回路、割り込みコントローラ126、シリア
ルインターフェース128、BCU(バス・コントロー
ル・ユニット)130、A/D(アナログ/デジタル)
変換器132やD/A(デジタル/アナログ)変換器1
34などのアナログインターフェース回路、入力ポート
136や出力ポート138やI/O(入力/出力)ポー
ト140などのI/O回路が、マイクロコンピュータ1
00内に配置されている。さらに、マイクロコンピュー
タ100は、CPU102と他の機能ユニット104〜
140と間を接続するデータバス142やアドレスバス
144などのバスライン146や、各種端子148を含
んでいる。これらは、一枚の半導体基板上に形成されて
いる。なお、図2ではデータバス142とアドレスバス
144とを分離しているが、データとアドレスとを時分
割で伝送するようにすれば、データ/アドレスバスとし
てデータとアドレスとを1本のラインで兼用して伝送さ
せてもよい。
In FIG. 20, the microcomputer 1
00 includes the following various functional units. That is, a CPU (central processing unit) 102, a ROM (read only memory) 104, a RAM (random access memory) 106 as a cache memory, a high frequency oscillation circuit 108, a low frequency oscillation circuit 110, a reset circuit 112, a prescaler 114, 16-bit programmable timer 116 and 8-bit programmable timer 1
18 and a clock circuit such as a clock timer 120, an intelligent DMAC (direct memory access
Data transfer control circuits such as a controller) 122 and a high-speed DMAC 124, an interrupt controller 126, a serial interface 128, a BCU (bus control unit) 130, an A / D (analog / digital)
Converter 132 and D / A (digital / analog) converter 1
The I / O circuit such as an analog interface circuit such as an input port 136, an output port 138, and an I / O (input / output) port 140 includes a microcomputer 1
00. Further, the microcomputer 100 includes a CPU 102 and other functional units 104 to
It includes a bus line 146 such as a data bus 142 and an address bus 144 connecting between the terminal 140 and the terminal 140, and various terminals 148. These are formed on one semiconductor substrate. Although the data bus 142 and the address bus 144 are separated from each other in FIG. 2, if data and addresses are transmitted in a time-division manner, the data and the address are used as a data / address bus by one line. It may be transmitted as an alternate use.

【0198】また、図20に示すバスライン146に
は、図5に示す内部バス4が接続され、上述した各構成
は、図5に示す暗号/復号装置14と同一構成を有する
プログラマブルディジタルプロセッサ148にも接続さ
れている。従って、図1に示す回線11に対して、入力
ポート136、出力ポート138またはI/0ポート1
40を介して入出力される情報の一部または全部が、プ
ログラマブルプロセット148にて暗号化または復号さ
れる。
The internal bus 4 shown in FIG. 5 is connected to the bus line 146 shown in FIG. 20, and each of the above-described components has the same configuration as the programmable digital processor 148 having the same configuration as the encryption / decryption device 14 shown in FIG. Is also connected. Therefore, the input port 136, the output port 138, or the I / O port 1 with respect to the line 11 shown in FIG.
A part or all of the information input / output via 40 is encrypted or decrypted by the programmable processor 148.

【0199】ここで、データバス142、アドレスバス
144及び内部バス4を伝送される信号を光信号とする
ことができる。こうすることで、マイクロコンピュータ
100内部での信号伝送速度を格段に高速にすることが
できる。すなわち、多チャンネルのデータ例えば32ビ
ットのデータは、それぞれ波長の異なる光信号として、
光伝送媒体にて形成されたデータバス142中を同時に
光伝送される。アドレス信号も同様に、波長の異なる多
チャンネルの光信号として、アドレスバス144を同時
に光伝送される。なお、データバス142及びアドレス
バス144が1本の光伝送媒体にて兼用される場合に
は、光信号のデータ及びアドレスは時分割にて伝送され
る。内部バス4についても同様にして光信号を伝送させ
る。
Here, signals transmitted through the data bus 142, the address bus 144 and the internal bus 4 can be optical signals. By doing so, the signal transmission speed inside the microcomputer 100 can be significantly increased. That is, multi-channel data, for example, 32-bit data is converted into optical signals having different wavelengths, respectively.
Optical transmission is simultaneously performed in the data bus 142 formed by the optical transmission medium. Similarly, the address signal is simultaneously transmitted optically through the address bus 144 as a multi-channel optical signal having a different wavelength. When the data bus 142 and the address bus 144 are shared by one optical transmission medium, the data and the address of the optical signal are transmitted in a time division manner. Similarly, the optical signal is transmitted to the internal bus 4.

【0200】ここで、上述の機能ユニット102〜14
0は全て、従来通り、多チャンネルの電気信号にて各種
機能を実現するために動作し、半導体素子等にて形成さ
れている。このため、各種の機能ユニット102〜14
0は、バスライン146(データバス142及び/又は
アドレスバス144)を介して入力される多チャンネル
の電気信号を多チャンネルの光信号に変換する信号入力
部と、多チャンネルの電気信号を多チャンネルの光信号
に変換してバスライン146に出力させる信号出力部と
のいずれか一方または双方を有する。
Here, the above-described functional units 102 to 14
All 0's operate to realize various functions with multi-channel electric signals as usual, and are formed of semiconductor elements and the like. For this reason, various functional units 102 to 14
Reference numeral 0 denotes a signal input unit for converting a multi-channel electric signal input via the bus line 146 (the data bus 142 and / or the address bus 144) into a multi-channel optical signal; And a signal output unit for converting the optical signal into an optical signal and outputting the converted signal to the bus line 146.

【0201】図21は、マイクロコンピュータ100が
形成された基板200の一部を概略的に示す図である。
図21には、基板200上に形成された第1の機能ユニ
ット210(機能ユニット102〜140のいずれか一
つ)より第2の機能ユニット220(機能ユニット10
2〜140の他の一つ)に向けて、バスライン146を
介して信号を送出するための構成が図示されている。
FIG. 21 is a diagram schematically showing a part of a substrate 200 on which the microcomputer 100 is formed.
FIG. 21 shows a case where the first functional unit 210 (one of the functional units 102 to 140) formed on the substrate 200 is moved to the second functional unit 220 (the functional unit 10).
A configuration for transmitting a signal via the bus line 146 to the other one of 2 to 140) is illustrated.

【0202】第1の機能ユニット210は、電気回路領
域212と、その電気回路領域212からの出力信号
(多チャンネルの電気信号)を伝送する配線部214
と、多チャンネルの電気信号に基づいてそれぞれ波長の
異なる多チャンネルの光信号を発光出力する信号出力部
としての発光部216とを有する。
The first functional unit 210 includes an electric circuit area 212 and a wiring section 214 for transmitting an output signal (multi-channel electric signal) from the electric circuit area 212.
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 multi-channel electric signals.

【0203】第2の機能ユニット220は、多チャンネ
ルの光信号を多チャンネルの電気信号に変換する信号入
力部としての受光部222と、多チャンネルの電気信号
を増幅する増幅回路224と、その電気信号を伝送する
配線部226と、電気回路領域228とを有する。な
お、増幅回路224は、受光部222からの電気信号の
電圧レベルを、第2の機能ユニット220にて必要な電
圧レベルまでシフトさせるレベルシフタとして機能し、
必要に応じて設けられる。
The second functional 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, an amplifying circuit 224 for amplifying the multi-channel electric signal, and an electric circuit. It has a wiring portion 226 for transmitting a signal and an electric circuit region 228. Note that the amplifier circuit 224 functions as a level shifter that shifts the voltage level of the electric signal from the light receiving unit 222 to a voltage level required by the second functional unit 220.
Provided as needed.

【0204】発光部216と受光部222との間に形成
されるバスライン146は、光伝送媒体である導波路2
30として構成され、多チャンネルの光信号を同時に伝
送する。
The bus line 146 formed between the light emitting section 216 and the light receiving section 222 is a waveguide 2 serving as an optical transmission medium.
30 and simultaneously transmits multi-channel optical signals.

【0205】図21に示す発光部216は多チャンネル
の電気信号を多チャンネルの光信号に変換するために、
多チャンネルの数と等しい数の発光素子を有する。同様
に、受光部222も多チャンネル分の受光素子を有す
る。
The light emitting section 216 shown in FIG. 21 converts multi-channel electric signals into multi-channel optical signals.
It has a number of light-emitting elements equal to the number of multi-channels. Similarly, the light receiving section 222 also has light receiving elements for multiple channels.

【0206】なお、第1,第2の機能ユニット210,
220間で双方向の信号伝送を行うこともできる。この
場合、第1の機能ユニット210は、図21に示す光伝
送媒体としての導波路230と光学的に接続された受光
部と、該受光部からの電気信号を増幅する増幅器とを有
する。一方、第2の機能ユニット220は、導波路23
0と光学的に接続された発光部222を有する。
Note that the first and second functional units 210,
Bidirectional signal transmission can also be performed between 220. In this case, the first functional unit 210 has a light receiving unit optically connected to the waveguide 230 as an optical transmission medium shown in FIG. 21, and an amplifier for amplifying an electric signal from the light receiving unit. On the other hand, the second functional unit 220
It has a light-emitting unit 222 optically connected to 0.

【0207】図22は、図21に示す発光部216のう
ちの一部である3つの発光素子216A〜216C及び
導波路230の一例を示す断面図である。図22では、
共通の導波路230上に3チャンネル分の発光素子21
6A〜216Cが形成されている状態が図示されてい
る。
FIG. 22 is a cross-sectional view showing one example of three light emitting elements 216A to 216C and a waveguide 230 which are part of the light emitting section 216 shown in FIG. In FIG.
The light emitting elements 21 for three channels are provided on the common waveguide 230.
The state where 6A to 216C are formed is illustrated.

【0208】図22において、導波路230は、例え
ば、下層のSiO2層240と上層のSiO2層242と
の間にコアとなる透明電極例えばITO(インジウム・
ティン・オキサイド)層244を設けて構成される。な
お、コアとなるITO層244の全ての外表面は、Si
2層240またはSiO2層242により覆われて光漏
れが防止されている。
In FIG. 22, a waveguide 230 is formed, for example, between a lower SiO 2 layer 240 and an upper SiO 2 layer 242 by a transparent electrode serving as a core such as ITO (indium oxide).
(Tin oxide) layer 244. Note that all outer surfaces of the ITO layer 244 serving as a core are made of Si.
Light leakage is prevented by being covered by the O 2 layer 240 or the SiO 2 layer 242.

【0209】発光素子216A〜216Cは、後述する
ように一部の層の組成、材料等が異なる点を除いて同一
の構成を有するため、以下発光素子216Aについて説
明する。発光素子216Aは、上層のSiO2層242
上に、各チャンネルの発光箇所を仕切るためのバンク2
50を有する。このバンク250内には、ITO層25
2、発光層254が順次積層され、発光層254及びバ
ンク250の一部を覆って金属電極(例えばAl−L
i)256が形成されている。なお、ITO層252の
下層に、狭帯域の波長を通過させる光学フィルターを形
成してもよい。このようにして、導波路230上には、
バンク250により光学的に隔絶された複数の発光素子
216A〜216Cなどが形成される。
The light emitting elements 216A to 216C have the same configuration except that the composition and material of some of the layers are different, as described later. Therefore, the light emitting element 216A will be described below. The light emitting element 216A has an upper SiO 2 layer 242
Above is a bank 2 to separate the light emitting points of each channel
50. In the bank 250, the ITO layer 25
2. The light emitting layer 254 is sequentially stacked, and covers a part of the light emitting layer 254 and the bank 250 to form a metal electrode (for example, Al-L
i) 256 are formed. Note that an optical filter that transmits a narrow band wavelength may be formed below the ITO layer 252. Thus, on the waveguide 230,
A plurality of light emitting elements 216A to 216C optically isolated by the bank 250 are formed.

【0210】発光素子216Aの発光層254は、例え
ば有機EL(エレクトロルミネッセンス)にて形成され
る。この有機ELは、例えば図23に示すように、イン
クジェットノズル258よりITO層252上に吐出さ
れ、例えば約0.1μmの膜厚にて形成される。そし
て、有機ELの材料を選択することで、あるチャンネル
の発光素子216Aの発光層254から発光される光の
波長を、他の全てのチャンネルの発光素子216B,2
16C等の発光層254の発光波長と異ならせている。
The light emitting layer 254 of the light emitting element 216A is formed by, for example, an organic EL (electroluminescence). The organic EL is discharged onto the ITO layer 252 from an ink jet nozzle 258, for example, as shown in FIG. Then, by selecting the material of the organic EL, the wavelength of light emitted from the light emitting layer 254 of the light emitting element 216A of a certain channel can be changed to the light emitting elements 216B, 216 of all other channels.
The emission wavelength of the light emitting layer 254 such as 16C is made different.

【0211】発光層254として有機ELを用いると、
発光波長の選択の自由度が大きく、事実上特定の材料を
選択したり、材料を復号することで、あらゆる波長の選
択が可能である。
When an organic EL is used as the light emitting layer 254,
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.

【0212】有機発光材料としては、発光材料中の励起
子のエネルギーが有機物質の禁止帯幅に対応するHOM
O(最高被占準位)−LUMO(最低空準位)間のエネ
ルギー差に相当するものが選択される。例えば、低分
子、高分子、特に主鎖に共役系の発達した共役高分子、
導電性分子や色素分子が選択される。
As the organic light emitting material, the energy of the exciton in the light emitting material corresponds to the HOM corresponding to the band gap of the organic substance.
The one corresponding to the energy difference between O (highest occupied level) and LUMO (lowest empty level) is selected. For example, low molecular weight, high molecular weight, especially conjugated high molecular weight conjugated polymer,
Conductive molecules and dye molecules are selected.

【0213】有機発光材料として、低分子有機材料を用
いる場合、例えば青色発光させるには、アントラセン、
PPCP、Zn(OXZ)2、ジスチルベンゼン(DS
B)、その誘導体(PESB)等が用いられる。また、
例えば赤色発光させるには、BPPC、ベリレン、DC
Mなどが用いられる。
When a low molecular weight organic material is used as the organic light emitting material, for example, to emit blue light, anthracene,
PPCP, Zn (O X Z) 2 , distilbenzene (DS
B), its derivatives (PESB) and the like are used. Also,
For example, to emit red light, BPPC, berylene, DC
M or the like is used.

【0214】また、有機発光材料として高分子有機材料
を用いる場合であって、例えば赤色発光させるために
は、PATなど、オレンジ色発光させるにはMEH−P
PVなど、青色発光させるにはPDAF、FP−PP
P、RO−PPP、PPPなど、紫色発光させるにはP
MPSなどが用いられる。
Also, in the case where a high molecular weight organic material is used as the organic light emitting material, for example, PAT is used for emitting red light, and MEH-P is used for emitting orange light.
PDAF, FP-PP to emit blue light such as PV
P, RO-PPP, PPP, etc.
MPS or the like is used.

【0215】その他、有機発光材料として、PPV、R
O−PPV、CN−PPV、PdphQX、PQX、PV
K(ポリ(N−ビニルカルバゾール))、PPS、PN
PS、PBPSなどが用いられる。
In addition, PPV, R
O-PPV, CN-PPV, PdphQ X , PQ X , PV
K (poly (N-vinylcarbazole)), PPS, PN
PS, PBPS, etc. are used.

【0216】特にPVKは、Eu錯体などキャリア輸送
能力の劣る色素分子などのドーパントインクの混合濃度
や吐出回数を制御することで発振波長(発光色)を変え
ることができる。例えば、PVKからなる有機発光材料
に蛍光色素をドープすると発光色を調整することができ
る。
In particular, the oscillation wavelength (emission color) of PVK can be changed by controlling the mixture concentration and the number of ejections of dopant inks such as dye molecules having poor carrier transport ability such as Eu complex. For example, the emission color can be adjusted by doping a fluorescent dye into an organic light emitting material made of PVK.

【0217】また、PVKにローダミンBやDCMをド
ープ可能に構成する場合には、発光色を緑色から赤まで
任意に変えることができる。
Further, in the case where rhodamine B or DCM can be doped into PVK, the emission color can be arbitrarily changed from green to red.

【0218】また、光の波長(ピーク波長や波長帯域な
ど)は、図22のITO層252の下層に追加配置され
る光学フィルターによってある程度調整可能である。
The wavelength of light (peak wavelength, wavelength band, etc.) can be adjusted to some extent by an optical filter additionally provided below the ITO layer 252 in FIG.

【0219】白色光のような波長帯域の広い光が発光さ
れ、その波長を調整する場合は、上記光学フィルターと
して、通常の吸収型の光学カラーフィルターを用いるこ
とができ、これにより所望の色(波長)の光のみを通過
させて光信号とすることができる。
When light having a wide wavelength band such as white light is emitted and its wavelength is adjusted, a normal absorption type optical color filter can be used as the optical filter, thereby obtaining a desired color ( (Wavelength) only to make an optical signal.

【0220】また、ITO層252の下層に追加配置さ
れる光学フィルタとしては、分布反射型多層膜ミラー
(DBRミラー)を用いることができる。このDBRミ
ラーは、屈折率の異なる複数の薄膜を積層したもの、特
に屈折率の異なる2種類の薄膜で構成されたペアを複数
有するものである。この薄膜を構成する成分としては、
例えば半導体材料や誘電体材料なとが挙げられ、これら
のうちでは誘電体材料が好ましい。これらは、通常の真
空成膜法あるいは液相成膜法を用いて形成することがで
きる。また、誘電体材料は、有機溶媒に可溶な有機化合
物を出発原料として用いることができ、この場合図23
のインクジェット方式によるパターン形成の適用が可能
となる。
As an optical filter additionally disposed below the ITO layer 252, a distributed reflection type multilayer mirror (DBR mirror) can be used. The DBR mirror has a structure in which a plurality of thin films having different refractive indexes are stacked, and in particular, has a plurality of pairs formed of two types of thin films having different refractive indexes. The components constituting this thin film include:
For example, a semiconductor material and a dielectric material are mentioned, 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. As a dielectric material, an organic compound soluble in an organic solvent can be used as a starting material.
It is possible to apply the pattern formation by the ink jet method.

【0221】発光素子216A〜216Cは、垂直共振
器型の面発光レーザとすることもできる。この面発光レ
ーザは、それぞれ反射率が異なる2つのミラー例えば分
布反射型多層膜(DBR)ミラー(図22の例では下層
のミラーの反射率が低い)の間に、クラッド層及び活性
層(量子井戸構造が好ましい)を交互に積層させて形成
し、上下各層のミラーと上下各層の電極(図22の例で
は下部電極はITOなどの透明電極である)との間には
それぞれコンタクト層が配置されて形成される。
The light emitting elements 216A to 216C can be vertical cavity surface emitting lasers. This surface emitting laser has a cladding layer and an active layer (quantum) between two mirrors having different reflectivities, for example, a distributed reflection type multilayer (DBR) mirror (lower mirror in the example of FIG. 22). A well structure is preferable), and contact layers are arranged between the mirrors of the upper and lower layers and the electrodes of the upper and lower layers (the lower electrode is a transparent electrode such as ITO in the example of FIG. 22). Formed.

【0222】なお、この種の面発光レーザの詳細は、本
願出願人の先の出願(特願平10−2012415、特
願平10−201244、特開平7−198203な
ど)に開示されているので、その詳細な説明は省略す
る。
The details of this type of surface emitting laser are disclosed in earlier applications of the present applicant (Japanese Patent Application Nos. 10-2012415, 10-201244, and JP-A-7-198203). , And a detailed description thereof will be omitted.

【0223】各チャンネルの面発光レーザの発光波長
も、エピタキシャル成長される材料例えばGaAlAs
の組成を選択することで変更可能であり、図23のイン
クジェット方式によるパターン形成によって、組成の異
なる複数の面発光レーザを導波路230上に実装するこ
とができる。
The emission wavelength of the surface emitting laser of each channel is also determined by the material to be epitaxially grown, for example, GaAlAs.
23 can be changed, and a plurality of surface emitting lasers having different compositions can be mounted on the waveguide 230 by pattern formation by the ink jet method in FIG.

【0224】発光素子216Aのさらに他の例として、
図25に示すような端面発光レーザ270を用いること
もできる。この端面発光レーザ270の端面272から
出射された光274は、ITOなどの光伝送媒体にて形
成されたウェーブガイド276内を伝搬される。各チャ
ンネルの端面発光レーザの発光波長も、その構成材料の
組成を選択することで変更可能である。
As still another example of the light emitting element 216A,
An edge emitting laser 270 as shown in FIG. 25 can also be used. Light 274 emitted from the end surface 272 of the end surface emitting laser 270 propagates through a waveguide 276 formed of an optical transmission medium such as ITO. The emission wavelength of the edge emitting laser of each channel can also be changed by selecting the composition of the constituent material.

【0225】図24は、図21に示す導波路230の延
長線上に設けられた3チャンネル分の受光素子222A
〜222Cの一例を示している。この受光素子222A
〜222Cも後述する一部の層の組成、材料等が異なる
点を除いて共通の構成を有するため、以下受光素子22
2Aについて説明する。この受光素子222Aは、導波
路230の上層のSiO2層242が除去された領域の
ITO層244上に、光学フィルター262と、透明電
極としてのITO層263と、第1導電型半導体層例え
ばn型GaAlAs層264と、第2導電型半導体層例
えばp型GaAlAs層266と、金属電極268とを
有する。
FIG. 24 shows a light receiving element 222A for three channels provided on an extension of the waveguide 230 shown in FIG.
To 222C. This light receiving element 222A
To 222C also have a common configuration except that the composition, material, and the like of some layers described later are different.
2A will be described. The light receiving element 222A has an optical filter 262, an ITO layer 263 as a transparent electrode, and a first conductive type semiconductor layer, for example, an n-type, on the ITO layer 244 in a region where the upper SiO2 layer 242 of the waveguide 230 is removed. It has a GaAlAs layer 264, a second conductivity type semiconductor layer, for example, a p-type GaAlAs layer 266, and a metal electrode 268.

【0226】ここで、第1,第2導電型半導体層26
4,266はPINフォトダイオードを構成する。この
PINフォトダイオードを構成する他の例として、p型
a−SiC(p型半導体)と、i型a−Si層と、n型
a−SiC層とを有するものでもよい。このとき、金属
電極268として、Al−Si−Cu層を用いることが
できる。
Here, the first and second conductivity type semiconductor layers 26
4,266 constitutes a PIN photodiode. As another example of configuring the 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. At this time, an Al-Si-Cu layer can be used as the metal electrode 268.

【0227】光学フィルター262は、例えばX1nm
以上の波長の光を通過させる第1の光学フィルターと、
X2(>X1)nm以下の波長の光を通過させる第2の
光学フィルターとの少なくとも2層を有し、X1〜X2
nmの波長の光を通過させる狭帯域光フィルターとして
機能する。なお、この光学フィルター262の構成を、
図22のITO層252の下層に追加配置される光学フ
ィルターに適用することもできる。逆に、図22のIT
O層252の下層に追加配置される光学フィルターとし
て説明した材料を、光学フィルター262に用いること
もできる。
The optical filter 262 is, for example, X1 nm
A first optical filter that transmits light of the above wavelengths,
X2 (> X1) having at least two layers with a second optical filter that transmits light having a wavelength equal to or less than nm,
It functions as a narrow band optical filter that allows light having a wavelength of nm to pass. Note that the configuration of the optical filter 262 is
The present invention can be applied to an optical filter additionally provided below the ITO layer 252 in FIG. Conversely, the IT of FIG.
The material described as the optical filter additionally disposed below the O layer 252 can be used for the optical filter 262.

【0228】上記の構造により、導波路230を伝搬さ
れ、光学フィルター262を通過した特定波長の光は、
第1,第2導電型半導体層264,266の間の界面に
形成される空乏層にて光−電流変換され、この電気信号
を電極263,268を介して取り出すことができる。
With the above structure, light of a specific wavelength transmitted through the waveguide 230 and passed through the optical filter 262 is
Photo-current conversion is performed in a depletion layer formed at the interface between the first and second conductivity type semiconductor layers 264 and 266, and this electric signal can be extracted through the electrodes 263 and 268.

【0229】ところで、光学フィルター262は、その
構成材料の選択により、通過される光の波長を変更でき
る。また、第1,第2導電型半導体層264,268な
どにて構成されるフォトダイオードも、構成材料例えば
GaAlAsの組成を選択することで、検出できる光の
波長を変更できる。これにより、あるチャンネルの受光
素子222Aにて検出される光の波長を、他の全てのチ
ャンネルの受光素子222B,222Cなどでの検出波
長と異ならせている。なお、光学フィルタ262、第
1,第2導電型半導体層264,268は、図23に示
すインクジェットノズル258を用いた層形成方法によ
り形成することができる。あるいは、検出波長の異なる
受光素子222A,222B,222Cを、導波路23
0上に実装してもよい。
By the way, the optical filter 262 can change the wavelength of the transmitted light by selecting the constituent material. Further, the wavelength of light that can be detected in a photodiode including the first and second conductive semiconductor layers 264 and 268 can be changed by selecting a constituent material such as GaAlAs. As a result, the wavelength of light detected by the light receiving element 222A of a certain channel is different from the detection wavelength of the light receiving elements 222B and 222C of all other channels. Note that the optical filter 262 and the first and second conductive semiconductor layers 264 and 268 can be formed by a layer forming method using the inkjet nozzle 258 shown in FIG. Alternatively, the light receiving elements 222A, 222B, and 222C having different detection wavelengths are
0 may be implemented.

【0230】次に、バス上にて光信号を伝送させる場合
の動作の一例について説明する。図20に示すCPU1
02が例えばキャッシュメモリであるRAM106より
データを読み込む場合には、CPU102よりRAM1
06を選択するチップイネーブルまたはチップセレクト
信号、さらには読み出しアドレス信号などが、それぞれ
多チャンネルの電気信号として出力される。
Next, an example of the operation when an optical signal is transmitted on the bus will be described. CPU 1 shown in FIG.
02 reads, for example, data from the RAM 106 which is a cache memory,
A chip enable or chip select signal for selecting 06, a read address signal, and the like are output as multi-channel electrical signals.

【0231】ここで、図21に示す第1の機能回路21
0がCPU102とすると、この多チャンネルの電気信
号は図21の電気回路領域212より出力される。この
多チャンネルの電気信号は配線部214を介して発光部
216に入力される。発光部216を構成する各々の発
光素子は、図22に示す金属電極256に各チャンネル
の電気信号の一つが入力され、それに基づいて発振(発
光)制御される発光層254にて各チャンネル固有の波
長の光信号が発光される。これにより、各チャンネル毎
に発光制御された光信号が各チャンネルの発光層254
より発光され、ITO層252を介して導波路230に
入射される。導波路230では、図22に示すようにコ
アとなるITO層244を光が伝搬される。
Here, the first functional circuit 21 shown in FIG.
If 0 is the CPU 102, 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. In each of the light emitting elements constituting the light emitting section 216, one of the electric signals of each channel is inputted to the metal electrode 256 shown in FIG. An optical signal of a wavelength is emitted. As a result, the light signal whose light emission is controlled for each channel is transmitted to the light emitting layer 254 of each channel.
Light is further emitted and is incident on the waveguide 230 via the ITO layer 252. In the waveguide 230, light propagates through the ITO layer 244 serving as a core, as shown in FIG.

【0232】図21の第2の機能ユニット220をRA
M106とすると、その受光部222に、導波路230
を伝搬された光信号が入射される。ここで、図24に示
すように、受光部を構成する各々の受光素子222A〜
222Cは、それぞれ異なる波長の光を通過させる光学
フィルタ262を有するので、多チャンネル分の数だけ
配置された各々の受光素子222A〜222Cには、各
チャンネルに対応する波長の光のみがそれぞれ入射され
る。さらに、各々の受光素子222A〜222Cは、各
々の光学フィルタ262を通過した波長の光を検出する
ように構成されているため、各チャンネル毎に電気信号
を出力することができる。
The second functional unit 220 shown in FIG.
Assuming that M106, waveguide 230
Is input. Here, as shown in FIG. 24, each light receiving element 222A to 222A
Since the optical filter 222C has the optical filters 262 that transmit light of different wavelengths, only the light of the wavelength corresponding to each channel is incident on each of the light receiving elements 222A to 222C arranged by the number of multi-channels. You. Furthermore, 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.

【0233】その後は、従来のLSIなどと同様にRA
M106が電気的に駆動され、必要なデータがRAM1
06より読み出される。RAM106より読み出された
電気信号は、図21では省略した第2の機能ユニット2
20側の発光部にて光信号に変換され、図21に示す導
波路230を介して伝搬される。この光信号は、図21
に示す第1の機能ユニット210側の受光部にて電気信
号に変換され、増幅器を介してCPU102に供給され
る。
[0233] Thereafter, RA is used in the same manner as in a conventional LSI.
M106 is electrically driven and necessary data is stored in RAM1
06. The electric signal read from the RAM 106 is stored in the second functional unit 2 omitted in FIG.
The light is converted into an optical signal by the light emitting unit on the side 20 and propagated through the waveguide 230 shown in FIG. This optical signal is shown in FIG.
Is converted into an electric signal by the light receiving unit on the first functional unit 210 side, and supplied to the CPU 102 via the amplifier.

【0234】このように、マイクロコンピュータ100
内の各機能ユニット間の信号の授受を光によって行うこ
とにより、伝送速度のロスをほとんど無視することがで
きる。従って、さらに高集積化が進んだとしても、伝送
遅延を考慮した設計が不要となり、回路の構築設計が大
幅に簡易化される。しかも、マイクロコンピュータ10
0内の各機能ユニット間の信号の授受を光によって行う
ことにより、マイクロコンピュータ100の発熱も低減
させることができる。
As described above, the microcomputer 100
By transmitting and receiving signals between the respective functional units by light, the loss of transmission speed can be almost ignored. Therefore, even if the degree of integration is further increased, it is not necessary to take a design in consideration of the transmission delay, and the construction and design of the circuit is greatly simplified. Moreover, the microcomputer 10
By transmitting and receiving signals between the respective functional units within 0 by light, heat generation of the microcomputer 100 can be reduced.

【0235】なお、図20に示すマイクロコンピュータ
100と、その周辺機器との間を光通信する構成とする
こともできる。周辺機器としては、LCDやCRTなど
の表示部、プリンタなどを挙げることができる。
It is to be noted that optical communication between the microcomputer 100 shown in FIG. 20 and its peripheral devices may be adopted. Examples of the peripheral device include a display unit such as an LCD and a CRT, and a printer.

【0236】この場合、図20に示す入力ポート13
6、出力ポート138、I/Oポート140として、バ
スライン146に対して多チャンネルの光信号を入出力
する構成とすればよい。このとき、光信号を入出力しな
い時に通路を遮断する光シャッターを各ポートに設け、
チップセレクト信号などにより周辺機器が指定された場
合にのみ光シャッターを開放する構成としてもよい。
In this case, the input port 13 shown in FIG.
6. The output port 138 and the I / O port 140 may be configured to input and output multi-channel optical signals to and from the bus line 146. At this time, each port is provided with an optical shutter for blocking a passage when an optical signal is not input / output,
The optical shutter may be opened only when a peripheral device is designated by a chip select signal or the like.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態に係わるパケット通信シス
テムを模式的に示す図である。
FIG. 1 is a diagram schematically showing a packet communication system according to an embodiment of the present invention.

【図2】図1に示すパーソナルコンピュータの概要構成
を示す図である。
FIG. 2 is a diagram showing a schematic configuration of the personal computer shown in FIG.

【図3】図1に示すルータの概要構成を示す図である。FIG. 3 is a diagram showing a schematic configuration of a router shown in FIG. 1;

【図4】図1に示す回線を伝送されるパケットの一例を
示す図である。
FIG. 4 is a diagram illustrating an example of a packet transmitted on the line illustrated in FIG. 1;

【図5】図2及び図3中の暗号/復号装置の概要構成を
示すブロック図である。
FIG. 5 is a block diagram showing a schematic configuration of the encryption / decryption device in FIGS. 2 and 3;

【図6】図2及び図3中の暗号/復号装置をべき乗剰余
演算装置として示すブロック図である。
FIG. 6 is a block diagram showing the encryption / decryption device in FIGS. 2 and 3 as a modular exponentiation device;

【図7】図6中の任意精度除算装置の概要構成を示すブ
ロック図である。
FIG. 7 is a block diagram showing a schematic configuration of an arbitrary precision division device in FIG. 6;

【図8】(A)〜(C)はそれぞれ、除算分散処理の困
難性を説明する説明図である。
FIGS. 8A to 8C are explanatory diagrams for explaining the difficulty of the division distribution processing.

【図9】任意精度除算器の構成と動作の説明図である。FIG. 9 is an explanatory diagram of the configuration and operation of the arbitrary precision divider.

【図10】除算器の概要構成を示すブロック図である。FIG. 10 is a block diagram illustrating a schematic configuration of a divider.

【図11】除算器の動作タイミングチャートである。FIG. 11 is an operation timing chart of the divider.

【図12】RSAに基づいた公開鍵暗号方式の暗号化及
び復号処理の処理手順を示す図である。
FIG. 12 is a diagram showing a processing procedure of encryption and decryption processing of a public key cryptosystem based on RSA.

【図13】べき乗剰余演算装置に必要なゲート数を説明
する図である。
FIG. 13 is a diagram illustrating the number of gates required for the modular exponentiation operation device.

【図14】ab≡M mod cの演算手法を説明する
説明図である。
FIG. 14 is an explanatory diagram illustrating a calculation method of a b ≡M mod c.

【図15】図14の演算を実行する回路のブロック図で
ある。
FIG. 15 is a block diagram of a circuit that executes the operation of FIG. 14;

【図16】図14の手法に従って、18619≡M mo
d 377を復号してM=17を求めた演算例の説明図
である。
FIG. 16 shows 186 19 ≡M mo according to the method of FIG.
It is explanatory drawing of the calculation example which decoded d377 and calculated | required M = 17.

【図17】図14にて必要な演算処理時間の計算を示す
説明図である。
FIG. 17 is an explanatory diagram showing calculation of a calculation processing time required in FIG. 14;

【図18】演算処理時間の例を示す説明図である。FIG. 18 is an explanatory diagram illustrating an example of a calculation processing time.

【図19】従来におけるRSAに基づいた公開鍵暗号方
式の暗号化及び復号処理の処理手順である。
FIG. 19 is a processing procedure of a conventional encryption and decryption process of a public key cryptosystem based on RSA.

【図20】暗号/復号装置を搭載したマイクロコンピュ
ータの一例を示すブロック図である。
FIG. 20 is a block diagram illustrating an example of a microcomputer equipped with an encryption / decryption device.

【図21】図20に示すマイクロコンピュータの光伝送
部を含む領域の概略説明図である。
21 is a schematic explanatory diagram of a region including the optical transmission unit of the microcomputer shown in FIG.

【図22】図21に示す発光部を構成する3チャンネル
分の発光素子の概略断面図である。
22 is a schematic sectional view of a light-emitting element for three channels constituting the light-emitting unit shown in FIG.

【図23】図22に示す発光層の製膜方法の一例を示す
概略説明図である。
FIG. 23 is a schematic explanatory view showing an example of a method for forming the light emitting layer shown in FIG. 22.

【図24】図21に示す受光部を構成する3チャンネル
分の受光素子の概略断面図である。
24 is a schematic sectional view of a light receiving element for three channels constituting the light receiving section shown in FIG. 21;

【図25】図21に示す発光部の変形例を示す概略説明
図である。
25 is a schematic explanatory view showing a modified example of the light emitting section shown in FIG. 21.

【符号の説明】[Explanation of symbols]

1 メインマイクロプロセッサユニット 2 バス 4 内部バス 5 コントロールユニット 6 RAM 7−1〜7−x べき乗剰余演算ユニット 8 ROM 9−1〜9−y べき乗剰余演算モジュール 10,10A〜10D ルータ 11 回線 12 パーソナルコンピュータ 13 コンピュータ本体 13A 入出力部 13B 入出力インターフェース 14 暗号/復号装置(べき乗剰余演算装置) 15 キーボード 16 ディスプレイ 17 ルータ本体 18 パケット 18A アドレスフィールド 18A−1 発信元アドレスフィールド 18A−2 送信先アドレスフィールド 18B データフィールド 18B−1 機密データフィールド 18B−2 通常データフィールド 20 任意精度除算装置(除算ユニット) 21 任意精度乗算装置(乗算ユニット) 22 バス 25−1〜25−H 8ビット除算器(除算モジュー
ル) 31 除数ラッチ回路 32 被除数ラッチ・シフト回路 33 並列減算回路 34 部分剰余・シフト回路 35 並列減算回路 100 マイクロコンピュータ 142 データバス 144 アドレスバス 146 バスライン 148 プログラマブルディジタルプロセッサ(暗号/
復号装置)
Reference Signs List 1 main microprocessor unit 2 bus 4 internal bus 5 control unit 6 RAM 7-1 to 7-x modular exponentiation operation unit 8 ROM 9-1 to 9-y modular exponentiation operation module 10, 10A to 10D router 11 line 12 personal computer Reference Signs List 13 computer main unit 13A input / output unit 13B input / output interface 14 encryption / decryption device (power-residue arithmetic unit) 15 keyboard 16 display 17 router main unit 18 packet 18A address field 18A-1 source address field 18A-2 destination address field 18B data Field 18B-1 Confidential Data Field 18B-2 Normal Data Field 20 Arbitrary Precision Divider (Division Unit) 21 Arbitrary Precision Multiplier (Multiplier Unit) 22 Bus 25-1 to 25-H 8-bit divider (division module) 31 divisor latch circuit 32 dividend dividend / shift circuit 33 parallel subtraction circuit 34 partial remainder / shift circuit 35 parallel subtraction circuit 100 microcomputer 142 data bus 144 address bus 146 Bus line 148 Programmable digital processor (encryption /
Decryption device)

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5J104 AA01 AA02 AA22 CA01 JA23 JA28 NA18 PA00 5K030 GA05 GA15 HA08 HC01 HC14 HD03 HD07 5K033 AA08 CB08 DA05 DB14 DB19 EC03  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5J104 AA01 AA02 AA22 CA01 JA23 JA28 NA18 PA00 5K030 GA05 GA15 HA08 HC01 HC14 HD03 HD07 5K033 AA08 CB08 DA05 DB14 DB19 EC03

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 複数の端末機と少なくとも一つのルータ
とが接続されたネットワーク上にて、アドレスフィール
ドとデータフィールドとを含むパケットを伝送するパケ
ット通信システムにおいて、 前記複数の端末機及び前記少なくとも一つのルータの各
々は、暗号/復号装置を有し、 前記複数の端末機の各々は、パケット送信時には前記暗
号/復号装置にて少なくとも前記アドレスフィールド内
のアドレス情報を暗号化し、パケット受信時には暗号化
された前記アドレス情報を前記暗号/復号装置にて復号
し、 前記少なくとも一つのルータは、暗号化された前記アド
レス情報を前記暗号/復号装置にて復号し、ルーティン
グテーブル内の情報に従って選択された通信経路に前記
パケットを送信することを特徴とするパケット通信シス
テム。
1. A packet communication system for transmitting a packet including an address field and a data field over a network in which a plurality of terminals and at least one router are connected, wherein the plurality of terminals and the at least one router Each of the two routers has an encryption / decryption device, and each of the plurality of terminals encrypts at least address information in the address field by the encryption / decryption device when transmitting a packet, and encrypts the address information when receiving a packet. The encrypted address information is decrypted by the encryption / decryption device, and the at least one router decrypts the encrypted address information by the encryption / decryption device, and is selected according to the information in the routing table. A packet communication system for transmitting the packet to a communication path.
【請求項2】 請求項1において、 前記複数の端末機の各々は、パケット送信時には前記暗
号/復号装置にて前記アドレスフィールド内の送信先ア
ドレス情報を暗号化することを特徴とするパケット通信
システム。
2. The packet communication system according to claim 1, wherein each of the plurality of terminals encrypts destination address information in the address field by the encryption / decryption device when transmitting a packet. .
【請求項3】 請求項1または2において、 前記複数の端末機の各々は、パケット送信時には前記暗
号/復号装置にて前記アドレスフィールド内の発信元ア
ドレス情報を暗号化することを特徴とするパケット通信
システム。
3. The packet according to claim 1, wherein each of the plurality of terminals encrypts source address information in the address field by the encryption / decryption device when transmitting a packet. Communications system.
【請求項4】 請求項1乃至3のいずれかにおいて、 前記パケットの前記データフィールドには機密データが
格納された機密データフィールドが設けられ、 前記複数の端末機の各々は、パケット送信時には前記暗
号/復号装置にて前記機密データフィールド内の前記機
密データを暗号化することを特徴とするパケット通信シ
ステム。
4. The packet according to claim 1, wherein a confidential data field storing confidential data is provided in the data field of the packet, and each of the plurality of terminals transmits the cipher when transmitting a packet. A packet communication system, wherein the secret data in the secret data field is encrypted by a / decryption device.
【請求項5】 請求項1乃至4のいずれかにおいて、 各々の前記暗号/復号装置は、 複数のべき乗剰余演算ユニットと、 前記複数のべき乗剰余演算ユニットをカスケード接続す
るための複数のカスケード端子と、 を有し、 前記複数のべき乗剰余演算ユニットの各々は、 乗算精度2mビット(mは自然数で固定)で乗算を行う
乗算ユニットと、 除算精度22・mビットで除算を行う除算ユニットと、 を有し、 前記複数のべき乗剰余演算ユニットにより実施されるべ
き乗剰余演算の最大演算精度を2n(nは自然数で固
定)としたとき、 x≧2n/2m(xは自然数で固定) を満たすように、前記複数のべき乗剰余演算ユニットが
x個接続されて、暗号化または復号を行うことを特徴と
するパケット通信システム。
5. The encryption / decryption device according to claim 1, wherein each of the encryption / decryption devices includes a plurality of modular exponentiation units, and a plurality of cascade terminals for cascading the plurality of modular exponentiation units. Wherein each of the plurality of modular exponentiation units includes a multiplication unit that performs multiplication with a multiplication accuracy of 2 m bits (m is a fixed natural number), and a division unit that performs division with a division accuracy of 2 2 · m bits. When the maximum operation precision of the power-residue operation performed by the plurality of power-residue operation units is 2 n (n is a natural number), x ≧ 2 n / 2 m (x is a natural number) A packet communication system wherein x number of the plurality of modular exponentiation operation units are connected to perform encryption or decryption so as to satisfy the following.
【請求項6】 請求項5において、 演算処理時に必要な演算精度を2n1ビット(n1≦nで
n1は可変)としたとき、x1≧2n1/2m(x1≦x
でx1は可変)を満たすように、前記複数のべき乗剰余
演算ユニットがx1個カスケード接続されることを特徴
とするパケット通信システム。
6. The method according to claim 5, wherein the operation precision required at the time of the operation process is 2 n1 bits (n1 ≦ n and n1 is variable), and x1 ≧ 2 n1 / 2 m (x1 ≦ x
Wherein x1 is variable and x1 pieces of the modular exponentiation operation units are cascade-connected.
【請求項7】 請求項5または6において、 前記複数のべき乗剰余演算ユニット間は光信号により信
号が伝送されることを特徴とするパケット通信システ
ム。
7. The packet communication system according to claim 5, wherein a signal is transmitted between the plurality of modular exponentiation operation units by an optical signal.
【請求項8】 請求項5乃至7のいずれかにおいて、 各々の前記べき乗剰余乗算ユニットは、 乗算精度2m/y(yは自然数で固定)で乗算を行うy個
の乗算モジュールと、 y個の前記乗算モジュールをカスケード接続するための
カスケード端子と、 を有し、 前記除算ユニットは、 除算精度22・(m/y)で除算を行うy個の除算モジュール
と、 y個の前記除算モジュールをカスケード接続するための
カスケード端子と、 を有することを特徴とするパケット通信システム。
8. The multiplication module according to claim 5, wherein each of the modular exponentiation multiplication units includes : y multiplication modules for performing multiplication with a multiplication accuracy of 2 m / y (y is a natural number); And a cascade terminal for cascading the multiplication modules of (a) and (b). And a cascade terminal for cascade connection of the packet communication system.
【請求項9】 請求項8において、 前記y個の乗算モジュール間及び前記y個の乗算モジュ
ール間は、光信号により信号が伝送されることを特徴と
するパケット通信システム。
9. The packet communication system according to claim 8, wherein a signal is transmitted between the y multiplication modules and between the y multiplication modules by an optical signal.
JP6264299A 1999-03-10 1999-03-10 Packet communication system Withdrawn JP2000261486A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6264299A JP2000261486A (en) 1999-03-10 1999-03-10 Packet communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6264299A JP2000261486A (en) 1999-03-10 1999-03-10 Packet communication system

Publications (1)

Publication Number Publication Date
JP2000261486A true JP2000261486A (en) 2000-09-22

Family

ID=13206200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6264299A Withdrawn JP2000261486A (en) 1999-03-10 1999-03-10 Packet communication system

Country Status (1)

Country Link
JP (1) JP2000261486A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006151582A (en) * 2004-11-29 2006-06-15 Toshiba Elevator Co Ltd Data transmission system for elevator
EP1978703A1 (en) * 2007-04-02 2008-10-08 British Telecommunications Public Limited Company Method of transferring data packets
WO2008147302A1 (en) 2007-05-09 2008-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
WO2009148666A2 (en) * 2008-03-06 2009-12-10 Raytheon Company Internet gatekeeper protocol
WO2010021577A1 (en) * 2008-08-22 2010-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for avoiding unwanted data packets
US11936636B2 (en) 2021-09-15 2024-03-19 Kabushiki Kaisha Toshiba Communication device, communication method, and communication system

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006151582A (en) * 2004-11-29 2006-06-15 Toshiba Elevator Co Ltd Data transmission system for elevator
EP1978703A1 (en) * 2007-04-02 2008-10-08 British Telecommunications Public Limited Company Method of transferring data packets
US8181014B2 (en) 2007-05-09 2012-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
WO2008147302A1 (en) 2007-05-09 2008-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
EP2145458A1 (en) * 2007-05-09 2010-01-20 Telefonaktiebolaget L M Ericsson (publ) Method and apparatus for protecting the routing of data packets
EP2145458A4 (en) * 2007-05-09 2014-11-26 Ericsson Telefon Ab L M Method and apparatus for protecting the routing of data packets
CN101682656B (en) * 2007-05-09 2013-07-24 艾利森电话股份有限公司 Method and apparatus for protecting the routing of data packets
WO2009148666A2 (en) * 2008-03-06 2009-12-10 Raytheon Company Internet gatekeeper protocol
GB2469782A (en) * 2008-03-06 2010-10-27 Raytheon Co Internet gatekeeper protocol
WO2009148666A3 (en) * 2008-03-06 2010-07-22 Raytheon Company Internet gatekeeper protocol
CN102132532A (en) * 2008-08-22 2011-07-20 艾利森电话股份有限公司 Method and apparatus for avoiding unwanted data packets
US8576845B2 (en) 2008-08-22 2013-11-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for avoiding unwanted data packets
CN102132532B (en) * 2008-08-22 2014-05-21 艾利森电话股份有限公司 Method and apparatus for avoiding unwanted data packets
WO2010021577A1 (en) * 2008-08-22 2010-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for avoiding unwanted data packets
US11936636B2 (en) 2021-09-15 2024-03-19 Kabushiki Kaisha Toshiba Communication device, communication method, and communication system

Similar Documents

Publication Publication Date Title
JP4092735B2 (en) Information processing system and encryption / decryption system
EP0531158B1 (en) Method of and apparatus for encryption and decryption of communication data
US5742530A (en) Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
EP0502712B1 (en) Calculating apparatus and method of encrypting/decrypting communication data by using the same
WO2005036811A2 (en) Data converter
US7389316B1 (en) Method and apparatus for true random number generation
JP2000261486A (en) Packet communication system
Tian et al. Fast modular multipliers for supersingular isogeny-based post-quantum cryptography
KR100508092B1 (en) Modular multiplication circuit with low power
US7480691B2 (en) Arithmetic device for multiple precision arithmetic for Montgomery multiplication residue arithmetic
Abed et al. Performance evaluation of the SM4 cipher based on field‐programmable gate array implementation
Ashaq et al. FPGA implementation of PRESENT block cypher with optimised substitution box
JPH05324277A (en) Code communication method
Cilardo Modular inversion based on digit‐level speculative addition
JP2000259077A (en) Information processing system
US20220069980A1 (en) Information processing apparatus, secure computation method, and program
JP2000298575A (en) Information processing system
Ambika et al. Data security using serial commutative RSA CORE for multiple FPGA system
FR2818765A1 (en) Modular multiplier for enciphering/deciphering data, comprises buffer memories to store Montgomery algorithm results and operands , multiplexors, multiplier, control unit, bistable circuits and adder
Lil et al. High-Speed and Low-Complexity Modular Reduction Design for CRYSTALS-Kyber
Dar RSA algorithm key generation extension
Mukaida et al. Design of high-speed and area-efficient Montgomery modular multiplier for RSA algorithm
Akherati et al. Low-complexity ciphertext multiplication for CKKS homomorphic encryption
CN112953706B (en) Information processing method and device
Zhang et al. Certifying multi‐power rsa

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606