(57)【特許請求の範囲】
【請求項１】
外部装置に着脱自在に構成された暗号キーを管理する暗号キー管理装置であって、
前記外部装置は、暗号キー毎に暗号キー番号とカオス関数の初期値とを対応付けて記憶した初期値テーブルと、
前記暗号キーが前記外部装置に装着されたとき、当該暗号キーの番号に対応する前記初期値を前記初期値テーブルから読み出して前記暗号キーに送信する送信部とを備え、
前記暗号キーは、前記外部装置からの前記初期値を記憶するメモリと、
このメモリに記憶された前記初期値とデータのデータサイズとカオス関数とに基づいてカオス系列の擬似乱数を発生する擬似乱数発生器と、
を備えることを特徴とする暗号キー管理装置。
【請求項２】
前記外部装置は、前記暗号キー毎に前記暗号キー番号と前記初期値とを入力する入力部と、この入力部で入力された前記暗号キー毎の前記暗号キー番号と前記初期値とを前記初期値テーブルに記憶させる記憶制御部とを備えることを特徴とする請求項１記載の暗号キー管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カオス系列の疑似乱数を発生する疑似乱数発生器を有する暗号キーを管理する暗号キー管理装置に関する。
【背景技術】
【０００２】
近年、キーボード、マウス、スピーカ、モデム、プリンタなどの比較的低速な周辺機器とパーソナルコンピュータとの相互間の接続を全て同一のコネクタとケーブルで統一したインターフェイスとして、ＵＳＢ（Universal  Serial  Bus）が用いられている。このＵＳＢでは、パーソナルコンピュータと周辺機器とのデータ転送速度は、例えば１．５Ｍｂｐｓであり比較的低速である。
【０００３】
このようなＵＳＢ規格に準じたパーソナルコンピュータと周辺機器とを用いてデータの暗号化処理を行う暗号化装置が知られている。この暗号化装置は、キー情報が登録されたキー情報部と、このキー情報部が装着され且つ暗号アルゴリズムを有するパーソナルコンピュータとから構成されている。
【０００４】
キー情報部には、キー情報が購入時に個人により登録されたキー情報部、あるいは、工場出荷時にキー情報が登録されたキー情報部等がある。パーソナルコンピュータは、キー情報部が装着されると、キー情報部からのキー情報を読み出して、暗号アルゴリズムを用いてキー情報から暗号鍵を生成し、この暗号鍵を用いて平成文データを暗号化して暗号データを生成していた。
【特許文献１】特開２０００−３１０９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の暗号化装置にあっては、パーソナルコンピュータ内に暗号アルゴリズムが常駐しているため、暗号アルゴリズムによる暗号鍵が第三者によって容易に解読されやすくなる。このため、個人のパーソナルコンピュータ上の平文データが、第三者によって容易に閲覧されてしまうという課題を有していた。
【０００６】
一方、次世代に向けたマルチユーザ情報通信においては、秘匿性に優れ、妨害波や干渉波に対する排除能力が高いスペクトル拡散通信方式を用いた符号分割多重方式（ＣＤＭＡ：Code Division Multiple Access ）が主流となる。このスペクトル拡散通信方式では、疑似乱数を発生することが可能な疑似乱数発生器がキーデバイスとなる。真の物理雑音は再現性がないから、産業技術とはなりえない。そこで、人為的に再現でき、かつ、疑似乱数とみなせる２値系列を多種類発生可能な疑似乱数発生器の実現が望まれる。
【０００７】
疑似雑音は疑似乱数と同じ意味である。真の乱数は、たとえばコイン投げやサイコロ振りのように再現性がないから、やはり産業技術とはなり得ない。一方、予測不可能な数列でないと、十分なスクランブルや十分な拡散は実現し得ない。考え方の上で矛盾することを産業技術として実現していかねば、理想的な疑似乱数発生器を実現することはできない。
【０００８】
ここで、カオスは、あらゆる周波数の波を包含し、カオスと乱数は極めて近い関係にあることが知られている。したがって、カオスを周期時系列化することができれば、疑似乱数として利用可能であることがわかっている。このため、カオス系列の擬似乱数を発生する擬似乱数発生器を用いて、データを暗号化する暗号化処理が望まれていた。
【０００９】
本発明は、カオス系列の擬似乱数を発生する擬似乱数発生器を用いた暗号アルゴリズムを第三者に解読されにくくして、個人のパーソナルコンピュータ上のデータを第三者によって容易に閲覧されるのを防止することができる暗号キーを管理することができる暗号キー管理装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る暗号キー管理装置は、上記課題を解決するために、請求項１記載の発明は、外部装置に着脱自在に構成された暗号キーを管理する暗号キー管理装置であって、前記外部装置は、暗号キー毎に暗号キー番号とカオス関数の初期値とを対応付けて記憶した初期値テーブルと、前記暗号キーが前記外部装置に装着されたとき、当該暗号キーの番号に対応する前記初期値を前記初期値テーブルから読み出して前記暗号キーに送信する送信部とを備え、前記暗号キーは、前記外部装置からの前記初期値を記憶するメモリと、このメモリに記憶された前記初期値とデータのデータサイズとカオス関数とに基づいてカオス系列の擬似乱数を発生する擬似乱数発生器とを備えることを特徴とする。
【００１１】
請求項２記載の発明は、請求項１において、前記外部装置は、前記暗号キー毎に前記暗号キー番号と前記初期値とを入力する入力部と、この入力部で入力された前記暗号キー毎の前記暗号キー番号と前記初期値とを前記初期値テーブルに記憶させる記憶制御部とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明の請求項１記載の発明によれば、外部装置は、暗号キーが装着されたとき、当該暗号キーの番号に対応する初期値を初期値テーブルから読み出して暗号キーに送信し、暗号キーは、外部装置からの初期値をメモリに記憶し、メモリに記憶された初期値とデータのデータサイズとカオス関数とに基づいてカオス系列の擬似乱数を発生する。従って、外部装置から暗号キー毎に暗号キー内のメモリに暗号キーに対応した初期値を登録することができる。
【００１３】
本発明の請求項２記載の発明によれば、入力部が暗号キー毎に暗号キー番号と初期値とを入力すると、記憶制御部は、入力部で入力された暗号キー毎の暗号キー番号と初期値とを初期値テーブルに記憶させるので、作成された初期値テーブルにより、暗号キー毎に初期値を管理することができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明に係る暗号キー管理装置の実施の形態を図面を参照して詳細に説明する。なお、請求項１及び請求項２の発明に対応する発明の実施の形態は、〔実施例４〕に対応し、この実施例以外の実施例は参考であり、請求項１及び請求項２の発明に対応する発明の実施の形態ではない。
【実施例１】
【００１５】
図１は本発明に係る第１の実施の形態の暗号化装置を示す構成ブロック図である。図１に示す暗号化装置は、平文データを暗号鍵を用いて暗号化するパーソナルコンピュータ２（本発明の外部装置に対応）と、このパーソナルコンピュータ２に着脱自在に構成され且つＵＳＢ規格に適合したＵＳＢキー（本発明の暗号キーに対応）１とを有して構成されている。なお、外部装置としては、パーソナルコンピュータに代えて、携帯電話等の携帯端末であっても良い。
【００１６】
ＵＳＢキー１は、携帯可能で個人が所有し、このＵＳＢキー１にはキー突起部１０が形成され、このキー突起部１０がパーソナルコンピュータ２に形成されたコンピュータ溝部２０に挿入されることで、ＵＳＢキー１とパーソナルコンピュータ２とが電気的に接続され、両者間で相互にデータ通信が行えるようになっている。
【００１７】
ＵＳＢキー１は、パーソナルコンピュータ２との間でデータの入出力を司る入出力部１１、ＵＳＢコントローラ１２、メモリ１３、擬似乱数発生器１４を有して構成されている。
【００１８】
擬似乱数発生器１４は、平文データのデータサイズとカオス関数とこのカオス関数の初期値とに基づいてカオス系列の擬似乱数を発生する。このカオス系列の擬似乱数について説明する。乱数は不規則に発生し、カオスの時系列波形も不規則な振る舞いをする。このため、カオスの時系列波形を用いて、カオス系列の擬似乱数を発生させている。
【００１９】
カオスの時系列波形を生成し且つカオスの性質をもつ基本モデルである式の一つに、ロジスティック写像の式がある。このロジスティック写像の式は、式（１）に示すような漸化式で表される。
【００２０】
ｘ（ｔ＋１）＝４ｘ（ｔ）｛１−ｘ（ｔ）｝
ｘ（ｔ）＝ｘ（ｔ＋１）                          ・・・（１）
ここで、ｘ（ｔ）をｘ（ｔ＋１）に移していくので、写像と呼ぶ。ｔは離散時間であり、ｘ（ｔ）は前述したカオス関数に相当している。式（１）に初期値ｘ（０）を与え、離散時間ｔを０から一定時間Δｔ毎に（離散的）例えば１００まで変化させると、図２に示すようなロジスティック写像カオスの時系列波形、すなわち、タイムシリーズ｛ｘ（ｔ）−ｔ｝が得られる。図２において、一定時間Δｔ毎のｘ（ｔ）の値がプロットされている。
【００２１】
このロジスティック写像の式は、値が増加／減少を繰り返す時系列波形であり、初期値ｘ（０）のわずかな変化で時系列波形の様子が大きく変化する。すなわち、ロジスティック写像の式は、初期値ｘ（０）に敏感に依存する。このため、初期値ｘ（０）を変えることにより、複数種類のカオス系列の擬似乱数を発生させることができ、これによって、複数種類のＵＳＢキー１を作製できる。
【００２２】
また、ロジスティック写像の式は、入出力特性が非線形であり、非線形な振る舞いをする。さらに、ｘ（ｔ）は、同じ値を２度と取らず、不可逆性がある。このため、ｘ（ｔ）の値を単純に予測できないため、秘匿性を高くすることができる。
【００２３】
なお、擬似乱数発生器の具体的な回路構成については、後に詳細に説明するものとする。
【００２４】
メモリ１３は、前記カオス関数の初期値とキーを所有する個人のパスワードとを記憶している。ＵＳＢコントローラ１２（本発明の送受信制御部に対応）は、各部を制御し、ＵＳＢキー１がパーソナルコンピュータ２に装着されたとき、パーソナルコンピュータ２から平文データのデータサイズを受信し、擬似乱数発生器１４で発生したカオス系列の擬似乱数を暗号鍵としてパーソナルコンピュータ２に送信する。
【００２５】
パーソナルコンピュータ２は、ＵＳＢキー１が装着されたとき平文データのデータサイズをＵＳＢキー１に送信し、ＵＳＢキー１から送られてくるカオス系列の擬似乱数を暗号鍵として用いて平文データを暗号化する。パーソナルコンピュータ２は、ＵＳＢキー１との間でデータの入出力を司る入出力部２１、コントローラ２２、入力部３から入力された個人のパスワードや各種のデータ等を記憶するメモリ２３、排他的論理和回路（以下、ＸＯＲと略称する。）２４、送信部２５を有して構成されている。このパーソナルコンピュータ２には、平文データやその他の各種のデータ等を入力する入力部３及びデータを画面上に表示する表示部４が接続されている。
【００２６】
コントローラ２２は、ＵＳＢキー１が装着されたときに、ＵＳＢキー１から装着信号を受けて、平文データのバイト数（本発明のデータサイズに対応）をＵＳＢキー１に送信し、ＵＳＢキー１から疑似乱数発生器１４で得られた擬似乱数を受信する。また、コントローラ２２は、入力部３から入力されたパスワードとＵＳＢキー１に記憶されたパスワードとを照合し、両方のパスワードが一致したときに暗号化処理を許可するようになっている。ＸＯＲ２４は、コントローラ２２からの擬似乱数と平文データとの排他的論理和演算を実行することにより暗号化を行い、得られた暗号データを送信部２５に出力する。
【００２７】
次に、このように構成された暗号キーを含む暗号化装置の動作を図１乃至図４を参照して詳細に説明する。図３は擬似乱数を鍵として用いた暗号化の具体例を説明する図である。図４は送信側における暗号化処理を説明するシーケンス図である。
【００２８】
まず、ＵＳＢキー１をパーソナルコンピュータ２に装着し（ステップＳ１）、パーソナルコンピュータ２を起動させる（ステップＳ２）。そして、入力部３からユーザのパスワードを入力する（ステップＳ３）。
【００２９】
次に、パーソナルコンピュータ２は、ＵＳＢキー１に対してパスワードの要求を行う（ｄ１）。ＵＳＢキー１では、パスワードの要求に応答して、ＵＳＢコントローラ１２がメモリ１３からパスワードを読み出し、そのパスワードをパーソナルコンピュータ２に送信する（ｄ２）。
【００３０】
次に、パーソナルコンピュータ２内のコントローラ２２は、入力部３から入力されたパスワードがＵＳＢキー１に記憶されたパスワードと一致したかどうかを判定する（ステップＳ５）。両方のパスワードが一致しないときには、暗号化処理を行わず、両方のパスワードが一致したときには、暗号化処理を許可し、ＵＳＢキー１へ平文データのバイト数を送信する（ｄ３）。
【００３１】
ＵＳＢキー１では、擬似乱数発生器１４が、受信した平文データのバイト数とカオス関数とこのカオス関数の初期値とに基づいてカオス系列の擬似乱数を発生する（ステップＳ７）。そして、ＵＳＢコントローラ１２は、疑似乱数発生器１４で得られたカオス系列の擬似乱数をパーソナルコンピュータ２に送信する（ｄ４）。
【００３２】
パーソナルコンピュータ２では、ＸＯＲ２４が、コントローラ２２からの擬似乱数と平文データとの排他的論理和演算を実行することにより暗号化を行い、得られた暗号データを送信部２５に出力する（ステップＳ８）。例えば、図３に示すように、平文データを「０１１００１」とし、暗号鍵としての擬似乱数を「１００１００」とし、両方のＸＯＲをとれば、暗号データとして「１１１１０１」が得られる。送信部２５は、ＸＯＲ２４からの暗号データを外部に送信する。また、暗号データをメモリ２３に保存する。
【００３３】
このように、第１の実施の形態の暗号化装置によれば、パーソナルコンピュータ２とは別体であるＵＳＢキー１内に擬似乱数発生器１４を設け、暗号化を行う場合のみ、ＵＳＢキー１をパーソナルコンピュータ２に装着して、ＵＳＢキー１からカオス系列の擬似乱数をパーソナルコンピュータ２に送信する。すなわち、パーソナルコンピュータ２内に擬似乱数発生器１４（暗号アルゴリズム）を常駐せずにＵＳＢキー本体に内蔵されているので、暗号鍵としてのカオス系列の擬似乱数を第三者に解読されにくくなる。これにより、個人のパーソナルコンピュータ上のデータを、第三者によって閲覧されることを防止することができる。
【００３４】
また、使用時に、ＵＳＢキー１をパーソナルコンピュータ２に挿入するだけで、文書や画像などの様々な形式のファイルを暗号化することができる。さらに、相手先もＵＳＢキー１を所持していれば、暗号データによる秘密の暗号メールを相手先に送信することができる。
【００３５】
また、パーソナルコンピュータ２に擬似乱数発生器１４を設けていないので、パーソナルコンピュータ２の処理負担を軽減できる。
【００３６】
さらに、ＵＳＢキー１側のパスワードとパーソナルコンピュータ２側のパスワードとが一致しなければ、暗号化処理が行えないため、秘匿性をさらに向上することができる。
【００３７】
また、初期値ｘ（０）を変えることにより、複数種類のカオス系列の擬似乱数を発生させることができるため、複数種類のＵＳＢキー１を作製でき、これによって、複数グループでの利用が可能となる。
【００３８】
また、カオス系列の擬似乱数を高速に発生させることができるので、本方式は、従来の一般的な暗号方式であるＤＥＳ（Data  Encryption  Standard）方式に比べて、暗号処理速度が約８０倍となる。
【実施例２】
【００３９】
次に、本発明に係る第２の実施の形態の暗号化復号化装置を詳細に説明する。この暗号化復号化装置は、送信側で平文データを暗号化して受信側に送信し、受信側で受信した暗号データを復号化することにより元の平文データを得ることを特徴とする。
【００４０】
図５は本発明に係る第２の実施の形態の暗号化復号化装置を示す構成ブロック図である。暗号化復号化装置は、図５に示すように、送信側のパーソナルコンピュータ２ａ、このパーソナルコンピュータ２ａに装着されたＵＳＢキー１ａ、受信側のパーソナルコンピュータ２ｂ、このパーソナルコンピュータ２ｂに装着されたＵＳＢキー１ｂ、両方のパーソナルコンピュータ２ａ，２ｂ間で相互にデータ通信を行うためのインターネット５を有して構成されている。
【００４１】
送信側のＵＳＢキー１ａは、図１に示すＵＳＢキー１と同一構成及び同一機能を有し、パーソナルコンピュータ２ａに着脱自在に構成され、入出力部１１ａ、ＵＳＢコントローラ１２ａ、メモリ１３ａ、擬似乱数発生器１４ａを有して構成されている。送信側のパーソナルコンピュータ２ａは、図１に示すパーソナルコンピュータ２と同一構成及び同一機能を有し、入出力部２１ａ、コントローラ２２ａ、メモリ２３ａ、ＸＯＲ２４ａ、送信部２５ａを有して構成され、入力部３ａ及び表示部４ａが接続されている。
【００４２】
受信側のＵＳＢキー１ｂは、ＵＳＢキー１ａと同一構成及び同一機能を有し、パーソナルコンピュータ２ｂに着脱自在に構成され、入出力部１１ｂ、ＵＳＢコントローラ１２ｂ、メモリ１３ｂ、擬似乱数発生器１４ｂを有して構成されている。メモリ１３ｂは、キーを所有する個人のパスワードと前記送信側の擬似乱数発生器１４ａで発生するカオス関数ｘ（ｔ）の初期値ｘ（０）と同一値を有する初期値とを記憶している。ＵＳＢコントローラ１２ｂは、各部を制御し、ＵＳＢキー２ｂがパーソナルコンピュータ２ｂに装着されたとき、パーソナルコンピュータ２ｂから暗号データのデータサイズを受信し、擬似乱数発生器１４ｂで発生したカオス系列の擬似乱数を暗号鍵としてパーソナルコンピュータ２ｂに送信する。
【００４３】
受信側のパーソナルコンピュータ２ｂは、パーソナルコンピュータ２ａと略同一構成及び同一機能を有し、ＵＳＢキー１ｂが装着されたとき暗号データのデータサイズをＵＳＢキー１ｂに送信し、ＵＳＢキー１ｂから送られてくるカオス系列の擬似乱数を暗号鍵として用いて暗号データを復号化する。パーソナルコンピュータ２ｂは、入出力部２１ｂ、コントローラ２２ｂ、メモリ２３ｂ、ＸＯＲ２４ｂ、受信部２５ｂを有して構成され、入力部３ｂ及び表示部４ｂが接続されている。
【００４４】
受信部２５ｂは、インターネット５を介して送信側から暗号データを受信し、受信した暗号データをコントローラ２２ｂ及びＸＯＲ２４ｂに送る。コントローラ２２ｂは、ＵＳＢキー１ｂが装着されたときに、ＵＳＢキー１ｂから装着信号を受けて、暗号データのバイト数をＵＳＢキー１ｂに送信し、ＵＳＢキー１ｂから疑似乱数発生器１４ｂで得られたカオス系列の擬似乱数を受信する。また、コントローラ２２ｂは、入力部３ｂから入力されたパスワードとＵＳＢキー１ｂに記憶されたパスワードとを照合し、両方のパスワードが一致したときに復号化処理を許可するようになっている。ＸＯＲ２４ｂは、コントローラ２２ｂからのカオス系列の擬似乱数と平文データとの排他的論理和演算を実行することにより復号化を行い、復号データである平文データを得る。
【００４５】
次に、このように構成された暗号化復号化装置の動作を説明する。図６は擬似乱数を鍵として用いた暗号化及び復号化の具体例を説明する図である。図７は受信側における復号化処理を説明するシーケンス図である。
【００４６】
なお、送信側であるパーソナルコンピュータ２ａとＵＳＢキー１ａとによる暗号化処理は、図４に示すシーケンス図における各処理と同一であるので、ここでは、その説明は省略し、受信側であるパーソナルコンピュータ２ｂとＵＳＢキー１ｂとによる復号化処理のみを説明するものとする。
【００４７】
まず、暗号データは、インターネット５を介して受信側のパーソナルコンピュータ２ｂに送信される。
【００４８】
一方、受信側において、ＵＳＢキー１ｂをパーソナルコンピュータ２ｂに装着し（ステップＳ１１）、パーソナルコンピュータ２ｂを起動させる（ステップＳ１２）。そして、入力部３ｂからユーザのパスワードを入力する（ステップＳ１３）。
【００４９】
次に、パーソナルコンピュータ２ｂは、ＵＳＢキー１ｂに対してパスワードの要求を行う（ｄ１１）。ＵＳＢキー１ｂでは、パスワードの要求に応答して、ＵＳＢコントローラ１２ｂがメモリ１３ｂからパスワードを読み出し、そのパスワードをパーソナルコンピュータ２ｂに送信する（ｄ１２）。
【００５０】
次に、パーソナルコンピュータ２ｂ内のコントローラ２２ｂは、入力部３ｂから入力されたパスワードがＵＳＢキー１ｂに記憶されたパスワードと一致したかどうかを判定する（ステップＳ１５）。両方のパスワードが一致しないときには、復号化処理を行わず、両方のパスワードが一致したときには、復号化処理を許可し、ＵＳＢキー１ｂへ暗号データのバイト数を送信する（ｄ１３）。
【００５１】
ＵＳＢキー１ｂでは、擬似乱数発生器１４ｂが、受信した暗号データのバイト数とカオス関数とこのカオス関数の初期値とに基づいてカオス系列の擬似乱数を発生する（ステップＳ１７）。そして、ＵＳＢコントローラ１２ｂは、疑似乱数発生器１４ｂで得られた擬似乱数をパーソナルコンピュータ２ｂに送信する（ｄ１４）。
【００５２】
パーソナルコンピュータ２ｂでは、ＸＯＲ２４ｂが、コントローラ２２ｂからの擬似乱数と暗号データとの排他的論理和演算を実行することにより復号化を行い、復号データである平文データを得る（ステップＳ１８）。例えば、図６に示すように、暗号データを「１１１１０１」とし、暗号鍵としての擬似乱数を「１００１００」とし、両方のＸＯＲをとれば、復号データとして「０１１００１」が得られ、この復号データは、平文データと同一値となる。
【００５３】
このように、第２の実施の形態の暗号化復号化装置によれば、ＵＳＢキー１ａ及びパーソナルコンピュータ２ａとが暗号化装置を構成するので、第１の実施の形態の暗号化装置の効果と同様な効果が得られる。
【００５４】
また、パーソナルコンピュータ２ｂとは別体であるＵＳＢキー１ｂ内に擬似乱数発生器１４ｂを設け、復号化を行う場合のみ、ＵＳＢキー１ｂをパーソナルコンピュータ２ｂに装着して、ＵＳＢキー１ｂから擬似乱数をパーソナルコンピュータ２ｂに送信する。すなわち、パーソナルコンピュータ２ｂ内に擬似乱数発生器１４ｂを常駐せずにＵＳＢキー本体に内蔵されているので、暗号鍵としてのカオス系列の擬似乱数を第三者に解読されにくくなる。また、ＵＳＢキー１ｂがなければ、データからなるファイルを見ることができないため、秘匿性を高くすることができる。
【００５５】
この場合、送信側の暗号化用の疑似乱数発生器１４ａと受信側の復号化用の擬似乱数発生器１４ｂとの各々に対して、同一の初期値ｘ（０）を与えたので、暗号化用の擬似乱数と復号化用の擬似乱数とが同一に維持される。また、ある平文データと擬似乱数との排他的論理和をとることで得られた暗号データに対して、同一の擬似乱数との間で排他的論理和をとると、元の平文データに戻るといった排他的論理和演算の性質を利用して、暗号データを送受信側相互間で同期をとって復号化することができ、これによって、必要な平文データを相手先に正確に伝達することができる。
【００５６】
また、パーソナルコンピュータ２ｂに擬似乱数発生器１４ｂを設けていないので、パーソナルコンピュータ２ｂの処理負担を軽減できる。
【００５７】
さらに、ＵＳＢキー１ｂ側のパスワードとパーソナルコンピュータ２ｂ側のパスワードとが一致しなければ、復号化処理が行えないため、秘匿性をさらに向上することができる。
【００５８】
また、初期値ｘ（０）を変えることにより、複数種類のカオス系列の擬似乱数を発生させることができるため、複数種類のＵＳＢキー１を作製でき、これによって、複数グループでの利用が可能となる。
【００５９】
次に、図８のシーケンス図を参照しながら、送信側及び受信側のそれぞれに設けられたＵＳＢキー及びパーソナルコンピュータ相互間の通信処理を詳細に説明する。
【００６０】
まず、パーソナルコンピュータ２が、ＵＳＢキー１に対して、準備確認要求を行うと（ｄ２１）、ＵＳＢキー１は、自己の状態を判定し（ステップＳ２１）、その判定結果として、ＡＣＫ（準備ＯＫ）又はＮＡＫ（他の処理中又はＮＧ）又はＳＴＡＬＬ（何らかのエラー）を、パーソナルコンピュータ２に返す（ｄ２２）。
【００６１】
次に、パーソナルコンピュータ２は、ＵＳＢキー１の判定結果を受信し、受信結果がＡＣＫかＮＡＫかＳＴＡＬＬかのいずれかを判定する（ステップＳ２２）。受信結果がＮＡＫの場合にはｄ２１に戻り、ＳＴＡＬＬの場合にはエラーメッセージを表示し（ステップＳ２３）、ＡＣＫの場合には、ＵＳＢキー１に対して、鍵情報（データサイズ）を送信するとともに、擬似乱数（ＰＮ符号）生成要求を行う（ｄ２３）。
【００６２】
一方、ＵＳＢキー１では、擬似乱数発生器１４が鍵情報のデータサイズとカオス関数とこのカオス関数の初期値とに基づいてカオス系列のＰＮ符号列を生成する（ステップＳ２４）。そして、ＵＳＢキー１は、ＰＮ符号列の生成状態によって、ＤＡＴＡ０／１（「０」と「１」とからなるＰＮ符号列データ）又はＮＡＫ（ＰＮ符号列生成中）又はＳＴＡＬＬ（何らかのエラー）を、パーソナルコンピュータ２に返す（ｄ２４）。
【００６３】
次に、パーソナルコンピュータ２は、ＵＳＢキー１の判定結果を受信し、受信結果がＤＡＴＡ０／１かＮＡＫかＳＴＡＬＬかのいずれかを判定する（ステップＳ２５）。受信結果がＮＡＫの場合にはｄ２３に戻り、ＳＴＡＬＬの場合にはエラーメッセージを表示し（ステップＳ２６）、ＤＡＴＡ０／１の場合には、ＵＳＢキー１に対して、ＰＮ符号列受信完了通知要求を行う（ｄ２５）。
【００６４】
ＵＳＢキー１では、ＰＮ符号列生成終了を確認し（ステップＳ２７）、生成状態によって、ＡＣＫ（終了確認）又はＮＡＫ（何らかの処理中）又はＳＴＡＬＬ（何らかのエラー）を、パーソナルコンピュータ２に返す（ｄ２６）。
【００６５】
次に、パーソナルコンピュータ２は、ＵＳＢキー１の判定結果を受信し、受信結果がＡＣＫかＮＡＫかＳＴＡＬＬかのいずれかを判定する（ステップＳ２８）。受信結果がＮＡＫの場合にはｄ２５に戻り、ＳＴＡＬＬの場合にはエラーメッセージを表示し（ステップＳ２９）、ＡＣＫの場合には、次の命令があるまで待機、すなわちアイドル状態となる（ステップＳ３０）。
【００６６】
このように、パーソナルコンピュータ２にＵＳＢキー１を装着することで、暗号化及び復号化時においてＵＳＢポートの通信が行える。
【００６７】
（擬似乱数発生器）
次に、前述した擬似乱数発生器１４の具体的な回路構成について説明する。図９は疑似乱数発生器の概略構成ブロック図である。図９に示すように、疑似乱数発生器１４は、非線形入出力特性をもちカオス関数を発生させるための一対の１入力１出力態様の一次元写像回路４３，５１、外部クロックに同期して各一次元写像回路４３，５１における出力側経路の開閉動作を交互に行う一対のＣＭＯＳスイッチ４５，５３、各一次元写像回路４３，５１のアナログ出力を各ＣＭＯＳスイッチ４５，５３を通じて相互にたすきがけ状に各一次元写像回路４３，５１の入力側にフィードバックする一対のフィードバックループ４７，５５を含んで構成されるカオス発生ループ６３と、各ＣＭＯＳスイッチ４５，５３を通じて各々取り出された各一次元写像回路４３，５１のアナログ出力をそれぞれディジタル変換する一対のＡＤ変換器４９，５７と、ディジタル信号態様で与えられる初期値ｘ（０）をアナログ変換するＤＡ変換器６５と、外部クロックに同期してＤＡ変換器６５における出力側経路の開閉動作を行うＣＭＯＳスイッチ６７とを含んで構成されている。
【００６８】
疑似乱数発生器１４は、カオス発生ループ６３において外部クロックが刻む離散時間ｔ（０，１，２，…）の経過に従って、各一次元写像回路４３，５１が交互に写像を繰り返すことにより、各ＡＤ変換器４９，５７を各々通じてカオス系列たる２値系列を出力する。
【００６９】
図９に示す疑似乱数発生器１４を集積回路化した回路図を図１０に示す。なお、図９と図１０とは相互に対応するように描かれており、両図面で共通する部材間には共通の符号が付してある。この図１０を参照しながら、図９に示す擬似乱数発生器１４の各ブロック毎の内部構成に言及する。
【００７０】
略Ｎ字形の入出力特性をもつ各一次元写像回路４３，５１は、６個のＭＯＳ型トランジスタを含んで構成されている。図１０には、各トランジスタのチャネル寸法比Ｗ／Ｌ（ただし、Ｗは幅、Ｌは長さを表す。）が重みとして数字で示されている。初段のＣＭＯＳインバータは増加関数を与え、２段目のＣＭＯＳインバータは減少関数を与える。両ＣＭＯＳインバータの入出力を共通にすることで関数合成を行い、結果として略Ｎ字形の入出力特性を得る。
【００７１】
３段目のＣＭＯＳインバータは、外部調整電圧７１，７３を受けて、一次元写像回路４３，５１がもつ入出力特性に歪みを与えている。外部調整電圧７１，７３の電圧値は共通であっても良く、また、相互に異なる電圧値であっても良い。さらには、外部調整電圧７１，７３のうち少なくともいずれか一方を省略しても良い。
【００７２】
入力端子７１，７３に与えられる外部調整電圧は、コンピュータで予め設定したディジタルコードをＤＡ変換器によってアナログ電圧に変換して与えても良い。その場合、外部調整電圧の値はＤＡ変換器の量子化分解能に応じてステップ状に変化する。
【００７３】
ＣＭＯＳスイッチ４５，５３，６７は、ＰＭＯＳトランジスタとＮＭＯＳトランジスタを並列に接続した伝送ゲートにＣＭＯＳインバータを組み合わせて構成する。入力端子７５，７７，７９に与えられる制御信号に応じてＣＭＯＳスイッチの開閉が行われる。
【００７４】
入力端子７５には初期値を与えるリセットパルスが加えられ、初期値ｘ（０）の値はＤＡ変換器６５を通じて与えられる。すなわち、離散時間ｔ＝０におけるループの内部状態の初期値ｘ（０）は、ＣＭＯＳスイッチ６７を介してＤＡ変換器６５を通じて一次元写像回路５１に対して与えられる。例えば、１２ビットの量子化分解能をもつＤＡ変換器６５を採用したシステムにおいては、与えうる初期値ｘ（０）の種類は２１２＝４０９６通りにも及ぶ。
【００７５】
入力端子７７，７９に与える外部クロック（離散時間ｔ）は、相互に重なることのない矩形波とする。このときの最大クロック周波数が、本疑似乱数発生器の処理速度を律する。この処理速度は、一次元写像回路の内部状態決定速度に依存して決まる。個別部品でプリント基板上にブレッドボードしたとき、クロック周波数を２０ｋＨｚまであげることができた。本一次元写像回路は、標準的なＣＭＯＳ集積回路技術を用いた集積回路としてチップ化することを目標に掲げているが、最小寸法＝０．８マイクロｍを想定して試作したとき、１ＭＨｚのクロック周波数では動作することが模擬実験により確認されている。
【００７６】
１ビット出力のＡＤ変換器４９，５７は、一次元写像回路４３，５１の各出力を、外部クロックに同期して各自が交互に開閉するＣＭＯＳスイッチ４５，５３をそれぞれ介して入力し、入力レベルに応じた２値符号列をそれぞれ出力する。
【００７７】
詳しく述べると、ＡＤ変換器４９，５７は、一対の各抵抗ｒＡ，ｒＢでの分圧によって得られた基準電圧と、各一次元写像回路４３，５１の出力電圧と、を比較器によってそれぞれ比較し、両者の大小関係に応じた「０」又は「１」の信号を変換出力する。出力端子５９，６１からは、外部クロック（離散時間ｔ）の進行に従って、２値コード時系列データが交互に取り出される。取り出される２値コード時系列データは、「０」と「１」が混ぜ合わされた乱数的な配列データであり、各一次元写像回路４３，５１がもつ入出力特性の対称性が良好に保たれているときには、「０」と「１」の出現頻度はほぼ等しくなる。このとき、孤立した「０」または「１」は、「００」，「１１」といった連続した値の２倍の頻度で出現する。こうして各出力端子５９，６１から交互に取り出された両２値コード時系列を、統合的な時系列に従って配列させた２値コード時系列を得ることにより、カオス系列の疑似乱数を発生させることができる。
【００７８】
カオスの視点で世界を眺めてみたとき、その世界にはふたつと同じものは存在しない。また、一つの一次元写像回路がもつ個々の入出力特性に注目したとき、その対称性を完全に保つことはかなり難しい。さらに、一対の各一次元写像回路４３，５１がもつ個々の入出力特性を各相互間で完全に一致させることもかなり難しい。しかも、ＡＤ変換器４９，５７が同一の量子化を行っているという保証もない。こうした種々の疑念を払拭するには、ハードウェア化によって同一の集積回路を工業的大量生産過程を通じて量産可能となるといった意味で、疑似乱数発生器のハードウェア化がきわめて有効であると言える。
【００７９】
カオスの産業技術において、初期値敏感性の保持はきわめて重要な要素である。本発明において初期値敏感性はＤＡ変換器６５を通じて与えられる。すなわち、相互に異なる初期値を出発点とする一対の２値コード時系列出力５９，６１相互間では、両者をどのように位相を変えて重ね合わせてみても、相互に重なり合うことはなく、自己相関、相互相関ともに十分に小さい時系列が得られる。
【００８０】
いま、出力端子５９，６１から交互に取り出された値を時系列的に配列させた２値コード時系列をＹ（ｔ）としよう。このなかから周期系列を切り出してＰＮ信号とするためには、例えば周期６４ビットの２値系列ＰＮ信号の場合、Ｙ（０）〜Ｙ（６３）、Ｙ（６４）〜Ｙ（１２７）、…の如く切り取るのは一例に過ぎない。ｔ＝２16＝６５５３６までカオスの内部状態を観察していたとすると、１０２４通りの周期６４ビットの２値系列ＰＮ信号が得られる。初期値を与えるＤＡ変換器６５の量子化分解能を１２ビットとしたとき、初期値は２12＝４０９６通りに与えることができ、このとき得られるＰＮ信号の種類は４，１９４，３０４通りにも及ぶ。
【００８１】
しかし、こうして取り出されたＰＮ信号の全種類が独立して使用できるという保証はない。ＰＮ信号たるカオス符号系列が発揮する予測不可能性は、一次元写像回路がもつ個々の入出力特性や、与える初期値などのパラメータに大きく依存するからである。従って、こうして取り出されたＰＮ信号について、自己相関及び相互相関を位相を変えて調べて、周期以外で十分に相関度が小さいことを検証しておく必要がある。
【００８２】
上述した疑似乱数発生器１４において、各一次元写像回路４３，５１がもつ個々の入出力特性の対称性は、各出力端子５９，６１から取り出される２値時系列における「０」と「１」の出力分布に直接影響を与える。一般に、理想的な疑似乱数の場合には、「０」と「１」の出力分布比率は均等になる。そのように疑似乱数発生器１４を動作させたいときには、一次元写像回路４３，５１の両者がともに等しい入出力特性をもち、かつ、対称性を良好に保つことを考慮して、一次元写像回路４３，５１を設計すれば良い。
【００８３】
しかし、産業技術としての疑似乱数発生器は、必ずしも「０」と「１」の出力分布比率が均等になることを要求しない。位相をシフトしていったときの自己相関及び相互相関が充分に小さいという必要条件させ満足していれば、ストリーム暗号の暗号文コードにおいて「０」と「１」の出力分布比率に偏りがあったとしても、暗号の秘匿性の観点からは不都合が生じないからである。特に、その対称性をあえて損なうように設計した場合には、対称性が良好に保たれていることを前提として第三者による暗号文コードの解読が試みられたとき、その解読は必ずや失敗に終わるという意味で、却って暗号システムの頑健性が強化されているという立場を採ることもできる。
【００８４】
各一次元写像回路４３，５１がもつ個々の入出力特性を等価にする必然性もない。各一次元写像回路４３，５１は、各自の構成要素たる各トランジスタに与える重みを意識的に異ならせるようにして与えることによって実現することができる。また、各回路４３，５１がもつ個々の入出力特性を等価に設計した場合でも、相互に異なる外部調整電圧を各回路４３，５１毎に独立して与えることにより、各自がもつ入出力特性の等価性を崩すことができる。さらに、写像のダイナミックレンジを拡げることを企図して、相互に歪んだ入出力特性を組み合わせるように設計しても良い。
【００８５】
以上述べてきた疑似乱数発生器１４において、ＤＡ変換器とクロック発生器をワンチップ化対象に含めない前提下では、図１０に示すように、十分小規模の集積回路をワンチップ化した疑似乱数発生器を実現することができる。疑似乱数発生器１４の主要部である一対の一次元写像回路４３，５１を含むカオス発生ループ６３がアナログ回路で構成されるのに対し、ＤＡ変換器とクロック発生器はディジタル回路で構成できるので、これら全てを含めた集積回路をワンチップ化することも容易であろう。
【００８６】
ＣＭＯＳ集積回路は一般にはエンハンスメントモードで設計実現されるが、疑似乱数発生器１４に含まれる一次元写像回路４３，５１の構成要素である初段のＣＭＯＳソースフォロアはディプレッションモードで設計実現するのが好ましい。このようにすれば、ＭＯＳトランジスタの重みを小さく設計することができ、バランスのとれた一次元写像回路のマスク設計を実現することができる。
【００８７】
一次元写像回路４３，５１がもつ入出力特性の対称性と、一対の各一次元写像回路４３，５１がもつ入出力特性相互間の一致または不一致具合とを含むパラメータが、カオスに特有の初期値敏感性とあいまって、得られる２値系列の「０」と「１」の出現バランスを微妙に狂わせる。こうしたパラメータの変動に由来するカオスに特有のゆれ現象は、カオス・ストリーム暗号の頑健性向上に寄与できる。
【実施例３】
【００８８】
次に、本発明に係る第３の実施の形態の暗号キー管理装置を詳細に説明する。図１１は本発明に係る第３の実施の形態の暗号キー管理装置を示す構成ブロック図である。図１１に示す暗号キー管理装置は、パーソナルコンピュータ２ｃに着脱自在に構成されたＵＳＢキー１ｃを管理するもので、パーソナルコンピュータ２ｃからＵＳＢキー１ｃ内のメモリ１３ｃのプログラムを書換可能としたことを特徴とする。
【００８９】
図１１において、ＵＳＢキー１ｃは、入出力部１１、ＵＳＢコントローラ１２ｃ、メモリ１３ｃ、擬似乱数発生器１４を有して構成されている。メモリ１３ｃは、電源をオフしても情報が消去されず、書き込みや消去が可能なＥＥＰＲＯＭ、即ち、フラッシュメモリである。メモリ１３ｃは、図１２に示すように、アドレス（0000）からアプリケーションプログラムを記憶するためのアプリケーションプログラム領域ＡＥ１と初期値とアプリケーションプログラムの利用許否のためのアプリケーションパスワードＰＷ１とアプリケーションプログラム領域ＡＥ１のアプリケーションプログラムの更新（以下、アップデートという。）の許否を表すためのアップデートパスワードＰＷ２とアドレス（F800）からアドレス（FFFF）までの領域に所定長単位（例えば１２８バイト）でアップデートプログラムを記憶するためのプログラムアップデート領域ＡＥ２とを有している。
【００９０】
パーソナルコンピュータ２ｃは、入出力部２１、コントローラ２２ｃ、メモリ２３ｃ、ＸＯＲ２４、送信部２５を有して構成され、入力部３及び表示部４が接続されている。なお、パーソナルコンピュータとしては、暗号データを生成するパーソナルコンピュータ２ｃを例示したが、これに代えて、暗号データを復号化する例えば図５に示すパーソナルコンピュータ２ｂであっても良い。
【００９１】
メモリ２３ｃは、ＵＳＢキー１ｃのメモリ１ｃを管理するための管理プログラム８１とアップデートプログラム８２とを有している。コントローラ２２ｃは、ＵＳＢキー１ｃのメモリ１３ｃ内のアプリケーションプログラム領域のアプリケーションプログラムを更新するとき、デリートコマンドをＵＳＢキー１ｃに送出してアップデートパスワードを消去させ、アップデータパスワードを消去した後、アップデートプログラムを所定長単位でＵＳＢキー１ｃに送信する。
【００９２】
ＵＳＢキー１ｃ内のＵＳＢコントローラ１２ｃは、アップデートパスワードの消去によりアップデートモードとなり、パーソナルコンピュータ２ｃからのアップデートプログラムを所定長単位でプログラムアップデート領域に記憶させた後、該プログラムアップデート領域に記憶されたアップデートプログラムを所定長単位でアプリケーションプログラム領域に移行させる。
【００９３】
次に、図１３を参照して、第３の実施の形態の暗号キー管理装置のパーソナルコンピュータからＵＳＢキー内のメモリのプログラムを書き換える処理を説明する。
【００９４】
まず、ＵＳＢキー１ｃをパーソナルコンピュータ２ｃに装着し（ステップＳ３１）、パーソナルコンピュータ２ｃは、ＵＳＢキー１ｃのメモリ内のアプリケーションプログラム領域のアプリケーションプログラムをアップデートするとき、管理プログラム８１を起動する（ステップＳ３２）。そして、アップデートパスワードを消去するためのデリートコマンドをＵＳＢキー１ｃに送信する（ｄ３１）。さらに、パーソナルコンピュータ２ｃは、アップデートプログラムを起動する（ステップＳ３３）。
【００９５】
一方、ＵＳＢキー１ｃでは、ＵＳＢコントローラ１２ｃが、受信したデリートコマンドにより、メモリ１３ｃ内のアップデートパスワードを削除して（ステップＳ３４）、アップデートモードになる（ステップＳ３５）。そして、アップデートモード情報をパーソナルコンピュータ２ｃに送信する（ｄ３２）。
【００９６】
パーソナルコンピュータ２ｃは、受信したアップデートモード情報により、アップデートモードと認識し（ステップＳ３６）、ＵＳＢキー１ｃに書換指令を送信した後（ｄ３３）、アップデートプログラムのデータを所定バイト単位でＵＳＢキー１ｃに送信する（ｄ３４）。
【００９７】
一方、ＵＳＢキー１ｃでは、ＵＳＢコントローラ１２ｃが、受信した書換指令により、パーソナルコンピュータ２ｃからのアップデートプログラムを所定バイト単位でプログラムアップデート領域に書き込む。このとき、アップデートプログラムには、アップデートパスワードも含まれているので、メモリ１３ｃにアップデータパスワードも書き込まれる（ステップＳ３７）。
【００９８】
さらに、ＵＳＢコントローラ１２ｃは、プログラムアップデート領域に記憶されたアップデートプログラムを所定バイト単位でアプリケーションプログラム領域に移行する（ステップＳ３８）。
【００９９】
従って、パーソナルコンピュータ２ｃからＵＳＢキー１ｃのメモリ内のアプリケーションプログラムを容易に書き換えることができる。また、アップデートパスワードの有無により、アプリケーションプログラムの書き換えを行っているので、特定の者のみがアプリケーションプログラムを書き換えできる。
【０１００】
以上では、アプリケーションプログラムの書き換え処理のみを説明したが、図１４を参照して、ＵＳＢキー内のメモリのアプリケーションプログラムの起動またはアップデートプログラムの起動を説明する。
【０１０１】
まず、ＵＳＢキー１ｃのＵＳＢコントローラ１２ｃは、電源をオンしたときに（ステップＳ４１）、メモリ１３ｃにアップデートパスワードがあるかどうかを判定し（ステップＳ４２）、アップデートパスワードがあるときには、アプリケーションプログラム領域のアプリケーションプログラムを起動し、記憶エリアであるアドレス（0000）から処理を実行する（ステップＳ４３）。即ち、アプリケーションプログラムを起動して通常処理を行うことができる。
【０１０２】
一方、アップデートパスワードがないときには、記憶エリアであるアドレス（F800）へジャンプし（ステップＳ４４）、プログラムアップデート領域のアップデートプログラムを起動し、アドレス（F800）から処理を実行する（ステップＳ４５）。即ち、アップデートプログラムを起動してアップデート処理を行うことができる。
【実施例４】
【０１０３】
次に、本発明に係る第４の実施の形態の暗号キー管理装置を詳細に説明する。図１５は本発明に係る第４の実施の形態の暗号キー管理装置を示す構成ブロック図である。図１５に示す暗号キー管理装置は、パーソナルコンピュータ２ｄに着脱自在に構成されたＵＳＢキー１ｄを管理するもので、パーソナルコンピュータ２ｄからＵＳＢキー１ｄ内のメモリ１３ｄにカオス関数の初期値を登録可能としたことを特徴とする。
【０１０４】
図１５において、ＵＳＢキー１ｄは、入出力部１１、ＵＳＢコントローラ１２ｄ、メモリ１３ｄ、擬似乱数発生器１４を有して構成されている。
【０１０５】
パーソナルコンピュータ２ｄは、入出力部２１、コントローラ２２ｄ、メモリ２３ｄを有して構成され、入力部３及び表示部４が接続されている。入力部３は、ＵＳＢキー１ｄ毎にＵＳＢキーの製品番号と初期値とを入力する。コントローラ２２ｄは、入力部３で入力されたＵＳＢキー１ｄ毎のＵＳＢキーの製品番号と初期値とを初期値テーブル８３に記憶させる。
【０１０６】
メモリ２３ｄは、図１６に示すように、ＵＳＢキー１ｄ毎にＵＳＢキーの製品番号とカオス関数の初期値（キーＩＤ）とを対応付けて記憶した初期値テーブル８３を有している。コントローラ２２ｄは、ＵＳＢキー１ｄが装着されたとき、当該ＵＳＢキー１ｄの製品番号に対応する初期値を初期値テーブル８３から読み出してＵＳＢキー１ｄに送信する。ＵＳＢキー１ｄのＵＳＢコントローラ１２ｄは、パーソナルコンピュータ２ｄから送られてくる初期値をメモリ１３ｄに記憶させる。
【０１０７】
次に、図１７を参照して、第４の実施の形態の暗号キー管理装置のパーソナルコンピュータによる初期値テーブルの作成処理を説明する。
【０１０８】
まず、ＵＳＢキー１ｄの製品番号が入力されたかどうかを判定し（ステップＳ５１）、ＵＳＢキー１ｄの製品番号が入力された場合には、ＵＳＢキー１ｄの製品番号を初期値テーブル８３に記憶させる（ステップＳ５２）。
【０１０９】
次に、初期値が入力されたかどうかを判定し（ステップＳ５３）、初期値が入力された場合には、その初期値を初期値テーブル８３に記憶させる（ステップＳ５４）。
【０１１０】
次に、全てのＵＳＢキー１ｄについて記憶処理が終了したかどうかを判定し（ステップＳ５５）、全てのＵＳＢキー１ｄについて記憶処理が終了していない場合には、ステップＳ５１に戻り、処理を繰り返し実行する。このような処理により、図１６に示すような初期値テーブル８３を作成でき、作成された初期値テーブル８３により、ＵＳＢキー１ｄ毎に初期値を管理することができる。
【０１１１】
次に、図１８を参照して、第４の実施の形態の暗号キー管理装置のパーソナルコンピュータ２ｄからＵＳＢキー１ｄのメモリ１３ｄへの初期値の登録処理を説明する。
【０１１２】
まず、パーソナルコンピュータ２ｄは、ＵＳＢキー１ｄが装着されたかどうかを判定し(ステップＳ６１）、ＵＳＢキー１ｄが装着されたときには、当該ＵＳＢキー１ｄの製品番号が入力される（ステップＳ６２）。
【０１１３】
そして、コントローラ２２ｄは、入力された当該ＵＳＢキー１ｄの製品番号に対応する初期値を初期値テーブル８３から読み出して（ステップＳ６３）、読み出した初期値をＵＳＢキー１ｄに送信する（ステップＳ６４）。
【０１１４】
次に、ＵＳＢキー１ｄは、パーソナルコンピュータ２ｄからの初期値をメモリ１３ｄに記憶する（ステップＳ６５）。
【０１１５】
次に、全てのＵＳＢキー１ｄについて初期値登録処理が終了したかどうかを判定し（ステップＳ６６）、全てのＵＳＢキー１ｄについて初期値登録処理が終了していない場合には、ステップＳ６１に戻り、処理を繰り返し実行する。
【０１１６】
従って、パーソナルコンピュータ２ｄからＵＳＢキー１ｄ毎にＵＳＢキー１ｄ内のメモリ１３ｄにＵＳＢキー１ｄに対応した初期値を登録することができる。また、従来では、初期値を別チップのＩＣに書き込んでいたが、実施の形態では、ＣＰＵのフラッシュメモリに初期値を書き込むことができる。
【実施例５】
【０１１７】
次に、本発明に係る第５の実施の形態の復号化装置を詳細に説明する。図１９は本発明に係る第５の実施の形態の復号化装置を示す構成ブロック図である。図１９に示す復号化装置は、パーソナルコンピュータ２ｅに着脱自在に構成されたＵＳＢキー１ｅを用いて暗号データを復号化するもので、グループパスワードを初期値とすることにより、グループで、暗号データを有する暗号ファイルを共有可能としたことを特徴とする。
【０１１８】
パーソナルコンピュータ２ｅは、入出力部２１、コントローラ２２ｅ、メモリ２３、ＸＯＲ２４、暗号ファイル２６を有して構成され、入力部３及び表示部４が接続されている。暗号ファイル２６は、図２０に示すように、暗号データ領域に暗号データを有するとともに、ヘッダ領域に、複数の利用者が暗号データを利用可能であることを表すためのグループモード情報としての拡張子（yzg）と暗号データを利用可能な複数の利用者に固有のグループパスワードとしてのグループＩＤとを有している。
【０１１９】
コントローラ２２ｅは、入力部３から入力されたＩＤが、暗号ファイル２６に格納されたグループＩＤと一致したかどうかを判定し、一致した場合にそのグループＩＤをカオス関数の初期値として、ＵＳＢキー１ｅに送信するとともに、暗号データのデータサイズもＵＳＢキー１ｅに送信する。ＸＯＲ２４は、擬似乱数発生器１４で発生したカオス系列の擬似乱数を鍵として入力するとともに、暗号ファイル２６から暗号データを入力し、該暗号データを擬似乱数を用いて復号する。
【０１２０】
ＵＳＢキー１ｅは、入出力部１１、ＵＳＢコントローラ１２ｅ、メモリ１３、擬似乱数発生器１４ｅを有して構成されている。擬似乱数発生器１４ｅは、パーソナルコンピュータ２ｅからの暗号データのデータサイズとカオス関数とこのカオス関数の初期値である前記グループＩＤとに基づいてカオス系列の擬似乱数を発生する。
【０１２１】
次に、図２１を参照して、第５の実施の形態の復号化装置の復号化処理を説明す要る。
【０１２２】
まず、パーソナルコンピュータ２ｅのコントローラ２２ｅは、暗号ファイル２６から拡張子を読み出し（ステップＳ７１）、拡張子がグループモードであるｙｚｇかどうかを判定する（ステップＳ７２）。拡張子がｙｚｇであれば、暗号ファイル２６のグループＩＤを読み出す（ステップＳ７３）。
【０１２３】
次に、グループＩＤが入力されると（ステップＳ７４）、入力されたグループＩＤと暗号ファイル２６に格納されたグループＩＤとが一致するかどうかを判定する（ステップＳ７５）。グループＩＤが一致した場合には、グループＩＤ及び暗号データのデータサイズをＵＳＢキー１ｅに送信する。
【０１２４】
一方、ＵＳＢキー１ｅは、パーソナルコンピュータ２ｅからの暗号データのデータサイズとカオス関数とこのカオス関数の初期値であるグループＩＤとに基づいてカオス系列の擬似乱数を発生し、発生したカオス系列の擬似乱数を鍵としてパーソナルコンピュータ２ｅに送信する。
【０１２５】
パーソナルコンピュータ２ｅは、ＵＳＢキー１ｅから擬似乱数を取得し（ステップＳ７７）、ＸＯＲ２４は、ＵＳＢキー１ｅから擬似乱数を用いて暗号ファイル２６内の暗号データを復号化する。即ち、グループＩＤをカオス関数の初期値とすることにより、複数の利用者によるグループで暗号ファイル２６を共有することができる。
【０１２６】
また、グループモード情報である拡張子ｙｚｇがあるときで且つ入力されたＩＤが暗号ファイル２６に格納されたグループＩＤと一致した場合にのみ、複数の利用者によるグループで、暗号ファイル２６を共有することができる。即ち、秘匿性をさらに向上することができる。
【産業上の利用可能性】
【０１２７】
本発明に係る暗号キー管理装置は、個人のパーソナルコンピュータ上のデータを第三者によって容易に閲覧されるのを防止できる暗号キーを管理する暗号キー管理装置に利用可能である。
【図面の簡単な説明】
【０１２８】
【図１】本発明に係る第１の実施の形態の暗号化装置を示す構成ブロック図である。
【図２】ロジスティック写像カオスの時系列波形を示す図である。
【図３】擬似乱数を鍵として用いた暗号化の具体例を説明する図である。
【図４】送信側における暗号化処理を説明するシーケンス図である。
【図５】本発明に係る第２の実施の形態の暗号化復号化装置を示す構成ブロック図である。
【図６】擬似乱数を鍵として用いた暗号化及び復号化の具体例を説明する図である。
【図７】受信側における復号化処理を説明するシーケンス図である。
【図８】ＵＳＢキーとパーソナルコンピュータとの間の通信処理を詳細に示すシーケンス図である。
【図９】擬似乱数発生器の概略構成ブロック図である。
【図１０】擬似乱数発生器を集積回路化した回路図である。
【図１１】本発明に係る第３の実施の形態の暗号キー管理装置を示す構成ブロック図である。
【図１２】第３の実施の形態の暗号キー管理装置のパーソナルコンピュータの主要構成とＵＳＢキー内のメモリのメモリ領域構成とを示す図である。
【図１３】第３の実施の形態の暗号キー管理装置のパーソナルコンピュータからＵＳＢキー内のメモリのプログラムを書き換えるシーケンスを示す図である。
【図１４】第３の実施の形態の暗号キー管理装置のＵＳＢキー内のメモリのアプリケーションプログラムの起動またはアップデータプログラムの起動を示すフローチャートである。
【図１５】本発明に係る第４の実施の形態の暗号キー管理装置を示す構成ブロック図である。
【図１６】本発明に係る第４の実施の形態の暗号キー管理装置のパーソナルコンピュータ内の初期値テーブルの構成を示す図である。
【図１７】本発明に係る第４の実施の形態の暗号キー管理装置のパーソナルコンピュータによる初期値テーブルの作成処理を示すフローチャートである。
【図１８】本発明に係る第４の実施の形態の暗号キー管理装置のパーソナルコンピュータからＵＳＢキーのメモリへの初期値の登録処理を示すフローチャートである。
【図１９】本発明に係る第５の実施の形態の復号化装置を示す構成ブロック図である。
【図２０】本発明に係る第５の実施の形態の復号化装置のパーソナルコンピュータ内の暗号ファイルの構成を示す図である。
【図２１】本発明に係る第５の実施の形態の復号化装置の復号化処理を示すフローチャートである。
【符号の説明】
【０１２９】
１，１ａ，１ｂ  ＵＳＢキー
２，２ａ，２ｂ  パーソナルコンピュータ
３，３ａ，３ｂ  入力部
４，４ａ，４ｂ  表示部
１０  キー突起部
１１，１１ａ，１１ｂ，２１，２１ａ，２１ｂ  入出力部
１２，１２ａ，１２ｂ  ＵＳＢコントローラ  
１３，１３ａ，１３ｂ，２３，２３ａ，２３ｂ  メモリ
１４，１４ａ，１４ｂ  擬似乱数発生器
２０  コンピュータ溝部
２２，２２ａ，２２ｂ  コントローラ
２４，２４ａ，２４ｂ  ＸＯＲ（排他的論理和）
２５，２５ａ  送信部
２５ｂ  受信部
２６  暗号ファイル
４３，５１  一次元写像回路
４５，５３，６７  ＣＭＯＳスイッチ
４７，５５  フィードバックループ
４９，５７  ＡＤ変換器
５９，６１  出力端子
６３  カオス発生ループ
６５  ＤＡ変換器
７１，７３，７５，７７，７９  入力端子
８１  管理プログラム
８２  アップデートプログラム
８３  初期値テーブル
【図１】
0004515467.tif 000002
【図２】
0004515467.tif 000003
【図３】
0004515467.tif 000004
【図４】
0004515467.tif 000005
【図５】
0004515467.tif 000006
【図６】
0004515467.tif 000007
【図７】
0004515467.tif 000008
【図８】
0004515467.tif 000009
【図９】
0004515467.tif 000010
【図１０】
0004515467.tif 000011
【図１１】
0004515467.tif 000012
【図１２】
0004515467.tif 000013
【図１３】
0004515467.tif 000014
【図１４】
0004515467.tif 000015
【図１５】
0004515467.tif 000016
【図１６】
0004515467.tif 000017
【図１７】
0004515467.tif 000018
【図１８】
0004515467.tif 000019
【図１９】
0004515467.tif 000020
【図２０】
0004515467.tif 000021
【図２１】
0004515467.tif 000022