暗号化装置及び暗号化方法及び暗号化プログラム及び暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体及び復号装置及び復号方法及び復号プログラム及び復号プログラムを記録したコンピュータ読み取り可能な記録媒体及び暗号化復号システム及び暗号ロジック変更装置及び乱数生成装置及び置換装置及び量子暗号装置及び暗号装置
【課題】 この発明は、暗号処理の安全性の強化と高速化を目的とする。
【解決手段】 量子暗号化部11は、伝送路を通過する光信号を用いて量子暗号の通信を行い、共有ビット16を生成し、共通鍵暗号化部15は、安全性の高い共有ビット16を鍵として平文を高速に暗号文に暗号化し、または、暗号文を高速に平文に復号する。このように、量子暗号化部11による量子暗号処理と共通鍵暗号化部15による共通鍵暗号処理を融合させたシステム構成とすることで、全体として安全性が高く、暗号化速度が高速かつ最低暗号化速度が保証された通信を可能とする。
【解決手段】 量子暗号化部11は、伝送路を通過する光信号を用いて量子暗号の通信を行い、共有ビット16を生成し、共通鍵暗号化部15は、安全性の高い共有ビット16を鍵として平文を高速に暗号文に暗号化し、または、暗号文を高速に平文に復号する。このように、量子暗号化部11による量子暗号処理と共通鍵暗号化部15による共通鍵暗号処理を融合させたシステム構成とすることで、全体として安全性が高く、暗号化速度が高速かつ最低暗号化速度が保証された通信を可能とする。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号装置及び暗号方法に関するものである。特に、安全性の高い暗号処理と高速に暗号化する暗号処理を組み合わせた暗号化復号に関する発明に係るものである。
【0002】
【従来の技術】従来は、伝送路を通過する光信号の位相を位相変調する位相変調器を用いて量子暗号の通信を行い、この通信により生成されたビット列を用いてバーナム暗号により暗号化がなされていた。図12は、量子暗号の従来例を示した例であり、90aは暗号化装置を表し、90bは復号装置の構成図を表している。量子暗号化部11は暗号化装置90aと復号装置90bに存在し、量子暗号によって共有ビット列16を生成する。この共有ビット列16は、平文を暗号化する鍵となり、また、暗号文を復号する鍵となる。即ち、平文は量子暗号化部11aの共有ビット列16aを鍵として排他的論理和93a(XOR:EXCLUSIVE OR)をとり、暗号文を作る。この暗号文は、量子暗号化部11bの共有ビット列16bを鍵として排他的論理和93bをとり、復号され、平文が得られる。このように、バーナム暗号による量子暗号では、共有ビット列(16a、16b)を同一鍵として、平文を共有ビット列16aで1ビットずつ論理演算して暗号化し、暗号文を同一鍵である共有ビット列16bで復号する。
【0003】以上に説明した量子暗号は、非常に弱い光を用いて通信を行うことで途中の通信路に不正な盗聴者がいれば、その存在を必ず検出できるような通信技術である。即ち、量子暗号では、光の粒子1つずつに情報を載せて通信を行う。この通信技術によれば、盗聴を必ず検知することができる。量子力学の基本原理であるハイゼンベルクの不確定性原理を利用して、盗聴という行為を物理的な観測操作と考え、観測されれば必ず光の原理が変わるということから、盗聴を検知できるためである。従って、盗聴すれば、必ず、光の状態が変わるのであるから完全な秘密通信の技術であり、この通信技術を用いれば、盗聴が物理的に不可能となる。
【0004】
【発明が解決しようとする課題】しかし、量子暗号を用いて共有ビット列を鍵としてバーナム暗号で暗号化する場合、共有ビット列のビット数分のみ平文が排他的論理和により暗号文となるため、平文のビット数分共有ビット列のビット数が必要となる。しかし、量子暗号を用いた共有ビット列の生成は生成速度が著しく遅く(1kbps程度)、また生成速度自体も一定でなく、最低速度が保証されていない。従って、現在実施されている共通鍵暗号処理などに比べ、量子暗号処理のみでは、暗号化及び復号の速度が遅く、また、最低暗号処理速度が保証されず、一定速度を保った暗号処理の高速化が問題となっていた。
【0005】この発明は、暗号処理の安全性の強化と高速化を目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため、暗号化装置は、暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御する制御部とを備えることを特徴とする。
【0007】また、上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記暗号化部は、上記制御部が送信した割り込み信号を受信した場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする。
【0008】また、上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新することを許可するタイミングか否かを判断し、上記暗号化部は、所定の時間毎に上記制御部に暗号文の生成に用いる暗号鍵の更新の許可を依頼し、上記制御部から暗号鍵を更新することを許可された場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする。
【0009】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする。
【0010】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号化された平文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする。
【0011】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号鍵生成の異常を示す時間に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする。
【0012】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化された平文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする。
【0013】また、本発明の暗号化方法は、暗号鍵を生成し、暗号鍵を生成する速度よりも速い速度で暗号文を生成し、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御することを特徴とする。
【0014】また、本発明の暗号化プログラムは、暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させることを特徴とする。
【0015】また、本発明の暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体は、暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させるための暗号化プログラムを記録したことを特徴とする。
【0016】また、本発明の復号装置は、復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする。
【0017】また、上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記復号部は、上記制御部が送信した割り込み信号を受信した場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする。
【0018】また、上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新することを許可するタイミングか否かを判断し、上記復号部は、所定の時間毎に上記制御部に暗号文の復号に用いる復号鍵の更新の許可を依頼し、上記制御部から復号鍵を更新することを許可された場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする。
【0019】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする。
【0020】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと復号された暗号文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする。
【0021】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が復号鍵生成の異常を示す時間に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする。
【0022】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号された暗号文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする。
【0023】また、本発明の復号方法は、復号鍵を生成し、復号鍵を生成する速度よりも速い速度で暗号文を復号し、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御することを特徴とする。
【0024】また、本発明の復号プログラムは、復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させることを特徴とする。
【0025】また、本発明の復号プログラムを記録したコンピュータ読み取り可能な記録媒体は、復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させるための復号プログラムを記録したことを特徴とする。
【0026】また、本発明の暗号化復号システムは、暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号化部が生成する暗号文を復号するための復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御し、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする。
【0027】また、本発明の暗号ロジック変更装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、スイッチを有し、スイッチの切り替えにより暗号ロジックを変更する暗号ロジック部と、上記量子暗号化部が記憶する共有ビット情報とスイッチを対応させ、共有ビット情報に基づいてスイッチを切り替えることにより上記暗号ロジック部の暗号ロジックを変更させる制御部を備えることを特徴とする。
【0028】また、本発明の乱数生成装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し、共有ビット情報に基づいて乱数を生成し、生成した乱数を出力する乱数生成部を備えることを特徴とする。
【0029】また、本発明の置換装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数生成部と、上記乱数出力部が出力する乱数を記憶する置換テーブルを有し、入力値を置換テーブルに入力し、置換テーブルから出力値を出力する置換部を備えることを特徴とする。
【0030】また、本発明の量子暗号装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部とを備え、上記乱数出力部が出力した乱数を位相変調器に入力し、伝送路を通過する光信号の位相を位相変調し、量子暗号の通信を行うことを特徴とする。
【0031】また、本発明の暗号装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部と、上記乱数出力部が出力する乱数を所定の暗号化アルゴリズムの初期値として用いる暗号化部を備えることを特徴とする。
【0032】
【発明の実施の形態】実施の形態1.以下、実施の形態1について説明する。実施の形態1は、図1に示すとおり、暗号化装置10aと復号装置10bから構成されており、平文が暗号化装置10aに入ると暗号文に暗号化され、暗号文が復号装置10bに入ると暗号文が平文に復号される構成になっている。図1では、10aが暗号化装置、10bが復号装置となっているが、平文が暗号化される方向が逆になると、10bが暗号化装置、10aが復号装置となる。このように、図1に示す暗号化装置10aと復号装置10bは同一構成となっている。量子暗号化部(11a、11b)は、光ファイバ網31等の光通信が可能な回線を利用して、伝送路を通過する光信号の位相を位相変調する位相変調器を用いて量子暗号の通信を行い、この通信によって共有ビット(16a、16b)を生成する。ただし、量子暗号による通信が可能な手段であれば、位相変調器を用いず、周波数変調器を用いる等いずれの装置を用いてもよい。この共有ビット16aと共有ビット16bは量子暗号化部11aと量子暗号化部11bで同時に生成され、共通鍵暗号化部(15a、15b)で暗号文を生成する時または暗号文を復号する時の鍵となる。この量子暗号化部11aと量子暗号化部11bによる量子暗号通信は、暗号鍵を生成する暗号鍵生成部と復号鍵を生成する復号鍵生成部による通信の一例であり、暗号鍵生成部と復号鍵生成部で、鍵を共有することに対し安全性の高い通信を行えれば量子暗号に限らず他の通信により鍵を生成してもよい。具体的な量子暗号化部11による量子暗号手順は次の通りである。(1)量子暗号化部11a及び11bが独立に乱数を生成する。(2)(1)の乱数を量子暗号化部11a及び11bのそれぞれに有する位相変調器に入力し、伝送路を通過する光信号の位相を位相変調させる位相変調方式によって、量子暗号化部11aと11bが量子暗号通信を行い、あるビット情報を共有する。このビット情報は、光通信を行っているときのノイズ情報とエラー情報が暗号情報に加わったものである。(3)量子暗号化部11aと11bが通信しながら誤りを除去し、共有ビット16を生成する。
【0033】鍵バッファ(12a、12b)は量子暗号化部(11a、11b)で生成された共有ビット(16a、16b)を蓄積するバッファである。鍵バッファ12の内部構造の一例としては、FIFO(FIRST IN FIRST OUT)構造をもつシフトレジスタがあげられる。このような構造をとることで量子暗号化部11で生成された共有ビット16が鍵バッファ12の右端から1ビット入ると、鍵バッファ12の左端1ビットが捨てられるという動作が可能となる。制御部(13a、13b)はタイマ(22a、22b)及びカウンタ(14a、14b)を有するか、またはそれらのいずれかを有し、共通鍵暗号化部(15a、15b)の暗号鍵または復号鍵となる共通鍵(20a、20b)更新のための制御を行う。共通鍵暗号化部15aは、鍵バッファ12aから取り込んだ暗号鍵となる共通鍵20aを用いて平文を暗号文に暗号化する処理を行う。共通鍵暗号化部15bは、鍵バッファ12bから取り込んだ復号鍵となる共通鍵20bを用いて暗号文を平文に復号する処理を行う。なお、暗号文の暗号化方法は共通鍵暗号による通信に限られず、暗号鍵を生成する速度より早い速度で暗号文を生成し、または、復号鍵を生成する速度より早い速度で暗号文を復号できればいかなる方法でもよい。
【0034】このように、本実施の形態では、安全性の高い通信により生成されたビット列を鍵として暗号速度が早い通信により暗号文を生成するという、2種類の通信によるハイブリッド型の通信形態となっている。
【0035】次に、図1で示した各構成要素の動作について説明する。図2は、図1で示した各構成要素の動作を示したフローチャートである。フローチャートの各ステップについて説明する。
(1)S20量子暗号化部(11a、11b)は、量子暗号を用いた通信により共有ビット(16a、16b)を生成する。共有ビット16は、共有ビット生成領域にいつ何ビット書き込まれるかの保証はない。
(2)S21生成された共有ビットは鍵バッファ(12a、12b)に逐次記憶される。
(3)S22制御部(13a、13b)のカウンタ(14a、14b)で鍵バッファ12に記憶された共有ビット数をカウントする。カウントアップのタイミングは、量子暗号通信技術により暗号化装置10aと復号装置10bで同期がとれている。
(4)S23制御部(13a、13b)は、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に到達したかをカウンタ(14a、14b)のカウンタ値により判断する。
(5)S24制御部(13a、13b)は、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に到達したと判断した場合には、共通鍵暗号化部(15a、15b)に割り込み信号を送信する。一方、制御部(13a、13b)が、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に満たないと判断した場合には、上記ステップ22の処理に戻る。
(6)S25制御部(13a、13b)から割り込み信号を受信した共通鍵暗号化部(15a、15b)は、鍵バッファ(12a、12b)内に記憶された情報を共通鍵(20a、20b)に格納する。共通鍵20aは、共通鍵暗号化部15aによる暗号化の暗号鍵となり、共通鍵20bは、共通鍵暗号化部15bによる復号の復号鍵となる。
(7)S26ステップ23で判断された一定のビット数分、カウンタ(14a、14b)のカウンタ値をカウントダウンする。
(8)S27共通鍵(20a、20b)を鍵として共通鍵暗号処理を行う。すなわち、共通鍵暗号化部15aは、暗号鍵である共通鍵20aを用いて、平文を暗号文に暗号化し、共通鍵暗号化部15bは、電話回線32を伝送して入力された暗号文を、復号鍵である共通鍵20bを用いて、平文に復号する。
【0036】図2に示す動作では、量子暗号を用いて生成された共有ビット16を蓄積する鍵バッファ12にカウントされたビット数が予め決められた数に到達したときに、量子暗号側(制御部13)から共通鍵暗号側(共通鍵暗号化部15)に割り込み信号を送信し、共通鍵暗号側はこの割り込み信号を受信後、共通鍵20を鍵バッファ12に蓄積された情報に更新する。この時、この処理を行うためにカウンタ14を利用して鍵バッファ12に蓄積されたビット数をカウントアップしていた。しかし、制御部13がタイマ22を備えることによりタイマ22が予め決められた時間に到達したときに、量子暗号側から共通鍵暗号側に割り込み信号を送信してもよい。その場合には、ステップ23で制御部13はタイマ22が一定時間以上になったか判断する。また、ステップ26でタイマ22をリセットする。また、制御部13が、カウンタ14およびタイマ22を備えることにより、鍵バッファ12にカウントされたビット数が予め決められた数に到達したとき、または、タイマ22が予め決められた時間に到達したときのいずれかのタイミングに割り込み信号を送信するようにしてもよい。その場合には、ステップ23でカウンタ14のカウンタ値が一定以上になったか、又は、タイマ22が一定時間以上になったかを判断し、これらのいずれかを満たす場合にはステップ24の処理を行い、いずれも満たしていない場合にはステップ22の処理に戻ることになる。
【0037】このように、平文を暗号文に暗号化し、暗号文を平文に復号することは高速な共通鍵暗号を用い、その鍵を生成する手段として、安全性は高いが速度に限界のある量子暗号を用いることで、全体として安全性が高く、暗号化速度が高速かつ最低暗号化速度が保証された通信が可能になるという効果を奏する。この効果は、量子暗号の速度が向上すればするほど顕著になり、よりシステムの安全性も向上する。実施の形態1では、量子暗号と共通鍵暗号をハイブリッド型のシステムとする一例をあげたが、これに限ることはなく、安全性の高い暗号化処理により生成されるビットを鍵として、その鍵を利用して高速で、しかも暗号速度が一定に保たれる通信により暗号処理を行えば、安全性が高く、しかも高速な通信が実現する。即ち、暗号化に際し、安全性の高い通信システムと暗号速度の速い通信システムとを融合(ハイブリッド方式)させることにより盗聴されにくく、安全性の高い、しかも高速な通信が可能となるという顕著な効果が得られる。なお、ここでいう盗聴とは、データ通信での内容を盗み見ることをいう。
【0038】実施の形態2.次に、実施の形態2について説明する。図3は、実施の形態2を示した全体の構成図である。実施の形態1を示した図1と比べ、図3では制御部13から割り込み信号を出すのではなく、共通鍵暗号化部15から定期的に制御部13に対して、鍵バッファ12に一定のビット数が共有できたかを問い合わせ、共有できていれば、共通鍵暗号に用いる共通鍵20を更新する形態をとっている。
【0039】図4は、図3に示した各構成の動作を表したフローチャートである。以下に各ステップについて説明する。
(1)S40量子暗号化部11が量子暗号の通信を行った結果、共有ビット16が生成される。上述の通り、共有ビット生成領域に共有ビット16がいつ何ビット書き込まれるかの保証はない。
(2)S41生成された共有ビット16を鍵バッファ12に逐次記憶する。
(3)S42制御部(13a、13b)のカウンタ(14a、14b)で鍵バッファ12に記憶された共有ビット数をカウントする。カウントアップのタイミングは、量子暗号通信技術により暗号化装置と復号装置で同期がとれている。
(4)S43共通鍵暗号化部15は、所定のタイミング毎に制御部13が鍵の更新を許可するか否かを問い合わせ、制御部13は、カウンタ14のカウンタ値が一定値以上になったか判断し、一定値以上になった場合には、共通鍵暗号化部15の問い合わせに対し、鍵の更新を許可し、ステップ44に進む。カウンタ値が一定以上になっていない場合には、鍵の更新を許可せず、ステップ42に戻る。
(5)S44共通鍵暗号化部15が鍵バッファ12内の共有ビット列を用いて共通鍵20を更新する。
(6)S45ステップ43で判断された一定値分、カウンタ14のカウンタ値をカウントダウンする。
(7)S46更新された共通鍵20を鍵として共通鍵暗号処理を行う。すなわち、共通鍵暗号化部15aは、暗号鍵である共通鍵20aを用いて、平文を暗号文に暗号化し、共通鍵暗号化部15bは、電話回線32を伝送して入力された暗号文を、復号鍵である共通鍵20bを用いて、平文に復号する。
【0040】図4では、カウンタ14により共通鍵を更新するタイミングを決定していたが、実施の形態1の場合と同様に、タイマ22により制御することも可能である。その場合には、S43でタイマが一定時間以上になったか判断する処理を行う。また、タイマ22とカウンタ14とを併用して判断してもよい。
【0041】このように、実施の形態2では、安全性の高い量子暗号による通信と暗号速度の速い共通鍵暗号通信との融合(ハイブリッド方式)により盗聴されにくく、安全性の高い、しかも高速な通信が可能となる。また、共通鍵暗号化部15が定期的に量子暗号側(制御部13)に一定のビット数が共有できたかどうかを問い合わせ、共有できていれば共通鍵20を更新するので、制御部13による割り込み信号処理を不要とすることができる。
【0042】実施の形態3.実施の形態3について説明する。実施の形態3では、予め決められた時間内(T1)に鍵の更新ができなかったとき、つまり、鍵バッファ12に一定のビット数が共有できなかった場合に、共通鍵暗号側で通信の速度を低下させ、又は、一時暗号化処理を止めて、鍵バッファ12に共有ビット16が、一定ビット数蓄積されるまであふれた平文または暗号文をバッファ18に蓄積する処理を行う。また、実施の形態3では、予め決められた時間内(T2)に鍵の更新ができなかったとき、つまり、鍵バッファ12に一定のビット数が共有できなかった場合に、量子暗号側がそれまでに共有していたビットを破棄する処理を行う。T1は正常な暗号化処理速度内の時間ではあるが、安全性を一定に保つために定められた一定時間である。T2は異常な暗号化処理速度を示す時間である。したがって、T1<T2となる。T2で定められた時間内に鍵の更新ができなかった場合にはシステムトラブルか、或いは、量子暗号側で盗聴が行われた可能性が高い。したがって、この場合、量子暗号側はそれまでに共有していたビット(鍵バッファ12に記憶された情報)を破棄する。
【0043】図5及び図6は、実施の形態3を表したシステムの全体構成図である。図5は、図1の共通鍵暗号化部15に通信速度タイマ25と通信速度カウンタ26とバッファ18を新たに設けている。また、多重暗号化のループ処理を行うための動作線が加わっている。これは、共通鍵暗号化部15で通信の速度を低下させる方法の一例として、共通鍵暗号化部15から出力した暗号文をループさせ、多重暗号化させる動作である。その他の構成は図1と同様である。図6も同様に、図3の共通鍵暗号化部15に通信速度タイマ25と通信速度カウンタ26とバッファ18が設けられ、また、多重暗号化のループ処理を行うための動作線が加わっている。その他の構成は図3と同様である。
【0044】図7は、図5で示された構成の動作を表したフローチャートである。
(1)S60量子暗号化部11で共有ビット16を生成する。
(2)S61通信速度タイマ25をセットする。通信速度タイマ25は、暗号処理の安全性を保つための限界時間(T1)と暗号化速度の異常を示す異常時間(T2)を計るためのものである。
(3)S62生成された共有ビット16を鍵バッファ12に記憶する。
(4)S63制御部13のカウンタ14で鍵バッファ12に記憶された共有ビット数をカウントする。
(5)S64制御部13のカウンタのカウンタ値が一定値以上(共通鍵20を更新すべきビット数以上)になったか判断する。
(6)S65YESの場合は、制御部13が共通鍵暗号化部15に割り込み信号を送信する。NOの場合は、後述するステップ68の処理を行う。
(7)S66割り込み信号を受信した共通鍵暗号化部15は、鍵バッファ12内の共有ビット列を共通鍵20として更新する。
(8)S67共通鍵暗号化部15は、更新された共通鍵20を鍵として共通鍵暗号処理を行う。
(9)S68ステップ64で、カウンタ値が一定値未満である場合には、次の動作を行う。制御部13は、通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)以上であるかどうかを判断する。
(10)S69通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)以上であれば、共通鍵暗号化部15の暗号化処理速度を低下させ、共通鍵20が更新されるまで暗号化の対象となる平文をバッファ18に蓄積する。一方、通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)未満であれば、ステップ63の処理に戻る。
(11)S70制御部13は、通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)以上であるかを判断する。
(12)S71通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)以上であれば、鍵バッファ12に記憶されたビットを破棄し、カウンタ14を共通鍵20を更新するビット数分カウントダウンさせ、ステップ62の処理に戻る。通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)未満の場合にはステップ63の処理に戻る。
【0045】図6に示された構成に基づく動作は、図7のステップ65の割り込み信号がなく、共通鍵暗号化部15が、一定のタイミング毎に制御部13が鍵の更新を許可するか否かを問い合わせ、制御部13は、カウンタ14のカウンタ値が一定値以上になったか判断し、一定値以上になった場合には、共通鍵暗号化部15の問い合わせに対し、鍵の更新を許可し、ステップ66で共通鍵20更新する。カウンタ値が一定以上になっていない場合には、制御部13が鍵の更新を許可しないため、ステップ68に進む。
【0046】ステップ69で暗号化処理速度を低下させる方法としては、例えば、物理的方法としてクロックを低下させる又は止める方法が考えられる。また、冗長な命令を実行させることで暗号化処理速度を低下させることも考えられる。更に、共通鍵暗号化部15で多重暗号化処理を行うことで、暗号化処理速度を低下させる方法もある。これは、図5及び図6の共通鍵暗号化部15の多重暗号化として示されているように、例えば、平文を共通鍵暗号化部15で処理した後、暗号化された文を再び共通鍵暗号化部15で暗号化するという処理をループとして何度も行う処理である。
【0047】上記のような処理を行うことで、T1に定められた時間内に鍵の更新ができなかったときには暗号化処理の速度を低下させ、共通鍵20が更新されるまで、平文をバッファ18に蓄積させることで、システムの暗号強度がある一定以下に低下しないという効果を奏する。また、共通鍵暗号化部15による多重暗号化処理では複数回暗号化処理を行うことで、暗号強度を増加させる効果も得られる。また、T2に定められた時間内に鍵の更新ができなかったときには、システムトラブルか、或いは、量子暗号側で盗聴が行われた可能性があるため、量子暗号側はそれまでに共有していたビットを破棄することにより、システムの強度及び暗号の強度を増加させ、暗号化処理の安全性を高めることができる。
【0048】以上の通信速度タイマ25を用いて行った処理は、暗号化された平文又は暗号文のビット数をカウントした通信速度カウンタ26を用いても行うことが可能である。この場合、まず、暗号化装置10aの制御部13aでは、次のような動作を行う。制御部13aは、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵(共通鍵20a)を更新するビット数に到達する前に通信速度カウンタ26aがカウントするビット数が暗号の安全性を保つための限界ビット数に到達した場合には、共通鍵暗号化部15aが暗号文を生成する速度を低下させ、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファ18aに蓄積させる。また、制御部13aは、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵(共通鍵20a)を更新するビット数に到達する前に通信速度カウンタ26aがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、鍵バッファ12aに蓄積された共有ビット列を破棄させる。復号装置10bの制御部13bでも、同様に次のような動作を行う。制御部13bは、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵(共通鍵20b)を更新するビット数に到達する前に通信速度カウンタ26bがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、共通鍵暗号化部15bが暗号文を復号する速度を低下させ、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファ18bに蓄積させる。また、制御部13bは、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵(共通鍵20b)を更新するビット数に到達する前に通信速度カウンタ26bがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、鍵バッファ12bに蓄積された共有ビット列を破棄させる。
【0049】実施の形態4.次に、実施の形態4について説明する。実施の形態4では暗号アルゴリズムを示した暗号ロジックそのものを変化させるスイッチとして量子暗号化部11で生成されたビット情報を用いる。図8は、実施の形態4の動作を表している。量子暗号化部11は、通信情報41と一次鍵情報42と共有ビット16を記憶している。ここで、前述した量子暗号手順をより具体的に述べる。
(1)量子暗号化部11a及び11bが独立に乱数を生成する。
(2)(1)の乱数を量子暗号化部11a及び11bのそれぞれに有する位相変調器に入力し、伝送路を通過する光信号の位相を位相変調させる位相変調方式によって、量子暗号化部11aと11bが量子暗号の通信を行い、あるビット情報を共有する。
(3)量子暗号化部11a及び11bが(1)の情報の一部を交換し、必要なビットだけを取り出し、他の情報は除去する。
(4)量子暗号化部11aと11bが通信しながら誤りを除去し(エラー訂正)共有ビット16を生成する。上記(2)の段階で得られる情報が図8に示す通信情報41である。また、上記(3)の段階で得られる情報が図8R>8に示す一次鍵情報42である。
【0050】図8では、量子暗号化部11で生成された共有ビット16を用いて、パーソナルコンピュータ35に記憶した36の暗号ロジック1と37の暗号ロジック2と38の暗号ロジック3のスイッチングを行う。例えば、共有ビット16が1の場合、制御部13は暗号ロジック部61に、36の暗号ロジック1に切り替える命令を出し、暗号ロジック部61は命令を受け取るとスイッチを36の暗号ロジック1に切り替える。同様に、制御部13の命令にしたがって、暗号ロジック部61は、共有ビット16が2の場合には37の暗号ロジック2に切り替え、共有ビット16が3の場合には38の暗号ロジック3に切り替えるという動作を行う。この場合、たとえば、36の暗号ロジック1をCBCモード(CIPHER BLOCK CHAINING MODE)モード、37の暗号ロジック2をOFBモード(OUTPUT FEEDBACK MODE)、38の暗号ロジック3をCFBモード(CIPHER FEEDBACK MODE)とすると、量子暗号化部11で生成された共有ビット16によって暗号アルゴリズムを変更する(暗号ロジックそのものを変化する)ことができる。以上、共有ビット16を用いたスイッチングを示したが、量子暗号化部11に記憶された通信情報41や一次鍵情報42を用いてスイッチングを行ってもよい。したがって、伝送路を通過する光信号を用いた量子暗号の通信により生成される共有ビット情報の概念は、実施の形態4では、共有ビット16のみならず、通信情報41や一次鍵情報42の他、量子暗号通信により生成されたすべてのビット情報を含む。よって、量子暗号により生成されるこれらのビット情報を用いてスイッチングを行ってもよい。
【0051】量子暗号化部11で生成された共有ビット16は、乱数として精度が高くピュアな状態であるため、規則性のない非線形的なスイッチング動作が可能となるという効果が得られる。また、予測不可能なノイズ情報が含まれる一次鍵情報42や量子暗号の系で得られたノイズを含む通信情報41を用いても、規則性のない非線形的なスイッチング動作が可能となる。
【0052】実施の形態5.次に、実施の形態5について説明する。実施の形態5は、量子暗号化部11で生成された共有ビット16を乱数の生成又は置換テーブルの生成に用いる場合である。図9は、この実施の形態の構成及び動作を示した図である。前述したとおり、量子暗号化部11で生成された共有ビット16は、乱数としての精度が高いため、乱数生成器39の乱数の種(乱数を生成するために乱数生成器に入力される数値)として用いることができる。
【0053】このように、共有ビット16を乱数生成器39の乱数の種として用いることで、乱数生成器から出力される乱数は、より乱数としてのレベルの高いものとなる。
【0054】さらに、図9では、乱数生成器39から出力された乱数を置換テーブル40に記憶し、置換テーブル40を用いて置換処理を行っている。例えば、Q1という入力データを置換テーブルに入力するとA5という出力結果が得られ、Q2という入力データを置換テーブルに入力するとA3という出力結果が得られ、また、Q3というデータを入力するとA2という結果が得られ、A4というデータを入力するとA1という結果が得られ、Q5というデータを入力するとA4という結果が得られる。実施の形態4と同様に、実施の形態5で用いられる共有ビット情報には、共有ビット16の他、通信情報41や一次鍵情報42や、量子暗号の通信により生成されたすべてのビット情報が含まれる。また、置換テーブル40には、上記共有ビット情報を乱数の種として乱数生成器39で生成された乱数を記憶する場合のほか、上記共有ビット情報そのものを記憶してもよい。
【0055】このように、乱数として精度の高い通信情報41や一次鍵情報42や共有ビット16を用いて置換テーブル40を生成することで、置換テーブル40を用いて規則性のない非線形的な置換が可能となる。
【0056】実施の形態6.次に、実施の形態6について説明する。量子暗号化部11で生成され共有ビット16は、逐次暗号(ストリーム暗号)またはブロック暗号のIV(INITIAL VALUE:初期値)として用いることができる。ここで、最初の暗号文生成と最初の復号文生成の際に用いられるIVは、暗号化側と復号側で同一の値を用いる。
【0057】図10は、CBCモードによる暗号化処理を表したものであり、50はCBCモードによる暗号化部、70はCBCモードによる復号部を表している。図1010に示すCBCモードでの暗号方法は、64ビットの平文ブロックデータMiをブロック単位で入力し、暗号鍵Kを用いてモジュール51により暗号化し、更に、この暗号化された暗号文ブロックデータCiと次の平文ブロックデータMi+1との排他的論理和を演算し、排他的論理和の演算結果を次の暗号化の入力として暗号鍵Kを用いた暗号化モジュール51に供給することにより暗号化する方法である。そして、この処理を繰り返して次々と連鎖させることにより、平文M全体を暗号文Cに暗号化する。50の暗号化部により暗号化された暗号文Ciは、70の復号部により復号される。暗号文ブロックデータCiが暗号鍵Kを用いた復号モジュール71に入力され、IVとの排他的論理和が計算され、平文ブロックデータMiが復号文に復号される。なお、レジスタ111は、セレクタ73の内部に設けられていてもよい。平文ブロックデータをMi(i=1,2,・・・,n)、暗号文ブロックデータCi(i=1,2,・・・,n)とし、暗号鍵Kを用いた暗号化処理をEk、暗号鍵Kを用いた復号処理をDkとすると、CBCモードは次式で表される。
C1=Ek(M1 XOR IV)
Ci=Ek(Mi XOR Ci-1)(i=2,3,・・・,n)
M1=Dk(C1) XOR IVMi=Dk(Ci) XOR Ci-1(i=2,3,・・・,n)
ここで、XORは排他的論理和演算である。また、IVには量子暗号により生成された共有ビット16を初期値として入力する。
【0058】図10では、CBCモードのIVに共有ビット16を用いる例を示したが、CBCモード暗号化に限らず、OFBモードやCFBモード等のブロック暗号のIVに共有ビットを用いることができる。また、量子暗号化部11で生成された共有ビット16は逐次暗号(ストリーム暗号)の初期値等、所定の暗号化アルゴリズムのIV(初期値)として用いることができる。また、実施の形態4、5の場合と同様、実施の形態6では、共有ビット情報は、共有ビット16、通信情報41、一次鍵情報42の他、量子暗号通信により生成されるすべてのビット情報を含む概念である。よって、量子暗号化部11に記憶された通信情報41と一次鍵情報42をブロック暗号または逐次暗号処理を行うためのIV(初期値)にしてもよい。また、量子暗号により生成される他のビット情報をIVにしてもよい。また、共有ビット情報を乱数の種として乱数生成器39で生成された乱数をIVにしてもよい。なお、ブロック暗号とは、1以上の適当な長さの文字列(ブロック)毎に同じ鍵で他の文字列(ブロック)に変換するものをいう。また、ストリーム暗号は1文字又は1ビット毎に異なる鍵で他の文字やビットに変換するものをいう。
【0059】以上のように、CBCモードによる暗号処理のために、IVに量子暗号で生成された乱数としての精度の高い通信情報41や一次鍵情報42や共有ビット16等の共有ビット情報を入力することで精度が高く、安全な暗号化処理を行うことができる。
【0060】実施の形態7.次に、実施の形態7について説明する。図11では、共有ビット16を乱数生成器39に入力し、それを基に乱数列43を生成し、乱数列43を再び量子暗号化部11の位相変調器に入力し、位相変調を行って量子暗号の通信を行う動作を示している。図11では、一次鍵情報42を乱数生成器39に入力し、乱数列43を出力してもよい。また、一次鍵情報42のビット列をハッシュ関数で処理したものを乱数の種として乱数生成器39に入力し、乱数列43を出力してもよい。また、通信情報41や通信情報41をハッシュ関数で処理したものを乱数の種として乱数生成器39に入力し、乱数列43を出力してもよい。また、共有ビット16や一次鍵情報42や通信情報41そのものを乱数列43としてもよい。このように、共有ビット情報は、量子暗号通信により生成された共有ビット16の他、乱数の種となりうるすべてのビット情報を含む概念である。
【0061】このように、量子暗号化部11により生成された共有ビット16を乱数生成器39に入力することにより、精度の高い乱数が生成される。従って、この精度の高い乱数列43を再び量子暗号の通信を行うために位相変調器に入力する乱数として用いることにより、量子暗号化部11は、更に偏りのない精度の高い乱数として共有ビット16を生成することができる。一次鍵情報42には予測不可能がノイズの情報も含まれているので、乱数の種としては好都合であり、また、通信情報41も量子暗号の系で得られたノイズを含む情報であるため、乱数の種としては好都合である。したがって、これらの情報を乱数の種にすることでも、精度の高い乱数を生成することができる。
【0062】以上に記載した「蓄積する」、「記憶する」という用語は、記録媒体に保存することを意味する。また、すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示された動作の関連を考慮しながら、一連の動作として置き換えることができる。そして、このこのように置き換えることにより、方法の発明の実施形態とすることができる。また、上記各構成要素の動作を、各構成要素の処理と置き換えることにより、プログラムの実施の形態およびプログラムを記録したコンピュータ読取り可能な記録媒体の実施の形態とすることができる。そしてこれらの実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。このプログラムの実施の形態およびプログラムを記録したコンピュータ読取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置(CPU)に読み込まれ、中央処理装置によって、各フローチャートが実行されることになる。なお、記録装置、中央処理装置は図示していない。また、各実施の形態のソフトウエアやプログラムは、ROM(READ ONLY MEMORY)に記憶されたファームウエアで実現されていても構わない。あるいは、ソフトウエアとファームウエアとハードウエアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【0063】
【発明の効果】本発明によれば、安全で高速な暗号処理が可能となる。
【0064】また、暗号化の暗号の強度及びシステムの強度を高めることができる。
【0065】また、暗号化プログラムにより、安全で高速な暗号処理をコンピュータ上で実行することができる。
【0066】本発明によれば、安全で高速な復号処理が可能となる。
【0067】また、復号の暗号の強度及びシステムの強度を高めることができる。
【0068】また、復号プログラムにより、安全で高速な復号処理をコンピュータ上で実行することができる。
【0069】本発明によれば、安全で高速な暗号化復号システムを構築できる。
【0070】本発明によれば、非線形的なロジック変換が可能となる。
【0071】本発明によれば、精度の高い乱数を生成できる。
【0072】本発明によれば、精度の高い乱数を乱数の種として処理を行うことができる。
【図面の簡単な説明】
【図1】 量子暗号化部と共通鍵暗号化部を融合させた暗号化システムの構成図である。
【図2】 暗号化システムの動作を表したフローチャートである。
【図3】 量子暗号化部と共通鍵暗号化部を融合させた暗号化システム構成図の他の例である。
【図4】 図3で示した暗号化システムの動作を表したフローチャートである。
【図5】 安全性確保のための限界時間内に鍵の更新ができなかった場合の処理を表す図である。
【図6】 安全性確保のための限界時間内に鍵の更新ができなかった場合の処理を表す図である。
【図7】 図5及び図6で示した処理の動作を表したフローチャートである。
【図8】 暗号ロジック変更処理を表す図である。
【図9】 乱数生成および置換処理を表す図である。
【図10】 CBCモード暗号化処理を表した図である。
【図11】 量子暗号情報を量子暗号処理のための乱数として用いる図である。
【図12】 量子暗号処理の従来例である。
【符号の説明】
10a 暗号化装置、10b 復号装置、11 量子暗号化部、12 鍵バッファ、13 制御部、14 カウンタ、15 共通鍵暗号化部、16 共有ビット、18 バッファ、20 共通鍵、22 タイマ、25 通信速度タイマ、26 通信速度カウンタ、31 光ファイバ網、32 電話回線、35 パーソナルコンピュータ、39 乱数生成器、40 置換テーブル、41 通信情報、42 一次鍵情報、43 乱数列、61 暗号ロジック部、90a 暗号化装置、90b 復号装置。
【0001】
【発明の属する技術分野】本発明は、暗号装置及び暗号方法に関するものである。特に、安全性の高い暗号処理と高速に暗号化する暗号処理を組み合わせた暗号化復号に関する発明に係るものである。
【0002】
【従来の技術】従来は、伝送路を通過する光信号の位相を位相変調する位相変調器を用いて量子暗号の通信を行い、この通信により生成されたビット列を用いてバーナム暗号により暗号化がなされていた。図12は、量子暗号の従来例を示した例であり、90aは暗号化装置を表し、90bは復号装置の構成図を表している。量子暗号化部11は暗号化装置90aと復号装置90bに存在し、量子暗号によって共有ビット列16を生成する。この共有ビット列16は、平文を暗号化する鍵となり、また、暗号文を復号する鍵となる。即ち、平文は量子暗号化部11aの共有ビット列16aを鍵として排他的論理和93a(XOR:EXCLUSIVE OR)をとり、暗号文を作る。この暗号文は、量子暗号化部11bの共有ビット列16bを鍵として排他的論理和93bをとり、復号され、平文が得られる。このように、バーナム暗号による量子暗号では、共有ビット列(16a、16b)を同一鍵として、平文を共有ビット列16aで1ビットずつ論理演算して暗号化し、暗号文を同一鍵である共有ビット列16bで復号する。
【0003】以上に説明した量子暗号は、非常に弱い光を用いて通信を行うことで途中の通信路に不正な盗聴者がいれば、その存在を必ず検出できるような通信技術である。即ち、量子暗号では、光の粒子1つずつに情報を載せて通信を行う。この通信技術によれば、盗聴を必ず検知することができる。量子力学の基本原理であるハイゼンベルクの不確定性原理を利用して、盗聴という行為を物理的な観測操作と考え、観測されれば必ず光の原理が変わるということから、盗聴を検知できるためである。従って、盗聴すれば、必ず、光の状態が変わるのであるから完全な秘密通信の技術であり、この通信技術を用いれば、盗聴が物理的に不可能となる。
【0004】
【発明が解決しようとする課題】しかし、量子暗号を用いて共有ビット列を鍵としてバーナム暗号で暗号化する場合、共有ビット列のビット数分のみ平文が排他的論理和により暗号文となるため、平文のビット数分共有ビット列のビット数が必要となる。しかし、量子暗号を用いた共有ビット列の生成は生成速度が著しく遅く(1kbps程度)、また生成速度自体も一定でなく、最低速度が保証されていない。従って、現在実施されている共通鍵暗号処理などに比べ、量子暗号処理のみでは、暗号化及び復号の速度が遅く、また、最低暗号処理速度が保証されず、一定速度を保った暗号処理の高速化が問題となっていた。
【0005】この発明は、暗号処理の安全性の強化と高速化を目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため、暗号化装置は、暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御する制御部とを備えることを特徴とする。
【0007】また、上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記暗号化部は、上記制御部が送信した割り込み信号を受信した場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする。
【0008】また、上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新することを許可するタイミングか否かを判断し、上記暗号化部は、所定の時間毎に上記制御部に暗号文の生成に用いる暗号鍵の更新の許可を依頼し、上記制御部から暗号鍵を更新することを許可された場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする。
【0009】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする。
【0010】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号化された平文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする。
【0011】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号鍵生成の異常を示す時間に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする。
【0012】また、上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化された平文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする。
【0013】また、本発明の暗号化方法は、暗号鍵を生成し、暗号鍵を生成する速度よりも速い速度で暗号文を生成し、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御することを特徴とする。
【0014】また、本発明の暗号化プログラムは、暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させることを特徴とする。
【0015】また、本発明の暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体は、暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させるための暗号化プログラムを記録したことを特徴とする。
【0016】また、本発明の復号装置は、復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする。
【0017】また、上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記復号部は、上記制御部が送信した割り込み信号を受信した場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする。
【0018】また、上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新することを許可するタイミングか否かを判断し、上記復号部は、所定の時間毎に上記制御部に暗号文の復号に用いる復号鍵の更新の許可を依頼し、上記制御部から復号鍵を更新することを許可された場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする。
【0019】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする。
【0020】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと復号された暗号文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする。
【0021】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が復号鍵生成の異常を示す時間に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする。
【0022】また、上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号された暗号文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする。
【0023】また、本発明の復号方法は、復号鍵を生成し、復号鍵を生成する速度よりも速い速度で暗号文を復号し、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御することを特徴とする。
【0024】また、本発明の復号プログラムは、復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させることを特徴とする。
【0025】また、本発明の復号プログラムを記録したコンピュータ読み取り可能な記録媒体は、復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させるための復号プログラムを記録したことを特徴とする。
【0026】また、本発明の暗号化復号システムは、暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号化部が生成する暗号文を復号するための復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御し、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする。
【0027】また、本発明の暗号ロジック変更装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、スイッチを有し、スイッチの切り替えにより暗号ロジックを変更する暗号ロジック部と、上記量子暗号化部が記憶する共有ビット情報とスイッチを対応させ、共有ビット情報に基づいてスイッチを切り替えることにより上記暗号ロジック部の暗号ロジックを変更させる制御部を備えることを特徴とする。
【0028】また、本発明の乱数生成装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し、共有ビット情報に基づいて乱数を生成し、生成した乱数を出力する乱数生成部を備えることを特徴とする。
【0029】また、本発明の置換装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数生成部と、上記乱数出力部が出力する乱数を記憶する置換テーブルを有し、入力値を置換テーブルに入力し、置換テーブルから出力値を出力する置換部を備えることを特徴とする。
【0030】また、本発明の量子暗号装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部とを備え、上記乱数出力部が出力した乱数を位相変調器に入力し、伝送路を通過する光信号の位相を位相変調し、量子暗号の通信を行うことを特徴とする。
【0031】また、本発明の暗号装置は、伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部と、上記乱数出力部が出力する乱数を所定の暗号化アルゴリズムの初期値として用いる暗号化部を備えることを特徴とする。
【0032】
【発明の実施の形態】実施の形態1.以下、実施の形態1について説明する。実施の形態1は、図1に示すとおり、暗号化装置10aと復号装置10bから構成されており、平文が暗号化装置10aに入ると暗号文に暗号化され、暗号文が復号装置10bに入ると暗号文が平文に復号される構成になっている。図1では、10aが暗号化装置、10bが復号装置となっているが、平文が暗号化される方向が逆になると、10bが暗号化装置、10aが復号装置となる。このように、図1に示す暗号化装置10aと復号装置10bは同一構成となっている。量子暗号化部(11a、11b)は、光ファイバ網31等の光通信が可能な回線を利用して、伝送路を通過する光信号の位相を位相変調する位相変調器を用いて量子暗号の通信を行い、この通信によって共有ビット(16a、16b)を生成する。ただし、量子暗号による通信が可能な手段であれば、位相変調器を用いず、周波数変調器を用いる等いずれの装置を用いてもよい。この共有ビット16aと共有ビット16bは量子暗号化部11aと量子暗号化部11bで同時に生成され、共通鍵暗号化部(15a、15b)で暗号文を生成する時または暗号文を復号する時の鍵となる。この量子暗号化部11aと量子暗号化部11bによる量子暗号通信は、暗号鍵を生成する暗号鍵生成部と復号鍵を生成する復号鍵生成部による通信の一例であり、暗号鍵生成部と復号鍵生成部で、鍵を共有することに対し安全性の高い通信を行えれば量子暗号に限らず他の通信により鍵を生成してもよい。具体的な量子暗号化部11による量子暗号手順は次の通りである。(1)量子暗号化部11a及び11bが独立に乱数を生成する。(2)(1)の乱数を量子暗号化部11a及び11bのそれぞれに有する位相変調器に入力し、伝送路を通過する光信号の位相を位相変調させる位相変調方式によって、量子暗号化部11aと11bが量子暗号通信を行い、あるビット情報を共有する。このビット情報は、光通信を行っているときのノイズ情報とエラー情報が暗号情報に加わったものである。(3)量子暗号化部11aと11bが通信しながら誤りを除去し、共有ビット16を生成する。
【0033】鍵バッファ(12a、12b)は量子暗号化部(11a、11b)で生成された共有ビット(16a、16b)を蓄積するバッファである。鍵バッファ12の内部構造の一例としては、FIFO(FIRST IN FIRST OUT)構造をもつシフトレジスタがあげられる。このような構造をとることで量子暗号化部11で生成された共有ビット16が鍵バッファ12の右端から1ビット入ると、鍵バッファ12の左端1ビットが捨てられるという動作が可能となる。制御部(13a、13b)はタイマ(22a、22b)及びカウンタ(14a、14b)を有するか、またはそれらのいずれかを有し、共通鍵暗号化部(15a、15b)の暗号鍵または復号鍵となる共通鍵(20a、20b)更新のための制御を行う。共通鍵暗号化部15aは、鍵バッファ12aから取り込んだ暗号鍵となる共通鍵20aを用いて平文を暗号文に暗号化する処理を行う。共通鍵暗号化部15bは、鍵バッファ12bから取り込んだ復号鍵となる共通鍵20bを用いて暗号文を平文に復号する処理を行う。なお、暗号文の暗号化方法は共通鍵暗号による通信に限られず、暗号鍵を生成する速度より早い速度で暗号文を生成し、または、復号鍵を生成する速度より早い速度で暗号文を復号できればいかなる方法でもよい。
【0034】このように、本実施の形態では、安全性の高い通信により生成されたビット列を鍵として暗号速度が早い通信により暗号文を生成するという、2種類の通信によるハイブリッド型の通信形態となっている。
【0035】次に、図1で示した各構成要素の動作について説明する。図2は、図1で示した各構成要素の動作を示したフローチャートである。フローチャートの各ステップについて説明する。
(1)S20量子暗号化部(11a、11b)は、量子暗号を用いた通信により共有ビット(16a、16b)を生成する。共有ビット16は、共有ビット生成領域にいつ何ビット書き込まれるかの保証はない。
(2)S21生成された共有ビットは鍵バッファ(12a、12b)に逐次記憶される。
(3)S22制御部(13a、13b)のカウンタ(14a、14b)で鍵バッファ12に記憶された共有ビット数をカウントする。カウントアップのタイミングは、量子暗号通信技術により暗号化装置10aと復号装置10bで同期がとれている。
(4)S23制御部(13a、13b)は、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に到達したかをカウンタ(14a、14b)のカウンタ値により判断する。
(5)S24制御部(13a、13b)は、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に到達したと判断した場合には、共通鍵暗号化部(15a、15b)に割り込み信号を送信する。一方、制御部(13a、13b)が、鍵バッファ(12a、12b)に蓄積された共有ビット列が一定のビット数に満たないと判断した場合には、上記ステップ22の処理に戻る。
(6)S25制御部(13a、13b)から割り込み信号を受信した共通鍵暗号化部(15a、15b)は、鍵バッファ(12a、12b)内に記憶された情報を共通鍵(20a、20b)に格納する。共通鍵20aは、共通鍵暗号化部15aによる暗号化の暗号鍵となり、共通鍵20bは、共通鍵暗号化部15bによる復号の復号鍵となる。
(7)S26ステップ23で判断された一定のビット数分、カウンタ(14a、14b)のカウンタ値をカウントダウンする。
(8)S27共通鍵(20a、20b)を鍵として共通鍵暗号処理を行う。すなわち、共通鍵暗号化部15aは、暗号鍵である共通鍵20aを用いて、平文を暗号文に暗号化し、共通鍵暗号化部15bは、電話回線32を伝送して入力された暗号文を、復号鍵である共通鍵20bを用いて、平文に復号する。
【0036】図2に示す動作では、量子暗号を用いて生成された共有ビット16を蓄積する鍵バッファ12にカウントされたビット数が予め決められた数に到達したときに、量子暗号側(制御部13)から共通鍵暗号側(共通鍵暗号化部15)に割り込み信号を送信し、共通鍵暗号側はこの割り込み信号を受信後、共通鍵20を鍵バッファ12に蓄積された情報に更新する。この時、この処理を行うためにカウンタ14を利用して鍵バッファ12に蓄積されたビット数をカウントアップしていた。しかし、制御部13がタイマ22を備えることによりタイマ22が予め決められた時間に到達したときに、量子暗号側から共通鍵暗号側に割り込み信号を送信してもよい。その場合には、ステップ23で制御部13はタイマ22が一定時間以上になったか判断する。また、ステップ26でタイマ22をリセットする。また、制御部13が、カウンタ14およびタイマ22を備えることにより、鍵バッファ12にカウントされたビット数が予め決められた数に到達したとき、または、タイマ22が予め決められた時間に到達したときのいずれかのタイミングに割り込み信号を送信するようにしてもよい。その場合には、ステップ23でカウンタ14のカウンタ値が一定以上になったか、又は、タイマ22が一定時間以上になったかを判断し、これらのいずれかを満たす場合にはステップ24の処理を行い、いずれも満たしていない場合にはステップ22の処理に戻ることになる。
【0037】このように、平文を暗号文に暗号化し、暗号文を平文に復号することは高速な共通鍵暗号を用い、その鍵を生成する手段として、安全性は高いが速度に限界のある量子暗号を用いることで、全体として安全性が高く、暗号化速度が高速かつ最低暗号化速度が保証された通信が可能になるという効果を奏する。この効果は、量子暗号の速度が向上すればするほど顕著になり、よりシステムの安全性も向上する。実施の形態1では、量子暗号と共通鍵暗号をハイブリッド型のシステムとする一例をあげたが、これに限ることはなく、安全性の高い暗号化処理により生成されるビットを鍵として、その鍵を利用して高速で、しかも暗号速度が一定に保たれる通信により暗号処理を行えば、安全性が高く、しかも高速な通信が実現する。即ち、暗号化に際し、安全性の高い通信システムと暗号速度の速い通信システムとを融合(ハイブリッド方式)させることにより盗聴されにくく、安全性の高い、しかも高速な通信が可能となるという顕著な効果が得られる。なお、ここでいう盗聴とは、データ通信での内容を盗み見ることをいう。
【0038】実施の形態2.次に、実施の形態2について説明する。図3は、実施の形態2を示した全体の構成図である。実施の形態1を示した図1と比べ、図3では制御部13から割り込み信号を出すのではなく、共通鍵暗号化部15から定期的に制御部13に対して、鍵バッファ12に一定のビット数が共有できたかを問い合わせ、共有できていれば、共通鍵暗号に用いる共通鍵20を更新する形態をとっている。
【0039】図4は、図3に示した各構成の動作を表したフローチャートである。以下に各ステップについて説明する。
(1)S40量子暗号化部11が量子暗号の通信を行った結果、共有ビット16が生成される。上述の通り、共有ビット生成領域に共有ビット16がいつ何ビット書き込まれるかの保証はない。
(2)S41生成された共有ビット16を鍵バッファ12に逐次記憶する。
(3)S42制御部(13a、13b)のカウンタ(14a、14b)で鍵バッファ12に記憶された共有ビット数をカウントする。カウントアップのタイミングは、量子暗号通信技術により暗号化装置と復号装置で同期がとれている。
(4)S43共通鍵暗号化部15は、所定のタイミング毎に制御部13が鍵の更新を許可するか否かを問い合わせ、制御部13は、カウンタ14のカウンタ値が一定値以上になったか判断し、一定値以上になった場合には、共通鍵暗号化部15の問い合わせに対し、鍵の更新を許可し、ステップ44に進む。カウンタ値が一定以上になっていない場合には、鍵の更新を許可せず、ステップ42に戻る。
(5)S44共通鍵暗号化部15が鍵バッファ12内の共有ビット列を用いて共通鍵20を更新する。
(6)S45ステップ43で判断された一定値分、カウンタ14のカウンタ値をカウントダウンする。
(7)S46更新された共通鍵20を鍵として共通鍵暗号処理を行う。すなわち、共通鍵暗号化部15aは、暗号鍵である共通鍵20aを用いて、平文を暗号文に暗号化し、共通鍵暗号化部15bは、電話回線32を伝送して入力された暗号文を、復号鍵である共通鍵20bを用いて、平文に復号する。
【0040】図4では、カウンタ14により共通鍵を更新するタイミングを決定していたが、実施の形態1の場合と同様に、タイマ22により制御することも可能である。その場合には、S43でタイマが一定時間以上になったか判断する処理を行う。また、タイマ22とカウンタ14とを併用して判断してもよい。
【0041】このように、実施の形態2では、安全性の高い量子暗号による通信と暗号速度の速い共通鍵暗号通信との融合(ハイブリッド方式)により盗聴されにくく、安全性の高い、しかも高速な通信が可能となる。また、共通鍵暗号化部15が定期的に量子暗号側(制御部13)に一定のビット数が共有できたかどうかを問い合わせ、共有できていれば共通鍵20を更新するので、制御部13による割り込み信号処理を不要とすることができる。
【0042】実施の形態3.実施の形態3について説明する。実施の形態3では、予め決められた時間内(T1)に鍵の更新ができなかったとき、つまり、鍵バッファ12に一定のビット数が共有できなかった場合に、共通鍵暗号側で通信の速度を低下させ、又は、一時暗号化処理を止めて、鍵バッファ12に共有ビット16が、一定ビット数蓄積されるまであふれた平文または暗号文をバッファ18に蓄積する処理を行う。また、実施の形態3では、予め決められた時間内(T2)に鍵の更新ができなかったとき、つまり、鍵バッファ12に一定のビット数が共有できなかった場合に、量子暗号側がそれまでに共有していたビットを破棄する処理を行う。T1は正常な暗号化処理速度内の時間ではあるが、安全性を一定に保つために定められた一定時間である。T2は異常な暗号化処理速度を示す時間である。したがって、T1<T2となる。T2で定められた時間内に鍵の更新ができなかった場合にはシステムトラブルか、或いは、量子暗号側で盗聴が行われた可能性が高い。したがって、この場合、量子暗号側はそれまでに共有していたビット(鍵バッファ12に記憶された情報)を破棄する。
【0043】図5及び図6は、実施の形態3を表したシステムの全体構成図である。図5は、図1の共通鍵暗号化部15に通信速度タイマ25と通信速度カウンタ26とバッファ18を新たに設けている。また、多重暗号化のループ処理を行うための動作線が加わっている。これは、共通鍵暗号化部15で通信の速度を低下させる方法の一例として、共通鍵暗号化部15から出力した暗号文をループさせ、多重暗号化させる動作である。その他の構成は図1と同様である。図6も同様に、図3の共通鍵暗号化部15に通信速度タイマ25と通信速度カウンタ26とバッファ18が設けられ、また、多重暗号化のループ処理を行うための動作線が加わっている。その他の構成は図3と同様である。
【0044】図7は、図5で示された構成の動作を表したフローチャートである。
(1)S60量子暗号化部11で共有ビット16を生成する。
(2)S61通信速度タイマ25をセットする。通信速度タイマ25は、暗号処理の安全性を保つための限界時間(T1)と暗号化速度の異常を示す異常時間(T2)を計るためのものである。
(3)S62生成された共有ビット16を鍵バッファ12に記憶する。
(4)S63制御部13のカウンタ14で鍵バッファ12に記憶された共有ビット数をカウントする。
(5)S64制御部13のカウンタのカウンタ値が一定値以上(共通鍵20を更新すべきビット数以上)になったか判断する。
(6)S65YESの場合は、制御部13が共通鍵暗号化部15に割り込み信号を送信する。NOの場合は、後述するステップ68の処理を行う。
(7)S66割り込み信号を受信した共通鍵暗号化部15は、鍵バッファ12内の共有ビット列を共通鍵20として更新する。
(8)S67共通鍵暗号化部15は、更新された共通鍵20を鍵として共通鍵暗号処理を行う。
(9)S68ステップ64で、カウンタ値が一定値未満である場合には、次の動作を行う。制御部13は、通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)以上であるかどうかを判断する。
(10)S69通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)以上であれば、共通鍵暗号化部15の暗号化処理速度を低下させ、共通鍵20が更新されるまで暗号化の対象となる平文をバッファ18に蓄積する。一方、通信速度タイマ25が暗号処理の安全性を保つための限界時間(T1)未満であれば、ステップ63の処理に戻る。
(11)S70制御部13は、通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)以上であるかを判断する。
(12)S71通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)以上であれば、鍵バッファ12に記憶されたビットを破棄し、カウンタ14を共通鍵20を更新するビット数分カウントダウンさせ、ステップ62の処理に戻る。通信速度タイマ25が暗号化速度の異常を示す異常時間(T2)未満の場合にはステップ63の処理に戻る。
【0045】図6に示された構成に基づく動作は、図7のステップ65の割り込み信号がなく、共通鍵暗号化部15が、一定のタイミング毎に制御部13が鍵の更新を許可するか否かを問い合わせ、制御部13は、カウンタ14のカウンタ値が一定値以上になったか判断し、一定値以上になった場合には、共通鍵暗号化部15の問い合わせに対し、鍵の更新を許可し、ステップ66で共通鍵20更新する。カウンタ値が一定以上になっていない場合には、制御部13が鍵の更新を許可しないため、ステップ68に進む。
【0046】ステップ69で暗号化処理速度を低下させる方法としては、例えば、物理的方法としてクロックを低下させる又は止める方法が考えられる。また、冗長な命令を実行させることで暗号化処理速度を低下させることも考えられる。更に、共通鍵暗号化部15で多重暗号化処理を行うことで、暗号化処理速度を低下させる方法もある。これは、図5及び図6の共通鍵暗号化部15の多重暗号化として示されているように、例えば、平文を共通鍵暗号化部15で処理した後、暗号化された文を再び共通鍵暗号化部15で暗号化するという処理をループとして何度も行う処理である。
【0047】上記のような処理を行うことで、T1に定められた時間内に鍵の更新ができなかったときには暗号化処理の速度を低下させ、共通鍵20が更新されるまで、平文をバッファ18に蓄積させることで、システムの暗号強度がある一定以下に低下しないという効果を奏する。また、共通鍵暗号化部15による多重暗号化処理では複数回暗号化処理を行うことで、暗号強度を増加させる効果も得られる。また、T2に定められた時間内に鍵の更新ができなかったときには、システムトラブルか、或いは、量子暗号側で盗聴が行われた可能性があるため、量子暗号側はそれまでに共有していたビットを破棄することにより、システムの強度及び暗号の強度を増加させ、暗号化処理の安全性を高めることができる。
【0048】以上の通信速度タイマ25を用いて行った処理は、暗号化された平文又は暗号文のビット数をカウントした通信速度カウンタ26を用いても行うことが可能である。この場合、まず、暗号化装置10aの制御部13aでは、次のような動作を行う。制御部13aは、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵(共通鍵20a)を更新するビット数に到達する前に通信速度カウンタ26aがカウントするビット数が暗号の安全性を保つための限界ビット数に到達した場合には、共通鍵暗号化部15aが暗号文を生成する速度を低下させ、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファ18aに蓄積させる。また、制御部13aは、カウンタ14aの示すカウンタ値が暗号文の生成に用いる暗号鍵(共通鍵20a)を更新するビット数に到達する前に通信速度カウンタ26aがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、鍵バッファ12aに蓄積された共有ビット列を破棄させる。復号装置10bの制御部13bでも、同様に次のような動作を行う。制御部13bは、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵(共通鍵20b)を更新するビット数に到達する前に通信速度カウンタ26bがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、共通鍵暗号化部15bが暗号文を復号する速度を低下させ、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファ18bに蓄積させる。また、制御部13bは、カウンタ14bの示すカウンタ値が暗号文の復号に用いる復号鍵(共通鍵20b)を更新するビット数に到達する前に通信速度カウンタ26bがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、鍵バッファ12bに蓄積された共有ビット列を破棄させる。
【0049】実施の形態4.次に、実施の形態4について説明する。実施の形態4では暗号アルゴリズムを示した暗号ロジックそのものを変化させるスイッチとして量子暗号化部11で生成されたビット情報を用いる。図8は、実施の形態4の動作を表している。量子暗号化部11は、通信情報41と一次鍵情報42と共有ビット16を記憶している。ここで、前述した量子暗号手順をより具体的に述べる。
(1)量子暗号化部11a及び11bが独立に乱数を生成する。
(2)(1)の乱数を量子暗号化部11a及び11bのそれぞれに有する位相変調器に入力し、伝送路を通過する光信号の位相を位相変調させる位相変調方式によって、量子暗号化部11aと11bが量子暗号の通信を行い、あるビット情報を共有する。
(3)量子暗号化部11a及び11bが(1)の情報の一部を交換し、必要なビットだけを取り出し、他の情報は除去する。
(4)量子暗号化部11aと11bが通信しながら誤りを除去し(エラー訂正)共有ビット16を生成する。上記(2)の段階で得られる情報が図8に示す通信情報41である。また、上記(3)の段階で得られる情報が図8R>8に示す一次鍵情報42である。
【0050】図8では、量子暗号化部11で生成された共有ビット16を用いて、パーソナルコンピュータ35に記憶した36の暗号ロジック1と37の暗号ロジック2と38の暗号ロジック3のスイッチングを行う。例えば、共有ビット16が1の場合、制御部13は暗号ロジック部61に、36の暗号ロジック1に切り替える命令を出し、暗号ロジック部61は命令を受け取るとスイッチを36の暗号ロジック1に切り替える。同様に、制御部13の命令にしたがって、暗号ロジック部61は、共有ビット16が2の場合には37の暗号ロジック2に切り替え、共有ビット16が3の場合には38の暗号ロジック3に切り替えるという動作を行う。この場合、たとえば、36の暗号ロジック1をCBCモード(CIPHER BLOCK CHAINING MODE)モード、37の暗号ロジック2をOFBモード(OUTPUT FEEDBACK MODE)、38の暗号ロジック3をCFBモード(CIPHER FEEDBACK MODE)とすると、量子暗号化部11で生成された共有ビット16によって暗号アルゴリズムを変更する(暗号ロジックそのものを変化する)ことができる。以上、共有ビット16を用いたスイッチングを示したが、量子暗号化部11に記憶された通信情報41や一次鍵情報42を用いてスイッチングを行ってもよい。したがって、伝送路を通過する光信号を用いた量子暗号の通信により生成される共有ビット情報の概念は、実施の形態4では、共有ビット16のみならず、通信情報41や一次鍵情報42の他、量子暗号通信により生成されたすべてのビット情報を含む。よって、量子暗号により生成されるこれらのビット情報を用いてスイッチングを行ってもよい。
【0051】量子暗号化部11で生成された共有ビット16は、乱数として精度が高くピュアな状態であるため、規則性のない非線形的なスイッチング動作が可能となるという効果が得られる。また、予測不可能なノイズ情報が含まれる一次鍵情報42や量子暗号の系で得られたノイズを含む通信情報41を用いても、規則性のない非線形的なスイッチング動作が可能となる。
【0052】実施の形態5.次に、実施の形態5について説明する。実施の形態5は、量子暗号化部11で生成された共有ビット16を乱数の生成又は置換テーブルの生成に用いる場合である。図9は、この実施の形態の構成及び動作を示した図である。前述したとおり、量子暗号化部11で生成された共有ビット16は、乱数としての精度が高いため、乱数生成器39の乱数の種(乱数を生成するために乱数生成器に入力される数値)として用いることができる。
【0053】このように、共有ビット16を乱数生成器39の乱数の種として用いることで、乱数生成器から出力される乱数は、より乱数としてのレベルの高いものとなる。
【0054】さらに、図9では、乱数生成器39から出力された乱数を置換テーブル40に記憶し、置換テーブル40を用いて置換処理を行っている。例えば、Q1という入力データを置換テーブルに入力するとA5という出力結果が得られ、Q2という入力データを置換テーブルに入力するとA3という出力結果が得られ、また、Q3というデータを入力するとA2という結果が得られ、A4というデータを入力するとA1という結果が得られ、Q5というデータを入力するとA4という結果が得られる。実施の形態4と同様に、実施の形態5で用いられる共有ビット情報には、共有ビット16の他、通信情報41や一次鍵情報42や、量子暗号の通信により生成されたすべてのビット情報が含まれる。また、置換テーブル40には、上記共有ビット情報を乱数の種として乱数生成器39で生成された乱数を記憶する場合のほか、上記共有ビット情報そのものを記憶してもよい。
【0055】このように、乱数として精度の高い通信情報41や一次鍵情報42や共有ビット16を用いて置換テーブル40を生成することで、置換テーブル40を用いて規則性のない非線形的な置換が可能となる。
【0056】実施の形態6.次に、実施の形態6について説明する。量子暗号化部11で生成され共有ビット16は、逐次暗号(ストリーム暗号)またはブロック暗号のIV(INITIAL VALUE:初期値)として用いることができる。ここで、最初の暗号文生成と最初の復号文生成の際に用いられるIVは、暗号化側と復号側で同一の値を用いる。
【0057】図10は、CBCモードによる暗号化処理を表したものであり、50はCBCモードによる暗号化部、70はCBCモードによる復号部を表している。図1010に示すCBCモードでの暗号方法は、64ビットの平文ブロックデータMiをブロック単位で入力し、暗号鍵Kを用いてモジュール51により暗号化し、更に、この暗号化された暗号文ブロックデータCiと次の平文ブロックデータMi+1との排他的論理和を演算し、排他的論理和の演算結果を次の暗号化の入力として暗号鍵Kを用いた暗号化モジュール51に供給することにより暗号化する方法である。そして、この処理を繰り返して次々と連鎖させることにより、平文M全体を暗号文Cに暗号化する。50の暗号化部により暗号化された暗号文Ciは、70の復号部により復号される。暗号文ブロックデータCiが暗号鍵Kを用いた復号モジュール71に入力され、IVとの排他的論理和が計算され、平文ブロックデータMiが復号文に復号される。なお、レジスタ111は、セレクタ73の内部に設けられていてもよい。平文ブロックデータをMi(i=1,2,・・・,n)、暗号文ブロックデータCi(i=1,2,・・・,n)とし、暗号鍵Kを用いた暗号化処理をEk、暗号鍵Kを用いた復号処理をDkとすると、CBCモードは次式で表される。
C1=Ek(M1 XOR IV)
Ci=Ek(Mi XOR Ci-1)(i=2,3,・・・,n)
M1=Dk(C1) XOR IVMi=Dk(Ci) XOR Ci-1(i=2,3,・・・,n)
ここで、XORは排他的論理和演算である。また、IVには量子暗号により生成された共有ビット16を初期値として入力する。
【0058】図10では、CBCモードのIVに共有ビット16を用いる例を示したが、CBCモード暗号化に限らず、OFBモードやCFBモード等のブロック暗号のIVに共有ビットを用いることができる。また、量子暗号化部11で生成された共有ビット16は逐次暗号(ストリーム暗号)の初期値等、所定の暗号化アルゴリズムのIV(初期値)として用いることができる。また、実施の形態4、5の場合と同様、実施の形態6では、共有ビット情報は、共有ビット16、通信情報41、一次鍵情報42の他、量子暗号通信により生成されるすべてのビット情報を含む概念である。よって、量子暗号化部11に記憶された通信情報41と一次鍵情報42をブロック暗号または逐次暗号処理を行うためのIV(初期値)にしてもよい。また、量子暗号により生成される他のビット情報をIVにしてもよい。また、共有ビット情報を乱数の種として乱数生成器39で生成された乱数をIVにしてもよい。なお、ブロック暗号とは、1以上の適当な長さの文字列(ブロック)毎に同じ鍵で他の文字列(ブロック)に変換するものをいう。また、ストリーム暗号は1文字又は1ビット毎に異なる鍵で他の文字やビットに変換するものをいう。
【0059】以上のように、CBCモードによる暗号処理のために、IVに量子暗号で生成された乱数としての精度の高い通信情報41や一次鍵情報42や共有ビット16等の共有ビット情報を入力することで精度が高く、安全な暗号化処理を行うことができる。
【0060】実施の形態7.次に、実施の形態7について説明する。図11では、共有ビット16を乱数生成器39に入力し、それを基に乱数列43を生成し、乱数列43を再び量子暗号化部11の位相変調器に入力し、位相変調を行って量子暗号の通信を行う動作を示している。図11では、一次鍵情報42を乱数生成器39に入力し、乱数列43を出力してもよい。また、一次鍵情報42のビット列をハッシュ関数で処理したものを乱数の種として乱数生成器39に入力し、乱数列43を出力してもよい。また、通信情報41や通信情報41をハッシュ関数で処理したものを乱数の種として乱数生成器39に入力し、乱数列43を出力してもよい。また、共有ビット16や一次鍵情報42や通信情報41そのものを乱数列43としてもよい。このように、共有ビット情報は、量子暗号通信により生成された共有ビット16の他、乱数の種となりうるすべてのビット情報を含む概念である。
【0061】このように、量子暗号化部11により生成された共有ビット16を乱数生成器39に入力することにより、精度の高い乱数が生成される。従って、この精度の高い乱数列43を再び量子暗号の通信を行うために位相変調器に入力する乱数として用いることにより、量子暗号化部11は、更に偏りのない精度の高い乱数として共有ビット16を生成することができる。一次鍵情報42には予測不可能がノイズの情報も含まれているので、乱数の種としては好都合であり、また、通信情報41も量子暗号の系で得られたノイズを含む情報であるため、乱数の種としては好都合である。したがって、これらの情報を乱数の種にすることでも、精度の高い乱数を生成することができる。
【0062】以上に記載した「蓄積する」、「記憶する」という用語は、記録媒体に保存することを意味する。また、すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示された動作の関連を考慮しながら、一連の動作として置き換えることができる。そして、このこのように置き換えることにより、方法の発明の実施形態とすることができる。また、上記各構成要素の動作を、各構成要素の処理と置き換えることにより、プログラムの実施の形態およびプログラムを記録したコンピュータ読取り可能な記録媒体の実施の形態とすることができる。そしてこれらの実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。このプログラムの実施の形態およびプログラムを記録したコンピュータ読取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置(CPU)に読み込まれ、中央処理装置によって、各フローチャートが実行されることになる。なお、記録装置、中央処理装置は図示していない。また、各実施の形態のソフトウエアやプログラムは、ROM(READ ONLY MEMORY)に記憶されたファームウエアで実現されていても構わない。あるいは、ソフトウエアとファームウエアとハードウエアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【0063】
【発明の効果】本発明によれば、安全で高速な暗号処理が可能となる。
【0064】また、暗号化の暗号の強度及びシステムの強度を高めることができる。
【0065】また、暗号化プログラムにより、安全で高速な暗号処理をコンピュータ上で実行することができる。
【0066】本発明によれば、安全で高速な復号処理が可能となる。
【0067】また、復号の暗号の強度及びシステムの強度を高めることができる。
【0068】また、復号プログラムにより、安全で高速な復号処理をコンピュータ上で実行することができる。
【0069】本発明によれば、安全で高速な暗号化復号システムを構築できる。
【0070】本発明によれば、非線形的なロジック変換が可能となる。
【0071】本発明によれば、精度の高い乱数を生成できる。
【0072】本発明によれば、精度の高い乱数を乱数の種として処理を行うことができる。
【図面の簡単な説明】
【図1】 量子暗号化部と共通鍵暗号化部を融合させた暗号化システムの構成図である。
【図2】 暗号化システムの動作を表したフローチャートである。
【図3】 量子暗号化部と共通鍵暗号化部を融合させた暗号化システム構成図の他の例である。
【図4】 図3で示した暗号化システムの動作を表したフローチャートである。
【図5】 安全性確保のための限界時間内に鍵の更新ができなかった場合の処理を表す図である。
【図6】 安全性確保のための限界時間内に鍵の更新ができなかった場合の処理を表す図である。
【図7】 図5及び図6で示した処理の動作を表したフローチャートである。
【図8】 暗号ロジック変更処理を表す図である。
【図9】 乱数生成および置換処理を表す図である。
【図10】 CBCモード暗号化処理を表した図である。
【図11】 量子暗号情報を量子暗号処理のための乱数として用いる図である。
【図12】 量子暗号処理の従来例である。
【符号の説明】
10a 暗号化装置、10b 復号装置、11 量子暗号化部、12 鍵バッファ、13 制御部、14 カウンタ、15 共通鍵暗号化部、16 共有ビット、18 バッファ、20 共通鍵、22 タイマ、25 通信速度タイマ、26 通信速度カウンタ、31 光ファイバ網、32 電話回線、35 パーソナルコンピュータ、39 乱数生成器、40 置換テーブル、41 通信情報、42 一次鍵情報、43 乱数列、61 暗号ロジック部、90a 暗号化装置、90b 復号装置。
【特許請求の範囲】
【請求項1】 暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御する制御部とを備えることを特徴とする暗号化装置。
【請求項2】 上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記暗号化部は、上記制御部が送信した割り込み信号を受信した場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする請求項1記載の暗号化装置。
【請求項3】 上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新することを許可するタイミングか否かを判断し、上記暗号化部は、所定の時間毎に上記制御部に暗号文の生成に用いる暗号鍵の更新の許可を依頼し、上記制御部から暗号鍵を更新することを許可された場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする請求項1記載の暗号化装置。
【請求項4】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする請求項2または3記載の暗号化装置。
【請求項5】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号化された平文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする請求項2または3記載の暗号化装置。
【請求項6】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号鍵生成の異常を示す時間に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする請求項2または3記載の暗号化装置。
【請求項7】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化された平文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする請求項2または3記載の暗号化装置。
【請求項8】 暗号鍵を生成し、暗号鍵を生成する速度よりも速い速度で暗号文を生成し、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御することを特徴とする暗号化方法。
【請求項9】 暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理を特徴とする暗号化プログラム。
【請求項10】 暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させるための暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】 復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする復号装置。
【請求項12】 上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記復号部は、上記制御部が送信した割り込み信号を受信した場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする請求項11記載の復号装置。
【請求項13】 上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新することを許可するタイミングか否かを判断し、上記復号部は、所定の時間毎に上記制御部に暗号文の復号に用いる復号鍵の更新の許可を依頼し、上記制御部から復号鍵を更新することを許可された場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする請求項11記載の復号装置。
【請求項14】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする請求項12また13記載の復号装置。
【請求項15】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと復号された暗号文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする請求項12または13記載の復号装置。
【請求項16】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が復号鍵生成の異常を示す時間に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする請求項12または13記載の復号装置。
【請求項17】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号された暗号文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする請求項12または13記載の復号装置。
【請求項18】 復号鍵を生成し、復号鍵を生成する速度よりも速い速度で暗号文を復号し、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御することを特徴とする復号方法。
【請求項19】 復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理を特徴とする復号プログラム。
【請求項20】 復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させるための復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項21】 暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号化部が生成する暗号文を復号するための復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部とを備え、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御し、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする暗号化復号システム。
【請求項22】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、スイッチを有し、スイッチの切り替えにより暗号ロジックを変更する暗号ロジック部と、上記量子暗号化部が記憶する共有ビット情報とスイッチを対応させ、共有ビット情報に基づいてスイッチを切り替えることにより上記暗号ロジック部の暗号ロジックを変更させる制御部を備えることを特徴とする暗号ロジック変更装置。
【請求項23】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し、共有ビット情報に基づいて乱数を生成し、生成した乱数を出力する乱数生成部を備えることを特徴とする乱数生成装置。
【請求項24】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数生成部と、上記乱数出力部が出力する乱数を記憶する置換テーブルを有し、入力値を置換テーブルに入力し、置換テーブルから出力値を出力する置換部を備えることを特徴とする置換装置。
【請求項25】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部とを備え、上記乱数出力部が出力した乱数を位相変調器に入力し、伝送路を通過する光信号の位相を位相変調し、量子暗号の通信を行うことを特徴とする量子暗号装置。
【請求項26】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部と、上記乱数出力部が出力する乱数を所定の暗号化アルゴリズムの初期値として用いる暗号化部を備えることを特徴とする暗号装置。
【請求項1】 暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御する制御部とを備えることを特徴とする暗号化装置。
【請求項2】 上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記暗号化部は、上記制御部が送信した割り込み信号を受信した場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする請求項1記載の暗号化装置。
【請求項3】 上記暗号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを暗号鍵として記憶し、上記制御部は、上記暗号化部が暗号文の生成に用いる暗号鍵を更新することを許可するタイミングか否かを判断し、上記暗号化部は、所定の時間毎に上記制御部に暗号文の生成に用いる暗号鍵の更新の許可を依頼し、上記制御部から暗号鍵を更新することを許可された場合には、上記暗号鍵生成部が記憶する暗号鍵を取得し、取得した暗号鍵を用いて暗号文を生成することを特徴とする請求項1記載の暗号化装置。
【請求項4】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする請求項2または3記載の暗号化装置。
【請求項5】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化の対象となる平文を入力するバッファと暗号化された平文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、暗号化部が暗号文を生成する速度を低下させ、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達するまで、平文をバッファに蓄積させることを特徴とする請求項2または3記載の暗号化装置。
【請求項6】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号鍵生成の異常を示す時間に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする請求項2または3記載の暗号化装置。
【請求項7】 上記制御部は、暗号鍵生成部による生成途中の暗号鍵のビット数をカウントするカウンタを備え、上記暗号化部は、暗号化された平文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の生成に用いる暗号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号鍵生成の異常を示すビット数に到達した場合には、上記暗号鍵生成部が生成している暗号鍵を破棄させることを特徴とする請求項2または3記載の暗号化装置。
【請求項8】 暗号鍵を生成し、暗号鍵を生成する速度よりも速い速度で暗号文を生成し、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御することを特徴とする暗号化方法。
【請求項9】 暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理を特徴とする暗号化プログラム。
【請求項10】 暗号鍵を生成する処理、暗号鍵を生成する速度よりも速い速度で暗号文を生成する処理、生成した暗号鍵を用いて暗号文を生成できるように、暗号文の生成を制御する処理をコンピュータに実行させるための暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】 復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部と、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする復号装置。
【請求項12】 上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新するタイミングであると判断した場合には割り込み信号を送信し、上記復号部は、上記制御部が送信した割り込み信号を受信した場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする請求項11記載の復号装置。
【請求項13】 上記復号鍵生成部は、量子暗号を用いた通信により生成された共有ビットを復号鍵として記憶し、上記制御部は、上記復号部が暗号文の復号に用いる復号鍵を更新することを許可するタイミングか否かを判断し、上記復号部は、所定の時間毎に上記制御部に暗号文の復号に用いる復号鍵の更新の許可を依頼し、上記制御部から復号鍵を更新することを許可された場合には、上記復号鍵生成部が記憶する復号鍵を取得し、取得した復号鍵を用いて暗号文を復号することを特徴とする請求項11記載の復号装置。
【請求項14】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと暗号の安全性を保つための限界時間を計る通信速度タイマとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が暗号の安全性を保つための限界時間を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする請求項12また13記載の復号装置。
【請求項15】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号の対象となる暗号文を入力するバッファと復号された暗号文のビット数をカウントする通信速度カウンタとを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が暗号の安全性を保つための限界ビット数を越えた場合には、復号部が暗号文を復号する速度を低下させ、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達するまで、暗号文をバッファに蓄積させることを特徴とする請求項12または13記載の復号装置。
【請求項16】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号鍵生成の異常を示す異常時間を計る通信速度タイマを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度タイマが計る時間が復号鍵生成の異常を示す時間に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする請求項12または13記載の復号装置。
【請求項17】 上記制御部は、復号鍵生成部による生成途中の復号鍵のビット数をカウントするカウンタを備え、上記復号部は、復号された暗号文のビット数をカウントする通信速度カウンタを備え、上記制御部は、カウンタの示すカウンタ値が暗号文の復号に用いる復号鍵を更新するビット数に到達する前に通信速度カウンタがカウントするビット数が復号鍵生成の異常を示すビット数に到達した場合には、上記復号鍵生成部が生成している復号鍵を破棄させることを特徴とする請求項12または13記載の復号装置。
【請求項18】 復号鍵を生成し、復号鍵を生成する速度よりも速い速度で暗号文を復号し、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御することを特徴とする復号方法。
【請求項19】 復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理を特徴とする復号プログラム。
【請求項20】 復号鍵を生成する処理、復号鍵を生成する速度よりも速い速度で暗号文を復号する処理、生成した復号鍵を用いて暗号文を復号できるように、暗号文の復号を制御する処理をコンピュータに実行させるための復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項21】 暗号鍵を生成する暗号鍵生成部と、上記暗号鍵生成部が暗号鍵を生成する速度よりも速い速度で暗号文を生成する暗号化部と、上記暗号化部が生成する暗号文を復号するための復号鍵を生成する復号鍵生成部と、上記復号鍵生成部が復号鍵を生成する速度よりも速い速度で暗号文を復号する復号部とを備え、上記暗号鍵生成部が生成した暗号鍵を用いて上記暗号化部が暗号文を生成できるように上記暗号化部の暗号文の生成を制御し、上記復号鍵生成部が生成した復号鍵を用いて上記復号部が暗号文を復号できるように上記復号部の暗号文の復号を制御する制御部とを備えることを特徴とする暗号化復号システム。
【請求項22】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、スイッチを有し、スイッチの切り替えにより暗号ロジックを変更する暗号ロジック部と、上記量子暗号化部が記憶する共有ビット情報とスイッチを対応させ、共有ビット情報に基づいてスイッチを切り替えることにより上記暗号ロジック部の暗号ロジックを変更させる制御部を備えることを特徴とする暗号ロジック変更装置。
【請求項23】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し、共有ビット情報に基づいて乱数を生成し、生成した乱数を出力する乱数生成部を備えることを特徴とする乱数生成装置。
【請求項24】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数生成部と、上記乱数出力部が出力する乱数を記憶する置換テーブルを有し、入力値を置換テーブルに入力し、置換テーブルから出力値を出力する置換部を備えることを特徴とする置換装置。
【請求項25】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部とを備え、上記乱数出力部が出力した乱数を位相変調器に入力し、伝送路を通過する光信号の位相を位相変調し、量子暗号の通信を行うことを特徴とする量子暗号装置。
【請求項26】 伝送路を通過する光信号を用いた量子暗号の通信により生成された共有ビット情報を記憶する量子暗号化部と、上記量子暗号化部が記憶する共有ビット情報を入力し乱数を出力する乱数出力部と、上記乱数出力部が出力する乱数を所定の暗号化アルゴリズムの初期値として用いる暗号化部を備えることを特徴とする暗号装置。
【図1】
【図2】
【図3】
【図4】
【図9】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図9】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【公開番号】特開2003−46501(P2003−46501A)
【公開日】平成15年2月14日(2003.2.14)
【国際特許分類】
【出願番号】特願2001−231847(P2001−231847)
【出願日】平成13年7月31日(2001.7.31)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成15年2月14日(2003.2.14)
【国際特許分類】
【出願日】平成13年7月31日(2001.7.31)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]