JP2000259077A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JP2000259077A
JP2000259077A JP11062641A JP6264199A JP2000259077A JP 2000259077 A JP2000259077 A JP 2000259077A JP 11062641 A JP11062641 A JP 11062641A JP 6264199 A JP6264199 A JP 6264199A JP 2000259077 A JP2000259077 A JP 2000259077A
Authority
JP
Japan
Prior art keywords
information
information processing
encryption
modular exponentiation
unit
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
JP11062641A
Other languages
English (en)
Inventor
Kazuhiko Amano
和彦 天野
Tatsuya Shimoda
達也 下田
Tsugio Nakamura
次男 中村
Hiroshi Kasahara
宏 笠原
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 JP11062641A priority Critical patent/JP2000259077A/ja
Publication of JP2000259077A publication Critical patent/JP2000259077A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 情報処理システムの高いセキュリティシステ
ムを構築すること。 【解決手段】 各々の情報処理装置12は、複数のべき
乗剰余演算ユニットと、複数のべき乗剰余演算ユニット
をカスケード接続するための複数のカスケード端子とを
有する。複数のべき乗剰余演算ユニットの各々は、乗算
精度2mビット(mは自然数で固定)で乗算を行う乗算
ユニットと、除算精度22・ mビットで除算を行う除算ユ
ニットとを有する。複数のべき乗剰余演算ユニットによ
り実施されるべき乗剰余演算の最大演算精度を2n(n
は自然数で固定)としたとき、x≧2n/2m(xは自然
数で固定)を満たすように、複数のべき乗剰余演算ユニ
ットが最大でx個接続されて、暗号化及び復号を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、装置間、ボード
間、チップ間またはチップ内で情報伝送を行う情報処理
システムに係り、特にハードウェア構成によって任意精
度の演算を行って、伝送情報の暗号化及び復号を行う暗
号/復号装置を備えた情報処理システムに関する。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、乱数発生、ウェーブレット変換、ニューラルネット
ワーク、高速フーリエ演算、ディジタルフィルタ等の複
雑、かつ、大規模な演算を伴う場合には、開発コスト、
開発期間などの観点から特殊な用途を除き、専用のハー
ドウェアを用いることなく、汎用の演算装置を用い、ソ
フトウェアにより実現する構成を採っていた。
【0003】また、インターネットの普及と共に電子商
取引やプライバシー保護の観点から、情報セキュリティ
の技術の必要が高まり、その有効な手段としての暗号技
術が注目されている。
【0004】暗号方式は秘密鍵暗号と公開鍵暗号に大別
され、代表的な方式としては、秘密鍵暗号としてはDE
S(Data Encryption Standard)、公開鍵暗号としては
RSA(Rivest Shamir Adleman criptograph)があ
る。
【0005】原理的には、DESはデータビット列の並
び換えや置換による方式で、RSAは極めて多ビットの
剰余演算を行う方式であり、一般に秘密鍵暗号方式に比
べて公開鍵暗号方式は数百倍遅くなる。これは、公開鍵
暗号方式においては、数百ビット以上を法とする非常に
多精度の剰余演算を行うことによる。
【0006】そこで、通常、多量のデータ列の暗号化に
は高速な秘密鍵暗号方式を用い、データ量の少ない認
証、署名および鍵の配送などには公開鍵暗号方式を用い
るように暗号方式の使い分けがなされている。
【0007】また、公開鍵暗号では、暗号強度を鍵のビ
ット長を変えることにより選択できるため、通信相手の
公開したさまざまなビット数の公開鍵を用いて演算がで
きることが求められている。
【0008】乱数発生、ウェーブレット変換、ニューラ
ルネットワーク、高速フーリエ演算、ディジタルフィル
タ等を汎用の演算装置を用いてソフトウェアにより実現
する手法においては、汎用の演算装置の演算精度を超え
て演算を行う場合に、全てソフトウェア側で対応する必
要があり、プログラミングの手間及び処理時間の増大に
よりその実現が現実的ではなくなってしまう場合が生じ
ていた。
【0009】さらにDESではハードウェア技術を用い
て実現されなければならないと規定されているように、
ソフトウェアだけによる暗号/復号システムの場合、第
三者による解読を避けるのは事実上困難である。暗号ア
ルゴリズムの一部をハードウェア化すれば暗号強度はよ
り高いものとなる。
【0010】これは公開鍵式暗号方式においても同様で
あり、例えば、1チップ公開鍵暗号プロセッサが提案さ
れている(電子情報通信学会論文誌 D-I Vol.J80-D-I
No.8pp.725-735 1997-8)。
【0011】しかしながら、上記1チップ公開鍵暗号プ
ロセッサにおいては、予めハードウェアで規定された精
度内での任意精度の処理は可能であるが、規定された精
度を超える精度が要求された場合には処理はできず、新
たなハードウェアの設計を行わなければならないという
問題点が生じる。
【0012】さらに他の課題として、近年マイクロコン
ピュータの発達により、各種の分野にて機器の小型化と
高付加価値化が進んでいる一方で、マイクロコンピュー
タの設計は極めて困難となっている。マイクロプロセッ
サ(MPU)を1チップ化して構成されるマイクロコン
ピュータの高集積度化が進むにつれ、配線幅はサブミク
ロンオーダとなって高抵抗化が進み、多層構造化により
浮遊容量も増大するため、配線部には分布定数回路が形
成されて、電気信号の伝搬遅延は増大する一方である。
【0013】従って、マイクロコンピュータ内のCPU
(中央処理ユニット)が他の機能ユニットに対してデー
タ、アドレスを伝送するのに要する時間、他の機能ユニ
ットからデータが入力されるまでに要する時間を考慮し
て、CPUの命令サイクルなどを決定する必要があり、
信号伝搬遅延に起因した設計の負荷が多くなっている。
【0014】しかも、近年は軽薄短小化と付加機能の増
大化に従い、マイクロコンピュータの超LSIと、高集
積化の方向にのみ進んでおり、マイクロコンピュータの
設計はさらに困難になる一方である。
【0015】配線抵抗、容量の増大は、信号伝搬遅延だ
けでなく、信号としての矩形波に変形も生じさせる。近
年特に携帯用電子機器を中心として省電力化が進んでお
り、電圧レベルが低い矩形波の変形の度合いが大きい
と、信号としての機能を確保できなくなり、誤動作の原
因ともなる。
【0016】そこで、本発明の目的は、装置間、ボード
間、チップ間またはチップ内で伝送される情報を所望精
度で暗号化及び復号するための演算が行えるシステムを
ハードウェア的に容易に構築することが可能なセキュリ
ティの高い情報処理システムを提供することにある。
【0017】本発明のさらに他の目的は、信号伝搬遅
延、信号波形の変形を無視できる程度に低減して、その
設計を容易とすることができる情報処理システムを提供
することにある。
【0018】
【課題を解決するための手段】本発明は、入出力部と、
前記入出力部を介して入出力される情報を処理する情報
処理部とをそれぞれ有する複数の情報処理装置を、有線
または無線にて接続してなる情報処理シテスムにおい
て、各々の前記情報処理装置は暗号/復号装置を有し、
各々の前記情報処理装置は、情報出力時には前記暗号/
復号装置にて該情報を暗号化して前記入出力部より出力
し、情報入力時には前記入出力部より入力された情報を
前記暗号/復号装置にて復号し、各々の前記暗号/復号
装置は、複数のべき乗剰余演算ユニットと、前記複数の
べき乗剰余演算ユニットをカスケード接続するための複
数のカスケード端子と、を有し、前記複数のべき乗剰余
演算ユニットの各々は、乗算精度2mビット(mは自然
数で固定)で乗算を行う乗算ユニットと、除算精度2
2・mビットで除算を行う除算ユニットと、を有し、前記
複数のべき乗剰余演算ユニットにより実施されるべき乗
剰余演算の最大演算精度を2n(nは自然数で固定)と
したとき、 x≧2n/2m(xは自然数で固定) を満たすように、前記複数のべき乗剰余演算ユニットが
x個接続されて、暗号化及び復号を行うことを特徴とす
る。
【0019】本発明によれば、複数の情報処理装置間で
情報伝送を行う際に、その情報が暗号化されて伝送され
るので、セキュリティが担保される。この暗号化または
復号のための演算処理を複数のべき乗剰余演算処理ユニ
ットにて分散処理することでハードウェア処理が容易と
なり、演算量が多く、精度が要求される場合でも、容易
にシステムを構築して演算処理の高速化を図ることがで
きる。このように、べき乗剰余演算における演算精度を
容易にハードウェア的に拡張することができ、暗号化及
び復号に用いる鍵の精度に、十分な信頼性を確保するこ
とができる。
【0020】また、分散処理の結果、べき乗剰余演算ユ
ニットのゲート数を抑制することができ、装置コストを
低減することが可能となる。こうのうよ少ないゲート数
でべき乗剰余演算ユニットを構成することができるた
め、例えばパーソナルコンピュータシステム間での情報
伝送においても、暗号/復号システムを容易に構築する
ことが可能となる。
【0021】本発明の他の態様によれば、入出力部と、
前記入出力部を介して入出力される情報を処理する情報
処理部とをそれぞれ有する複数の機能ブロックがバスラ
インに接続されてなる情報処理システムにおいて、各々
の前記機能ブロックが、上述の通りの暗号/復号装置を
有する。
【0022】本発明の他の態様によれば、一つの情報処
理システム内の複数の機能ブロック間で情報処理装置間
で情報伝送を行う際に、その情報が暗号化されて伝送さ
れ、セキュリティを担保できる。この暗号化または復号
のための演算処理を上述した通りに行うことで高速化で
き、しかもゲート数を抑制してシステムコストを低減で
きる。
【0023】これら複数の機能ブロックの各々は、それ
ぞれ異なる回路基板に搭載されるもの、それぞれ異なる
半導体装置に搭載されるもの、あるいは同一の半導体装
置内に形成されるもののいずれであってもよい。基板
間、チップ間またはチップ内にて伝送される信号を暗号
化することができ、セキュリティ・システムを構築でき
る。
【0024】複数の機能ブロック間を接続するバスライ
ンは、光伝送媒体にて形成されていることが好ましい。
各機能ユニット間で光通信できるため、光の速度による
信号伝搬によって信号伝搬遅延をほとんどは無視でき
る。結果として、その信号伝搬遅延等に伴う設計上の制
約がなくなり、情報処理システムの設計を容易化でき
る。
【0025】複数の情報処理装置のまたは複数の機能ブ
ロックの各々の入出力部にて入出力される情報は、送り
元アドレス情報、送り先アドレス情報及びデータを含む
ことができる。このとき、複数の入出力部の一つが情報
を出力する際には、出力される情報の一部を暗号化し、
複数の入出力部の他の一つが情報を入力する際には、暗
号化されたその一部の情報を復号することができる。
【0026】機密性の高い一部の情報のみを暗号化する
ことで、万一盗聴されても情報としての価値のないもの
となり、それによりセキュリティ対策が実現される。
【0027】この暗号化される一部の情報は、アドレス
情報ではなく、データの一部または全部とすることがで
きる。データの一部を暗号化するときには、このデータ
中には機密情報フィールドを設けることが好ましい。暗
号/復号装置は機密情報フィールド中の機密データのみ
を暗号化または復号するだけでよく、他のデータと容易
に峻別できる。
【0028】暗号化される一部の情報は、上記データに
加えて、あるいは上記データに代えて、アドレス情報と
することもできる。アドレス情報としては、送り元アド
レス情報及び送り先アドレス情報の一方または双方であ
っても良い。
【0029】情報の内容によっては、送り元または送り
先の一方または双方を暗号化するだけで、データの一部
または全部が盗聴されても、情報として価値を有さなく
することができるからである。
【0030】暗号化または復号の算処理時にあっては、
その演算処理に必要な演算精度を2 n1ビット(n1≦n
でn1は可変)としたとき、x1≧2n1/2m(x1≦
xで可変)を満たすように、前記複数のべき乗剰余演算
ユニットがx1個カスケード接続される。このとき、例
えばクロック発生回路から、演算処理時に2n1個の基準
クロック信号を発生させる。このようにして、x個のう
ちのx1個の演算ユニットが実効的にカスケード接続さ
れる。こうすると、x1個以外の演算ユニットにて消費
される電力を節約でき、演算速度も高速化される。さら
に、複数の演算ユニット間にて光信号により信号が伝送
されるようにすれば、演算速度はより高速となる。
【0031】複数のべき乗剰余演算ユニット間は光信号
が伝送されるようにすれば、暗号/復号装置内での演算
がさらに高速化される。
【0032】各々のべき乗剰余乗算ユニットは、演算精
度2m/yで演算を行うべき演算モジュールをそれぞれy
個(yは自然数で固定)を有し、y個の演算モジュール
をカスケード接続することにより構成することができ
る。
【0033】このとき、演算処理時に必要な演算精度を
n1ビット(n1≦nでn1は可変)としたとき、y1
≧2n1/2m/y(y1は自然数で可変)を満たすように
y1個の演算モジュールがカスケード接続されればよ
い。
【0034】この最大y個の演算モジュール間を光信号
により信号が伝送されるようにすれば、各演算ユニット
内での演算が高速化される。
【0035】
【発明の実施の形態】次に図面を参照して本発明の好適
な実施の形態を説明する。
【0036】(第1の実施の形態)図1に第1の実施の
形態に係る情報処理システムを示す。情報処理システム
10は、図1に示すように複数の例えばパーソナルコン
ピュータ12を、例えばLANケーブル11などの有線
か、または無線(例えば赤外線通信)で接続することに
より構成される。
【0037】図2は、図1に示す各々のパーソナルコン
ピュータ12の構成を示している。
【0038】パーソナルコンピュータ12は、大別する
と、入出力装置13Aを介してLANケーブル11と接
続され、ハードディスクなどの外部記憶装置を内蔵した
パーソナルコンピュータ本体13と、パーソナルコンピ
ュータ本体13に対して、入出力インターフェース13
B及びバス2を介して接続された暗号/復号装置(プロ
グラマブルディジタルプロセッサ)14とを備えてい
る。パーソナルコンピュータ12はさらに、各種データ
を入力するためのキーボード15と、各種表示を行うた
めのディスプレイ16と、図示しないプリンタ等を備え
ている。
【0039】このように、例えばLANケーブル11に
て互いに接続された各々のパーソナルコンピュータ12
は、それぞれ暗号/復号装置14を有している。そし
て、一のパーソナルコンピュータ12よりLANケーブ
ル11を介して他のパーソナルコンピュータ12に情報
を出力する場合に、LANケーブル11を伝送される情
報は暗号化される。すなわち、一のパーソナルコンピュ
ータ12に設けられた暗号/復号装置14は、出力情報
を暗号化し、他のパーソナルコンピュータ12に設けら
れた暗号/復号装置14は入力情報を復号する。
【0040】ここで、各々のパーソナルコンピュータ1
2の入出力部13Aにて入出力される情報は、図3
(A)(B)に示すように、アドレス情報17とデータ
18とを含んでいる。そして、各々のパーソナルコンピ
ュータ12の暗号/復号装置14にて暗号化される情報
は、LANケーブル11を伝送される全ての情報であっ
ても良いが、その一部であってもよい。
【0041】例えば、暗号化される一部の情報は、デー
タ18の一部または全部とすることができる。こうする
と、データの機密性が高まる。データ18の一部を暗号
化する場合には、図3(B)に示すように、データ18
中に機密データフィールド18Aと通常データフィール
ド18Bとを設け、機密データフィールド18A内の機
密データのみを暗号化することが好ましい。データ18
のどの領域を暗号化するかを、フィールドによって区別
できるからである。
【0042】暗号化される一部の情報は、図3(A)に
示すアドレス情報17であっても良い。アドレス情報1
7として、送り元アドレス17A及び送り先アドレス1
7Bの双方またはいずれか一方を暗号化することができ
る。
【0043】この場合、データ18自体は盗聴される虞
はあっても、データによっては送り先または送り元の一
方または双方が分からなければ意味のないものもあるた
め、結果としてセキュリティを担保できる。このとき、
アドレス情報17と共に、図3のデータ18中の機密情
報フィールド18A内の機密データを併せて暗号化する
と良い。こうすると、暗号化される情報量が少ないにも
拘わらず、セキュリティを高いレベルで確保できる。
【0044】図4は、図2に示す暗号/復号装置14の
構成を示している。
【0045】この暗号/復号装置14は、図示しないシ
ステムROM、システムRAMを有し、暗号化及び復号
の処理手順が予め、図2に示すパーソナルコンピュータ
本体13内のメインマイクロプロセッサ1側からバス2
を介してロードされてプログラミングされる。
【0046】この暗号/復号装置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がオン、オフする構成ではない。この点について
は後述する。
【0047】この場合において、全てのべき乗剰余演算
ユニットをx個カスケード接続した場合に得られる最大
ビット精度を2n(nは自然数で固定)とした時、カス
ケード接続される最大個数xは、以下に示す条件式を満
たしている必要がある。
【0048】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ビット精度の演算を行うよう
にすれば、電力を不必要に消費することなく、消費電力
の適正化を図ることができ、さらに演算処理時間も最適
化することが可能となる。
【0049】ここで、べき乗剰余演算ユニット7−1〜
7−xの各々は、それぞれ演算精度2m/y(yは2以上
の整数)で演算を行うべきy個のべき乗剰余演算モジュ
ール9−1〜9−yが、スイッチSWを介してカスケー
ド接続可能となっている。なお、スイッチSWは、実施
例の構成を図面上で理解できるように便宜的に図示した
ものである。実際には、実効的にカスケード接続される
べき乗剰余演算モジュールの数は、上述の通り、暗号/
復号装置14内の例えばコントロールユニット5からの
基準クロック信号の数に基づいて決定され、機械的にス
イッチSWがオン、オフする構成ではない。
【0050】ここで、例えばべき乗剰余演算ユニット7
−1とべき乗剰余演算ユニット7−2とが実効的にカス
ケード接続された場合には、トータルで2y個のべき乗
剰余演算モジュールがカスケード接続されたことと等価
となる。
【0051】そして、本実施例では、一つのべき乗剰余
演算ユニットの全y個のべき乗剰余演算モジュール9−
1〜9−yのうち、2n1ビット精度の演算を行うのに十
分な個数y1≧2n1/2m/y(y1≦y)の演算モジュ
ールを実効的にカスケード接続することも可能である。
こうすれば、消費電力及び演算処理時間をより最適化す
ることが可能となる。
【0052】あるいは、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)を満たせば
よい。
【0053】次に、図1〜図4に示す装置の動作につい
て説明する。
【0054】まず、メインマイクロプロセッサ1が暗号
/復号装置14に対し、暗号化/復号に要求される演算
精度に対応する演算精度データをバス2を介して与え
る。
【0055】これにより暗号/復号装置14のコントロ
ールユニット5は、べき乗剰余演算ユニット7−1〜7
−xに対し、メインマイクロプロセッサユニット1及び
/またはRAM6からの処理手順(後述する図14で示
す暗号手順)に基づいて、要求された演算精度2n1に対
応する数のべき乗剰余演算ユニットあるいはべき乗剰余
演算モジュールを制御する。べき乗剰余演算ユニット7
−1〜7−xは、各演算データの精度情報に基づいて、
カスケード接続されるべきユニット数及びモジュール数
を判断する。このカスケード接続されるべきユニット数
及びモジュール数は、演算に必要な基準クロック信号の
数によって決定される。この基準クロック信号は、図1
に示す各パーソナルコンピュータ12または図5に示す
コントロールユニット5が有する図示しない基準クロッ
ク信号発生回路にて発生される。
【0056】これにより、演算に必要とされた数のべき
乗剰余演算ユニット及び演算モジュールは実効的にカス
ケード接続され、コントロールユニット5は、予めプロ
グラミングされた処理手順に基づいて演算をべき乗剰余
演算ユニットにて行わせることとなる。
【0057】そして得られた精度2n1の演算結果(暗
号)をバス2、コンピュータ本体13の入出力部13A
を介して、LANケーブル11側に出力するか、あるい
は復号結果をバス2を介してコンピュータ本体13内の
メインマイクロプロセッサ1に出力する。
【0058】ここで、この第1の実施の形態ではチップ
間すなわち図4のメインマイクロプロセッサユニット1
と暗号/復号装置14間のバス2上の信号を、多チャン
ネルの電気信号としても良いし、あるいは例えば波長の
異なる多チャンネルの光信号としても良い。チップ間を
光通信する技術は既に多くの提案がある。
【0059】さらに加えて、この第1の実施の形態で
は、1チップを構成する暗号/復号装置14内の一部ま
たは全部のユニット間にて、光信号を伝送することも可
能である。すなわち、図4に示す暗号/復号装置14の
内部システムバス4Aと内部データバス4Bとを光伝送
路とするのである。こうすると、コントロールユニット
5と、RAM6と、ROM8と、x個のべき乗剰余演算
ユニット7−1〜7−xとの各間で、内部システムバス
4Aと内部データバス4Bを介して光信号を伝送するこ
とができる。このとき、RAM6を構成する記憶素子と
して、電気信号以外の情報例えば強誘電メモリのように
磁化された情報を記憶するようにすれば、光信号を電気
信号に変換する必要はない。例えば強誘電メモリを用い
た場合には、光信号に基づいて磁化された情報を記憶す
ればよい。さらには、x個のべき乗剰余演算ユニット7
−1〜7−xの間も実質的にバス接続されているため、
これらのバスを光伝送路とし、べき乗剰余演算ユニット
間も光信号により伝送することが可能である。なお、1
チップ内の内部バスを光伝送路とする具体的例について
は後述する。
【0060】以上の説明においては、最大x個のべき乗
剰余演算ユニットが装着されている場合について説明し
たが、後に機能拡張する場合などに備えて、暗号/復号
装置14に外部べき乗剰余演算ユニットをカスケード接
続するための端子を設けてもよい。このように、外部べ
き乗剰余演算ユニットをカスケード接続するように構成
すれば、内部べき乗剰余演算ユニットのみをカスケード
接続して得られる演算精度以上の演算精度を確保するこ
とができる。
【0061】より詳細には、暗号/復号装置14を1チ
ップ構成とした場合であっても、図4にて破線で示すよ
うに、一または複数のプログラマブルディジタルプロセ
ッサ14’を、内部データバス及び図示しないカスケー
ド接続端子を介してカスケード接続することができる。
こうすると、プログラマブルディジタルプロセッサ1
4’内のべき乗剰余演算ユニットを、暗号/復号装置1
4内のべき乗剰余演算ユニットとカスケード接続したの
と等価となる。この意味で、暗号/復号装置14内の内
部べき乗剰余演算ユニット7−1〜7−xに対して、一
または複数のプログラマブルディジタルプロセッサ1
4’のべき乗剰余演算ユニットは、外部べき乗剰余演算
ユニットとして機能する。そして、本実施例では、この
内部べき乗剰余演算ユニットとが外部べき乗剰余演算ユ
ニット間も光信号により伝送することが可能である。
【0062】また、複数の外部べき乗剰余演算ユニット
を例えば、TFT(Thin Film Transistor)で構成した
場合には、欠損などにより不良トランジスタが発生する
ことに起因して、最大でz個の外部べき乗剰余演算ユニ
ットの全体が使用できなくなる恐れがある。
【0063】そこで、べき乗剰余演算ユニットの歩留ま
り率Aに対して、少なくともK(z≧K/A)個のべき
乗剰余演算ユニットを予め用意しておくことが好まし
い。こうすると、K個のべき乗剰余演算ユニットのうち
良品のべき乗剰余演算ユニットを最大でz個接続するこ
とできる。
【0064】また、暗号/復号装置14内にて演算精度
m1ビット(m1:自然数)で演算を行う内部べき乗剰
余演算ユニットと、プログラマブルディジタルプロセッ
サ14’内にて演算精度2m2ビット(m2:自然数)で
演算を行う外部べき乗剰余演算ユニットとをカスケード
接続して、最大演算精度2nの演算を実施するには、外
部べき乗剰余演算ユニットの接続数zを下記の式を満足
するように設定すればよい。
【0065】z≧(2n−2m1)/2m2 さらに所望のビット精度2n1(n1は自然数、かつ、n
1≦n)にて演算する場合には、z個の外部べき乗剰余
演算ユニットのうち、 z≧z1≧(2n1−2m1)/2m2(z1は自然数) を満たすように外部べき乗剰余演算ユニットをカスケー
ド接続すれば、演算に必要な外部べき乗剰余演算ユニッ
トのみを動作させることができる。この結果、消費電力
の適正化、演算処理時間の適正化を図ることができる。
【0066】なお、暗号/復号装置14を構成する場合
に、図4に示す構成ではメインマイクロプロセッサ1が
必須の構成要件となっていた。しかし、暗号/復号装置
14にメインマイクロプロセッサ1の機能を持たせ、バ
ス2を介して記憶装置あるいは外部記憶装置からプログ
ラムをロードするように構成すれば、メインマイクロプ
ロセッサ1は不要となる。
【0067】また、以上の説明においては、暗号/復号
装置14がプログラムをロードする場合についてのみ説
明したが、これに限定されるものではない。例えば予め
マスクROM、PROM、EEPROMなどの不揮発性
のメモリに処理手順のプログラムを格納しておき、これ
に基づいて固定化した処理手順に基づいて動作したり、
固定化した処理手順をハードウエアロジックで実現する
ことも可能である。
【0068】以上の説明のように、本実施の形態によれ
ば、所望精度の演算を行うための情報処理システムをハ
ードウェア的に容易に実現することが可能であるととも
に、演算精度の拡張に対してもハードウェア的に容易に
対応することが可能となる。
【0069】この実施の形態においては、暗号/復号装
置14内にコントロールユニット5及びRAM6を設け
る構成としていたが、メインマイクロプロセッサ1側に
これらの機能を行わせるように情報処理システムを構成
し、べき乗剰余演算ユニットのみを1チップ構成とし、
任意精度汎用演算プロセッサとして機能させることも可
能である。
【0070】次に、暗号/復号装置14での具体的な暗
号化処理及び復号処理について説明する。
【0071】[1] RSA方式の原理説明 まず具体的な処理内容の説明に先立ち、代表的な公開鍵
方式暗号であるRSA方式について説明する。
【0072】ネットワーク暗号の利用形態としては、送
信者が暗号鍵を用いて平文を暗号化して送信し、その暗
号文の受信者は復号鍵を用いて復号し平文に戻す処理を
行うものである。
【0073】秘密鍵暗号方式では暗号鍵と復号鍵が同一
であるのに対し、公開鍵暗号方式は同一ではなく、暗号
鍵を公開し、復号鍵を秘密に保持する方式である。次に
代表的な公開鍵暗号方式であるRSA方式の原理につい
て述べる。
【0074】平文をある適当なブロックに分け、それに
相当する数値をMとする。素数pとqを定め、復号鍵
(プライベートキー)として秘密にし、次の関係にある
nとeを公開鍵(パブリックキー)とする。
【0075】 n=pq …… (1) gcd(e,(p−1,q−1))=1 …… (2) ここで、e及び(p−1)(q−1)の最大公約数は
1、すなわち、(p−1)(q−1)と互いに素な正数
eを適当に決める。
【0076】そして、下記の(3)式に示すように、送
信者はパブリックキーを用いて、nを法とする平文Mの
e乗の剰余演算(Meをnで割った余りCを算出)を行
い、暗号文Cを送信する。
【0077】 Me≡C mod n …… (3) これにより、暗号文Cを受信した受信者は、まず、プラ
イベートキーを用いて、下記の(4)式により(p−
1)(q−1)を法とするeの逆数dを求める。
【0078】 ed≡1 mod (p−1)(q−1) …… (4) 得られたdにより、下記の(5)式から暗号文Cを平文
Mに復号する。
【0079】 Cd≡M mod n …… (5) ところで、式(4)と式(5)は、(p−1)と(q−
1)の最少公倍数lcm(p−1,q−1)を用いる
と、dを小さく定めることができ、下記の(6)式及び
(7)式に示すように、計算量の軽減がはかれる。
【0080】 gcd(e,lcm(p−1,q−1))=1 …… (6) ed≡1 mod lcm(p−1,q−1) …… (7) この場合において、パブリックキーnはプライベートキ
ーpとqの積であるため、容易に素因数分解できないよ
う、通常512ビット以上に選定される。
【0081】以上のようにRSA方式は素因数分解とい
う数学的要素と多精度剰余演算を行うことなどで、暗号
強度の高い方式であると広く認知されている。
【0082】[2] 剰余計算例 式(3)と式(5)のべき乗剰余演算結果が暗号・復号
文となるため、丸め操作や浮動少数点演算が使えず整数
演算でなければならない。べき乗剰余演算は指数をその
システムで除算可能な部分に分割して、より小さな剰余
演算の積の繰り返しで求めることができる。説明の容易
性のため、ごく小さい数値の例を示す。
【0083】パブリックキーをn=55、e=7とし、
プライベートキーをp=5、q=11とする。
【0084】平文M=3とすると、暗号文Cは、暗号化
においてはパブリックキーのnとeを用いて、式(3)
より 37≡C mod 55 から C=42 を得る。
【0085】復号ではプライベートキーのpとqよりd
を次のように選定する。
【0086】式(4)より 7d≡1 mod (5−1)(11−1) すなわち、 7d≡1 mod 40 から d=23 となる。
【0087】4223≡M mod 55 から M=3 となる。
【0088】剰余演算においては X≡r1 mod n、 Y≡r2 mod n のとき、nを法とする下記の式(8)の乗算が成立す
る。
【0089】 X・Y≡r1・r2 mod n …… (8) この関係式により指数部分を演算可能な部分に分割す
る。
【0090】例えば、 4223=425+5+5+5+3 =425・425・425・425・423 そこで、先ず、425及び423についての2種類の剰余
を求める。
【0091】425≡12 mod 55 423≡3 mod 55 式(8)から となる。
【0092】次にr1・r2からその剰余r1-2を求め
る。
【0093】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 を得ることとなる。
【0094】以上の剰余演算過程における各剰余乗算の
最大精度は法であるnの2倍以下で済む。このようにし
て、小さな数値に置き換えた剰余演算の繰り返しで、目
的とする剰余を算出することができる。
【0095】[3] 暗号化及び復号処理の一般的手法 ここで、図18を参照してRSAに基づく暗号化及び復
号処理の一般的手法について説明する。
【0096】まず、Am≡R mod nについての剰
余演算では、A、m、nの各値を入力する(ステップS
1)。
【0097】合同式 Am≡R mod n は暗号化
においては平文MがA、パブリックキーeがmとして、
パブリックキーnを法とする剰余演算によって得られた
Rが暗号文Cになる。復号では暗号文CがA、パブリッ
クキーeとプライベートキーp、qから選定されたdが
mとして、nを法とする剰余演算によって得られたRが
平文Mである。
【0098】先ず、Aのビット数K1を求め(ステップ
S2)、Aのビット数K1から剰余演算システムにおけ
るANの最大指数Nを求める(ステップS3)。
【0099】次に最大指数Nが1であるか否かを判別し
(ステップS4)、最大指数N=1であればA2で精度
オーバーになるため、 A≡r mod n を求め(ステップS5)、剰余rのビット数kを求め
(ステップS6)、ビット数kからAのブロック規模を
判断する(ステップS7)。
【0100】Aのブロック規模が精度内であれば(ステ
ップS7;No)、m個のAに対するnを法とする乗算
を行い、その結果から求める剰余Rを得る(ステップS
8)。
【0101】また、Aのブロック規模が精度外であれば
(ステップS7;Yes)、データが大きすぎてオーバ
ーフローを起こしてしまうので(ステップS9)、Aの
ブロック規模を小さくすべく、演算処理を終了する(ス
テップS10)。
【0102】一方、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)。
【0103】ステップS15の判別において、q≠0で
あるならば(ステップS15;No)、ANを求め(ス
テップS17)、ANをnで割った剰余rを求める(ス
テップS18)。
【0104】そして剰余rをr00に代入し(ステップ
S19)、q個のANに対するnを法とする乗算を行い
(ステップS20)、a≠0であるならば(ステップS
21;No)、得られた乗算結果rとr1との積をnで
割った剰余を求め(ステップS22)、求めた剰余rを
最終的に求めるべき剰余Rとし(ステップS23)、剰
余Rを剰余データとして出力する(ステップS24)。
【0105】このようにRSAに基づいた公開鍵暗号方
式の暗号化及び復号処理(剰余演算処理)は複雑であ
り、特に暗号/復号システムにおいては、前述したよう
に、nは512ビット以上と高精度であるため、除算の
分散処理が不可能であれば、第1の実施の形態のような
ハードウェア化は困難であり、上記処理をソフトウェア
で処理することとなり、そのプログラミングも簡単では
ないので、多くの演算時間を要することは容易に推察で
きる。
【0106】[4]公開鍵暗号/復号システムの構成 図5は、公開鍵を用いた図1の暗号/復号装置14を、
べき乗剰余演算装置として表したブロック図である。べ
き乗剰余演算装置としてのこの暗号/復号装置14は、
大別すると、所定の精度範囲内で任意精度の除算を行う
任意精度除算装置20と、所定の精度範囲内で任意精度
の乗算を行う任意精度乗算装置21とを備え、これらは
バス22により接続される。
【0107】この任意精度除算装置(除算ユニット)2
0と任意精度乗算装置(乗算ユニット)21とは、図4
に示す複数のべき乗剰余演算ユニット7−1〜7−xの
うちの一つのべき乗剰余演算ユニットに対応する。
【0108】任意精度除算装置22は、最大乗算精度2
mビット(m:自然数で固定)内の任意乗算精度で乗算
を行い、任意精度除算装置20(除算ユニット)は、最
大除算精度22mビット内の任意除算精度で除算を行う。
そして、x=2n/2mを満たすようにべき乗剰余演算ユ
ニット7−1〜7−xをx個接続することにより、最大
nビット精度の暗号化及び復号を行うための任意精度
べき乗剰余演算装置(暗号/復号装置14)を構成する
ことが可能となる。
【0109】[5]任意精度除算装置及び任意精度乗算
装置の構成 任意精度除算装置20は、図6に示すように、被除数デ
ータ及び除数データがそれぞれ入力される8ビット精度
の第1除算器25−1〜第H除算器25−H(H:2以
上の整数)のH個の除算器(除算モジュール)と、精度
情報データに基づいて対応する8ビット精度の除算器を
カスケード接続するための第1スイッチSW1〜第(H
−1)スイッチSW(H−1)の(H−1)個のスイッ
チと、を備えて構成されており、第1スイッチ〜第(H
−1)スイッチSW1〜SW(H−1)は、精度情報デ
ータに基づいて必要な数の除算器をカスケード接続する
こととなる。
【0110】なお、これらスイッチSW1〜SW(H−
1)も、図4の場合と同様に説明の便宜上図示したもの
である。また、各8ビット除算器の間及び各8ビット除
算器への入出力を、全て光信号で伝送するように構成す
ることもできる。
【0111】より具体的には、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
が動作することとなる。
【0112】そして、被除数データ及び除数データは、
下位8ビットから8ビット単位で第1除算器25−1か
ら第J除算器に順次与えられることとなる。
【0113】なお、任意精度乗算装置21は、任意精度
除算装置20の8ビット除算器を8ビット乗算器に変更
した構成とほぼ同様の構成であるので、その説明を省略
する。
【0114】このように、べき乗剰余演算を行う図4に
示すべき乗剰余演算ユニット7−1〜7−xが、被除数
データ、除数データ及び精度情報データの入力信号ライ
ン並びに商データ及び剰余データの出力信号ラインをカ
スケード接続するためのカスケード接続端子を有し、x
=2n/2mを満たすようにべき乗剰余演算ユニット7−
1〜7−xを最大でx個接続することにより、最大2n
ビット精度の暗号化及び復号を行うことができる。
【0115】なお、図5に示すバス22を光伝送路とす
れば、これら任意精度乗算装置21と任意精度除算装置
20との間を、光信号により伝送することができる。
【0116】[6]除算器の構成 次に任意精度除算装置20を構成している除算器の構成
について説明する。
【0117】[6.1] 除算器のアルゴリズム まず、除算器の説明に先立ち、除算器のアルゴリズムに
ついて説明する。
【0118】除算に関しては、乗算ほどではないが、い
ろいろなアルゴリズムが考案されている。また、信号処
理においては、除算は乗算ほど頻繁に用いられるわけで
はない。
【0119】しかしながら、信号の正規化、コンピュー
タ通信や情報ネットワークにおける秘匿技術としての暗
号化/復号に、音声認識における特徴抽出において、周
波数スペクトルを基本とする線形予測係数の演算(積和
が70回、除算が12回)、フォールトトレラントシス
テムにおいてなどの例に見られるように、除算を必要と
する場合、その実現は乗算ほど容易ではなく、従来にお
いては、高精度で高速に結果を得るための有効な手段が
なかった。
【0120】除算の実現方法としては、以下の4種類が
知られている。
【0121】(1)変数xと1/x の関係を示すルッ
クアップテーブル(変換表)をROM内に用意してお
き、y/xなる除算を、y(1/X) なる乗算に置き
換えて実行する「逆数ROM方式」。
【0122】(2)y/x なる除算を直接実行する代
わりに、対数ROMによりxとyから logxとlo
gyを求め、それからz=logx−logyの減算を
行い、最後に指数ROMによりexpzを求める「対数
計算方式」。
【0123】(3)被除数に対してシフトと減算を試行
錯誤的に繰り返す「減算シフト方式」。
【0124】(4)乗算を繰り返し実行しながら結果を
求めるべき商の値に収束させていく「収束形除算方
式」。
【0125】このうち、逆数ROM方式が最も高速であ
るが、高精度を要求するとルックアップテーブルを格納
すべきROMの容量が指数的に大きくなる欠点がある。
従って、信号処理においては比較的粗い精度でよい場合
に限られて使用されている。
【0126】次の対数計算方式も対数ROMの容量の制
約からくる精度上の検討を十分に行ったうえで用いる必
要があり、その意味でも以上の二つのROM方式はどの
ような場合にも用い得る汎用的な方法とは言い難い。
【0127】以上の4方式のうち、どのような精度に対
しても除算可能な方式は減算シフト方式と収束形除算方
式であるといえる。
【0128】収束形除算方式は被除数と除数を分数の分
子と分母とみなし、分母が1に近づくまで分子分母に同
一の収束係数を乗じていき、得られた最終的な分子の値
が商になる。あるいは、除数の逆数を収束アルゴリズム
によって求め、商はこの逆数と被除数の積から求めるこ
とができる。
【0129】しかし、複数チップ(モジュール)接続に
よる除算能力の拡張機能を考慮した場合、近似演算によ
る収束が行われる収束形除算方式では部分剰余の伝搬が
さらに近似されることになり、誤差が大きくなってしま
うという問題点が生じる。
【0130】この点、減算シフト方式ではそのような問
題はなく、任意精度で除算可能であり、複数チップ(モ
ジュール)接続による除算能力の拡張機能をも考慮した
場合、最も適しているといえる。
【0131】次に、除算能力の拡張機能について考察す
る。
【0132】例えば、 567890/1234 の除算を実行するには図7(A)に示すように、被除数
と除数の減算が繰り返し実行される。
【0133】ここで、除数2けたの除算器(または除算
モジュール)を用いて、除数を4けたに拡張した使用を
考えてみると、図7(B)及び図7(C)に示すよう
に、除数1234を除数12と除数34とに分割すると
ともに、被除数567890を被除数567及び被除数
890とに分割し、12と34の除数で分散処理した結
果から除算能力の拡張した解(図7(A)相当)を得る
という乗算器のような使い方(乗算においては可能)は
できない。
【0134】従って、除算は使用可能けた数の範囲内で
有効であり、1ビットでも除算能力を超えた使用に対し
ては、たとえメモリーや外部回路を用いても容易には対
処できない。
【0135】また、除算においては通常丸め操作を行う
が、暗号/復号システムにおいては、このような使用は
できない。
【0136】以上のような理由によって、従来において
は、ハードウェア化された除算器は少なく処理速度の遅
いソフトウェアで対処していた。
【0137】ところで、本除算器のアルゴリズムは被除
数に対してシフトと減算を試行錯誤的に繰り返す「減算
シフト方式」に基づいたもので、その一般的な基本式は
以下の漸化式で表される。
【0138】
【数1】
【0139】
【数2】 式(B)が求める商Qであり、最終剰余Rは2-n(n)
である。
【0140】各演算工程における商のディジットqj+1
は2RとDの大小関係で以下のように定まる。
【0141】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で仮の部分剰余の減算を取
消す。
【0142】以上の操作は、R(n)をnディジットだけ
右にシフトすることから求まることを先の漸化式は意味
している。
【0143】しかし、以上の漸化式は単にnディジット
の商に対してのものである。除算データを各モジュール
に分散した場合、各モジュールの被除数と除数はそれぞ
れ連結した状態で行われなければならない。
【0144】一般に、除数に対して被除数のけた数が多
いため、分散した除数を連結して被除数との減算を行う
ことは、除数の連結とそれに伴う減算器やラッチ回路の
連結などにより容易には実現できなかった。
【0145】これに対し、本実施例の除算器は、分散し
た除数と減算器は各モジュール内に固定し、被除数を連
結してシフトと減算を行うようにしてモジュールの分散
化を可能にしている。
【0146】この場合、筆算とは逆に除数を固定した減
算なので被除数は左シフトになる。
【0147】例えば、簡単のために1モジュールが4ビ
ット除算器について2モジュールに拡張したときの各ス
テップの動作を図8に示す。
【0148】2モジュールに分散した除数は減算器とラ
ッチ回路を伴ってそのけた借り用端子BOとBNで連結
される。被除数はQIとQO端子により連結されて初段
のRIに戻される。除数部分は各モジュールに固定で、
被除数が必要なけた数だけ左シフトと減算を繰返して演
算を終了する。
【0149】商qと部分剰余は各減算処理における減算
結果によって決まるものである。なお、演算は8ビット
の減算器の場合、7ステップで終了し、8ステップ目で
は商q0の格納だけになる。この結果、後述の被除数ラ
ッチ・シフト回路32(図9参照)に商データQが、後
述の部分剰余のシフト回路34(図9参照)には剰余デ
ータが得られることとなる。
【0150】[6.2] 除算器の概要構成 図9に第1除算器25−1を例として除算器の概要構成
ブロック図を示す。
【0151】第1除算器25−1は、入力された8ビッ
ト除数データをラッチする除数ラッチ回路31と、被除
数データをラッチし、シフト操作を行うための被除数ラ
ッチ・シフト回路32と、被除数データに対応する被除
数から除数データに対応する除数を減算する並列減算回
路33と、部分剰余データを格納し、シフト操作を行う
部分剰余シフト回路34と、除算に必要なシフトパルス
を発生する制御回路35と、を備えて構成されている。
【0152】[6.3] 除算器の動作 次に除算器の動作について図10を参照して説明する。
【0153】時刻t1において、除算開始パルス/ST
AT(/はロウアクティブを示す。以下、同様)が立ち
下がると、除算開始パルス/STATの次の立ち上がり
(時刻t2)までの間に第1除算器25−1は初期化さ
れる。
【0154】次に時刻t2以降で基準クロック信号CK
が最初に立ち下がる時刻t3において被除数データ(8
ビット)が被除数ラッチ・シフト回路32にラッチさ
れ、除数データ(8ビット)が除数ラッチ回路31にラ
ッチされる。
【0155】そして、時刻t4において、基準クロック
信号CKが次に立上ると、並列減算回路33において、
被除数と除数の減算が行われ、減算結果が正または
“0"ならば、切換スイッチ36は並列減算回路33側
となり、並列減算回路33の減算結果が負であるならば
切換スイッチ36は、部分剰余シフト回路34側とな
る。
【0156】この結果、時刻t5において、部分剰余シ
フト回路34の部分剰余データがシフトされるととも
に、並列減算回路33の減算結果である部分剰余データ
あるいは減算前に部分剰余シフト回路34に保持されて
いた減算前の部分剰余データが部分剰余シフト回路34
にラッチされる。
【0157】同様に時刻t5〜時刻t6の間に被除数が
必要な回数だけ、すなわち、全8ビットであるから残り
の7ビットに対応する7回の被除数と除数の減算処理及
び部分剰余シフト回路のシフト処理及びラッチ処理が繰
り返される。
【0158】そして時刻t6において、基準クロック信
号CKが立ち下がると、除算終了信号/DENDが
“L"レベルとなり、上位桁の減算器(ここでは、第2
減算器25−2)が同様に動作を開始することとなる。
【0159】そして、さらに上位桁の減算器25−3〜
25−Jにおいて同様の除算動作が行われて、最後の減
算器25−Jの除算終了信号/DENDが第1減算器2
5−1に出力されると減算処理を終了することとなる。
【0160】これらの結果、各減算器25−1〜25−
Jの被除数ラッチ・シフト回路32には商データ(8ビ
ット)が求められ、部分剰余シフト回路34には剰余デ
ータがそれぞれ求められることとなる。
【0161】以上の動作はすべて制御回路35が出力す
るシフトパルスSLAに同期して行われるため、多くの
減算器をカスケード接続して除算能力を拡張した際にも
伝搬遅延によるタイミング的な誤動作を生じることはな
い。
【0162】[7] 暗号化処理及び復号処理(剰余演
算処理) RSAに基づいた公開鍵暗号方式の暗号化及び復号処理
(剰余演算処理)について図11を参照して説明する。
【0163】AN≡A mod n の剰余演算では本暗号/復号システムにおいてA、N、
nの各値を入力する(ステップS31)。
【0164】次にAをA1に代入し(ステップS3
2)、演算用変数kの初期値を1とする(ステップS3
3)。
【0165】そして、演算用変数kがN未満である間、
すなわち、次式 k<N を満たしている間(ステップS39)は、以下のステッ
プS34〜ステップS38の処理を繰り返す。
【0166】まず、N=1であるか否かを判別する(ス
テップS34)。
【0167】ステップS34の判別において、N=1で
ある場合には、A1をA0に代入する(ステップS3
5)。
【0168】また、N≠1である場合には、A1及びA
の乗算を行い、乗算結果をA0に代入する(ステップS
36)そして、 A0≡A mod n を求め(ステップS37)、演算用変数kをk+1とす
る(ステップS38)。
【0169】そして、演算用変数kがN以上となった場
合に、得られた剰余Aが求める剰余となる。このとき、
乗算の最大精度はAのビット数の2倍である。
【0170】このように、第1の実施形態のべき乗剰余
演算装置を用いれば、図18の従来の処理と比較して処
理を非常に単純化することができる。
【0171】[8] べき乗剰余演算装置のゲート数 ここで、べき乗剰余演算装置を構成する際に必要とされ
るゲート数について説明する。
【0172】周知のように暗号/復号システムにおける
剰余演算では極めて高精度であることから、1モジュー
ルの乗算器の乗算精度を16ビット、1モジュールの除
算器の除算精度を32ビットとして、1ユニットにそれ
ぞれ4モジュールを内蔵(乗算16〜64ビット、除算
32〜128ビットの可変精度)した場合のゲート数を
図12に示す。
【0173】図12に示すように、1モジュールの32
ビット精度除算器を構成するためには、1700ゲート
必要であり、べき乗剰余演算装置1ユニット中の任意精
度除算装置では、 1700×4=6800[ゲート] が必要となる。
【0174】また、図12に示すように、1モジュール
の16ビット精度乗算器を構成するためには、1032
ゲート必要であり、べき乗剰余演算装置1ユニット中の
任意精度乗算装置では、 1032×4=4128[ゲート] が必要となる。
【0175】従って、べき乗剰余演算装置に必要とされ
るゲート数は、 6800+4128=10928[ゲート] であり、制御回路及び動的な接続回路を含めて一つのべ
き乗剰余演算装置を12000[ゲート]程度でワンチ
ップ化することが可能となる。
【0176】なお、512ビット精度では8ユニット、
1024ビット精度では16ユニットをそれぞれ必要と
する。
【0177】[9] 演算時間 次に上記べき乗剰余演算装置を用いて、 ab≡M mod c を演算する場合に要する演算時間ついて図13〜図17
を参照して説明する。
【0178】指数bがnビットの場合、べき乗剰余演算
に必要な演算処理は、図13に示すように、図13の
(1)〜(4)の4段階の乗算処理及び除算処理に分解
することができる。この場合において、図13の(1)
及び(3)の乗算は、図14のiビット乗算器21にて
実施され、図13の(2)及び(4)の除算は、図14
の2iビット除算器20にて実施される。図13の
(1)及び(3)の乗算処理における乗算精度は、最大
cのビット数i以下となり、その積は最大でcのビット
数iの2倍精度となる。また、図13の(2)及び
(4)の除算(剰余演算)処理における除算精度は、最
大でcのビット数iの2倍の精度となる。このiビット
乗算器21と2iビット除算器20とは、図5の任意精
度乗算装置21と任意精度除算装置20と同様の構成を
有する。
【0179】なお、図14において、入力される値は
a,b,cであり、Mが格納されるレジスタには、当初
のMは1に初期化されている。そして、M←M×a m
odcの演算(b=0)では、a,Mがiビット乗算器
21に入力され、その結果をcで割った余りをMとして
格納する。また、a←a2 mod cの演算(b=1)
では、iビット乗算器21に2つのaを入力することに
よりa2が求められる。
【0180】ここで、図13中の(1)ではr12,r
2,r33…の演算がiビット乗算器21で実施され、
図13中の(2)ではr12,r22,…をそれぞれcで
割った余りがr2,r3…(計算途中のM)として、2
iビット除算器20で求められる。図13中の(3)で
は、k1=r1×r2、k2=RO×r3、k3=R1
×r4…の乗算がiビット乗算器21で実施される。ま
た、図13中の(4)では、K1,K2,…をcで割っ
た余りがそれぞれR0,R1,…(計算途中のM)とし
て、2iビット除算器20で求められ、最終段階でkn
−2をcで割った余りRn−3が求めるべき値Mとな
る。
【0181】この計算例の実例を図15に示す。図15
は、18619≡M mod 377を復号してM=17
を求めた計算手順を示している。
【0182】図15において、(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で割った余りとして求められる。
【0183】ここで、図13のa、b、cが全て102
4ビットである場合の最大演算時間を必要な基準クロッ
ク数で表すと、図16に示すように、(1)の乗算時間
に1047552[クロック]、(2)の剰余演算時間
に2095104[クロック]、(3)の乗算時間に1
047552[クロック]、(4)の剰余演算時間に2
095104[クロック]必要であり、合計で6285
312[クロック]必要となる。
【0184】この結果、基準クロック周波数を66[M
Hz]として演算を行った場合、演算時間は、95.2
[msec]となる。
【0185】同様に、a及びbが1024ビットであ
り、指数bのビット数を512ビット及び9ビットとし
た場合の演算時間は、図17に示すように、それぞれ4
7.6[msec]、0.7[msec]となる。ただ
し、これらの演算時間は、毎回の積及び剰余を最大精度
とした時の算出結果であるため、実際には、これらの値
よりも小さな値となる。
【0186】以上の説明のように、乗算精度2mビット
(m:自然数)、除算精度22・mビットでべき乗剰余演
算を行うべき各々の乗剰余演算ユニットを構成し、 x=2n/2m (ただし、nは自然数、xは自然
数) を満たすようにべき乗剰余演算ユニットをx個接続する
ことにより、2nビット精度の暗号化及び復号を行うこ
とが可能となる。このため、容易にシステムのハードウ
ェア的な拡張を図ることが可能となっている。
【0187】なお、上記xの関係式はべき乗剰余演算ユ
ニットの最大演算精度が要求される演算精度と等しい場
合であったが、 x>2n/2m (ただし、nは自然数、xは自然
数) を満たすようにべき乗剰余演算ユニットをx個接続する
ことによっても演算能力に余裕が生まれるだけで、同様
の効果が得られる。
【0188】さらに、べき乗剰余演算ユニットで演算可
能なビット精度2nよりも低いビット精度2n1(n1は
自然数、かつ、n1≦n)が要求された場合には、接続
されているx個のべき乗剰余演算ユニットのうち、 x≧x1≧2n1/2m (ただし、x1は自然数) を満たすようにx1個のべき乗剰余演算ユニットをカス
ケード接続するように構成すれば、演算に不要なべき乗
剰余演算ユニットには電力を供給する必要がないので、
消費電力の適正化が図れるととともに、演算処理時間の
適正化が図れることとなる。
【0189】さらにべき乗剰余演算ユニットを、図4に
示すように、カスケード接続可能なy個の乗算精度2
m/y、y個の除算精度22・(m/y)でべき乗剰余演算を行う
べき乗剰余演算モジュール9−1〜9−yで構成するこ
とができる。この場合、接続されているべき乗剰余演算
モジュールのうち、2n1ビット精度の暗号化及び復号を
行うのに十分な個数y1≧2n1/2m/yのべき乗剰余演
算モジュールをカスケード接続するようにすれば、さら
なる消費電力の適正化及び演算処理時間の適正化が図れ
ることとなる。
【0190】また、除算の分散処理を実現した任意精度
除算器を128ビット精度とし、任意精度乗算器を64
ビット精度でワンチップ化しても約1万2千ゲート規模
で済み、その乗除算ユニット(チップ)を8〜16ユニ
ットカスケード接続することにより512〜1024ビ
ット精度に容易に対応可能である。同様にさらなる高精
度化も容易に実現することができる。
【0191】そして、演算は精度に比例したクロック数
(例えば、512ビット精度では512クロック)で実
行し、ボード上に完全なハードウェアで構築できるので
高速化が可能である。
【0192】また、各パーソナルコンピュータシステム
12毎に暗号/復号システムを容易に構築することがで
き、情報セキュリティの意味からも望ましい情報処理シ
ステムを実現することが可能である。
【0193】また、上記説明においては、最大でx個の
べき乗剰余演算ユニットが設けられている場合について
説明したが、例えば、べき乗剰余演算ユニットをTFT
(Thin Film Transistor)で構成した場合には、欠損な
どにより不良トランジスタが発生することにより1個の
べき乗剰余演算ユニットが使用できないだけで、べき乗
剰余演算ユニット全体が使用できなくなり、実効的な歩
留まり率が低下することとなり、製造コストの上昇を招
くこととなる。
【0194】そこで、べき乗剰余演算ユニットの歩留ま
り率Aに対して、少なくともK個(x≧K/A)のべき
乗剰余演算ユニットを予め用意し、K個のべき乗剰余演
算ユニットのうち良品べき乗剰余演算ユニットをx個接
続するように冗長構成を採用することが好ましい。こう
すると、べき乗剰余演算モジュールに不良が発生した場
合でも、冗長べき乗剰余演算モジュールに接続切換を行
うことにより、そのべき乗剰余演算ユニットは良品とし
て扱うことが可能となる。
【0195】さらにこのことは、べき乗剰余演算ユニッ
トばかりでなく、べき乗剰余演算ユニットを構成するべ
き乗剰余演算モジュールについても同じことが言える。
すなわち、べき乗剰余演算モジュールの歩留まり率A'
に対して、各べき乗剰余演算ユニット中に少なくともL
個(y≧L/A')のべき乗剰余演算モジュールを予め
用意し、L個のべき乗剰余演算モジュールのうち良品べ
き乗剰余演算モジュールをy個接続するように冗長構成
を採用する。こうすると、べき乗剰余演算モジュールに
不良が発生した場合でも、冗長べき乗剰余演算モジュー
ルに接続切換を行うことにより、そのべき乗剰余演算ユ
ニットは良品として扱うことが可能となる。
【0196】以上の説明においては、公開鍵暗号方式の
RSA暗号の場合について説明したが、楕円曲線暗号に
も同様に適用が可能である。
【0197】なお、上述した第1の実施の形態では、全
てのべき乗剰余演算装置をコンピュータ本体13の外部
に設けていたが、べき乗剰余演算装置(暗号/復号装置
14)の一部を予めコンピュータ本体13の内部に設け
ることもできる。この場合、精度拡張のためのべき乗剰
余演算ユニット用拡張スロットをコンピュータ本体13
に予め設け、メモリの拡張をメモリ拡張スロットにより
行う場合と同様に、べき乗剰余演算ユニットを拡張スロ
ットに装着することにより容易に演算精度拡張を行うこ
とができる。
【0198】また、第1の実施の形態においては、LA
Nケーブル11により互いに接続される複数のパーソナ
ルコンピュータ12に本発明を適用したが、ワークステ
ーションや、各種計測機器、家電製品などの機器への組
込型コンピュータについても同様に適用が可能である。
【0199】(第2の実施の形態)図19は、ボード間
で情報を入出力させる情報処理システムに本発明を適用
した第2の実施の形態を示している。
【0200】図19において、この情報処理システム5
0は第1,第2の基板60,70間を外部バス80にて
接続することで構成される。そして、この第2の実施の
形態では外部バス80を伝送される情報の一部または全
部が暗号化されている。
【0201】この第1,第2の基板60,70にはそれ
ぞれ半導体装置であるマイクロコンピュータ100が搭
載され、その構成が図20に示されている。なお、第
1,第2の基板60,70に搭載されるマイクロコンピ
ュータは異なる構成であっても良いが、共に図4に示す
暗号/復号装置14と同一の構成を有する点で共通す
る。
【0202】図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本のラインで兼用して伝送さ
せてもよい。
【0203】また、図20に示すバスライン146に
は、図4に示す内部バス4が接続され、上述した各構成
は、図4に示す暗号/復号装置14と同一構成を有する
プログラマブルディジタルプロセッサ148にも接続さ
れている。従って、図19に示す外部バス80に対し
て、入力ポート136、出力ポート138またはI/0
ポート140(これらが第1,第2基板の入出力部を構
成する)を介して入出力される情報の一部または全部
が、プログラマブルプロセット148にて暗号化または
復号される。
【0204】従って、第1,第2の基板60,80間の
外部バス80を伝送される情報は、第1の実施の形態と
同様にしてセキュリティが確保される。
【0205】ここで、データバス142、アドレスバス
144、内部バス4及び外部バス80を伝送される信号
を光信号とすることができる。こうすることで、マイク
ロコンピュータ100内部での信号伝送速度と、第1,
第2の基板60,70間の信号伝送速度とを格段に高速
にすることができる。すなわち、多チャンネルのデータ
例えば32ビットのデータは、それぞれ波長の異なる光
信号として、光伝送媒体にて形成されたデータバス14
2中を同時に光伝送される。アドレス信号も同様に、波
長の異なる多チャンネルの光信号として、アドレスバス
144を同時に光伝送される。なお、データバス142
及びアドレスバス144が1本の光伝送媒体にて兼用さ
れる場合には、光信号のデータ及びアドレスは時分割に
て伝送される。内部バス4及び外部バス80について
も、同様にして光信号を伝送させる。
【0206】ここで、上述の機能ユニット102〜14
0は全て、従来通り、多チャンネルの電気信号にて各種
機能を実現するために動作し、半導体素子等にて形成さ
れている。このため、各種の機能ユニット102〜14
0は、バスライン146(データバス142及び/又は
アドレスバス144)を介して入力される多チャンネル
の電気信号を多チャンネルの光信号に変換する信号入力
部と、多チャンネルの電気信号を多チャンネルの光信号
に変換してバスライン146に出力させる信号出力部と
のいずれか一方または双方を有する。
【0207】図21は、マイクロコンピュータ100が
形成された基板200の一部を概略的に示す図である。
図21には、基板200上に形成された第1の機能ユニ
ット210(機能ユニット102〜140のいずれか一
つ)より第2の機能ユニット220(機能ユニット10
2〜140の他の一つ)に向けて、バスライン146を
介して信号を送出するための構成が図示されている。
【0208】第1の機能ユニット210は、電気回路領
域212と、その電気回路領域212からの出力信号
(多チャンネルの電気信号)を伝送する配線部214
と、多チャンネルの電気信号に基づいてそれぞれ波長の
異なる多チャンネルの光信号を発光出力する信号出力部
としての発光部216とを有する。
【0209】第2の機能ユニット220は、多チャンネ
ルの光信号を多チャンネルの電気信号に変換する信号入
力部としての受光部222と、多チャンネルの電気信号
を増幅する増幅回路224と、その電気信号を伝送する
配線部226と、電気回路領域228とを有する。な
お、増幅回路224は、受光部222からの電気信号の
電圧レベルを、第2の機能ユニット220にて必要な電
圧レベルまでシフトさせるレベルシフタとして機能し、
必要に応じて設けられる。
【0210】発光部216と受光部222との間に形成
されるバスライン146は、光伝送媒体である導波路2
30として構成され、多チャンネルの光信号を同時に伝
送する。
【0211】図21に示す発光部216は多チャンネル
の電気信号を多チャンネルの光信号に変換するために、
多チャンネルの数と等しい数の発光素子を有する。同様
に、受光部222も多チャンネル分の受光素子を有す
る。
【0212】なお、第1,第2の機能ユニット210,
220間で双方向の信号伝送を行うこともできる。この
場合、第1の機能ユニット210は、図21に示す光伝
送媒体としての導波路230と光学的に接続された受光
部と、該受光部からの電気信号を増幅する増幅器とを有
する。一方、第2の機能ユニット220は、導波路23
0と光学的に接続された発光部222を有する。
【0213】図22は、図21に示す発光部216のう
ちの一部である3つの発光素子216A〜216C及び
導波路230の一例を示す断面図である。図22では、
共通の導波路230上に3チャンネル分の発光素子21
6A〜216Cが形成されている状態が図示されてい
る。
【0214】図22において、導波路230は、例え
ば、下層のSiO2層240と上層のSiO2層242と
の間にコアとなる透明電極例えばITO(インジウム・
ティン・オキサイド)層244を設けて構成される。な
お、コアとなるITO層244の全ての外表面は、Si
2層240またはSiO2層242により覆われて光漏
れが防止されている。
【0215】発光素子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などが形成される。
【0216】発光素子216Aの発光層254は、例え
ば有機EL(エレクトロルミネッセンス)にて形成され
る。この有機ELは、例えば図23に示すように、イン
クジェットノズル258よりITO層252上に吐出さ
れ、例えば約0.1μmの膜厚にて形成される。そし
て、有機ELの材料を選択することで、あるチャンネル
の発光素子216Aの発光層254から発光される光の
波長を、他の全てのチャンネルの発光素子216B,2
16C等の発光層254の発光波長と異ならせている。
【0217】発光層254として有機ELを用いると、
発光波長の選択の自由度が大きく、事実上特定の材料を
選択したり、材料を復号することで、あらゆる波長の選
択が可能である。
【0218】有機発光材料としては、発光材料中の励起
子のエネルギーが有機物質の禁止帯幅に対応するHOM
O(最高被占準位)−LUMO(最低空準位)間のエネ
ルギー差に相当するものが選択される。例えば、低分
子、高分子、特に主鎖に共役系の発達した共役高分子、
導電性分子や色素分子が選択される。
【0219】有機発光材料として、低分子有機材料を用
いる場合、例えば青色発光させるには、アントラセン、
PPCP、Zn(OXZ)2、ジスチルベンゼン(DS
B)、その誘導体(PESB)等が用いられる。また、
例えば赤色発光させるには、BPPC、ベリレン、DC
Mなどが用いられる。
【0220】また、有機発光材料として高分子有機材料
を用いる場合であって、例えば赤色発光させるために
は、PATなど、オレンジ色発光させるにはMEH−P
PVなど、青色発光させるにはPDAF、FP−PP
P、RO−PPP、PPPなど、紫色発光させるにはP
MPSなどが用いられる。
【0221】その他、有機発光材料として、PPV、R
O−PPV、CN−PPV、PdphQX、PQX、PV
K(ポリ(N−ビニルカルバゾール))、PPS、PN
PS、PBPSなどが用いられる。
【0222】特にPVKは、Eu錯体などキャリア輸送
能力の劣る色素分子などのドーパントインクの混合濃度
や吐出回数を制御することで発振波長(発光色)を変え
ることができる。例えば、PVKからなる有機発光材料
に蛍光色素をドープすると発光色を調整することができ
る。
【0223】また、PVKにローダミンBやDCMをド
ープ可能に構成する場合には、発光色を緑色から赤まで
任意に変えることができる。
【0224】また、光の波長(ピーク波長や波長帯域な
ど)は、図22のITO層252の下層に追加配置され
る光学フィルターによってある程度調整可能である。
【0225】白色光のような波長帯域の広い光が発光さ
れ、その波長を調整する場合は、上記光学フィルターと
して、通常の吸収型の光学カラーフィルターを用いるこ
とができ、これにより所望の色(波長)の光のみを通過
させて光信号とすることができる。
【0226】また、ITO層252の下層に追加配置さ
れる光学フィルタとしては、分布反射型多層膜ミラー
(DBRミラー)を用いることができる。このDBRミ
ラーは、屈折率の異なる複数の薄膜を積層したもの、特
に屈折率の異なる2種類の薄膜で構成されたペアを複数
有するものである。この薄膜を構成する成分としては、
例えば半導体材料や誘電体材料なとが挙げられ、これら
のうちでは誘電体材料が好ましい。これらは、通常の真
空成膜法あるいは液相成膜法を用いて形成することがで
きる。また、誘電体材料は、有機溶媒に可溶な有機化合
物を出発原料として用いることができ、この場合図23
のインクジェット方式によるパターン形成の適用が可能
となる。
【0227】発光素子216A〜216Cは、垂直共振
器型の面発光レーザとすることもできる。この面発光レ
ーザは、それぞれ反射率が異なる2つのミラー例えば分
布反射型多層膜(DBR)ミラー(図22の例では下層
のミラーの反射率が低い)の間に、クラッド層及び活性
層(量子井戸構造が好ましい)を交互に積層させて形成
し、上下各層のミラーと上下各層の電極(図22の例で
は下部電極はITOなどの透明電極である)との間には
それぞれコンタクト層が配置されて形成される。
【0228】なお、この種の面発光レーザの詳細は、本
願出願人の先の出願(特願平10−2012415、特
願平10−201244、特開平7−198203な
ど)に開示されているので、その詳細な説明は省略す
る。
【0229】各チャンネルの面発光レーザの発光波長
も、エピタキシャル成長される材料例えばGaAlAs
の組成を選択することで変更可能であり、図23のイン
クジェット方式によるパターン形成によって、組成の異
なる複数の面発光レーザを導波路230上に実装するこ
とができる。
【0230】発光素子216Aのさらに他の例として、
図25に示すような端面発光レーザ270を用いること
もできる。この端面発光レーザ270の端面272から
出射された光274は、ITOなどの光伝送媒体にて形
成されたウェーブガイド276内を伝搬される。各チャ
ンネルの端面発光レーザの発光波長も、その構成材料の
組成を選択することで変更可能である。
【0231】図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とを
有する。
【0232】ここで、第1,第2導電型半導体層26
4,266はPINフォトダイオードを構成する。この
PINフォトダイオードを構成する他の例として、p型
a−SiC(p型半導体)と、i型a−Si層と、n型
a−SiC層とを有するものでもよい。このとき、金属
電極268として、Al−Si−Cu層を用いることが
できる。
【0233】光学フィルター262は、例えばX1nm
以上の波長の光を通過させる第1の光学フィルターと、
X2(>X1)nm以下の波長の光を通過させる第2の
光学フィルターとの少なくとも2層を有し、X1〜X2
nmの波長の光を通過させる狭帯域光フィルターとして
機能する。なお、この光学フィルター262の構成を、
図22のITO層252の下層に追加配置される光学フ
ィルターに適用することもできる。逆に、図22のIT
O層252の下層に追加配置される光学フィルターとし
て説明した材料を、光学フィルター262に用いること
もできる。
【0234】上記の構造により、導波路230を伝搬さ
れ、光学フィルター262を通過した特定波長の光は、
第1,第2導電型半導体層264,266の間の界面に
形成される空乏層にて光−電流変換され、この電気信号
を電極263,268を介して取り出すことができる。
【0235】ところで、光学フィルター262は、その
構成材料の選択により、通過される光の波長を変更でき
る。また、第1,第2導電型半導体層264,268な
どにて構成されるフォトダイオードも、構成材料例えば
GaAlAsの組成を選択することで、検出できる光の
波長を変更できる。これにより、あるチャンネルの受光
素子222Aにて検出される光の波長を、他の全てのチ
ャンネルの受光素子222B,222Cなどでの検出波
長と異ならせている。なお、光学フィルタ262、第
1,第2導電型半導体層264,268は、図23に示
すインクジェットノズル258を用いた層形成方法によ
り形成することができる。あるいは、検出波長の異なる
受光素子222A,222B,222Cを、導波路23
0上に実装してもよい。
【0236】次に、バス上にて光信号を伝送させる場合
の動作の一例について説明する。図20に示すCPU1
02が例えばキャッシュメモリであるRAM106より
データを読み込む場合には、CPU102よりRAM1
06を選択するチップイネーブルまたはチップセレクト
信号、さらには読み出しアドレス信号などが、それぞれ
多チャンネルの電気信号として出力される。
【0237】ここで、図21に示す第1の機能回路21
0がCPU102とすると、この多チャンネルの電気信
号は図21の電気回路領域212より出力される。この
多チャンネルの電気信号は配線部214を介して発光部
216に入力される。発光部216を構成する各々の発
光素子は、図22に示す金属電極256に各チャンネル
の電気信号の一つが入力され、それに基づいて発振(発
光)制御される発光層254にて各チャンネル固有の波
長の光信号が発光される。これにより、各チャンネル毎
に発光制御された光信号が各チャンネルの発光層254
より発光され、ITO層252を介して導波路230に
入射される。導波路230では、図22に示すようにコ
アとなるITO層244を光が伝搬される。
【0238】図21の第2の機能ユニット220をRA
M106とすると、その受光部222に、導波路230
を伝搬された光信号が入射される。ここで、図24に示
すように、受光部を構成する各々の受光素子222A〜
222Cは、それぞれ異なる波長の光を通過させる光学
フィルタ262を有するので、多チャンネル分の数だけ
配置された各々の受光素子222A〜222Cには、各
チャンネルに対応する波長の光のみがそれぞれ入射され
る。さらに、各々の受光素子222A〜222Cは、各
々の光学フィルタ262を通過した波長の光を検出する
ように構成されているため、各チャンネル毎に電気信号
を出力することができる。
【0239】その後は、従来のLSIなどと同様にRA
M106が電気的に駆動され、必要なデータがRAM1
06より読み出される。RAM106より読み出された
電気信号は、図21では省略した第2の機能ユニット2
20側の発光部にて光信号に変換され、図21に示す導
波路230を介して伝搬される。この光信号は、図21
に示す第1の機能ユニット210側の受光部にて電気信
号に変換され、増幅器を介してCPU102に供給され
る。
【0240】このように、情報処理システムとしてのマ
イクロコンピュータ100内の各機能ユニット間の信号
の授受を光によって行うことにより、伝送速度のロスを
ほとんど無視することができる。従って、さらに高集積
化が進んだとしても、伝送遅延を考慮した設計が不要と
なり、回路の構築設計が大幅に簡易化される。しかも、
マイクロコンピュータ100内の各機能ユニット間の信
号の授受を光によって行うことにより、マイクロコンピ
ュータ100の発熱も低減させることができる。また、
このマイクロコンピュータ100が搭載された第1,第
2の基板60,70間の外部バス80も光信号が伝送さ
れるので、基板間の信号伝送速度のロスもほとんど無視
することができる。
【0241】なお、図20に示すマイクロコンピュータ
100と、その周辺機器との間を光通信する構成とする
こともできる。周辺機器としては、LCDやCRTなど
の表示部、プリンタなどを挙げることができる。
【0242】この場合、図20に示す入力ポート13
6、出力ポート138、I/Oポート140として、バ
スライン146に対して多チャンネルの光信号を入出力
する構成とすればよい。このとき、光信号を入出力しな
い時に通路を遮断する光シャッターを各ポートに設け、
チップセレクト信号などにより周辺機器が指定された場
合にのみ光シャッターを開放する構成としてもよい。
【0243】(第3の実施の形態)この本発明の第3の
実施の形態は、従来の例えばLSIとして1チップ内に
集積されていた複数の機能ユニットを、異なる半導体装
置に振り分けて収容することで構成される情報処理シス
テムに関する。
【0244】図26は、図20に示すマイクロコンピュ
ータ100の一部の構成を第1の半導体装置300に搭
載し、他の全部または一部を第2の半導体装置302に
搭載している。第1,第2の半導体装置300,302
を外部バスライン304にて接続したシステムLSIを
ベース基板306上に形成した状態を示している。外部
バスライン304は図21で示した導波路230の他、
例えば光ファイバーにて形成され、第1,第2の半導体
装置300,302間は光により信号の授受が行われ
る。なお、第1の半導体装置300及び第2の半導体装
置302内に複数の機能ユニットが配置される場合、各
半導体装置内での機能ユニット間は第1の実施の形態と
同様にして光により信号の授受が行われる。
【0245】ここで、図26に示す第1,第2の半導体
装置300,302は共に、暗号/復号装置としてのプ
ログラマブルディジタルプロセッサ148を搭載してい
ることで共通する。そして、例えば第2の半導体装置3
02内に、図20に示すキャッシュメモリとしてのRA
M106と、ROM104と、光伝送媒体で形成された
内部バスライン310とが搭載される。一方、図26に
示す第2の半導体装置300内には、図20に示すCP
U102、内部バスライン146の他、第2の半導体装
置302に搭載されない機能ユニット108〜140が
搭載されているものとする。
【0246】この構成により、第1,第2の半導体装置
300,302間の外部バスライン304は、その一部
または全部が暗号化された情報が伝送されるので、セキ
ュリティが担保される。
【0247】また、従来はCPU102と共に1チップ
内に納める必要があった機能ユニットの少なくとも一つ
を、外部に取り出すことができ、しかも外部に取り出し
た機能ユニット104,106とCPU102との間の
伝送遅延は無視することができる。このため、1チップ
化される第1の半導体装置300の集積度を低くでき、
歩留まりが向上する他、CPU102により直接アクセ
スされる機能ユニットとして例えばROM104,RA
M106の外付けが可能になる。従って、1チップの基
本設計思想を共通化させながら、外付け素子による機能
の追加を自由に設計することが可能となり、しかも1チ
ップと同等のセキュリティを維持できる。なお、第2の
半導体装置302に等される機能ユニットとしては、上
述のようなメモリに限定されるものではない。
【0248】(第4の実施の形態)本発明の第4の実施
の形態は、1チップの半導体装置内部のバスラインを伝
送される情報の一部または全部を暗号化するものであ
る。この場合、図20に示すマイクロコンピュータ10
0を例に挙げれば、その内部に搭載された構成要素10
0〜140の全てが、暗号/復号装置として機能するプ
ログラマブルディジタルプロセッサを有する。これによ
り、各構成要素100〜140がバスライン146を介
して情報を入出力する時には、出力情報の一部または全
部を暗号化し、入力情報の一部または全部を復号するこ
とになる。
【0249】1チップ半導体装置の内部信号のセキュリ
ティは元々高いが、今後その内部信号を解析できる機器
が開発されても、本実施の形態に係る1チップ半導体装
置のセキュリティを維持することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る情報処理シス
テムの概要構成を示す図である。
【図2】図1に示すパーソナルコンピュータの概要構成
を示す図である。
【図3】(A)(B)は、図1に示すLANケーブルを
伝送される情報の一例を示す図である。
【図4】図2中の暗号/復号装置の概要構成を示すブロ
ック図である。
【図5】図2中の暗号/復号装置をべき乗剰余演算装置
として示すブロック図である。
【図6】図5中の任意精度除算装置の概要構成を示すブ
ロック図である。
【図7】(A)〜(C)はそれぞれ、除算分散処理の困
難性を説明する説明図である。
【図8】任意精度除算器の構成と動作の説明図である。
【図9】除算器の概要構成を示すブロック図である。
【図10】除算器の動作タイミングチャートである。
【図11】RSAに基づいた公開鍵暗号方式の暗号化及
び復号処理の処理手順を示す図である。
【図12】べき乗剰余演算装置に必要なゲート数を説明
する図である。
【図13】ab≡M mod cの演算手法を説明する
説明図である。
【図14】図13の演算を実行する回路のブロック図で
ある。
【図15】図13の手法に従って、18619≡M mo
d 377を復号してM=17を求めた演算例の説明図
である。
【図16】図13にて必要な演算処理時間の計算を示す
説明図である。
【図17】演算処理時間の例を示す説明図である。
【図18】従来におけるRSAに基づいた公開鍵暗号方
式の暗号化及び復号処理の処理手順である。
【図19】本発明の第2の実施の形態に係る情報処理シ
ステムの概要の説明図である。
【図20】図19中のマイクロコンピュータの一例を示
すブロック図である。
【図21】図20に示すマイクロコンピュータの光伝送
部を含む領域の概略説明図である。
【図22】図21に示す発光部を構成する3チャンネル
分の発光素子の概略断面図である。
【図23】図22に示す発光層の製膜方法の一例を示す
概略説明図である。
【図24】図21に示す受光部を構成する3チャンネル
分の受光素子の概略断面図である。
【図25】図21に示す発光部の変形例を示す概略説明
図である。
【図26】本発明の第3の実施の形態に係る情報処理シ
ステムの概要の説明図である。
【符号の説明】
1 メインマイクロプロセッサユニット 2 バス 4 内部バス 5 コントロールユニット 6 RAM 7−1〜7−x べき乗剰余演算ユニット 8 ROM 9−1〜9−y べき乗剰余演算モジュール 10 情報処理システム 11 LANケーブル 12 パーソナルコンピュータ 13 コンピュータ本体 13A 入出力部 13B 入出力インターフェース 14 暗号/復号装置(べき乗剰余演算装置) 15 キーボード 16 ディスプレイ 17 アドレス情報 17A 送り元アドレス情報 17B 送り先アドレス情報 18 データ 18A 機密データフィールド 18B 通常データフィールド 20 任意精度除算装置(除算ユニット) 21 任意精度乗算装置(乗算ユニット) 22 バス 25−1〜25−H 8ビット除算器(除算モジュー
ル) 31 除数ラッチ回路 32 被除数ラッチ・シフト回路 33 並列減算回路 34 部分剰余・シフト回路 35 並列減算回路 50 情報処理システム 60 第1の基板 70 第2の基板 80 外部バスライン 100 マイクロコンピュータ 142 データバス 144 アドレスバス 146 バスライン 148 プログラマブルディジタルプロセッサ(暗号/
復号装置) 300 第1の半導体装置 302 第2の半導体装置 304 外部バスライン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 笠原 宏 千葉県柏市中新宿1丁目1番29号 Fターム(参考) 5B017 AA06 BA07 BB03 CA07 CA13 CA16 5B062 AA07 CC01 DD05 DD10 5J104 AA22 JA23 NA18 PA07

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 入出力部と、前記入出力部を介して入出
    力される情報を処理する情報処理部とをそれぞれ有する
    複数の情報処理装置を、有線または無線にて接続してな
    る情報処理シテスムにおいて、 各々の前記情報処理装置は暗号/復号装置を有し、各々
    の前記情報処理装置は、情報出力時には前記暗号/復号
    装置にて該情報を暗号化して前記入出力部より出力し、
    情報入力時には前記入出力部より入力された情報を前記
    暗号/復号装置にて復号し、 各々の前記暗号/復号装置は、 複数のべき乗剰余演算ユニットと、 前記複数のべき乗剰余演算ユニットをカスケード接続す
    るための複数のカスケード端子と、 を有し、 前記複数のべき乗剰余演算ユニットの各々は、 乗算精度2mビット(mは自然数で固定)で乗算を行う
    乗算ユニットと、 除算精度22・mビットで除算を行う除算ユニットと、 を有し、 前記複数のべき乗剰余演算ユニットにより実施されるべ
    き乗剰余演算の最大演算精度を2n(nは自然数で固
    定)としたとき、 x≧2n/2m(xは自然数で固定) を満たすように、前記複数のべき乗剰余演算ユニットが
    x個接続されて、暗号化及び復号を行うことを特徴とす
    る情報処理システム。
  2. 【請求項2】 入出力部と、前記入出力部を介して入出
    力される情報を処理する情報処理部とをそれぞれ有する
    複数の機能ブロックがバスラインに接続されてなる情報
    処理システムにおいて、 各々の前記機能ブロックは暗号/復号装置を有し、各々
    の前記機能ブロックは、情報出力時には前記暗号/復号
    装置にて該情報を暗号化して前記入出力部より出力し、
    情報入力時には前記入出力部より入力された情報を前記
    暗号/復号装置にて復号し、 各々の前記暗号/復号装置は、 複数のべき乗剰余演算ユニットと、 前記複数のべき乗剰余演算ユニットをカスケード接続す
    るための複数のカスケード端子と、 を有し、 前記複数のべき乗剰余演算ユニットの各々は、 乗算精度2mビット(mは自然数で固定)で乗算を行う
    乗算ユニットと、 除算精度22・mビットで除算を行う除算ユニットと、 を有し、 前記複数のべき乗剰余演算ユニットにより実施されるべ
    き乗剰余演算の最大演算精度を2n(nは自然数で固
    定)としたとき、 x≧2n/2m(xは自然数で固定) を満たすように、前記複数のべき乗剰余演算ユニットが
    x個接続されて、暗号化及び復号を行うことを特徴とす
    る情報処理システム。
  3. 【請求項3】 請求項2において、 複数の機能ブロックの各々は、それぞれ異なる回路基板
    に搭載されていることを特徴とする情報処理システム。
  4. 【請求項4】 請求項2において、 複数の機能ブロックの各々は、それぞれ異なる半導体装
    置に搭載されていることを特徴とする情報処理システ
    ム。
  5. 【請求項5】 請求項2において、 複数の機能ブロックの各々は、同一の半導体装置内に形
    成されていることを特徴とする情報処理システム。
  6. 【請求項6】 請求項2乃至5のいずれかにおいて、 前記複数の機能ブロック間を接続するバスラインは光伝
    送媒体にて形成されていることを特徴とする情報処理シ
    ステム。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 各々の前記入出力部にて入出力される情報は、送り元ア
    ドレス情報、送り先アドレス情報及びデータを含み、 前記複数の入出力部の一つが情報を出力する際には、出
    力される情報の一部を暗号化し、前記複数の入出力部の
    他の一つが前記情報を入力する際には、暗号化された前
    記一部の情報を復号することを特徴とする情報処理シス
    テム。
  8. 【請求項8】 請求項7において、 暗号化される一部の情報は、前記データの一部または全
    部であることを特徴とする情報処理システム。
  9. 【請求項9】 請求項8において、 前記データ中には機密情報フィールドが設けられ、前記
    機密情報フィールド中のデータのみが暗号化されること
    を特徴とする情報処理システム。
  10. 【請求項10】 請求項7乃至9のいずれかにおいて、 暗号化される一部の情報は、前記送り元アドレス情報を
    含むことを特徴とする情報処理システム。
  11. 【請求項11】 請求項7乃至10のいずれかにおい
    て、 暗号化される一部の情報は、前記送り先アドレス情報を
    含むことを特徴とする情報処理システム。
  12. 【請求項12】 請求項1乃至11のいずれかにおい
    て、 演算処理時に必要な演算精度を2n1ビット(n1≦nで
    n1は可変)としたとき、x1≧2n1/2m(x1≦x
    で可変)を満たすように、前記複数のべき乗剰余演算ユ
    ニットがx1個カスケード接続されることを特徴とする
    情報処理システム。
  13. 【請求項13】 請求項1乃至12のいずれかにおい
    て、 前記複数のべき乗剰余演算ユニット間は光信号により信
    号が伝送されることを特徴とする情報処理システム。
  14. 【請求項14】 請求項1乃至13のいずれかにおい
    て、 各々の前記べき乗剰余乗算ユニットは、 乗算精度2m/y(yは自然数で固定)で乗算を行うy個
    の乗算モジュールと、 y個の前記乗算モジュールをカスケード接続するための
    カスケード端子と、 を有し、 前記除算ユニットは、 除算精度22・(m/y)で除算を行うy個の除算モジュール
    と、 y個の前記除算モジュールをカスケード接続するための
    カスケード端子と、 を有することを特徴とする情報処理システム。
  15. 【請求項15】 請求項14において、 前記y個の乗算モジュール間及び前記y個の乗算モジュ
    ール間は、光信号により信号が伝送されることを特徴と
    する情報処理システム。
JP11062641A 1999-03-10 1999-03-10 情報処理システム Withdrawn JP2000259077A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11062641A JP2000259077A (ja) 1999-03-10 1999-03-10 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11062641A JP2000259077A (ja) 1999-03-10 1999-03-10 情報処理システム

Publications (1)

Publication Number Publication Date
JP2000259077A true JP2000259077A (ja) 2000-09-22

Family

ID=13206170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11062641A Withdrawn JP2000259077A (ja) 1999-03-10 1999-03-10 情報処理システム

Country Status (1)

Country Link
JP (1) JP2000259077A (ja)

Similar Documents

Publication Publication Date Title
JP4092735B2 (ja) 情報処理システム及び暗号/復号システム
US5742530A (en) Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
Sutter et al. Modular multiplication and exponentiation architectures for fast RSA cryptosystem based on digit serial computation
US6182104B1 (en) Circuit and method of modulo multiplication
US20050089161A1 (en) Data converter and method thereof
KR100508092B1 (ko) 저전력 모듈로 곱셈을 수행하는 연산장치
Hu et al. A high speed processor for elliptic curve cryptography over NIST prime field
Tang et al. VLSI implementation of bit-parallel word-serial multiplier in GF (2/sup 233/)
US20040167955A1 (en) Arithmetic device for multiple precision arithmetic for montgomery multiplication residue arithmetic
JP2000261486A (ja) パケット通信システム
US6917218B2 (en) Serial finite field multiplier
Parihar et al. Fast Montgomery modular multiplier for rivest–shamir–adleman cryptosystem
Vollala et al. Efficient modular exponential algorithms compatible with hardware implementation of public‐key cryptography
JP2000259077A (ja) 情報処理システム
Cilardo Modular inversion based on digit‐level speculative addition
US7113593B2 (en) Recursive cryptoaccelerator and recursive VHDL design of logic circuits
JP2000298575A (ja) 情報処理システム
Ambika et al. Data security using serial commutative RSA CORE for multiple FPGA system
Ibrahim Systolic processor core for finite-field multiplication and squaring in cryptographic processors of iot edge devices
Mukaida et al. Design of high-speed and area-efficient Montgomery modular multiplier for RSA algorithm
Vandemeulebroecke et al. A single chip 1024 bits RSA processor
TWI825659B (zh) 用來進行功耗擾動操作以降低密碼系統功耗分析攻擊的成功率之方法、密碼系統處理電路及電子裝置
Onions A high-speed integrated circuit with applications to RSA Cryptography
JP3742293B2 (ja) 剰余演算装置
Liu et al. Efficient Fast Additive Homomorphic Encryption Cryptoprocessor for Privacy-Preserving Federated Learning Aggregation

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