(57)【特許請求の範囲】
【請求項１】
データ暗号用鍵を暗号化するために用いられる秘密鍵を形成する秘密鍵形成手段、
データ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成する管理鍵形成手段、
上記秘密鍵形成手段によって形成された秘密鍵を、作成者オペレーション記憶媒体に記憶させる第１の記憶制御手段、
上記管理鍵形成手段によって形成された複数の管理鍵を、スーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶させ、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶させる第２の記憶制御手段、
平文データを暗号化するために用いられる上記データ暗号用鍵を生成するデータ暗号用鍵生成手段、
上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成するデータ暗号化手段、
上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第１の暗号鍵を生成する第１の鍵暗号化手段、
上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第２の暗号鍵を生成する第２の鍵暗号化手段、ならびに
上記データ暗号化手段によって生成された暗号文データ、上記第１の鍵暗号化手段によって生成された第１の暗号鍵、および上記第２の鍵暗号化手段によって生成された第２の暗号鍵を含む暗号ファイルを作成する暗号ファイル作成手段、
を備えた暗号化装置と、
上記暗号ファイルから、暗号文データおよび第１の暗号鍵を読出す第１の読出し手段、
上記第１の読出し手段により読出された上記第１の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から上記秘密鍵を読み出す第２の読出し手段、
上記第２の読出し手段により読出された秘密鍵を用いて上記第１の暗号鍵を復号してデータ復号用鍵を生成する第１の鍵復号手段、ならびに
上記第１の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記作成者オペレーション記憶媒体を利用した第１のデータ復号手段と、
上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出す第３の読出し手段、
上記第２の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読み出す第４の読出し手段、
上記第４の読出し手段により読出された上記第２の暗号鍵の生成に用いられた管理鍵を用いて、上記第３の読出し手段によって読み出された上記第２の暗号鍵を復号してデータ復号用鍵を生成する第２の鍵復号手段、ならびに
上記第２の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記スーパバイザ記憶媒体を利用した第２のデータ復号手段と、
上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出す第５の読出し手段、
上記第２の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、上記管理オペレーション記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読出す第６の読出し手段、
上記第６の読出し手段によって読出された上記第２の暗号鍵の生成に用いられた管理鍵を用いて、上記第５の読出し手段によって読出された第２の暗号鍵を復号してデータ復号用鍵を生成する第３の鍵復号手段、ならびに
上記第３の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記管理オペレーション記憶媒体を利用した第３のデータ復号手段と、
を備えた暗号化／復号装置。
【請求項２】
上記暗号化装置は、
上記秘密鍵形成手段によって形成された秘密鍵を暗号化する秘密鍵暗号化手段、および
上記管理鍵形成手段によって形成された複数の管理鍵を暗号化する管理鍵暗号化手段を備え、
上記第１の記憶制御手段は、
上記秘密鍵暗号化手段によって暗号化された秘密鍵および上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、作成者オペレーション記憶媒体に記憶させるものであり、
上記第２の記憶制御手段は、
上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、上記スーパバイザ記憶媒体に記憶させ、上記管理鍵暗号化手段によって暗号化された複数の管理鍵の少なくともいずれか一つを記憶させるものである、
請求項１に記載の暗号化／復号装置。
【請求項３】
上記秘密鍵暗号化手段は、
上記秘密鍵形成手段によって形成された秘密鍵を、上記管理鍵形成手段によって形成され、第２の暗号鍵の生成に用いられた管理鍵を用いて暗号化するものである、
請求項２に記載の暗号化／復号装置。
【請求項４】
上記作成者オペレーション記憶媒体、スーパバイザ記憶媒体および管理オペレーション記憶媒体はバージョン・コードを記憶しているものであり、
上記暗号ファイル作成手段が、上記暗号文データ、上記第１の暗号鍵、および上記第２の暗号鍵に加えて上記バージョン・コードを上記暗号ファイルに記憶させるものである、請求項１に記載の暗号化／復号装置。
【請求項５】
秘密鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる秘密鍵を形成し、
管理鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成し、
上記秘密鍵形成手段によって形成された秘密鍵を、第１の記憶制御手段により作成者オペレーション記憶媒体に記憶し、
上記管理鍵形成手段によって形成された複数の管理鍵を、第２の記憶制御手段によりスーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶し、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶し、
平文データを暗号化するために用いられる上記データ暗号用鍵を、データ暗号用鍵生成手段により生成し、
データ暗号化手段により、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成し、
第１の鍵暗号化手段により、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第１の暗号鍵を生成し、
第２の鍵暗号化手段により上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第２の暗号鍵を生成し、
暗号ファイル作成手段により、上記データ暗号化手段によって生成された暗号文データ、上記第１の鍵暗号化手段によって生成された第１の暗号鍵、および上記第２の鍵暗号化手段によって生成された第２の暗号鍵を含む暗号ファイルを生成し、
第１の読出し手段により、上記暗号ファイルから暗号文データおよび第１の暗号鍵を読出し、
読出した上記第１の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から、第２の読出し手段により上記秘密鍵を読み出し、
読出した秘密鍵を用いて、第１の鍵復号手段により上記第１の暗号鍵を復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第１のデータ復号手段により上記暗号文データを復号して平文データを生成し、
第３の読出し手段により、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出し、
上記第２の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から、第４の読出し手段により上記第２の暗号鍵の生成に用いられた管理鍵を読み出し、
読出した上記第２の暗号鍵の生成に用いられた管理鍵を用いて、第２の鍵復号手段により、読み出した上記第２の暗号鍵を復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第２のデータ復号手段により上記暗号文データを復号して平文データを生成し、
第５の読出し手段により、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出し、
上記第２の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、第６の読出し手段により、上記管理オペレーション記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読出し、
読出した上記第２の暗号鍵の生成に用いられた管理鍵を用いて、読出した第２の暗号鍵を、第３の鍵復号手段によって復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第３のデータ復号手段により上記暗号文データを復号して平文データを生成する、
暗号化／復号方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は、データの暗号化と、暗号化されたデータの復号とを行う暗号化／復号装置および方法に関する。
【０００２】
【背景技術】
ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の内容の漏洩を防止するために、データの暗号化が行われる。
【０００３】
従来は、データの暗号化に用いられる鍵（暗号化鍵）として、キーボード等の入力装置から入力された鍵、または暗号化処理を行う装置（コンピュータ・システム等）の中に記憶されている鍵テーブルから選択された鍵を用いて、暗号化処理が行われていた。
【０００４】
しかし、このような従来の方法では、暗号化処理を行う者（暗号文の作成者）の不注意により暗号化鍵（＝復号鍵）が第三者に見られたり口頭で伝えられたりすることがあり、第三者に暗号化鍵が知得される危険性が高かった。したがって、データの秘密性が十分に保持できないという問題があった。また、暗号文の作成者以外の暗号文の管理者がこの暗号文の内容を見る場合に、作成者は、暗号文の作成ごとに復号鍵をこの管理者に知らせる必要があった。したがって、復号鍵を知らせるときに、不注意等により復号鍵が第三者に知得されるおそれがあった。また、作成者にとっても管理者にとっても、暗号文と復号鍵との対応づけの管理が煩雑になるという問題もあった。
【０００５】
また、企業等では、部下が暗号文を作成し、その上司が暗号文を管理するのが一般的である。このような場合に、上司は、部下による暗号文の復号をできなくして、部下の不注意により暗号文が復号され第三者に知得されることを避けたいという要求がある。すなわち、上司は、暗号文の秘密管理を集中して行いたいという強い要求がある。
【０００６】
【発明の開示】
この発明の目的は、暗号文と暗号化に用いられた鍵との対応づけの管理を容易にすることにある。さらに、この発明は、暗号文の管理を管理者が集中して行えるようにすることを目的とする。さらにこの発明は、暗号文の作成者が、その暗号文を復号することができる管理者を選択する（管理者が所持する管理鍵を選択して鍵の暗号化を行う）ことができるようにすることを目的とする。
【０００７】
この発明による暗号化／復号装置は、データ暗号用鍵を暗号化するために用いられる秘密鍵を形成する秘密鍵形成手段、データ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成する管理鍵形成手段、上記秘密鍵形成手段によって形成された秘密鍵を、作成者オペレーション記憶媒体に記憶させる第１の記憶制御手段、上記管理鍵形成手段によって形成された複数の管理鍵を、スーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶させ、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶させる第２の記憶制御手段、平文データを暗号化するために用いられる上記データ暗号用鍵を生成するデータ暗号用鍵生成手段、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成するデータ暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第１の暗号鍵を生成する第１の鍵暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第２の暗号鍵を生成する第２の鍵暗号化手段、ならびに上記データ暗号化手段によって生成された暗号文データ、上記第１の鍵暗号化手段によって生成された第１の暗号鍵、および上記第２の鍵暗号化手段によって生成された第２の暗号鍵を含む暗号ファイルを作成する暗号ファイル作成手段を備えた暗号化装置と、上記暗号ファイルから、暗号文データおよび第１の暗号鍵を読出す第１の読出し手段、上記第１の読出し手段により読出された上記第１の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から上記秘密鍵を読み出す第２の読出し手段、上記第２の読出し手段により読出された秘密鍵を用いて上記第１の暗号鍵を復号してデータ復号用鍵を生成する第１の鍵復号手段、ならびに上記第１の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記作成者オペレーション記憶媒体を利用した第１のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出す第３の読出し手段、上記第２の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読み出す第４の読出し手段、上記第４の読出し手段により読出された上記第２の暗号鍵の生成に用いられた管理鍵を用いて、上記第３の読出し手段によって読み出された上記第２の暗号鍵を復号してデータ復号用鍵を生成する第２の鍵復号手段、ならびに上記第２の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記スーパバイザ記憶媒体を利用した第２のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出す第５の読出し手段、上記第２の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記億されていると判断された場合に、上記管理オペレーション記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読出す第６の読出し手段、上記第６の読出し手段によって読出された上記第２の暗号鍵の生成に用いられた管理鍵を用いて、上記第５の読出し手段によって読出された第２の暗号鍵を復号してデータ復号用鍵を生成する第３の鍵復号手段、ならびに上記第３の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記管理オペレーション記憶媒体を利用した第３のデータ復号手段とを備えている。
【０００８】
この発明による暗号化／復号方法は、秘密鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる秘密鍵を形成し、管理鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成し、上記秘密鍵形成手段によって形成された秘密鍵を、第１の記憶制御手段により作成者オペレーション記憶媒体に記憶し、上記管理鍵形成手段によって形成された複数の管理鍵を、第２の記憶制御手段によりスーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶し、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶し、平文データを暗号化するために用いられる上記データ暗号用鍵を、データ暗号用鍵生成手段により生成し、データ暗号化手段により、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成し、第１の鍵暗号化手段により、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第１の暗号鍵を生成し、第２の鍵暗号化手段により上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第２の暗号鍵を生成し、暗号ファイル作成手段により、上記データ暗号化手段によって生成された暗号文データ、上記第１の鍵暗号化手段によって生成された第１の暗号鍵、および上記第２の鍵暗号化手段によって生成された第２の暗号鍵を含む暗号ファイルを作成し、第１の読出し手段により、上記暗号ファイルから暗号文データおよび第１の暗号鍵を読出し、読出した上記第１の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から、第２の読出し手段により上記秘密鍵を読み出し、読出した秘密鍵を用いて、第１の鍵復号手段により上記第１の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第１のデータ復号手段により上記暗号文データを復号して平文データを生成し、第３の読出し手段により、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出し、上記第２の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から、第４の読出し手段により上記第２の暗号鍵の生成に用いられた管理鍵を読み出し、読出した上記第２の暗号鍵の生成に用いられた管理鍵を用いて、第２の鍵復号手段により、読み出した上記第２の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第２のデータ復号手段により上記暗号文データを復号して平文データを生成し、第５の読出し手段により、上記暗号ファイルから、暗号文データおよび第２の暗号鍵を読出し、上記第２の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、第６の読出し手段により、上記管理オペレーション記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵を読出し、読出した上記第２の暗号鍵の生成に用いられた管理鍵を用いて、読出した第２の暗号鍵を、第３の鍵復号手段によって復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第３のデータ復号手段により上記暗号文データを復号して平文データを生成するものである。
【０００９】
データ暗号用鍵生成手段によるデータ暗号用鍵の生成には、いくつかの方法があろう。その一つは、鍵生成に用いられるデータを発生し、発生したデータに基づいてデータ暗号用鍵を生成するものである。コンピュータ内部で任意のデータを発生させる。このデータには、例えば操作者による２つのキーの入力時間間隔を計数するカウンタの計数値を採用することができる。このようにして発生したデータは、暗号化される。暗号化に用いる鍵も上記データと同じようにして発生されよう。暗号化されたデータがデータ暗号用鍵となる。
【００１０】
他の方法は、ソフトウェアまたはハードウェアにより第１の擬似乱数と第２の擬似乱数とを発生し、発生した第１の擬似乱数を、第２の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。第１の擬似乱数と第２の擬似乱数とは同じものでもよいし、異なる乱数でもよい。または、一つの乱数の上位複数のビットを第１の擬似乱数とし、下位複数のビットを第２の擬似乱数として用いることもできる。
【００１１】
秘密鍵形成手段による秘密鍵の形成には、いくつかの方法がある。その一つは、鍵形成に用いられるデータを発生させ、発生されたデータに基づいて秘密鍵を形成する方法である。その二は、第１の擬似乱数と第２の擬似乱数とを発生し、発生した第１の擬似乱数を、第２の擬似乱数を鍵として暗号化して秘密鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成と同じような処理により実現される。
【００１２】
その三は、外部から入力されたデータに基づいて秘密鍵を形成する方法である。例えば、操作者が自分のパスワードをキーボードから入力する。この入力されたパスワードが秘密鍵となる。この場合には、秘密鍵形成手段は入力を受け付ける手段により実現される。入力されたパスワードを特定の鍵を用いて暗号化し、この暗号化されたパスワードを秘密鍵としてもよい。上記特定の鍵はあらかじめコンピュータ内に設定しておいてもよいし、上述したようにキー入力間隔等に基づいて設定することもできるし、擬似乱数を発生させることにより得ることもできる。
【００１３】
その四は、外部から与えられる記憶媒体に記憶されているデータに基づいて秘密鍵を形成する方法である。記憶媒体には、フロッピィ・ディスク、ＩＣカード、磁気カード、光カード、その他の媒体が用いられる。記憶媒体に記憶されている上記データは、秘密鍵そのものであってももちろんよい。この場合には、上記秘密鍵形成手段は、記億媒体から上記データを読み取る手段によって実現される。記憶媒体に記憶されている上記データを特定の鍵により暗号化し、この暗号化されたデータを秘密鍵としてもよい。
【００１４】
管理鍵形成手段による管理鍵の形成にも、いくつかの方法がある。その一は、あらかじめ与えられたデータに基づいて管理鍵を形成する方法である。例えば、コンピュータ内部のＲＯＭ、ＲＡＭ、内蔵ディスク装置等にあらかじめ記憶された特定のデータが管理鍵となる。この場合に、管理鍵形成手段は、ＲＯＭ等からデータを読み取る手段により実現される。
【００１５】
その二は、外部から与えられた記憶媒体に記憶されているデータに基づいて管理鍵を形成する方法である。その三は、鍵形成に用いられるデータを発生し、発生したデータに基づいて管理鍵を形成する方法である。その四は、第１の擬似乱数と第２の擬似乱数とを発生し、発生した第１の擬似乱数を、第２の擬似乱数を鍵として暗号化して管理鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成または秘密鍵の形成と同じような処理により実現される。
【００１６】
平文データには、ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の各種データが含まれる。また、暗号化されたデータをさらに暗号化する場合には、平文データには、暗号化されたデータが含まれる。
【００１７】
平文データおよび鍵の暗号化（復号）の方法には、ＤＥＳ（Data Encryption Standard）、ＦＥＡＬ（Fast Encyption ALgorithm）等の種々のアルゴリズムを用いることができる。またアルゴリズムとして対称暗号系と非対称暗号系（べき乗剰余型、ナップザック型等）の別、およびブロック暗号とストリーム暗号（バーナム暗号、ＮＦＳＲ等）の別を問わない。
【００１８】
平文データを暗号化するためのデータ暗号用鍵が、自動的に生成される。生成されたデータ暗号用鍵を用いて平文データが暗号化されて暗号文データが生成される。また、データ暗号用鍵を暗号化するための秘密鍵および複数の管理鍵が形成される。形成された秘密鍵を用いて、データ暗号用鍵が暗号化されて第１の暗号鍵（暗号化された鍵）が生成される。また、形成された複数の管理鍵のうちの一つを用いて、データ暗号用鍵が暗号化されて第２の暗号鍵（暗号化された鍵）が生成される。暗号文データ、第１の暗号鍵および第２の暗号鍵は暗号ファイルに記憶される。秘密鍵および複数の管理鍵は、作成者オペレーション記憶媒体に記憶され、複数の管理鍵はさらにスーパバイザ記憶媒体に記憶され、複数の管理鍵のうちのいずれか一つが管理オペレーション記憶媒体に記憶される。これらの記憶媒体には、ハード・ディスク、フロッピィ・ディスク、ＩＣカード、磁気カード、光カード、伝送用バッファ等の各種記憶媒体が含まれる。
【００１９】
暗号ファイルは、フロッピィ・ディスクに記憶してもよいし、伝送用のバッファに含ませてもよい。フロッピィ・ディスクの場合には、暗号ファイルを暗号文データ作成者から管理者等の他の者に手渡すことができる。伝送用のバッファの場合には、他の装置等に暗号ファイルを送信することができる。また、第１の記憶媒体は、ハード・ディスク装置、ＩＣカード、磁気カード、光カード等の記憶媒体であってもよい。
【００２０】
この発明によれば、平文データを暗号化するためのデータ暗号用鍵が自動的に生成されるので、暗号文データの作成者は鍵を入力する必要もなければ、鍵の内容を知る必要はない。
【００２１】
また、暗号文データとこれを復号するためのデータ暗号用鍵（これは第１または第２の暗号鍵として暗号化されている）とが暗号ファイルに記憶されているので、これらの対応づけの管理が容易である。
【００２２】
平文データを暗号化した操作者は、秘密鍵を持つことができる。秘密鍵が操作者の入力データに基づいて形成された場合には、操作者（暗号文データの作成者）は当然入力データを知っているのでこれを秘密鍵として用いることができる。秘密鍵が入力データの暗号化や計数に基づいて形成された場合には、形成された秘密鍵は作成者オペレーション記憶媒体（例えばフロッピィ・ディスク）に記憶される。または秘密鍵が記憶媒体にあらかじめ記憶されている場合には、その記憶媒体を操作者は所有している。したがって、操作者は記憶媒体の秘密鍵を用いて暗号文データを復号することができる。
【００２３】
スーパバイザ記憶媒体には、第２の暗号鍵の生成に用いられた、複数の管理鍵のうちの一つが必ず記憶されているので、スーパバイザ記憶媒体からその管理鍵を読み出して第２の暗号鍵を復号して、暗号文データを復号することができる。したがって作成者オペレーション記憶媒体を、たとえば従業者個々に渡し平文データを暗号化させ従業者個々が暗号文データを復号することに加えて、スーパバイザ記憶媒体を、たとえば管理者に渡しスーパバイザ記憶媒体から管理鍵を読み出すことにより暗号文データを復号することができる。スーパバイザ記憶媒体を用いることにより従業者個々が作成した暗号文データを復号することが可能となる。暗号文の管理をスーパバイザ記憶媒体の保持者が集中して行うことができる。
【００２４】
管理オペレーション記憶媒体には複数の管理鍵のうち少なくともいずれか一つが記憶されている。管理オペレーション記憶媒体を用いた復号処理では、管理オペレーション記憶媒体に、暗号ファイルに含まれる第２の暗号鍵の生成に用いられた管理鍵が記憶されているかどうかが判断され、記憶されていると判断された場合に、その管理オペレーション記憶媒体から上記第２の暗号鍵の生成に用いられた管理鍵が読み出される。読み出された管理鍵を用いて第２の暗号鍵を復号することによりデータ暗号用鍵を得ることが可能となる。復号されたデータ暗号用鍵を用いて暗号文データが復号される。
【００２５】
複数の管理鍵の一つが用いられて上記データ暗号用鍵が暗号化される。複数の管理者（複数のオペレーション記憶媒体の保持者）がそれぞれ異なる管理鍵を所持している場合には、暗号文の作成者は、その暗号文を管理する管理者が所持する管理鍵を複数の管理鍵の中から選択して、平文データの暗号化に用いられたデータ暗号用鍵を暗号化することができる。暗号文の作成者が、その暗号文データを復号することができる管理者を選択する（管理者が所持する管理鍵を選択してデータ暗号用鍵の暗号化を行う）ことができる。
【００２６】
好ましくは、上記データ暗号用鍵生成手段は、第１の擬似乱数と第２の擬似乱数とを発生し、発生した第１の擬似乱数を、第２の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。データ暗号用鍵が、擬似乱数をさらに暗号化することにより生成されるので、データ暗号用鍵をランダムなデータとすることができ、第三者による鍵の推測を困難とすることができる。
【００２７】
好ましくは、上記第１の暗号鍵または第２の暗号鍵を上記暗号ファイルから消去する消去手段が設けられる。暗号文データを作成する作成者が秘密鍵を管理し、暗号文データを管理する管理者が管理鍵を管理している場合に、管理者が第１の暗号鍵を消去することにより、作成者は秘密鍵を用いた暗号文データの復号ができなくなる。これにより、復号された平文データが作成者の不注意により第三者に知得されることを防止でき、管理者は暗号文データの秘密管理を集中して行える。また、第２の暗号鍵を削除することにより、管理者による暗号文データの復号をできなくすることもできる。これにより、例えば管理者が新たな者に交替した場合等において、過去に管理者であった者による復号を防止できる。
【００２８】
一実施態様では、上記暗号化装置は、上記秘密鍵形成手段によって形成された秘密鍵を暗号化する秘密鍵暗号化手段、および上記管理鍵形成手段によって形成された複数の管理鍵を暗号化する管理鍵暗号化手段を備え、上記第１の記憶制御手段は、上記秘密鍵暗号化手段によって暗号化された秘密鍵および上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、作成者オペレーション記憶媒体に記憶させるものであり、上記第２の記憶制御手段は、上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、上記スーパバイザ記憶媒体に記憶させ、上記管理鍵暗号化手段によって暗号化された複数の管理鍵の少なくともいずれか一つを管理オペレーション記憶媒体に記憶させるものである。秘密鍵および管理鍵が暗号化されるので、読み出されても読み出した者は鍵の内容を知ることができない。したがって、秘密鍵および管理鍵は高い秘密性が守られる。
【００２９】
上記秘密鍵暗号化手段は、上記秘密鍵形成手段によって形成された秘密鍵を、上記管理鍵形成手段によって形成され第２の暗号鍵の生成に用いられた管理鍵を用いて暗号化するものでもよい。
【００３０】
さらに他の実施態様では、上記作成者オペレーション記憶媒体、上記スーパバイザ記憶媒体、および上記管理オペレーション記憶媒体はバージョン・コードを記憶しているものであり、上記第３の記憶制御手段が、上記暗号文データ、上記第１の暗号鍵、および上記第２の暗号鍵に加えて上記バージョン・コードを上記暗号ファイルに記憶させるものである。
【００３１】
古いバージョン・コードを記憶している上記作成者オペレーション記憶媒体を用いて暗号化した場合、そのバージョン・コードよりも新しいバージョン・コードを記憶しているスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いて復号できる必要がある。
【００３２】
暗号ファイルに、暗号化に用いた作成者オペレーション記憶媒体のバージョン・コードが記憶されるので、バージョン・コードによって，その暗号ファイルに格納されている暗号化データのスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いた復号を管理することができる。
【００３３】
時刻データを、入力データ、初期値または暗号鍵として暗号化手段に与え、上記暗号化手段から得られる暗号データを、上記データ暗号用鍵、上記秘密鍵または上記管理鍵として用いるように、上記暗号化／復号装置または暗号化／復号方法を構成してもよい。
【００３４】
上記入力データ、上記初期値または上記暗号鍵に時刻データが用いられ、上記暗号データが得られる。得られた暗号文データが、上記データ暗号用鍵、上記秘密鍵または上記管理鍵とされる。時刻データは、第三者にとっては一般に予測が困難なデータである。したがって時刻データを利用して生成されたデータ暗号用鍵を用いて平文データを暗号化すると、データ暗号用鍵を推測することが困難なので、暗号文データを復号することも困難となる。
【００３５】
【実施例】
〔第１実施例〕
（1）暗号化／復号装置の構成
第１図は、第１実施例における暗号化／復号装置の構成を示すブロック図である。この暗号化／復号装置は、コンピュータ・システム１、表示装置２（ＣＲＴ表示装置、液晶表示装置等）、入力装置３（キーボード、ポインティング・デバイス等）、外部記憶装置４（磁気ディスク記憶装置、光ディスク記憶装置等）ならびにフロッピィ・ディスク・ドライブ（以下、単にＦＤドライブという）５および６によって構成されている。
【００３６】
外部記憶装置４には、一または複数の平文のファイル（平文ファイルという）が記憶されている。平文ファイルには、ワード・プロセッサ等で作成された文書ファイル、統計データや集計データ等をファイルにしたデータ・ファイル、コンピュータ・プログラムのコードをファイルにしたプログラム・ファイル等の各種ファイルが含まれる。暗号化されたファイルをさらに暗号化する場合には、平文ファイルは、この暗号化されたファイルも含むものとする。
【００３７】
ＦＤドライブ５には、フロッピィ・ディスクＦＤ1（以下、単にＦＤ1という）またはフロッピィ・ディスクＦＤ2（以下、単にＦＤ2という）がセットされ、また取り外される。ＦＤドライブ６には、フロッピィ・ディスクＦＤ3（以下、単にＦＤ3という）がセットされ、また取り外される。
【００３８】
ＦＤ1には、後に詳述する暗号化／復号プログラムおよび管理鍵があらかじめ格納されている。ＦＤ2には、後に詳述する復号プログラム、暗号鍵消去プログラムおよび管理鍵があらかじめ格納されている。ＦＤ1に格納されている管理鍵とＦＤ2に格納されている管理鍵とは、同一のものである。ＦＤ1およびＦＤ2を作成するときに、同一の管理鍵がそれぞれのフロッピィ・ディスクに格納される。ＦＤ1は、平文ファイルから暗号ファイルを作成する作成者にあらかじめ配布される。ＦＤ2は、暗号ファイルを管理する管理者にあらかじめ配布される。ＦＤ3は、外部記憶装置４の平文ファイルを暗号化して生成される暗号ファイルを格納するためのものである。
【００３９】
コンピュータ・システム１の内部のＲＯＭまたは外部記憶装置４には、オペレーティング・システム（ＯＳ）が格納されている。コンピュータ・システム１は、このＯＳに基づいて、入力装置３からの入力データの読込みと解析、表示装置２の表示制御、外部記憶装置４の制御、ＦＤドライブ５および６の制御等を行う。また、コンピュータ・システム１は、ＦＤ1に格納されている暗号化／復号プログラムならびにＦＤ2に格納されている復号プログラムおよび暗号鍵消去プログラムを内部メモリ（ＲＡＭ等）に読み込み、これらのプログラムを実行する。
【００４０】
暗号化／復号プログラムと復号プログラムとにそれぞれ含まれている暗号（復号）アルゴリズムの一例として、第２図に示されるものがある。この暗号アルゴリズムの例は、ＤＥＳ(Data Encryption Standard)のアルゴリズムを変形したものである（ＤＥＳ型暗号という）。すなわち、ＤＥＳでは一般に64ビットの平文および56ビットの鍵が用いられるが、この例では８ビットの平文および12ビットの鍵が用いられるように変形されている。
【００４１】
Ｓボックス21〜24は、第３図に示されている換字（変換）の対応表にしたがって、入力データを出力データに換字する。例えば、入力データが１（10進数）の場合には、出力データは14（10進数）に換字される。演算子25〜32は、入力される２つのデータの排他的論理和演算を行い、その結果を出力する。
【００４２】
暗号化の対象である８ビットの平文は、上位４ビット・データＬ1（＝0100）と下位４ビット・データＲ1（＝1101）とに分割される。データＬ1は演算子25に、データＲ1（＝Ｌ2）は演算子29および26に入力される。12ビットの鍵Ｋ（＝001010000110）は、上位から３ビットずつの第１〜４ブロックの４つのブロックに分けられる。第１ブロック（＝001）および第３ブロック（＝000）には、１ビット・データの１が各ブロックの最上位ビットとしてそれぞれ加えられる。第２ブロック（＝010）および第４ブロック（＝110）には、１ビット・データの０が各ブロックの最上位ビットとしてそれぞれ加えられる。その結果、鍵Ｋは４ビット・データＫ1（＝1001）、Ｋ2（＝0010）、Ｋ3（＝1000）およびＫ4（＝0110）に変換される。データＫ1は演算子29に、データＫ2は演算子30に、データＫ3は演算子31に、データＫ4は演算子32にそれぞれ入力される。
【００４３】
第１段の処理では、データＲ1とＫ1との排他的論理和が、演算子29において求められる。この演算結果は、Ｓボックス21において変換（換字）される。そして、変換されたデータとデータＬ1との排他的論理和が、演算子25において求められる。この結果のデータＲ2（＝Ｌ3）は演算子30および27に与えられる。
【００４４】
第２段においても、データＲ2、Ｋ2およびＬ2について、第１段と同様の処理が行われる。第３段および第４段においても、データＲ3、Ｋ3およびＬ3ならびにデータＲ4、Ｋ4およびＬ4について、第１段と同様の処理がそれぞれ行われる。
【００４５】
第１段〜第４段の処理によって、８ビットの暗号文が生成される。演算子28の出力データが、８ビットの暗号文の上位４ビット・データＬ（＝1001）となる。演算子27の出力データＲ4が、８ビットの暗号文の下位４ビット・データＲ（＝0111）となる。このように、平文は８ビットずつ順次処理されていき、暗号文が８ビットずつ順次生成されていく。
【００４６】
８ビットの暗号文を８ビットの平文に復号する場合には、８ビットの暗号文が上位４ビット（Ｌ1）と下位４ビット（Ｒ1）のデータに分割される。この上位４ビット・データは演算子25に、下位４ビット・データは演算子29および26にそれぞれ入力される。復号鍵（暗号鍵Ｋと同じもの）が、暗号時と同様に３ビットずつに分割され、データＫ1〜Ｋ4が作成される。そして、データＫ4が演算子29に、データＫ3が演算子30に、データＫ2が演算子31に、データＫ1が演算子32にそれぞれ入力される。これらの入力データに第１段〜第４段の処理が行われ、平文８ビットが生成される。このように、復号時には、暗号文が８ビットずつ順次処理されていき、平文が８ビットずつ順次生成されていく。
【００４７】
暗号および復号に用いられるアルゴリズムには、このＤＥＳのアルゴリズムのほかにＦＥＡＬ（Fast Encyption ALgorithm）等の他のアルゴリズムを用いることもできる。またアルゴリズムとして対称暗号系と非対称暗号系（べき乗剰余型、ナップザック型等）の別、およびブロック暗号とストリーム暗号（バーナム暗号、ＮＦＳＲ等）の別を問わない。
【００４８】
これらの暗号化／復号処理は、ソフトウェア（プログラム）によって実現することができる。プログラムによって実現した場合には、このプログラムは、ＦＤ1に格納された暗号化／復号プログラムおよびＦＤ2に格納された復号プログラムの一部として組み込まれる。また、これらの暗号化／復号処理をハードウェアによって実現することもできる。この場合には、このバードウェアは、コンピュータ・システム１の内部または外部に設けられるであろう。そして、ＦＤ1に格納された暗号化／復号プログラムおよびＦＤ2に格納された復号プログラムは、外部記憶装置４から読みだした平文（または暗号文）および後述する第６図のステップ106で生成された鍵等をこのハードウェアに入力して、暗号化または復号の処理を行わせる。
【００４９】
（2）暗号ファイル作成者による暗号化および復号処理
第４図は、暗号ファイル作成者（以下、単に作成者という）が所持するＦＤ1に格納されている暗号化／復号プログラムによる暗号化処理の様子を示している。第５図は、この暗号化／復号プログラムによる復号処理の様子を示している。また、第６図〜第８図は、この暗号化／復号プログラムがコンピュータ・システム１によって実行される場合の処理の流れを示すフローチャートである。
【００５０】
ＦＤ1が、作成者によってＦＤドライブ５にセットされる（ステップ101）。次に、ＦＤ1に格納されている暗号化／復号プログラムの起動命令が、作成者によって入力装置３からコンピュータ・システム１に入力される。これにより、暗号化／復号プログラムがＦＤ1から読み出され、コンピュータ・システム１の内部メモリ（ＲＡＭ等）に格納される。そして、コンピュータ・システム１は、このプログラムを実行する（ステップ102）。
【００５１】
次に、ファイルの暗号化または復号のいずれを選択するかの案内が、表示装置２の表示画面に表示される。作成者は、暗号化または復号のいずれか一方を選択し、その指示を入力装置３からコンピュータ・システム１に入力する。
【００５２】
暗号化が選択されると（ステップ103でYES）、暗号化の対象となる平文ファイルのファイル名が、作成者によって入力装置３からコンピュータ・システム１に入力される（ステップ104）。入力されたファイル名に対応する平文ファイル41が外部記憶装置４から読み出され、コンピュータ・システム１の内部メモリに記憶される（ステップ105）。
【００５３】
次に、この平文ファイルを暗号化するために用いられる鍵44（ファイル鍵という）が生成される（ステップ106）。ファイル鍵44の生成方法については後に詳述する。平文ファイル41の平文は、このファイル鍵44を用いて暗号化され、暗号文が生成される（ステップ107）。暗号化処理には、上述した暗号アルゴリズムの一つが用いられる。暗号化処理により生成された暗号文は、中間データ42としてコンピュータ・システム１の内部メモリに記憶される。
【００５４】
続いて、秘密鍵47が、作成者によって入力装置３からコンピュータ・システム１に入力される（ステップ108）（第４図）。この秘密鍵47は、作成者が任意に決定するものであり、暗証番号（パスワード）と考えることができる。秘密鍵47は、任意の数字列または文字列等からなる。
【００５５】
ファイル鍵44は、秘密鍵47を用いて暗号化される（ステップ109）。ここでは、この暗号化された鍵45を暗号鍵１ということにする。また、ファイル鍵44は、ＦＤ1に格納されている管理鍵48を用いて暗号化される（ステップ110）。この暗号化された鍵46を暗号鍵２ということにする。これらのファイル鍵44の暗号化処理にも、上述した暗号アルゴリズムの一つが用いられる。
【００５６】
そして、これらの暗号鍵１および２ならびに中間データ（暗号文）42を用いて、暗号ファイル43が作成される（ステップ111）。第11図は、コンピュータ・システム１の内部メモリ上の暗号ファイル43のデータ構造を示している。暗号ファイルの先頭の領域に暗号鍵１および２が記憶されている。この領域に続く領域に中間データ（暗号文）42が記憶されている。暗号ファイルが作成されるときに、暗号ファイル名（平文ファイル名と一部または全部が異なるファイル名）が作成される。この暗号ファイル名も、暗号ファイルのデータ領域に続く領域に記憶されることもある。
【００５７】
続いて、ＦＤ3が、作成者によってＦＤドライブ６にセットされる（ステップ112）。もし必要ならば、ＦＤ3のセットに先だって、ＦＤ3をＦＤドライブ６にセットすることを作成者に指示するための案内が、表示装置２の表示画面に表示されるであろう。このセットされたＦＤ3に暗号ファイル43および暗号ファイル名が格納される（ステップ113）。そして、暗号化処理は終了する。第12図は、ＦＤ3の記憶の構造を示している。ＦＤ3には、ディレクトリ、ＦＡＴ（File Allocation Table）およびデータ領域の３つの領域がある。データ領域のアドレスＡＤ2には、暗号ファイル（暗号鍵１および２ならびに暗号文）が記憶されている。ＦＡＴのアドレスＡＤ1には、データ領域のアドレスＡＤ2が記憶されている。ディレクトリには、暗号ファイル名（ここでは暗号ファイル名を“ABC.SEC”とする）およびＦＡＴ上のアドレスＡＤ1が記憶されている。
【００５８】
ステップ103において復号が選択された場合には（ステップ103でNO）、ＦＤ3が作成者によってＦＤドライブ６にセットされる（ステップ114）。ＦＤ3のセットに先だって、ＦＤ3をＦＤドライブ６にセットすることを作成者に指示するための案内が、表示装置２の表示画面に表示されることもある。ＦＤ3がＦＤドライブ６にセットされると、暗号ファイルのファイル名（“ABC.SEC”等）がＦＤ3のディレクトリから読み出される。読み出されたファイル名は、表示装置２の表示画面に表示される（ステップ115）。
【００５９】
続いて、復号の対象となる暗号ファイルのファイル名が作成者によって入力装置３からコンピュータ・システム１に入力される（ステップ116）。ファイル名は、キーボードを用いて入力することもできるし、表示画面に表示されたファイル名をポインティング・デバイスによって指示（クリック等）して入力することもできる。
【００６０】
入力された暗号ファイル名に基づいてＦＤ3のディレクトリが検索され、そのファイル名に対応するＦＡＴ上のアドレスＡＤ1が読み出される（第12図）。アドレスＡＤ1に基づいてＦＡＴ上のアドレスＡＤ2が読み出される（第12図）。そして、アドレスＡＤ2に基づいて、暗号ファイルがＦＤ3のデータ領域から読み出される（ステップ117）。読み出された暗号ファイルは、コンピュータ・システム１の内部メモリに記憶される。
【００６１】
続いて、秘密鍵47が、作成者によって入力装置３からコンピュータ・システム１に入力される（ステップ118）（第５図）。この秘密鍵47は、暗号ファイルの暗号鍵１を復号するときに、復号鍵として用いられる（ステップ119）。したがって、入力される秘密鍵47は、この暗号ファイルのファイル鍵44を暗号化したときに用いられたものと同一のものである。どのファイル鍵をどの秘密鍵で暗号化したかは作成者によって管理されている。作成者は、ファイル鍵44を暗号化して暗号鍵１を生成したときに用いた秘密鍵と同じものを入力する。
【００６２】
暗号鍵１は秘密鍵47（復号鍵）を用いて復号され、ファイル鍵44が得られる（ステップ119）。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号（復号）アルゴリズムが用いられるのはもちろんである。続いて、暗号ファイルに含まれている暗号文がこのファイル鍵44（復号鍵）を用いて復号され、平文ファイル41が得られる（ステップ120）。この復号処理でも、平文ファイルを暗号化したときと同じ暗号（復号）アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム１の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵２は用いられない。
【００６３】
コンピュータ・システム１の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置４または他のフロッピィ・ディスクに格納することもできる。
【００６４】
この暗号化処理においては、ファイル鍵が自動的に生成されるので、作成者はファイル鍵を入力する必要もなければ、ファイル鍵の内容を知る必要もない。したがって、データ暗号用鍵が暗号文データ作成者の不注意等によって第三者に漏洩することを防止できる。また、暗号文とこれを復号するためのファイル鍵（暗号鍵１と２）とがＦＤ3に記憶されているので、これらの対応づけの管理が容易である。さらに、ファイル鍵は、秘密鍵および管理鍵によってそれぞれ暗号化されているので、たとえ暗号文とこれを復号するためのファイル鍵を一つのＦＤ3に記憶させておいても、高い安全性を保つことができる。
【００６５】
ステップ108および118において、秘密鍵47を磁気カード、ＩＣカード（メモリ・カード等）、光カード等にあらかじめ記憶しておき、カード・リーダからコンピュータ・システム１に入力することもできる。また、暗号化／復号装置が各作成者個人の専用のものとして使用されるのであれば、複数の秘密鍵を外部記憶装置４または内部のＲＯＭ等にあらかじめ記憶しておき、これを表示装置２の表示画面に表示させて、その中から一つを選択することもできる。さらに、入力された秘密鍵47をさらに暗号化した鍵を、ファイル鍵の暗号化に用いることもできる。
【００６６】
（3）暗号ファイル管理者による復号処理
第９図は、暗号ファイル管理者（以下、単に管理者という）が暗号ファイルを復号する場合の処理を様子を示している。暗号ファイルが格納されたＦＤ3は、作成者から管理者に渡される。管理者は、自らが所持するＦＤ2に格納された復号プログラムおよび管理鍵を用いて暗号ファイルを復号する。第10図は、この復号プログラムがコンピュータ・システム１によって実行される場合の処理の流れを示すフローチャートである。
【００６７】
ＦＤ2が、管理者によってＦＤドライブ５にセットされる（ステップ131）。次に、ＦＤ2に格納されている復号プログラムの起動命令が、管理者によって入力装置３からコンピュータ・システム１に入力される。これにより、復号プログラムがＦＤ2から読み出され、コンピュータ・システム１の内部メモリに格納される。そして、コンピュータ・システム１は、この復号プログラムを実行する（ステップ132）。
【００６８】
続いて、ＦＤ3が管理者によってＦＤドライブ６にセットされる（ステップ114）。このステップ114およびこれに続くステップ115〜117の処理は、上述の第８図に示されるステップ114〜117の処理と全く同じであるので、ここでは説明を省略する。
【００６９】
次に、ＦＤ2に記憶されている管理鍵48が読み出され、コンピュータ・システム１の内部メモリに記憶される（ステップ133）（第９図）。この読出しはプログラムによって自動的になされる。管理鍵48は、ＦＤ2の特定の場所に記憶されている。復号プログラムには、この特定場所を示すアドレスが含まれている。したがって、コンピュータ・システム１は管理鍵48をＦＤ2の特定場所から読み出すことができる。この管理鍵48は、暗号鍵２を復号するときに復号鍵として用いられる（ステップ134）。したがって、この管理鍵48は、この暗号ファイルのファイル鍵44を暗号化して暗号鍵２を生成したときに用いられた管理鍵と同一のものである。上述したように、ＦＤ1とＦＤ2には同一の管理鍵があらかじめ格納されているので、問題はない。
【００７０】
暗号ファイル43に含まれる暗号鍵２は、管理鍵48（復号鍵）を用いて復号され、ファイル鍵44が得られる（ステップ134）。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号（復号）アルゴリズムが用いられる。続いて、暗号文42がこのファイル鍵44（復号鍵）を用いて復号され、平文ファイル41が得られる（ステップ135）。この復号処理でも、平文ファイルを暗号化したときと同じ暗号（復号）アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム１の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵１は用いられない。
【００７１】
コンピュータ・システム１の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置４または他のフロッピィ・ディスクに格納することもできる。
【００７２】
この復号処理においては、管理者はＦＤ2を所持しておくだけで、作成者から一切の情報をうけとることなく暗号ファイルを復号することができる。また、作成者は、暗号ファイル作成ごとに暗号ファイルと管理鍵とを対応させて管理する煩わしさから解放される。作成者は管理鍵を知る必要もなく、管理者に知らせる必要もないので、作成者の不注意等により管理鍵が第三者に漏洩するおそれもない。管理者も同様に管理鍵を知る必要はなく、入出力する必要もない。このように管理鍵の漏洩を防止できるので、ファイルの内容の秘匿性を一層高めることができる。
【００７３】
ＦＤドライブ５と６とを、一つのフロッピィ・ディスク・ドライブによって実現することもできる。この場合に、ステップ112（第７図）および114（第10図）においては、ＦＤ1またはＦＤ2がフロッピィ・ディスク・ドライブから取り出され、その後、ＦＤ3がそのフロッピィ・ディスク・ドライブにセットされるであろう。また、フロッピィ・ディスクをＩＣカード（メモリ・カード等）、カセット型ハード・ディスク、ミニ・ディスク（ＭＤ）、磁気カード等に置き換えることができる。この場合に、フロッピィ・ディスク・ドライブは、カード・リーダ／ライタやカセット型ハード・ディスク・インタフェース装置、ミニ・ディスク・インタフェース装置等に置き換えられる。
【００７４】
また、暗号ファイルを外部記憶装置４に格納してもよい。この場合には、作成者および管理者は、外部記憶装置４から暗号ファイルを読み出して、復号処理を行うこととなる。
【００７５】
（4）管理者による暗号鍵消去の処理
第13図は、管理者による暗号鍵１の消去処理の流れを示すフローチャートである。
【００７６】
ＦＤ2が、管理者によってＦＤドライブ５にセットされる（ステップ141）。次に、ＦＤ2に格納されている暗号鍵消去プログラムの起動命令が、管理者によって入力装置３からコンピュータ・システム１に入力される。これにより、暗号鍵消去プログラムがＦＤ2から読み出され、コンピュータ・システム１の内部メモリに記憶される。そして、コンピュータ・システム１は、このプログラムを実行する（ステップ142）。
【００７７】
続いて、ＦＤ3が管理者によってＦＤドライブ６にセットされる（ステップ143）。そして、ＦＤ3のディレクトリから暗号ファイルのファイル名が読み出され、表示装置２の表示画面に表示される（ステップ144）。表示されたファイル名の中から、管理者によって選択されたファイル名が入力装置３からコンピュータ・システム１に入力される（ステップ145）。コンピュータ・システム１は、入力されたファイル名にしたがってＦＤ3から暗号ファイルを読みだし、内部メモリに記憶する（ステップ146）。そして、この暗号ファイルに含まれている暗号鍵１が消去される（ステップ147）。消去は、暗号鍵１の領域（第11図）に暗号鍵１とは異なるデータを書き込むことにより行われる。異なるデータが書き込まれることにより、暗号鍵１を秘密鍵で復号しても元のファイル鍵は得られない。暗号鍵１が消去された暗号ファイルは、ＦＤ3に再び格納される（ステップ148）。そして、処理は終了する。
【００７８】
このように暗号鍵１を消去することにより、作成者が暗号ファイルの復号を行えなくすることができる。これにより、暗号ファイルを復号した平文ファイルの内容が、作成者の不注意等によって漏洩することを防止できる。また、管理者が、暗号ファイルの秘密管理を集中して行うことができる。
【００７９】
また、この暗号鍵１の消去と同様にして、管理者は暗号鍵２を消去することもできる。また、ＦＤ1に暗号鍵消去プログラムを格納して、作成者が管理鍵を消去することもできる。
【００８０】
（5）鍵生成処理
第14図は、第６図のステップ106における鍵生成をソフトウェア（プログラム）によって実現した場合の処理の流れを示すフローチャートである。この処理プログラムは、例えばステップ104においてファイル名が入力装置３（ここではキーボードとする）から入力されるときに起動される。
【００８１】
入力装置３（キーボード）に作成者がファイル名をキー入力するときに、最初のキーの入力により、カウンタ（プログラム内に設けられた変数）の値があらかじめ定められた値（例えば零）に初期化される（ステップ151）。そして、次のキー入力が行われるまでループ処理が繰り返され、ループが繰り返されるごとにこのカウンタの値が１増加させられていく（ステップ152、153）。例えば、プログラム言語（Ｃ言語等）におけるfor文やwhile文等で、このルール処理は実現される。
【００８２】
次のキー入力があると（ステップ153でYES）、その時のカウンタの値を平文および鍵として、暗号化が行われる（ステップ154）。この暗号化されたデータがファイル鍵としてステップ107で用いられる。
【００８３】
キーボードのキー入力の間隔は、そのときどきに応じてランダムな値となる。このランダムな値をさらに暗号化して鍵が生成されるので、第三者による鍵の推測を非常に困難なものとできる。
【００８４】
ハードウェア回路（鍵生成回路）によって鍵を生成することもできる。この場合に、この鍵生成回路は、コンピュータ・システム１の内部または外部に備えられる。そして、この鍵生成回路は、暗号化／復号プログラムからの鍵生成の命令（ステップ106）を受けることにより鍵を生成する。第15図は、鍵生成回路の構成の一例を示すブロック図である。この鍵生成回路は、擬似乱数発生回路50、シフト・レジスタ58および暗号化回路59から構成されている。擬似乱数発生回路50は４ビット・カウンタ51〜54、および排他的論理和演算を行うゲート55〜57によって構成されている。
【００８５】
カウンタ51の出力Ｑ4はカウンタ52およびゲート55に、カウンタ52の出力Ｑ4はカウンタ53に、カウンタ53の出力Ｑ4はカウンタ54にそれぞれ入力されている。カウンタ54の出力Ｑ4はシフト・レジスタ58に、出力Ｑ3はゲート57に、出力Ｑ1はゲート56にそれぞれ入力されている。ゲート57の出力はゲート56に、ゲート56の出力はゲート55に、ゲート55の出力はカウンタ51にそれぞれ入力されている。
【００８６】
立上げ時（電源投入時またはリセット時）に、カウンタ51〜54の全ての出力値が０となるのを防止するために、立上げ時に初期値１がゲート57に与えられる。また、カウンタ51〜54にはクロック信号が与えられる。これにより、この擬似乱数発生回路50は、原始多項式Ｆ（ｘ）＝ｘｐ＋ｘｑ＋１（ｐ、ｑは整数）に基づく擬似乱数をカウンタ54の出力Ｑ4から発生する。
【００８７】
カウンタ54の出力Ｑ4からの１ビットの出力データ（擬似乱数）は、シフト・レジスタ58に供給される。シフト・レジスタ58は、鍵の長さに応じて任意のビット長から構成されている。例えば、鍵がｎビット（ｎは正の整数）ならば、シフト・レジスタ58はｎビットまたはそれ以上のビットによって構成される。また、シフト・レジスタ58には出力指令信号が与えられる。この出力指令信号は、ステップ106の鍵生成の命令に相当する。この出力指令信号が与えられると、シフト・レジスタ58は格納されているデータを暗号化回路59に出力する。
【００８８】
暗号化回路59には、シフト・レジスタ58からのデータが平文および鍵として入力される。そして、この暗号化回路59は、これらの平文および鍵に基づいて暗号化処理を行い、暗号文を出力する。この暗号文がステップ107で用いられるファイル鍵となる。暗号アルゴリズムには上述したＤＥＳ型暗号等の種々のアルゴリズムを用いることができる。シフト・レジスタ58に格納されているデータの一部を、平文として暗号化回路59に入力することもできる。また、平文として入力されるデータの一部を、鍵として暗号化回路59に入力することもできる。さらに、シフト・レジスタ58のデータの一部を平文として、他の一部を鍵として暗号化回路59に入力することもできる。例えば、シフト・レジスタ58が12ビットの場合に、平文および鍵としてこの12ビット・データを用いることもできる。また、シフト・レジスタ58が24ビットの場合に平文として上位12ビットを、鍵として下位12ビットをそれぞれ用いることもできる。シフト・レジスタ58が18ビットの場合に、平文として上位からの12ビットを、鍵として下位からの12ビットをそれぞれ用いることもできる。平文と鍵とのビット長を異ならせてもよい。
【００８９】
また、擬似乱数発生回路50および暗号化回路59を、ソフトウェア（プログラム）によって実現することもできる。
【００９０】
このように、擬似乱数をさらに暗号化したデータを鍵（ファイル鍵）として用いることにより、第三者による鍵の推測を一層困難とすることができる。
【００９１】
〔第２実施例〕
第16図は、第２実施例における暗号化／復号装置の構成を示すブロック図である。第１実施例の暗号化／復号装置（第１図）と同じものには同じ符号が付けられている。第１実施例と異なるところは、コンピュータ・システム1aに内蔵記憶装置11（ＲＯＭ、磁気ディスク記憶装置、光ディスク記憶装置等）が内蔵されていることである。また、第１実施例でＦＤ1に格納されていた暗号化／復号プログラムと管理鍵およびＦＤ2に格納されていた復号プログラムは、この内蔵記憶装置11にあらかじめ記憶されている。ＦＤドライブ５には、管理鍵および暗号鍵消去プログラムが格納されたフロッピィ・ディスクＦＤ4（以下、単にＦＤ4という）がセットされ、また取り外される。内蔵記憶装置11に記憶されている管理鍵とＦＤ4に格納されている管理鍵とは、同一のものである。ＦＤ4は管理者にあらかじめ配布されている。
【００９２】
作成者は、内蔵記憶装置11に格納された暗号化／復号プログラムおよび管理鍵によりファイルの暗号化および復号を行う。管理者は、ＦＤ4の管理鍵および内蔵記憶装置11の復号プログラムで復号を行い、また暗号鍵消去プログラムで暗号鍵１または２の消去を行う。
【００９３】
この第２実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理の流れを示すフローチャートは、第１実施例の第６図〜第８図、第10図および第13図に示されるものと次の点を除いて同じである。すなわち、ステップ101のＦＤ1のセットが不要となり、ステップ102において暗号化／復号プログラムが内蔵記憶装置11から読み出されて起動される。ステップ110では、管理鍵が内蔵記憶装置11から読み出される。また、ステップ131および141においてＦＤ4がＦＤドライブ５にセットされる。ステップ132では、復号プログラムが内蔵記憶装置11から読み出されて起動される。
【００９４】
この第２実施例の変形例として、第１実施例と同様に、復号プログラムを内蔵記憶装置11ではなくＦＤ4にあらかじめ格納しておくものがある。
【００９５】
〔第３実施例〕
第17図は、第３実施例における暗号化／復号装置の構成を示すブロック図である。第１実施例（第１図）と同じものには同じ符号が付けられている。
【００９６】
この暗号化／復号装置では、アダプタ７がコンピュータ・システム１に接続されているところが第１実施例と異なる。アダプタ７は、暗号化／復号プログラム、復号プログラムおよび管理鍵を記憶する記憶装置とこのプログラムを実行する装置（プロセッサ、マイクロコンピュータ等）とを備えた装置である。
【００９７】
この第３実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理では、アダプタ７がプログラムの実行を行う。また、暗号化／復号プログラムおよび復号プログラムは、アダプタ７の内部の記憶装置から読み出される。この点を除き、この第３実施例における暗号化／復号処理は、第２実施例のものと同じであるので、ここでは説明を省略する。
【００９８】
アダプタ７がフロッピィ・ディスク・ドライブを備えることもできる。そして、暗号化／復号プログラムおよび管理鍵が格納されたＦＤ1が、このフロッピィ・ディスク・ドライブにセットされ、アダプタ７がＦＤ1の暗号化／復号プログラムを実行して、暗号化および復号の処理を行うこともできる。
【００９９】
〔第４実施例〕
第４実施例は、第１実施例における秘密鍵を、作成者が入力する（第６図のステップ108）のではなく、上述した鍵生成処理（第14図または第15図）によって自動的に生成するものである。暗号化／復号装置のハードウェアとして、第１実施例〜第３実施例のものが使用できる。
【０１００】
第18図〜第20図は、第１図に示す暗号化／復号装置を使用した場合の処理の流れを示すフローチャートである。ステップ101〜107の処理は、第１実施例（第６図）と同じなので、ここでは説明を省略する。ステップ168では、秘密鍵が上述した鍵生成処理（第14図または第15図）によって自動的に生成される。生成された秘密鍵は、ファイル鍵の暗号化に用いられた後（ステップ109）、暗号ファイルのファイル名と対応づけられてＦＤ1に格納される（ステップ169）。この暗号ファイルのファイル名は、秘密鍵の識別符号（ＩＤ）となる。以下、ステップ110〜113の処理（第１実施例と同じ）が行われる。
【０１０１】
暗号ファイルの復号時には（ステップ103でNO）、ステップ169でＦＤ1に記憶された暗号ファイルのファイル名（秘密鍵のＩＤ）がＦＤ1から読み出されて、表示装置２の表示画面に表示される（ステップ170）。続いて、復号の対象となる暗号ファイルのファイル名（秘密鍵のＩＤ）が作成者によって入力装置３からコンピュータ・システム１に入力される（ステップ171）。入力されたファイル名と対応づけられて記憶されている秘密鍵が、ＦＤ1から読み出され（ステップ172）、コンピュータ・システム１の内部メモリに記憶される。
【０１０２】
次に、ＦＤ3がＦＤドライブ６にセットされる（ステップ173）。そして、ステップ171で入力されたファイル名をもつ暗号ファイルが、ＦＤ3から読み出され（ステップ174）、コンピュータ・システム１で内部メモリに記憶される。読み出された暗号ファイルの復号が秘密鍵を用いて行われる（ステップ119、120）。
【０１０３】
ＦＤ2の復号プログラムおよび暗号鍵消去プログラムによる処理は、第10図および第13図にそれぞれ示されるフローチャートの処理と全く同じであるので、ここでは説明を省略する。
【０１０４】
この第４実施例では、秘密鍵が自動的に生成され、ＦＤ1に暗号ファイルのファイル名と対応づけられて記憶されるので、作成者は秘密鍵を管理する必要がなくなる。
【０１０５】
〔第５実施例〕
第５実施例は、ＦＤ1に複数のそれぞれ異なる管理鍵があらかじめ格納されているものである。第21図は、暗号化／復号装置のＦＤドライブ５の部分とＦＤ1およびＦＤ2を示している。他の部分は、第１実施例（第１図）のものと同じである。
【０１０６】
ＦＤ1には、ｎ個の管理鍵（Ｍ1〜Ｍnとする）があらかじめ格納されている。管理鍵Ｍ1〜Ｍnのそれぞれには、鍵の識別符号があらかじめ付けられている。ＦＤ2には、管理鍵Ｍ1〜Ｍnのうちの一つの管理鍵Ｍi（ｉ＝１〜ｎ）があらかじめ格納されている。管理鍵と識別符号とは、対応づけられてＦＤ1およびＦＤ2に格納されている。ある管理者には管理鍵Ｍiが格納されたＦＤ2が配布され、他の管理者には管理鍵Ｍj（ｉ≠ｊ）が格納されたＦＤ2が配布されるといった配布形態をとることができる。
【０１０７】
第22および第23図は、作成者がＦＤ1の暗号化／復号プログラムを用いて平文ファイルを暗号化する場合の処理の流れを示すフローチャートである。ステップ101〜109は第１実施例の処理（第６図）と同じであるので、説明を省略する。
【０１０８】
秘密鍵を用いてファイル鍵が暗号化された後（ステップ109）、管理鍵の識別符号がＦＤ1から読み出されて、表示装置２の表示画面に表示される（ステップ181）。管理鍵の内容は表示されない。作成者は、表示された識別符号の一つを選択する（ステップ182）。選択された識別符号に対応する管理鍵が読み出される。そして、この管理鍵を用いてファイル鍵が暗号化されて暗号鍵２が生成される（ステップ183）。続いて暗号ファイルが作成され（ステップ111）、ＦＤ3に格納される（ステップ112、113）。
【０１０９】
この暗号ファイルは、第24図に示されるデータ構造を有する。すなわち、暗号鍵２と暗号文との間に、ファイル鍵を暗号化して暗号鍵２を生成するときに用いられた管理鍵の識別符号が置かれる。この管理鍵の識別符号は、管理者がＦＤ2の復号プログラムを用いて暗号ファイルの復号を行う場合に用いられる。第25図、第26図および第27図は、管理者がＦＤ2の復号プログラムを用いて暗号ファイルの復号を行う場合の処理の流れを示すフローチャートである。
【０１１０】
ステップ131〜117の処理は、第１実施例（第10図）と同じであるので説明を省略する。ＦＤ3から暗号ファイルが読み出されると（ステップ117）、暗号ファイルに含まれている管理鍵の識別符号が読み出される。この管理鍵の識別符号に対応する管理鍵がＦＤ2から読み出される。識別符号に対応する管理鍵がＦＤ2に格納されていれば（ステップ185でYES）、ステップ134および135の処理（第10図と同じ）が行われる。識別符号に対応する管理鍵がＦＤ2に格納されていなければ（ステップ185でNO）、復号できないことを告げるメッセージが表示装置２の表示画面に表示され（ステップ186）、処理は終了する。
【０１１１】
作成者が暗号ファイルの復号を行う場合（ステップ103でNO）の処理も第８図（第１実施例）と全く同じであるので、このでは説明を省略する。また、ＦＤ2の暗号鍵消去プログラムによる暗号鍵１の消去処理も第13図（第１実施例）に示されるフローチャートと同じであるので、説明を省略する。
【０１１２】
この第５実施例では、作成者は、平文ファイルの暗号化を行うときに、その暗号ファイルの管理者が所持する管理鍵を選択できる。すなわち、作成者は、暗号ファイルごとに管理鍵を使い分けることができる。
【０１１３】
この第５実施例の変形例として、第２実施例のように内蔵記憶装置11を備えたもの、第３実施例のようにアダプタ７を備えたものおよび第４実施例のように秘密鍵を自動生成するものがある。
【０１１４】
〔第６実施例〕
第６実施例は、ＦＤ1に複数のそれぞれ異なる管理鍵が、ＦＤ2にはこれらの複数の管理鍵のうちのすべてまたは一部があらかじめ格納されているものである。第28図は、暗号化／復号装置のＦＤドライブ５の部分とＦＤ1およびＦＤ2を示している。他の部分は、第１実施例（第１図）のものと同じである。
【０１１５】
ＦＤ1には、ｎ個の管理鍵Ｍ1〜Ｍnがあらかじめ記憶されている。ＦＤ2には、一例として、管理鍵Ｍ1〜Ｍnのうちの３つの管理鍵Ｍi、ＭjおよびＭk（ｉ、ｊ、ｋ＝１〜ｎ、ｉ≠ｊ≠ｋ）があらかじめ格納されている。管理鍵Ｍ1〜Ｍnのそれぞれには、鍵の識別符号があらかじめ付けられている。管理鍵と識別符号とは、対応づけられてＦＤ1およびＦＤ2に格納されている。
【０１１６】
作成者がＦＤ1の暗号化／復号プログラムを用いてファイルの暗号化および復号を行う処理は第５実施例と同じである。また、管理者がＦＤ2の復号プログラムを用いて復号するときの処理および暗号鍵消去プログラムを用いて暗号鍵１を消去するときの処理も、第５実施例（第１実施例）と同じである。したがって、ここではその説明を省略する。
【０１１７】
この第６実施例の変形例として、第２実施例のように内蔵記憶装置11を備えたもの、第３実施例のようにアダプタ７を備えたものおよび第４実施例のよう秘密鍵を自動生成するものがある。
【０１１８】
〔第７実施例〕
第７実施例は、管理鍵を新たに生成するものである。暗号化／復号装置のハードウェアとして、第５実施例または第６実施例のものを用いることができる。
【０１１９】
第29図〜第31図は、作成者がＦＤ1の暗号化／復号プログラムを用いてファイルの暗号化を行う場合の処理の流れを示すフローチャートである。ステップ101〜109および181の処理は、第５実施例（第22図および第23図）と同じであるので、説明を省略する。作成者は、表示された管理鍵の識別符号のいずれか一つに対応する管理鍵を用いてファイル鍵を暗号化するかどうかを選択する（ステップ191）。表示された識別符号に対応する管理鍵のいずれか一つを用いるならば（ステップ191でNO）、表示された管理鍵の識別符号の一つが選択される（ステップ182）。そして、選択された識別符号の管理鍵によってファイル鍵が暗号化され、暗号鍵２が生成される（ステップ183）。以下、第23図と同様にしてステップ111〜113の処理が行われる。
【０１２０】
ＦＤ1に格納されている管理鍵を用いず、新たな管理鍵を生成する場合には（ステップ191でYES）、新たな管理鍵（Ｍn+1とする）が上述した鍵生成処理（第14図または第15図）によって生成される（ステップ192）。生成された管理鍵Ｍn+1には識別符号が生成され、これと対応付けられる。そして、管理鍵Ｍn+1とその識別符号とがＦＤ1に格納される（ステップ193）。続いて、ＦＤ2が、作成者によってＦＤドライブ５にセットされる（ステップ194）。ＦＤ2が複数あるならば、このうちの任意の一つのＦＤ2をセットすることができる。そして、セットされたＦＤ2に管理鍵Ｍn+1とその識別符号が格納される（ステップ195）。続いて、ステップ183からの処理が行われる。
【０１２１】
作成者が、ＦＤ1の暗号化／復号プログラムを用いて、復号処理を行う場合（ステップ103でNO）の処理は、第８図と全く同じなので説明を省略する。また、管理者が、ＦＤ2の復号プログラムを用いて行う復号処理は、第５実施例（第25図、第26図および第27図）と全く同じなので、説明を省略する。また、ＦＤ2の暗号鍵消去プログラムによる暗号鍵１の消去処理も第13図に示されるフローチャートと同じであるので、説明を省略する。
【０１２２】
生成された新たな管理鍵Ｍn+1をＦＤに格納することにより、管理鍵Ｍn+1をもつ新しいＦＤ2を作成することができる。
【０１２３】
この第７実施例の変形例として、第２実施例のように内蔵記憶装置11を備えたもの、第３実施例のようにアダプタ７を備えたものおよび第４実施例のように秘密鍵を自動生成するものがある。
【０１２４】
〔応用例〕
（1）企業等における管理体制に対応した管理鍵の配布
第32図は、この暗号化／復号装置を用いた一つの応用例を示している。企業等では、社長をトップにその下に部長、課長、係長という階層的な管理体制がとられている。
【０１２５】
社長には、管理鍵ＭA、ＭB、ＭCおよびＭDが格納されているＦＤ21があらかじめ配布されている。部長には、管理鍵ＭB、ＭCおよびＭDが格納されているＦＤ22があらかじめ配布されている。課長には、管理鍵ＭCおよびＭDが格納されているＦＤ23があらかじめ配布されている。また、係長には、管理鍵ＭDが格納されているＦＤ24があらかじめ配布されている。また、ＦＤ21〜ＦＤ24には、第５または第６実施例の復号プログラムもそれぞれ格納されている。作成者には、秘密鍵Ｓおよび管理鍵ＭA〜ＭD（ならびに暗号化／復号プログラム）が格納されたＦＤ1が与えられている。作成者は、平社員である場合もあるし、社長等の管理者である場合もある。作成者および管理者が使用する暗号化／復号装置のハードウェアおよびソフトウェアとして、第６または第７実施例のものを用いることができる。
【０１２６】
管理鍵ＭAは暗号情報Ａ（暗号ファイル）に含まれる暗号鍵２をファイル鍵に、管理鍵ＭBは暗号情報Ｂに含まれる暗号鍵２をファイル鍵にそれぞれ復号できる。管理鍵ＭCは暗号情報Ｃに含まれる暗号鍵２を、管理鍵ＭDは暗号情報Ｄに含まれる暗号鍵２をそれぞれ復号できる。また、暗号情報Ａを社長のみが復号して見ることができる最も機密性の高い情報とし、暗号情報Ｂを部長以上の者が見ることができる情報とする。暗号情報Ｃを課長以上の者が見ることができる情報とし、暗号情報Ｄを係長以上の者が見ることができる情報とする。
【０１２７】
作成者は、作成した情報の機密性に応じて、管理鍵を選択して暗号化を行う。例えば、社長のみが見ることができる情報の場合には、管理鍵ＭAを用いてファイル鍵の暗号化が行われる。このように管理者に一または複数の管理鍵を配布し、情報の機密性（重要性）のレベルに応じて、各管理鍵を使い分けることにより、情報の機密性のレベルに応じた暗号情報の管理および作成を行うことができる。
【０１２８】
（2）ネットワーク・データ・ベース・システム
第33図は、ネットワーク・データ・ベース・システムの構成を示すブロック図である。このネットワーク・データ・ベース・システムは、データ・ベース・システム60、クライアント63〜68（通信装置を備えたコンピュータ・システム等）およびこれらのデータ・ベース・システム60とクライアント63〜68とを接続する通信回線69から構成されている。データ・ベース・システム60は、サーバ61（通信装置または通信回路を備えたコンピュータ・システム等）および記憶装置62（磁気ディスク記憶装置、光ディスク記憶装置等）から構成されている。サーバ61は、記憶装置62に記憶されている情報（ファイル）の検索装置を含んでいる。
【０１２９】
クライアント63〜68には、ハードウェアおよびソフトウェアとして第５または第６実施例のものを用いることができる。ハードウェアには通信回線69との通信を行う通信装置が設けられている。記憶装置62には、暗号ファイル１〜４が格納されている。暗号ファイル１は、暗号情報（暗号化された情報）Ａ1および暗号鍵ＫA1を含んでいる。暗号ファイル２は暗号情報Ａ2および暗号鍵ＫA2を、暗号ファイル３は暗号情報Ｂおよび暗号鍵ＫBを、暗号ファイル４は暗号情報Ｃおよび暗号鍵ＫCをそれぞれ含んでいる。暗号鍵ＫA1〜ＫCは、上述した暗号鍵２に対応するものである。必要ならば、暗号鍵１に対応する鍵も各ファイルに含めることができる。
【０１３０】
暗号鍵ＫA1は、暗号情報Ａ1を生成（平文を暗号化して暗号情報Ａ1を生成）するときに用いられたファイル鍵を管理鍵ＭAで暗号化したものである。暗号鍵ＫA2は、暗号情報Ａ2を生成するときに用いられたファイル鍵を管理鍵ＭAで暗号化したものである。暗号鍵ＫBは、暗号情報Ｂを生成するときに用いられたファイル鍵を管理鍵ＭBで暗号化したものである。暗号鍵ＫCは、暗号情報Ｃを生成するときに用いられたファイル鍵を管理鍵ＭCで暗号化したものである。
【０１３１】
管理鍵ＭAは、クライアント63および66にのみあらかじめ配布されている。管理鍵ＭBは、クライアント63、64、66および67にのみあらかじめ配布されている。管理鍵ＭCは、クライアント63〜68のすべてにあらかじめ配布されている。
【０１３２】
サーバ61とクライアント63〜68とは、通信回線69を介して通信を行う。クライアント63〜68は、参照（閲覧）したい暗号ファイルを指定して、参照要求をサーバ61に送信する。サーバ61は、この要求を受信し、指定された暗号ファイルを記憶装置62において検索する。検索された暗号ファイルは、サーバ61から通信回線69を介して参照要求側のクライアントに送信される。管理鍵ＭA〜ＭCをもつクライアント63および66は、暗号ファイル１〜４のすべてを復号して参照（閲覧）することができる。管理鍵ＭBおよびＭCのみをもつクライアント64および67は、暗号ファイル３および４のみを復号して参照することができる。管理鍵ＭCのみをもつクライアント65および68は、暗号ファイル４のみを復号して参照することができる。
【０１３３】
このように、暗号情報のファイル鍵を異なった管理鍵で暗号化し、各クライアントに配布する管理鍵を異ならせることにより、各クライアントが参照できるファイル（情報）を異ならせることができ、ファイル閲覧の差別化を行うことができる。
【０１３４】
（3）電子メール・システム
第34図は、電子メール・システムの構成を示すブロック図である。この電子メール・システムは、メール・ゼンタ70、通信装置73〜78およびこれらのメール・センタ70と通信装置73〜78とを接続する通信回線79から構成されている。メール・センタ70は、通信装置71（通信回路を備えたコンピュータ・システムを含む）および記憶装置72（磁気ディスク記憶装置、光ディスク記憶装置等）から構成されている。通信装置73〜78のすべてがメールの送信局となることができるし、受信局となることもできる。通信装置73〜78のハードウェアおよびソフトウェアとして第５〜第７実施例のものを用いることができる。ハードウェアには通信回線79との通信を行う通信装置が設けられている。
【０１３５】
通信装置74（送信局）がメール（メールａとする）を通信装置75および77（受信局）に送信する場合について考える。送信局74は管理鍵ＭAを生成し、この鍵ＭAを受信局75および77に配布（送信）する。また、送信局74では、鍵ｋaが生成され、この鍵ｋaを用いてメールａが暗号化されて暗号メールＡが生成される。鍵ｋaは管理鍵ＭAを用いて暗号化されて暗号鍵ＫAが生成される。そして、暗号メールＡおよび暗号鍵ＫAにより暗号ファイル１が作成される。この暗号ファイル１はメール・センタ70に送信され、記憶装置72に記憶される。これと同時に、送信局74は、受信局75および77にメールａ（または暗号メールＡ）を送信したという通知（通知ＮAとする）を送信する。通知ＮAには、メール・センタ70に格納されている複数のファイル（メール）の中から暗号ファイル１を識別するための識別符号が含まれている。
【０１３６】
通知ＮAを受信した受信局75および77は、通知ＮAに含まれる識別符号に基づいてメール・センタ70の暗号ファイル１を読み出す。そして、受信局75および77は、管理鍵ＭAを用いて暗号ファイル１に含まれている暗号鍵ＫAを復号して鍵ｋaを得、さらに鍵ｋaを用いて暗号メールＡを復号してメールａを得る。
【０１３７】
送信局74は、管理鍵ＭAを通知ＮAに先だって受信局75および77に送信せずに、通知ＮAの中に管理鍵ＭAを含めて送信してもよい。
【０１３８】
送信局74が、メールａと異なるメール（メールｂとする）を通信装置73（受信局）に送信する場合についても、これと同様にして処理される。すなわち、送信局74で生成された管理鍵ＭBが受信局73に送られる。メールｂが、生成された鍵ｋbを用いて暗号化されて暗号メールＢが生成される。鍵ｋbは管理鍵ＭBを用いて暗号化され暗号鍵ＫBが生成される。暗号メールＢおよび暗号鍵ＫBによって暗号ファイル２が作成され、この暗号ファイル２がメール・センタ70に格納される。続いて、通知ＮBが受信局73に送信される。受信局73は、暗号ファイル２をメール・センタ70から読みだす。そして、受信局73では、暗号ファイル２に含まれる暗号鍵ＫBが管理鍵ＭBを用いて復号され、鍵ｋbが得られ、さらに暗号メールＢが鍵ｋbを用いて復号され、メールｂが得られる。
【０１３９】
この電子メール・システムでは、発信局から複数の受信局にメールを送信する場合であっても、１カ所のメール・センタにメールを送信するだけでよいので、発信局側の通信コストを軽減することができる。また、メールの受信者でない第三者がメール・センタに格納された暗号メールまたは通信回線上の暗号メールを閲覧できたとしても、その内容を知ることはできないので、メールの秘密化を図ることができる。
【０１４０】
この電子メール・システムの他の例として、暗号ファイル（暗号メールおよび暗号鍵）を格納する記憶装置を、通信装置73〜78がそれぞれ備えているものがある。送信局では、送信する暗号ファイルがその送信局に備えられている記憶装置に記憶される。受信局は、送信局の記憶装置から暗号ファイルを読み出す。この場合に、メール・センタを設置する必要はなくなる。
【０１４１】
（4）電子掲示板システム
第35図は、電子掲示板システムの構成を示すブロック図である。この電子掲示板システムは、電子掲示板装置80、クライアント83〜88（通信装置または通信回路を備えたコンピュータ・システム等）およびこれらの電子掲示板80とクライアント83〜88とを接続する通信回線89から構成されている。電子掲示板装置80は、サーバ81（通信装置または通信回路を備えたコンピュータ・システム等）および記憶装置82（磁気ディスク記憶装置、光ディスク記憶装置等）から構成されている。
【０１４２】
電子掲示板装置80は、掲示板を電子化したものである。クライアント83〜88は、掲示したい情報を、サーバ81を介して記憶装置82に格納する。記憶装置82に格納された掲示情報は、掲示板に掲示された情報と同じように、クライアント83〜88のすべてが参照できる。
【０１４３】
サーバ81には、暗号化／復号プログラム（または暗号化（暗号）回路）および鍵生成プログラム（または鍵生成回路）が含まれている。クライアント83〜88がサーバ81に管理鍵の生成要求を発すると、サーバ81は管理鍵を生成する。生成された管理鍵は、管理鍵の生成要求を発したクライアントに送信される。このクライアントは、生成された管理鍵を、掲示板の情報を見てほしい他のクライアントに配布するとともに、自らもこの管理鍵を保持する。管理鍵が配布されたクライアントも、配布された管理鍵を保持する。
【０１４４】
一例として、クライアント83（Ｍｒ．小沢）がクライアント87（Ｍｒ．細川）にのみ参照（閲覧）させたい情報（情報ａとする）を電子掲示板に掲示する場合について考える。クライアント83は、サーバ81に管理鍵の生成要求を発する。サーバ81によって生成された管理鍵（ＭAとする）は、クライアント83に送られる。クライアント83は管理鍵ＭAをクライアント87に送信（配布）するとともに、自らも保持する。クライアント83は、電子掲示板に掲示する情報ａおよび管理鍵ＭAを、サーバ81に送信する。サーバ81は、鍵生成プログラム（または鍵生成回路）によって鍵ｋaを生成する。そして、サーバ81は、この鍵ｋaを用いて掲示情報ａを暗号化して暗号情報Ａを生成する。また、サーバ81は、この鍵ｋaを管理鍵ＭAを用いて暗号化して暗号鍵ＫAを生成する。これらの暗号情報Ａ、暗号鍵ＫAおよびＭｒ．細川宛の掲示情報であることを告げるメッセージ“Ｍｒ．細川”によって暗号ファイル１が構成される。この暗号ファイル１は、記憶装置82に格納され、掲示される。メッセージ“Ｍｒ．細川”は暗号化されず、そのまま掲示される。
【０１４５】
この掲示情報は、クライアント83〜88のすべてが参照できるが、暗号情報Ａを復号して参照できるのは、管理鍵ＭAをもつクライアント87（Ｍｒ．細川）と情報の掲示元のクライアント83（Ｍｒ．小沢）のみである。クライアント87は、メッセージ“Ｍｒ．細川”を見て、自分宛の掲示であることを確認する。そして、クライアント87は、暗号情報Ａの復号要求および管理鍵ＭAをサーバ81に送信する。サーバ81は、管理鍵ＭAを用いて暗号鍵ＫAを鍵ｋaに復号し、鍵ｋaを用いて暗号情報Ａを情報ａに復号する。情報ａは、クライアント87に送信される。これにより、クライアント87は、掲示情報ａの内容を知ることができる。
【０１４６】
クライアント83がクライアント84（Ｍｒ．河野）にのみ参照させたい情報（暗号ファイル２）がある場合にも、同様の処理が行われる。
【０１４７】
このように、管理鍵を用いた暗号化処理を電子掲示板システムに応用することにより、特定の者のみが情報を参照（閲覧）できる電子掲示板システムを実現することができる。
【０１４８】
クライアント83〜88が、鍵生成プログラム（または鍵生成回路）および暗号化／復号プログラム（または暗号化（復号）回路）の両方または一方を備え、上述したサーバ81が行った鍵生成、ならびに掲示情報および鍵の暗号化処理の両方または一方を行うこともできる。
【０１４９】
（5）認証子の暗号化／復号
第36図は、上述した電子メール・システムや電子掲示板システムにおける情報の送受信において認証（送信された情報を確かに受け取ったか否かの判定）を行う場合に用いられる認証子に暗号化／復号処理を応用したものを示している。通信システムのハードウェアとして、上記電子メール・システムや電子掲示板システムものが使用できる。送信装置200および受信装置220のハードウェアとして第１〜第７実施例の暗号化／復号装置に通信装置を設けたものを使用できる。また、これらの装置のソフトウェアまたはハードウェアとして、第１〜第７実施例のものに、後述する認証子の暗号化および復号の処理を行うソフトウェアまたはハードウェアが付加される。
【０１５０】
送信装置200および受信装置220のそれぞれには、同一の管理鍵205および224があらかじめ与えられている。
【０１５１】
送信装置200では、鍵204が生成（または操作者によって入力）される。そして、受信装置220への送信情報201（上記の掲示情報やメール等）がこの鍵204を用いて暗号化され、暗号情報211が生成される。鍵204は管理鍵205を用いて暗号化されて暗号鍵212が生成される。また、受信装置220が情報を確かに受け取ったかどうかを確認するための認証子202も鍵204を用いて暗号化されて暗号認証子213（暗号認証子１）が生成される。認証子202は、送信者が任意に定めた記号（文字列等）や文章等からなる。これらの暗号情報211、暗号鍵212および暗号認証子213を含む送信情報210は、受信装置220に送信される。
【０１５２】
受信装置220では、送信情報210に含まれる暗号鍵212が管理鍵224を用いて復号され、鍵223が得られる。この鍵223はもちろん鍵204と同一のものである。そして、送信情報210に含まれる暗号情報211は、鍵223を用いて復号され、情報221（情報201と同じもの）が得られる。送信情報210に含まれる暗号認証子213も、鍵223を用いて復号され、認証子222（認証子202と同じもの）が得られる。さらに、受信装置220では、認証子222が管理鍵224を用いて暗号化されて暗号認証子231（暗号認証子２）が生成される。この暗号認証子231を含む返信情報230は、受信装置220から送信装置200に送信（返信）される。
【０１５３】
送信装置200では、返信情報230に含まれる暗号認証子231が管理鍵205を用いて復号され、認証子203が得られる。そして、この認証子203が認証子202と同一のものかどうかが確認される。これらの認証子202と203とが同一のものであれば、送信情報210が正しい受信装置220（受信者）に受信されたことが確認される。これにより、正しい受信装置（受信者）以外のものが情報を受信したにもかかわらず、正しい受信者になりすまして認証子を返信するといった不正な認証を防止することができる。
【０１５４】
送信装置200では、認証子202を管理鍵205を用いて暗号化し、受信装置220に送信することもできる。また、受信装置220では、受信した認証子222を鍵223を用いて暗号化し、送信装置200に返信してもよい。また、管理鍵は、送信装置200から受信装置220に前もって秘密裏に送信しておくこともできる。
【０１５５】
〔第８実施例〕
（1）システム構成および暗号化／復号処理
第37図は、第８実施例における暗号化／復号装置の構成を示すブロック図である。第37図において第１図に示すものと同一物には同一符号を付して説明を省略する。
【０１５６】
第37図に示す暗号化／復号装置では１つのスーパバイザ・フロッピィ・ディスク（以下ＳＶＦＤという）とＳＶＦＤによって管理される複数のオペレーション・フロッピィ・ディスク（以下ＯＰＦＤという）とが用いられる。
【０１５７】
暗号化／復号システム（一般には複数の暗号化／復号装置が含まれる）ごとに、１つのＳＶＦＤが用いられる。一の暗号化／復号システムに用いられるＳＶＦＤと他の暗号化／復号システムに用いられるＳＶＦＤとを識別するために、ＳＶＦＤには固有の情報ＩＤｓが付けられる。ＩＤｓは、ＳＶＦＤに固有の名称と固有の識別データとから構成される。ＳＶＦＤに固有の名称は管理者（例えば、社長、社長秘書など）によって装置に入力される。ＳＶＦＤに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データｔからＳＶＦＤのＩＤｓが構成されているので、ＳＶＦＤ固有の名称として同一の名称が入力されても、一般的にＩＤｓは異なる。これにより複数のＳＶＦＤを相互に識別できる。
【０１５８】
またＯＰＦＤにも固有の情報ＩＤｍが付けられる。ＩＤｍもＯＰＦＤに固有の名称と固有の識別データとから構成される。ＯＰＦＤに固有の名称は管理者または暗号文の作成者によって装置に入力される。ＯＰＦＤに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データとからＯＰＦＤのＩＤｍが構成されているので同一の名称が入力されても、一般的にＩＤｍは異なる。これにより複数のＯＰＦＤを相互に識別できる。
【０１５９】
ＯＰＦＤには作成者用のＯＰＦＤ、管理用のＯＰＦＤおよび被管理ＯＰＦＤがある。
【０１６０】
作成者用のＯＰＦＤは暗号文データの作成者がもつＯＰＦＤである。作成者用のＯＰＦＤには、後述するように暗号化された秘密鍵47Ｅおよび暗号化された作成者自身の管理鍵48Ｅが格納されている。平文データの暗号化処理においては、秘密鍵47または管理鍵48を用いてファイル鍵44が暗号化される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が復号される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が得られる。この復号されたファイル鍵44を用いて暗号文データが復号される。
【０１６１】
管理用ＯＰＦＤは、一の作成者用のＯＰＦＤに格納されるものと同じ暗号化された管理鍵48Ｅを格納している。一の作成者用のＯＰＦＤに格納されている暗号化された管理鍵48Ｅを、他の作成者用のＯＰＦＤに移すことにより管理用ＯＰＦＤを作成してもよいし、作成者用ＯＰＦＤをつくるときに同時に管理専用ＯＰＦＤをつくってもよい。作成者用のＯＰＦＤに格納されている暗号化された管理鍵48Ｅを用いて暗号化されたファイル鍵44を、管理用のＯＰＦＤに格納されている暗号化された管理鍵48Ｅを用いて復号することができる。さらに一の管理用のＯＰＦＤに格納されている暗号化された管理鍵48Ｅを、他の管理用のＯＰＦＤに移すこともできる。
【０１６２】
被管理ＯＰＦＤとは、そこに記憶されている暗号化された管理鍵48Ｅと同じものが管理用のＯＰＦＤに格納されているＯＰＦＤをいう。被管理ＯＰＦＤは管理用ＯＰＦＤを用いて管理される。作成者用ＯＰＦＤは被管理ＯＰＦＤになることもあるし管理用ＯＰＦＤになることもある。
【０１６３】
特に断わらない限り、ＯＰＦＤは、管理用のＯＰＦＤおよび被管理用のＯＰＦＤの両方を含む。
【０１６４】
ＳＶＦＤにはＯＰＦＤに格納されている暗号化された管理鍵48Ｅと同一である。暗号化された管理鍵48Ｅが複数のＯＰＦＤのそれぞれに対応して複数個格納されている。これによりＯＰＦＤに格納されている暗号化された管理鍵48Ｅを用いて暗号化されたファイル鍵44を、ＳＶＦＤに格納されている暗号化された管理鍵48Ｅを用いて復号できる。復号されたファイル機44を用いて暗号文データを復号できる。このようにＯＰＦＤはＳＶＦＤによって管理される。
【０１６５】
また暗号ファイル43（ＦＤ3に格納されている）には固有のファイル番号ＩＤｆが含まれる。このＩＤｆは暗号ファイル43を識別するためのものである。
【０１６６】
この実施例による暗号化／復号装置を会社で利用する場合には、ＳＶＦＤは管理者である社長または社長秘書に渡され、管理用のＯＰＦＤは、部長、課長などの管理職の者に渡され、作成者用のＯＰＦＤは、作成者である一般社員によって所持される。ＳＶＦＤをもつ社長または社長秘書はすべての社員が作成した暗号文データを復号できる。管理用のＯＰＦＤをもつ管理職は、自分の部下のもつＯＰＦＤに格納されている暗号化された管理鍵48Ｅを管理用のＯＰＦＤに移すことにより、自分の部下が作成した暗号文データを復号できる。作成者用のＯＰＦＤをもつ一般社員は、自分で作成した暗号文データの復号が可能となる。
【０１６７】
第37図に示す暗号化／復号装置においては、第１図に示す暗号化／復号装置の構成に、ＦＤドライブ７およびハード・ディスク・ドライブ（以下ＨＤドライブという）８が加えられている。もちろんＦＤドライブ７はＦＤドライブ５またはＦＤドライブ６と兼用することもできる。
【０１６８】
第37図に示す暗号化／復号装置においてはＦＤドライブ５に第１のＯＰＦＤ1、またはＳＶＦＤがセットされ、また取り外される。ＦＤドライブ７には第２のＯＰＦＤ2がセットされ、取り外される。ＯＰＦＤ1が作成者用のＯＰＦＤ、ＯＰＦＤ2が管理用のＯＰＦＤである。
【０１６９】
ＨＤドライブ８は、ハード・ディスク（以下ＨＤという）に記録されているデータの読出しおよびＨＤへのデータの記録を行なうものである。
【０１７０】
作成者用のＯＰＦＤ1および管理用のＯＰＦＤ2には後に後述するように各種プログラムを含むプログラム・ファイル、秘密鍵ファイル、管理鍵ファイル等が格納されている。ＳＶＦＤには各種プログラムを含むプログラム・ファイル、管理鍵ファイル、登録名称閲覧用ファイル等が格納されている。
【０１７１】
第37図に示す暗号化／復号装置においては、ＯＰＦＤ1とＯＰＦＤ2との相互間でのファイルの転送、ＯＰＦＤ1またはＯＰＦＤ2とＨＤ相互間でのファイルの転送およびＳＶＦＤとＨＤとの相互間でのファイルの転送が可能である。
【０１７２】
第38図は作成者用のＯＰＦＤ1に格納されている暗号化／復号プログラムによる暗号化処理の様子を示している。第39図はこの暗号化／復号プログラムによる復号処理の様子を示している。第38図および第39図に示す処理において、第４図および第５図に示すものと同じ処理については重複説明をさける。
【０１７３】
第38図に示す暗号化処理においては、暗号化処理で用いられる秘密鍵47および管理鍵48は暗号化された上で（これらの暗号化された秘密鍵および管理鍵をそれぞれ符号47Ｅおよび48Ｅで示す）ＯＰＦＤ1（第38図および第39図においては第１のＯＰＦＤ1が示されているが、複数のＯＰＦＤのうち他のＯＰＦＤであってよい）に格納されている。暗号化された秘密鍵47Ｅおよび管理鍵48ＥはＯＰＦＤ1から読み出されて復号される。この復号プログラムがＯＰＦＤ1が有している。復号により得られた秘密鍵47を用いてファイル鍵44が暗号化され暗号鍵１が作られ、管理鍵48を用いて暗号鍵２が作られる。これらの暗号鍵１および２が暗号ファイル43に格納されるのは第４図に示す暗号処理と同じである。
【０１７４】
第39図に示す復号処理においては、ＯＰＦＤ1から暗号化された秘密鍵47Ｅが読み出され、これが復号されることにより秘密鍵47が得られる。暗号ファイル43から暗号鍵１が読み出され、秘密鍵47を用いて暗号鍵１が復号される。これによりファイル鍵44が得られ、このファイル鍵44を用いて暗号文データが平文データに復元されるのは第５図に示す復号処理と同じである。
【０１７５】
第40図は、管理用のＯＰＦＤ2またはＳＶＦＤを用いて作成者用のＯＰＦＤ1によって暗号化したデータを復号する処理を示しており、第９図に示す処理に対応している。
【０１７６】
管理用のＯＰＦＤ2またはＳＶＦＤには作成者用のＯＰＦＤ1の管理鍵48と同じ管理鍵が暗号化されて記憶されている。管理用のＯＰＦＤ2またはＳＶＦＤがＦＤドライブ７または５にセットされ、暗号化された管理鍵48Ｅが読出されて復号され、管理鍵48となる。暗号化された管理鍵48Ｅの復号プログラムはＯＰＦＤ2およびＳＶＦＤにも記憶されている。復号された管理鍵48を用いて、暗号ファイル43に格納されている暗号鍵２が復号されファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが平文データに復号されるのは第９図に示す処理と同様である。
【０１７７】
このように、第37図に示す暗号化／復号装置では作成者用のＯＰＦＤ１に格納されている管理鍵を用いて暗号処理を行ない、得られた暗号文データを、管理用のＯＰＦＤ２に格納されている暗号化された管理鍵48ＥまたはＳＶＦＤに格納されている暗号化された管理鍵48Ｅを用いて復号することが可能である。
【０１７８】
（2）ファイルの内容
第41図は暗号ファイル43の内容を示している。
【０１７９】
暗号ファイル43には、この暗号ファイル43を作成するのに用いたＯＰＦＤのバージ番号、後述のように暗号の作成者による復号の禁止が設定されているかどうかを表わす作成者復号禁止情報（作成者復号禁止情報を設定するのに用いたＯＰＦＤ固有の名称を含む）、暗号ファイルの作成に用いられたＯＰＦＤに格納されているＳＶＦＤの固有情報ＩＤｓ、暗号ファイルの作成に用いられたＯＰＦＤに格納されているＯＰＦＤの固有情報ＩＤｍ、暗号ファイル43に固有のファイル番号ＩＤｆ、平文データのファイル名、暗号鍵１、暗号鍵２、暗号文の大きさおよび暗号文データが格納される。
【０１８０】
第42図および第43図はＳＶＦＤに格納されたファイルの内容を示している。ＳＶＦＤに格納されたファイルには第42図に示す管理鍵ファイル１と第43図に示す登録名称閲覧用ファイルとが含まれている。
【０１８１】
第42図を参照して、管理鍵ファイル１にはＳＶＦＤの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、ＳＶＦＤのバージョンを示すバージョン番号（このバージョン番号はＳＶＦＤの作成時または出荷前に登録される）、およびＳＶＦＤのＩＤｓが格納されている。さらに管理鍵ファイル１には、すべてのＯＰＦＤのＩＤｍと、ＯＰＦＤに格納されているものと同じ暗号化された管理鍵48Ｅと、個別化フラグ（ＯＰＦＤは後述のようにＩＤｍを構成する名称が付与された場合を個別化されている、名称が付与されていない場合を個別化されていないという）とからなる組が、ＯＰＦＤの数だけ格納されている。
【０１８２】
第43図を参照して、登録名称閲覧用ファイルにはＳＶＦＤのＩＤｓが格納されている。さらに登録名称閲覧用ファイルには、すべてのＯＰＦＤの名称が格納されている。またＯＰＦＤが管理用のＯＰＦＤ２であるときには、その管理用のＯＰＦＤ２によって管理されるすべての被管理ＯＰＦＤの名称も登録名称閲覧用ファイルに格納される。
【０１８３】
第44図および第45図はＯＰＦＤに格納されたファイルの内容を示している。ＯＰＦＤに格納されたファイルには第44図に示す秘密鍵ファイルと第45図に示す管理鍵ファイル２とが含まれている。
【０１８４】
第44図を参照して、秘密鍵ファイルにはＯＰＦＤのバージョンを示すバージョン番号、ＯＰＦＤの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、ＳＶＦＤのＩＤｓ、自分のＩＤｍ、および自己の管理鍵48を暗号化した暗号化管理鍵48Ｅが格納されている。
【０１８５】
さらに秘密鍵ファイルには暗号ファイル43に固有のファイル番号ＩＤｆおよびファイル鍵44を暗号化するための秘密鍵47が暗号化された暗号化秘密鍵47Ｅとの組が、作成した暗号文データの数に対応して格納されている。
【０１８６】
第41図を参照して、管理鍵ファイル２には自分のＯＰＦＤ以外の他のＯＰＦＤのＩＤｍとこの他のＯＰＦＤの暗号化管理鍵48Ｅと同じ暗号化管理鍵との組が格納されている。ＯＰＦＤの管理鍵ファイル２に、これらＩＤｍおよび暗号化管理鍵が格納されていることにより、他のＯＰＦＤの管理鍵48を用いて作られた暗号鍵２を復号でき、暗号文データの復号処理が可能となる。
【０１８７】
作成者用のＯＰＦＤ1には、他のＯＰＦＤのＩＤｍおよび暗号化された管理鍵48Ｅは一般には格納されない。この場合には作成者のＯＰＦＤ1には管理鍵ファイル２は設けられていない。もっとも作成者用ＯＰＦＤが管理用ＯＰＦＤであれば、管理鍵ファイル２が設けられる。
【０１８８】
（3）ＳＶＦＤのプログラムの内容
第46図はＳＶＦＤに格納されているプログラム・ファイルの内容を示している。第47図から第64図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【０１８９】
第47図および第48図は、制御プログラム１のフローチャートであり、主として表示装置２にメニュー画面を表示する処理手順を示している。
【０１９０】
ＳＶＦＤをもつ管理者によってＳＶＦＤがＦＤドライブ５にセットされる。ＦＤドライブ５によって、ＳＶＦＤに格納されているプログラム・ファイルの内容を表わすデータが読出され、第46図に示すような形態でプログラム・ファイルの内容が表示装置２に表示される。
【０１９１】
表示装置２に表示されたプログラム・ファイル中のプログラムのうち制御プログラム１の動作指令が、入力装置３から与えられると、制御プログラム１にしたがう動作が開始する。
【０１９２】
第47図において制御プログラム１の動作が開始すると、ＳＶＦＤに格納されている管理鍵ファイル１の内容がＦＤドライブ５によって読出されコンピュータ・システム１の内部メモリに記憶される（ステップ201）。
【０１９３】
第37図に示す暗号化／復号装置においては、ＳＶＦＤに格納されているすべてのファイルの内容を一旦ＨＤにインストールして、ＨＤからファイルのデータを逐次読み出し暗号化処理または復号処理をすることができる。このため、ＳＶＦＤ、またはＳＶＦＤのファイルがインストールされたＨＤのいずれからデータが読み出されているかが判断される（ステップ202）。このデータの読み出し判断は、ＳＶＦＤまたはＨＤのうちどちらからのデータの読み出し指令が入力装置３から与えられるかにより行なわれる。
【０１９４】
ＳＶＦＤに格納されているデータの読み出し指令が与えられているときには、ＳＶＦＤ内の実行禁止フラグが１にセットされているかどうかが判断される（ステップ203）。これは後述のようにＳＶＦＤに格納されているファイルの内容がＨＤにインストールされた場合には、ＳＶＦＤからのデータの読出しが禁止され、実行禁止フラグが１にセットされるからである。したがって実行禁止フラグが１にセットされているときには制御プログラム１は終了する（ステップ203でYES）。
【０１９５】
実行禁止フラグが１にセットされていなければ（ステップ203でNO）、ＳＶＦＤの初期設定がすでに行なわれているかどうかが判断される（ステップ204）。ＳＶＦＤの初期設定はＳＶＦＤの初期化ならびに後述するシステム登録処理および継承処理を含むものである。
【０１９６】
ＳＶＦＤの初期設定が行なわれていなければ（ステップ204でNO）、ＳＶＦＤの初期化が行なわれる（ステップ205）。ＳＶＦＤのバージョン番号は出荷時にすでに登録されており、この初期化では消去されない。
【０１９７】
ＳＶＦＤの初期化が終了するとシステム登録処理のメニューおよび継承処理のメニューが、表示装置２に表示される。入力装置３からの指令に応じてシステム登録処理または継承処理が行なわれる（ステップ206、207）。これらシステム登録処理および継承処理については後述する。
【０１９８】
ＳＶＦＤの初期設定が終了していると（ステップ204でYES）、ＳＶＦＤをもつ管理者により入力装置３からパスワードが入力される（ステップ210）。入力されたパスワードが、すでに管理鍵ファイル１に格納されている暗号化パスワードによって表わされるパスワードと一致するかどうかが判断される（ステップ211）。
【０１９９】
パスワードが一致すると（ステップ211でYES）、ＳＶＦＤの正当な管理者と判断されるため、第48図を参照して、バックアップ消去処理（ステップ212）、パスワード再設定処理（ステップ213）、ＯＰＦＤ禁止解除処理（ステップ214）、ＯＰＦＤ用ＩＤｍ設定処理（ステップ215）、ＯＰＦＤに登録した名前を閲覧する処理（ステップ216）、自己の管理下にあるＯＰＦＤの個別化処理（ステップ217）、管理鍵登録処理（ステップ218）、管理鍵削除処理（ステップ219）、暗号文データの復号処理（ステップ220）およびファイル・チェック処理（ステップ221）のメニューが表示装置２に表示される。この表示を見て所望の処理が行なわれるように入力装置３から動作指令が与えられる。与えられた動作指令にもとづいた処理が行なわれる。それぞれの処理については後述する。
【０２００】
つづいて、ＳＶＦＤのバックアップ・ファイルの作成のために、バックアップ・ファイルを格納するディスク（ＦＤかＨＤか）にデータを書込むために使用するドライブの指定およびディレクトリ名の入力が、ＳＶＦＤの管理者によって行なわれる（ステップ208）、これにより、ステップ212〜221において生成された管理鍵ファイル１および登録名称閲覧用ファイルに格納されているデータがバックアップ・ファイルに転送される（ステップ209）。
【０２０１】
第49図は、システム登録プログラムの処理手順（ステップ206）を示している。
【０２０２】
管理者によって、入力装置３からＳＶＦＤに固有であってＩＤｓを構成する名称が入力される（ステップ231）。入力された名称とＳＶＦＤに固有の識別データ（この固有の識別データにはたとえば乱数データ、名称が入力されたときの時刻データなどが用いられる）とからＩＤｓが作られる（ステップ232）。管理鍵ファイル１および登録名称閲覧用ファイルに、作られたＩＤｓが登録される（ステップ233）。
【０２０３】
またＳＶＦＤに登録するパスワードが、管理者によって、入力装置３から入力される（ステップ234）。入力されたパスワードが暗号化され（ステップ235）、管理鍵ファイル１に登録される（ステップ236）。パスワードは暗号化されて登録されているので、他人が読出してもその内容が知られることを防止できる。
【０２０４】
第50図は継承プログラムの処理手順（ステップ207）を示している。この継承プログラムは、ＳＶＦＤが壊れた場合、紛失した場合などＳＶＦＤの使用ができなくなった場合に第48図ステップ209の処理において作成されたバックアップ・ファイルをもつＦＤまたはＨＤに格納されているＳＶＦＤのすべてのファイルを新たなＦＤに書込んで新たなＳＶＦＤを作成し、新たなＳＶＦＤによる処理を続行させるものである。
【０２０５】
第50図を参照して、入力装置３を用いてＨＤまたはＦＤに格納されているバックアップ・ファイルを呼出す呼出指令が与えられる（ステップ241）。呼出されたバックアッフ・ファイルから暗号化パスワードが読出され（ステップ242）、復号される（ステップ243）。
【０２０６】
管理者によって入力装置３からパスワードが入力されると（ステップ244）、バックアップ・ファイルから読出され復号されたパスワードと入力されたパスワードとが一致するかどうかが判断される（ステップ245）。パスワードが一致すると正当な管理者と判断されるので、バックアップ・ファイルに格納されていた管理鍵ファイル１および登録名称閲覧用ファイルのデータが新しいＦＤに格納される（ステップ246）。これにより、新たなＳＶＦＤが作成され、これを用いて暗号文データの復号などのＳＶＦＤを用いた処理が可能となる。
【０２０７】
第51図は、バックアップ消去プログラムによる処理手順（ステップ212）を示している。この処理手順はＳＶＦＤのバックアップ用として作成されたバックアップ・ファイルの消去処理を示している。
【０２０８】
第51図において、バックアップ・ファイルが格納されている格納先（ＨＤかＦＤか）を読出すためのドライブ（ＨＤドライブ８またはＦＤドライブ５、６もしくは７）が指定され、ディレクトリ名が入力される（ステップ251）。これによりバックアップ・ファイルが読出される（ステップ252）。またＳＶＦＤに格納されているＩＤｓと読出されたバックアップ・ファイルに格納されているＩＤｓとが比較される（ステップ253）。ＩＤｓが一致すると（ステップ253でYES）、ＳＶＦＤに記憶されているデータとバックアップ・ファイルに記憶されているデータとが同一と判断される。これにより入力装置３から入力されるバックアップ・ファイル消去指令に応じてバックアップ・ファイルが消去される（ステップ254）。
【０２０９】
第52図は、ＳＶＦＤに登録されたパスワードを他の新しいパスワードに変更するパスワード再設定プログラムの処理手順（ステップ213）を示している。
【０２１０】
入力装置３からパスワードを変更すべきＳＶＦＤのパスワードが入力される（ステップ261）。入力されたパスワードとパスワードを変更すべきＳＶＦＤのパスワードとが一致するとパスワードを変更しようとする者は正当な使用者と判断され（ステップ261でYES）、入力装置３から新たなパスワードが受付けられる（ステップ262）。入力された新たなパスワードは暗号化されて（ステップ263）、管理鍵ファイル１に登録される（ステップ264）。これ以後、ＳＶＦＤのパスワードは新たに入力されたパスワードとなる。
【０２１１】
ステップ261において入力装置３から入力したパスワードと、パスワードを変更すべきＳＶＦＤのパスワードとが一致しなければ、パスワードの変更はできない（ステップ261でNO）。
【０２１２】
第53図は、ＯＰＦＤ禁止解除プログラムの処理手順（ステップ214）を示すものである。ＯＰＦＤに格納されているファイルをＨＤにインストールしてしまうとこのＯＰＦＤを用いて暗号化処理または復号処理を行なうことは禁止される。このような場合にＯＰＦＤを用いた暗号化処理または復号処理の禁止を解除するのがＯＰＦＤ禁止解除プログラムである。
【０２１３】
ＳＶＦＤがＦＤドライブ５に装着され、ＳＶＦＤに格納されているＩＤｓが読出され、コンピュータ・システム１の内部メモリに記憶される。暗号化処理または復号処理が禁止されているＯＰＦＤをＦＤドライブ５に装着すべき旨の指示が表示装置２に表示される（ステップ271）。ＦＤドライブ５にＯＰＦＤが装着されると、ＯＰＦＤに格納されている秘密鍵ファイルが読出される（ステップ272）。秘密鍵ファイルが読出されると、秘密鍵ファイルに格納されているＩＤｓとＳＶＦＤから読出されコンピュータ・システム１の内部メモリに記憶されているＩＤｓとが一致するかどうかが判定される（ステップ273）。一致すればＯＰＦＤによる暗号化処理または復号処理の実行禁止が解除される（ステップ274）。これにより、ファイルがインストールされたＨＤが壊れＨＤからファイルの読出しができなくなった場合であってもＯＰＦＤに格納されたファイルの読出しが可能となる。
【０２１４】
第54図は、ＩＤｍをＳＶＦＤに登録するプログラムの処理手順（ステップ215）を示している。
【０２１５】
ＯＰＦＤにはＯＰＦＤに固有の名称が設定され、それぞれのＯＰＦＤを利用する作成者によって所持される。この固有の名称をＳＶＦＤに設定する処理手順が、第54図に示すものである。
【０２１６】
入力装置３を用いてＯＰＦＤに固有の名称が入力される（ステップ281）。すでに入力されたＯＰＦＤの名称と同じ名称が入力されることがある。その場合には、入力された名称に何らかの名称を付加した名称をＯＰＦＤの固有の名称とすればよい。入力された固有の名称とＯＰＦＤに固有の識別データとを合わせることによりＯＰＦＤのＩＤｍが生成される（ステップ282）。またＯＰＦＤに固有の管理鍵48が生成され（ステップ283）、暗号化される（ステップ284）。
【０２１７】
生成されたＩＤｍと、暗号化された管理鍵とがＳＶＦＤの管理鍵ファイル１に登録される（ステップ285）。入力装置３から入力された固有の名称は、ＳＶＦＤの登録名称閲覧用ファイルにも格納される（ステップ286）。
【０２１８】
つづいて生成されたＩＤｍおよび暗号化管理鍵をＯＰＦＤに登録するかどうかが判断される（ステップ287）。入力装置３から、これらのＩＤｍおよび暗号化管理鍵を登録する旨の指令が与えられると（ステップ287でYES）、表示装置２にＯＰＦＤの装着指示が表示される（ステップ288）。ＯＰＦＤがＦＤドライブ７に装着されるとＯＰＦＤの秘密鍵ファイルにＳＶＦＤのＩＤｓ、自己のＩＤｍおよび自分の暗号化管理鍵が格納される（ステップ289）。秘密鍵ファイルにＩＤｓ、ＩＤｍおよび暗号化管理鍵が格納されると、ＳＶＦＤの管理鍵ファイル１においてそのＩＤｍに対応する個別化フラグが１にセットされる。
【０２１９】
第55図は登録名称閲覧プログラムの処理手順（ステップ216）を示している。登録名称閲覧プログラムは、ＳＶＦＤが管理するＯＰＦＤの名称を閲覧するためのものである。
【０２２０】
入力装置３から登録名称閲覧指令が与えられると、ＳＶＦＤから管理鍵ファイル１が読込まれる（ステップ291）。管理鍵ファイル１に格納されているすべてのＩＤｍからすべてのＯＰＦＤの名称が抽出され（ＩＤｍはＯＰＦＤの名称とＯＰＦＤ固有の識別データから構成されている）、表示装置２に表示される（ステップ292）。表示装置２に表示されたＯＰＦＤの名称のうち、所望のＯＰＦＤの名称が、入力装置３から入力される（ステップ293）。
【０２２１】
つづいて登録名称閲覧用ファイルが読込まれる（ステップ294）。上述したように管理用のＯＰＦＤ２はその管理用のＯＰＦＤ２が管理する作成者のＯＰＦＤ１を用いて暗号化された暗号文データを復号することができる。ステップ293において入力されたＯＰＦＤの名称が管理用のＯＰＦＤの名称であると、その管理用のＯＰＦＤが管理するＯＰＦＤの名称（被管理ＯＰＦＤの名称）が検索され、検索された名称が表示装置２に表示される（ステップ295）。
【０２２２】
第56図はＯＰＦＤ個別化プログラムの処理手順を示している（ステップ217）。
【０２２３】
ＯＰＦＤ個別化プログラムは、ＳＶＦＤのＩＤｓ、ＯＰＦＤのＩＤｍｉおよび暗号化管理鍵−ｉ（第44図参照）を秘密鍵ファイルに格納する処理（個別化処理）を行うものである。
【０２２４】
第56図を参照して、ＯＰＦＤ個別化プログラムにおいてはまず表示装置２に、個別化すべきＯＰＦＤをＦＤドライブ７に装着するように指示が表示される（ステップ301）。
【０２２５】
個別化すべきＯＰＦＤがＦＤドライブ７にセットされると、そのＯＰＦＤに格納されている秘密鍵ファイルが読み出されコンピュータ・システム１の内部メモリに記憶される（ステップ302）。
【０２２６】
またＳＶＦＤの管理鍵ファイル１に格納されているＩＤｍを構成するＯＰＦＤの名称の一覧表が表示され、一覧表に表示されたＯＰＦＤの名称のうち個別化するＯＰＦＤの名称が入力装置３から入力される（ステップ303）。入力された名称をもつＯＰＦＤを管理するＳＶＦＤのＩＤｓ、ＩＤｍおよび暗号化管理鍵がＳＶＦＤの管理鍵ファイル１から読み出され個別化すべきＯＰＦＤの秘密鍵ファイルに登録される（ステップ304）。これによりＯＰＦＤの個別化が行なわれたこととなり、ＳＶＦＤの管理鍵ファイル１において個別化されたＯＰＦＤのＩＤｍに対応した個別化フラグが１にセットされる（ステップ305）。
【０２２７】
個別化処理済のＯＰＦＤにはＩＤｓ、ＩＤｍおよび暗号化管理鍵48Ｅが格納されている。個別化処理済のＯＰＦＤがＦＤドライブ７に装着された場合には、すでに秘密鍵ファイルに格納されているＩＤｓ、ＩＤｍおよび暗号化管理鍵48Ｅに、新たに個別化処理されることにより得られるＩＤｓ、ＩＤｍおよび暗号化管理鍵48Ｅが上書きされる。すでに秘密鍵ファイルに格納されているＩＤｓ、ＩＤｍおよび暗号化管理鍵は消去されることとなる。したがって消去されたＩＤｍを構成するＯＰＦＤの名称をＳＶＦＤの登録名称閲覧用ファイルから削除する必要がある。ステップ301で装着されたＯＰＦＤが個別化処理済のものであったときに再登録処理が行なわれる（ステップ306）。再登録の場合であれば（ステップ306でYES）、登録名称閲覧用ファイルが読み出され、再登録前のＯＰＦＤの名称が検索される（ステップ307）。再登録前のＯＰＦＤの名称が検索されると、検索されたＯＰＦＤの名称とその名称に対応して格納されている被管理ＯＰＦＤの名称が、登録名称閲覧ファイルから消去される（ステップ308）。ＯＰＦＤの再登録でなければ（ステップ306でNO）、ステップ307および308の処理はスキップされる。
【０２２８】
つづいて、他のＯＰＦＤを管理するために、他のＯＰＦＤに格納されている暗号化管理鍵48Ｅと同じ暗号化管理鍵48Ｅを個別化処理を受けたＯＰＦＤの管理鍵ファイル２に登録するかどうかが判断される（ステップ309）。
【０２２９】
管理すべきＯＰＦＤの暗号化管理鍵を管理鍵ファイル２に登録する場合には（ステップ309でYES）、管理鍵ファイル１に登録されたＯＰＦＤの名称の一覧が表示装置２に表示され、所望の名称が入力装置３から入力される（ステップ310）。入力装置３から入力された名称に対応するＩＤｍとその名称に対応するＯＰＦＤの暗号化管理鍵がＯＰＦＤの管理鍵ファイル２に登録される（ステップ311）。
【０２３０】
さらに登録名称閲覧用ファイルが読み出され（ステップ312）、この登録名称閲覧用ファイルに、ステップ311で暗号化管理鍵が管理鍵ファイル２に登録されたＯＰＦＤの名称が格納される（ステップ313）。
【０２３１】
第57図は管理鍵登録プログラムの処理手順（ステップ218）を示している。
【０２３２】
管理鍵登録プログラムは、一のＯＰＦＤに、他のＯＰＦＤの暗号化管理鍵を登録するプログラムである。
【０２３３】
第57図において管理鍵登録指令が、入力装置３から与えられると、ＦＤドライブ５に装着されたＳＶＦＤの管理鍵ファイル１および登録名称閲覧用ファイルが読出され、コンピュータ・システム１の内部メモリに格納される。管理鍵を登録すべき一のＯＰＦＤをＦＤドライブ７に装着させる指示が表示装置２に表示される（ステップ321）。一のＯＰＦＤがＦＤドライブ７に装着されると、そのＯＰＦＤに格納されている管理鍵ファイル２が読出され、コンピュータ・システム１の内部メモリに記憶される（ステップ322）。
【０２３４】
つづいてＳＶＦＤの管理鍵ファイル１に格納されている暗号化管理鍵をもつＯＰＦＤの名称が表示装置２に表示される。表示装置２に表示されたＯＰＦＤの名称の中から一のＯＰＦＤの管理鍵ファイル２に登録すべき暗号化管理鍵をもつ他のＯＰＦＤの名称が入力装置３を用いて指定される（ステップ323）。入力装置３によって指定された名称のＯＰＦＤに対応してＳＶＦＤの管理鍵ファイル１に格納されている暗号化管理鍵、およびＩＤｍがコンピュータ・システム１の内部メモリ上で一のＯＰＦＤの管理鍵ファイル２に格納される。管理鍵ファイル２はコンピュータ・システム１の内部メモリからＦＤドライブ７に装着された一のＯＰＦＤに転送される。（ステップ324）。
【０２３５】
さらにＳＶＦＤから読出された登録名称閲覧用ファイルに格納されているＯＰＦＤの名称の中からＦＤドライブ７に装着された一のＯＰＦＤの名称が検索される（ステップ325）。登録名称閲覧用ファイルにおいて検索された名称をもつ一のＯＰＦＤが管理するＯＰＦＤ（被管理ＯＰＦＤ）の名称として、ステップ324で管理鍵ファイル２に格納されたＩＤｍを構成する名称が登録名称閲覧用ファイルに格納される（ステップ326）。
【０２３６】
第58図は管理鍵削除プログラムの処理手順（ステップ219）を示している。
【０２３７】
管理鍵削除指令が、入力装置３に入力されると削除すべき管理鍵が格納されているＯＰＦＤをＦＤドライブ７に装着することを指示するガイダンスが表示装置２に表示される（ステップ331）。ＦＤドライブ７に装着されたＯＰＦＤから管理鍵ファイル２が読出され、コンピュータ・システム１の内部メモリに一旦記憶される（ステップ332）。またＦＤドライブ５にセットされたＳＶＦＤの管理鍵ファイル１も読出される（ステップ333）。
【０２３８】
ＯＰＦＤから読出された管理鍵ファイル２に格納されている管理鍵をもつ被管理ＯＰＦＤの名称の一覧が表示装置２に表示される（ステップ334）。
【０２３９】
表示装置２に表示された被管理ＯＰＦＤの名称のうち、削除すべき管理鍵をもつ被管理ＯＰＦＤの名称が入力装置３から入力される（ステップ335）。入力装置３から名称が入力されると、その名称によって特定されるＩＤｍおよび暗号化管理鍵が管理鍵ファイル２から消去される（ステップ336）。
【０２４０】
また登録名称閲覧用ファイルから、ＦＤドライブ７に装着されているＯＰＦＤの名称が検索される（ステップ337）。検索されたＯＰＦＤの名称に対応して格納されている被管理ＯＰＦＤの名称のうち消去されたＩＤｍを構成する名称と同じ名称の被管理ＯＰＦＤの名称が検索され、登録名称閲覧用ファイルから削除される（ステップ338、339）。
【０２４１】
第59図および第60図は、ＳＶＦＤによる、暗号文データの復号プログラムの処理手順（ステップ220）を示している。この処理は、ＯＰＦＤに格納される秘密鍵および管理鍵を用いて作成された暗号文データをＳＶＦＤに格納された管理鍵を用いて復号する処理である。
【０２４２】
第59図において、暗号ファイルが格納されているＦＤ３がＦＤドライブ６にセットされる。ＦＤ３に格納されている暗号ファイルのファイル名がすべて表示装置２に表示される。表示装置２に表示されたファイル名のうち復号すべき暗号ファイルのファイル名が入力装置３を通して選択される（ステップ341）。選択されたファイル名をもつ暗号ファイルが、ＦＤ３から読込まれる（ステップ342）。
【０２４３】
暗号文データの復号処理においては、低いバージョンのＯＰＦＤによって暗号化された暗号文データを、それと同等かまたはそれよりも新しいバージョンのＳＶＦＤによって復号することができる必要がある。このために暗号ファイルに格納されているＯＰＦＤのバージョンとＳＶＦＤのバージョンとの比較が行なわれる（ステップ343）。暗号ファイルに格納されているバージョンが、ＳＶＦＤのバージョンよりも古ければまたは等しければ暗号文データの復号が可能であり、そうでなければ復号できない。
【０２４４】
暗号ファイルに格納されているバージョンが、ＳＶＦＤのバージョンよりも古いまたは等しい場合には（ステップ343でYES）、ＳＶＦＤの管理鍵ファイル１または登録名称閲覧用ファイルに格納されているＩＤｓと暗号ファイルに格納されているＩＤｓとが比較される（ステップ344）。ＩＤｓが一致しているとこのＳＶＦＤの管理下に置かれたＯＰＦＤによって暗号化されたものであり、復号可能である。これに対し、ＩＤｓが一致しないということはこのＳＶＦＤの管理下にはないＯＰＦＤによって暗号化されたものであり復号は不可能である。
【０２４５】
ＩＤｓが一致することにより、復号可能と判断されると（ステップ344でYES）、暗号ファイルに格納されているＩＤｍと同じＩＤｍが管理鍵ファイル１から検索される（ステップ345）。
【０２４６】
同じＩＤｍが見つかると（ステップ345）、見つかったＩＤｍに対応して管理鍵ファイル１に記憶されている暗号化管理鍵が読み出され復号される（ステップ346）。
【０２４７】
続いて暗号鍵２が、暗号ファイルから読出され、復号された管理鍵48によって復号されファイル鍵44が得られる（ステップ347）。ファイル鍵44を用いて暗号文データが復号され、平文データが得られる（ステップ348）。平文データが表示装置２に表示される（ステップ349）。
【０２４８】
表示装置２に表示されたデータのスクロール指示が入力されているかどうかが判断され（ステップ350）、スクロール指示が与えられている場合にはその指示にしたがってデータ・スクロール処理が行われる（ステップ354）。スクロール指示が入力されていない場合には（ステップ350でNO）、復号された平文データを格納するためのファイルを作成する指示が与えられたかどうかが判断される（ステップ351）。
【０２４９】
ファイルを作成する場合には、外部記憶装置４への平文データの転送指令が入力装置３から与えられ、外部記憶装置４に記憶される（ステップ352、353）。
【０２５０】
第61図はファイル・チェック・プログラムの処理手順（ステップ221）を示している。ファイル・チェック・プログラムは、暗号ファイルの作成者および復号禁止設定者を確認するための処理である。
【０２５１】
第61図において、ＦＤドライブ６にセットされたＦＤ3に格納された暗号ファイルが読出され、コンピュータ・システム１の内蔵メモリに記憶される（ステップ361）。ＳＶＦＤの管理下に置かれたＯＰＦＤによって暗号化された暗号ファイルかどうかを確認するために、暗号ファイルに格納されているＩＤｓとＳＶＦＤの管理鍵ファイル１または登録名称閲覧用ファイルに格納されたＩＤｓとの比較が行なわれる（ステップ362）。
【０２５２】
ＩＤｓが一致すると、暗号ファイルの作成に用いたＯＰＦＤの名称が暗号ファイルから読出され、表示装置２に表示される（ステップ363）。
【０２５３】
また、暗号ファイルに格納されている作成者復号禁止情報が１にセットされているかどうかが判断される（ステップ364）。作成者復号禁止情報が１にセットされている場合には、作成者復号禁止処理に用いられたＯＰＦＤの名称が暗号ファイルから読出され表示装置２に表示される（ステップ365）。
【０２５４】
第62図は、インストール・プログラム１の処理手順を示している。インストール・プログラム１もＳＶＦＤのプログラム・ファイルに格納されている。このインストール・プログラムはＳＶＦＤに格納されているすべてのファイルをＨＤに転送し、ＨＤからファイルを読み出し暗号化／復号処理を行なうものである。
【０２５５】
ＳＶＦＤに格納されているすべてのファイルがすでにＨＤにインストールされているときにはＳＶＦＤ内の実行禁止フラグが１にセットされインストールが禁止される。これはＳＶＦＤに格納されているファイルのコピーを防止するためである。このためまず、実行禁止フラグが１にセットされているかどうかが判断される（ステップ371）。実行禁止フラグが１にセットされていると（ステップ371でYES）、インストールできずインストール・プログラムは終了する。
【０２５６】
実行禁止フラグが１にセットされていなければ（ステップ371でNO）、インストール先のドライブ（ＨＤドライブ８）を指定すべき旨およびディレクトリを入力すべき旨の指示が表示装置２に表示される（ステップ372）。この表示にもとづいて、インストール先のドライブが指定され、ディレクトリが入力装置３から入力される（ステップ373）。
【０２５７】
入力装置３によって指定されたインストール先のドライブのＨＤにすでにディレクトリが作成されているかどうかが判断される（ステップ374）。ディレクトリが作成されていない場合には（ステップ374でNO）、ディレクトリが作成され（ステップ375）、すでにディレクトリが作成されているときには（ステップ374でYES）、ステップ375の処理はスキップされる。
【０２５８】
また、ＳＶＦＤがすでにＨＤにインストールされているかどうかが判断され（ステップ376）、インストールされていないときにはＳＶＦＤに格納されているすべてのファイルがＨＤに転送され（ステップ377）、ＳＶＦＤの実行禁止フラグが１にセットされる（ステップ378）。
【０２５９】
第63図は逆インストール・プログラム１の処理手順を示している。逆インストール・プログラムもＳＶＦＤのプログラム・ファイルに格納されている。逆インストール・プログラムは、ＳＶＦＤからＨＤにインストールされたファイルを再びＳＶＦＤに戻す処理を示すものである。
【０２６０】
第63図において、ＨＤドライブ８の指定とディレクトリ名が入力装置３から入力される（ステップ381）。指定されたＨＤドライブ８によってＨＤに格納されているファイルのうち入力されたディレクトリ名をもつファイルが読取られ、それらのファイルのうち管理鍵ファイル１がコンピュータ・システム１の内部メモリに一旦記憶される（ステップ382）。逆インストールすべきＳＶＦＤがＦＤドライブ５にセットされ、ＳＶＦＤの管理鍵ファイル１が読取られ、コンピュータ・システム１の内部メモリに一旦記憶される（ステップ383）。
【０２６１】
ＨＤから読取られた管理鍵ファイル１に格納されているＩＤｓとＳＶＦＤから読取られた管理鍵ファイル１に格納されているＩＤｓとが比較される（ステップ384）。このＩＤｓが一致するとＦＤドライブ５に装着されているＳＶＦＤが、ＨＤにファイルをインストールしたＳＶＦＤであると判断され、ＨＤに格納されていた管理鍵ファイル１と登録名称閲覧用ファイルがＳＶＦＤに転送される（ステップ385）。ＳＶＦＤの実行禁止フラグが０にリセットされる。ＳＶＦＤに管理鍵ファイル１と登録名称閲覧用ファイルとが転送されると、ＨＤに格納されているＨＤのプログラム・ファイル、管理鍵ファイル１および登録名称閲覧用ファイルが消去される（ステップ386）。これによりＨＤからのファイルの読出しができなくなる。
【０２６２】
第64図は暗号鍵生成プログラム１の処理手順を示している。この暗号鍵生成プログラム１はＳＶＦＤのプログラム・ファイルに格納されている。また第65図は第64図に示す暗号鍵生成プログラム１にしたがって暗号鍵を生成する暗号鍵生成回路の電気的構成を示している。
【０２６３】
第65図を参照して、所定の入力データと初期値データまたは暗号化回路92の出力データとが加算回路91に与えられ加算される。加算回路91から出力される加算データは暗号化回路92に入力する。暗号化回路92に入力したデータは、鍵を用いて暗号化されて出力される。暗号化回路92から出力されるデータが暗号鍵として用いられる。
【０２６４】
このような暗号鍵生成において、鍵、加算回路91に入力する入力データおよび初期値データのうちいずれかのデータに、時刻データを用いて暗号鍵を生成するのが第64図に示す処理手順である。
【０２６５】
第64図において、時刻データが入力され（ステップ391）、この時刻データを第65図に示す入力データ、初期値データまたは鍵として用いて暗号データが生成される（ステップ392）。このようにして生成された暗号データがファイル鍵44、秘密鍵47または管理鍵48として用いられる（ステップ393）。
【０２６６】
（4）ＯＰＦＤのプログラムの内容
第66図はＯＰＦＤのプログラム・ファイルの内容を示している。
【０２６７】
ＯＰＦＤのプログラム・ファイルには、制御プログラム２、暗号化プログラム、復号プログラム２、作成者復号禁止プログラム、管理用名称閲覧プログラム、パスワード再設定プログラム２、インストール・プログラム２、逆インストール・プログラム２および鍵生成プログラムが格納されている。
【０２６８】
第67図から第77図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【０２６９】
第67図および第68図はＯＰＦＤの制御プログラム２のフローチャートである。
【０２７０】
第67図において、ＯＰＦＤがＦＤドライブ５にセットされ、ＯＰＦＤに格納されている秘密鍵ファイルが読取られる（ステップ401）。ＯＰＦＤのプログラム・ファイルに格納されている各プログラム（実行プログラム）がＨＤにすでにインストールされているかどうかが判断される（ステップ402）。ＨＤにイントールされていなければ、ＯＰＦＤ内にあるＦＤ実行禁止フラグが１にセットされているかどうかが判断される（ステップ403）。
【０２７１】
ＦＤ実行禁止フラグが１にセットされていなければ（ステップ403でNO）、ＯＰＦＤが個別化されているかが判断される（ステップ404）。すでに個別化されていればＦＤドライブにセットされたＯＰＦＤは使用可能である。つづいてＯＰＦＤの秘密鍵ファイルに暗号化パスワードが記憶されているかどうかが判断され（ステップ405）、ＯＰＦＤに暗号化パスワードが記憶されていると（ステップ405でYES）、ＯＰＦＤの使用者が正当な使用者かどうかを確認するために入力装置３からパスワードが入力される（ステップ406）。
【０２７２】
入力されたパスワードがＯＰＦＤ内のパスワードと一致するかどうかが判断され（ステップ407）、一致すると（ステップ407でYES）ＯＰＦＤの使用者が正当な使用者と判断され暗号化等の処理が可能となる。これにより暗号化処理（ステップ408）、復号処理（ステップ409）、作成者復号禁止処理（ステップ410）、管理用名称閲覧処理（ステップ411）、およびパスワード再設定処理（ステップ412）が可能となる。これらの各処理について詳しくは後述する。
【０２７３】
ＦＤドライブ５にセットされたＯＰＦＤに暗号化パスワードが格納されていないときには（ステップ405でNO）、ＯＰＦＤの正当使用者の確認のために用いられるパスワードが入力装置３から入力され（ステップ413）、暗号化されて秘密鍵ファイルに格納される（ステップ414）。
【０２７４】
第69図は、ＯＰＦＤを用いた暗号化プログラムの処理手順（ステップ408）を示している。
【０２７５】
外部記憶装置４に格納されている平文ファイルのうち暗号化すべき平文ファイルが入力装置３によって選択される（ステップ421）。入力装置３によって選択された平文ファイルに格納されている平文データが表示装置３に表示される（ステップ422）。この平文データのスクロール指示が入力されていれば（ステップ423でYES）、スクロール表示が行なわれ表示装置３に表示されている平文データが、暗号化すべきデータかどうか確認される（ステップ424）。
【０２７６】
暗号化すべきデータであることが確認されると、秘密鍵47が生成され、これが暗号化されることにより暗号化秘密鍵47Ｅがつくれる（ステップ425、426）。
【０２７７】
ＦＤドライブ５にＯＰＦＤがセットされ、ＯＰＦＤに格納されている秘密鍵ファイルがコンピュータ・システム１の内部メモリに読取られる（ステップ427）。この秘密鍵ファイルに暗号化秘密鍵47ＥおよびＩＤｆが格納される（ステップ428）。
【０２７８】
またファイル鍵44が生成される（ステップ429）。秘密鍵ファイルに格納されている暗号化管理鍵48Ｅが復号される（ステップ430）。
【０２７９】
生成された秘密鍵47および復号された管理鍵を用いて暗号鍵１および暗号鍵２が生成される（ステップ431、432）。
【０２８０】
暗号文データ、暗号鍵１および暗号鍵２を格納すべき暗号ファイルの格納先が指定され（ステップ433）、暗号ファイルが作成され格納される（ステップ434）。
【０２８１】
暗号文データが作成されたときには、作成された暗号文データは表示装置２に表示され暗号化されていることが確認される（ステップ435、436）。
【０２８２】
第70図、第71図および第72図は復号プログラムの処理手順（ステップ409）を示している。この復号プログラムはファイル鍵44を用いて暗号化された暗号文データをＯＰＦＤに格納されている暗号化秘密鍵47Ｅまたは暗号化管理鍵48Ｅを用いて復号するものである。この復号プログラムにおいては自己のＯＰＦＤを用いて暗号文データを復号する場合と、他人のＯＰＦＤを用いて暗号文データを復号する場合とがある。
【０２８３】
第70図において、ＦＤドライブ５にセットされたＦＤ3に格納されている暗号ファイルのうち復号すべき暗号ファイルが、入力装置３によって選択される（ステップ441）。
【０２８４】
暗号ファイルに格納されているバージョン番号が、ＯＰＦＤの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古いかどうかが判断される（ステップ442）。暗号ファイルに格納されているバージョン番号がＯＰＦＤの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古ければ（ステップ442でYES）、復号が可能であるからＯＰＦＤに格納されている秘密鍵ファイルが読出される。暗号ファイルに格納されているＩＤｓと秘密鍵ファイルに格納されているＩＤｓとが一致するかどうかが判断される（ステップ444、445）。
【０２８５】
ＩＤｓが一致しなければ（ステップ444でNO）、同一のＳＶＦＤの管理下にあるＯＰＦＤによって暗号化されたものではないため復号することはできない。
【０２８６】
ＩＤｓが一致すると（ステップ444でYES）、同一のＳＶＦＤの管理下にあるＯＰＦＤによって暗号化されたものであり復号可能となる。ＩＤｓが一致すると暗号ファイルに格納されているＩＤｍと秘密鍵ファイルに格納されているＩＤｍとが一致するかどうかが判断される（ステップ445）。ＩＤｍが一致すると自分のＯＰＦＤを用いて作成した暗号文データであり秘密鍵47によって復号処理が行なわれる。ＩＤｍが不一致だと他人のＯＰＦＤを用いて作成した暗号文データであり管理鍵48によって復号処理が行なわれる。
【０２８７】
ＩＤｍが一致すると（ステップ445でYES）、暗号ファイルに格納されている作成者復号禁止情報が１にセットされているかどうかが判断される（ステップ446）。作成者復号禁止情報が１にセットされているとこのＯＰＦＤを利用した復号は禁止される。
【０２８８】
作成者復号禁止情報が１にセットされていないと（ステップ446でYES）、暗号ファイルに格納されているＩＤｆと同じＩＤｆが秘密鍵ファイルに格納されているかどうかが判断される（ステップ447）。このＩＤｆが秘密鍵ファイルに格納されていると（ステップ447でYES）、確認のために第72図において表示装置２に暗号文データがスクロール表示される（ステップ448、449）。
【０２８９】
秘密鍵ファイルにおいて検索されたＩＤｆに対応した暗号化秘密鍵47Ｅが復号され（ステップ450）、復号された秘密鍵47によって暗号鍵１が復号される（ステップ451）。これによりファイル鍵44が得られる。このファイル鍵４４を用いて暗号ファイルに格納されていた暗号文データが復号される（ステップ452）。
【０２９０】
暗号文データが復号されると復号された平文データは表示装置３に表示される（ステップ453）。データのスクロール指示が入力されていなければ（ステップ454でNO）、外部記憶装置４に平文データが記憶され、コンピュータ・システム１の内部メモリに記憶されていた平文データは消去（復号バッファの消去）される（ステップ455）。復号データのスクロール指示が入力されている場合には（ステップ454でYES）、その指示にしたがってデータ・スクロール処理が行なわれ、データが確認される（ステップ461）。
【０２９１】
ステップ445においてＩＤｍが一致しないと、他人のＯＰＦＤを用いて暗号文データを復号する処理となる。
【０２９２】
第71図において暗号ファイルのＩＤｍが管理鍵ファイル２から見つけられる（ステップ456）、ＩＤｍが見つかると表示装置２に暗号文データがスクロール表示される（ステップ457、458）。検索されたＩＤｍに対応する暗号化管理鍵48Ｅが検索され復号される（ステップ459）。復号された管理鍵48によって暗号鍵２が復号される（ステップ460）。これによりファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが復号される（ステップ452）。
【０２９３】
以降の処理は秘密鍵47を用いて暗号鍵１からファイル鍵44を生成して暗号文データの復号を行なう場合と同じであるため説明を省略する。
【０２９４】
第73図は作成者復号禁止プログラムの処理手順（ステップ410）を示している。作成者復号禁止プログラムは暗号文を作成した作成者による暗号文の復号を禁止するものである。
【０２９５】
ＦＤドライブ６に暗号ファイルを格納したＦＤ3がセットされ、作成者復号を禁止すべき暗号ファイルが選択される（ステップ471）。またＯＰＦＤがＦＤドライブにセットされ、ＯＰＦＤに格納されている秘密鍵ファイルがコンピュータ・システム１の内蔵メモリに読取られる（ステップ472）。
【０２９６】
暗号ファイルに格納されているＩＤｓと秘密鍵ファイルに格納されているＩＤｓとが一致するかどうかが判断される（ステップ473）。一致すると暗号ファイルを生成するのに用いたＯＰＦＤとＦＤドライブ５にセットされたＯＰＦＤとが同一のＳＶＦＤの管理下におかれていると判断され（ステップ473でYES）、ＯＰＦＤの管理鍵ファイル２がコンピュータ・システム１の内蔵メモリに格納される（ステップ474）。
【０２９７】
管理鍵ファイル２の中に暗号ファイルのＩＤｍと一致するＩＤｍが存在すると（ステップ475でYES）、暗号ファイルはＦＤドライブ５にセットされたＯＰＦＤによって管理される被管理ＯＰＦＤによって暗号化されたものと判断されるため、作成者復号禁止の確認が行なわれて暗号ファイルの暗号鍵１が消去される（ステップ477）。暗号鍵１が消去されてしまうので秘密鍵47を用いてもファイル鍵44を得ることができず、復号処理ができなくなる。暗号ファイルには作成者の復号が禁止されたＯＰＦＤの名称が記憶される（ステップ478）。
【０２９８】
第74図は管理用名称閲覧プログラムの処理手順（ステップ411）を示している。これは、自己のＯＰＦＤが管理する他人のＯＰＦＤの名称を表示するものである。すなわち他人のＯＰＦＤを利用して生成された暗号ファイルの暗号文データを、自己のＯＰＦＤに格納されている暗号化管理鍵48Ｅを用いて復号可能な、そのような他人のＯＰＦＤの名称の一覧表を表示する。
【０２９９】
ＯＰＦＤがＦＤドライブ６にセットされると、コンピュータ・システム１に内蔵されるメモリに管理鍵ファイル２が読取られる（ステップ481）。これにより、表示装置３に自己のＯＰＦＤが管理する他人のＯＰＦＤの名称が表示される（ステップ482）。
【０３００】
第75図はパスワード再設定プログラム２の処理手順（ステップ412）を示している。
【０３０１】
ＯＰＦＤにおいてもパスワードが暗号化されて格納されているが、その変更も可能である。パスワードを変更する場合、入力装置３から新しいパスワードが入力され（ステップ491）、暗号化される（ステップ492）。暗号化された新しいパスワードが秘密鍵ファイルに格納される（ステップ493）。新しいパスワードがＯＰＦＤに格納されるとそれ以後は新しいパスワードを用いて正当なＯＰＦＤの使用者かどうかを確認することになる。パスワードの再設定においては再設定前に古いパスワードが入力され、ＯＰＦＤの正当な使用者であることが確認されることはいうまでもない。
【０３０２】
第76図はＯＰＦＤのインストール・プログラム２の処理手順を示している。このインストール・プログラム２もＯＰＦＤのプログラム・ファイルに格納されている。
【０３０３】
ＯＰＦＤに実行禁止フラグが設定されていなければ（ステップ501でNO）、すでにＯＰＦＤがＨＤにインストールされているかどうかが判断される（ステップ502）、ＯＰＦＤのすべてのファイルがすでにＨＤにインストールされていなければＯＰＦＤのすべてのファイルが読出されＨＤにインストールされ（ステップ503）、ＯＰＦＤの実行禁止フラグが１にセットされる。
【０３０４】
第77図は逆インストール・プログラムの処理手順を示している。この逆インストール・プログラムもＯＰＦＤのプログラム・ファイルに格納されている。
【０３０５】
ＨＤドライブ名が入力され（ステップ511）、ＨＤに格納されている秘密鍵ファイルが読取られる（ステップ512）。秘密鍵ファイルがあれば（ステップ513でYES）、ＦＤドライブ５にＯＰＦＤがセットされＯＰＦＤの秘密鍵ファイルが読取られる（ステップ514）。
【０３０６】
ＨＤから読取られた秘密鍵ファイルに格納されているＩＤｓとＯＰＦＤから読取られた秘密鍵ファイルに格納されているＩＤｓとが一致するかどうか（ステップ515）、ＨＤから読取られた秘密鍵ファイルに格納されているＩＤｍとＯＰＦＤから読取られた秘密鍵ファイルに格納されているＩＤｍとが一致するかどうかが判断される（ステップ516）。ＩＤｓが一致し（ステップ515でYES）、かつＩＤｍが一致すると（ステップ516でYES）、ＨＤに格納されていた秘密鍵ファイルはＦＤドライブにセットされているＯＰＦＤから転送されたものと判断されＨＤに格納されていたすべてのファイルがＯＰＦＤに転送され格納される（ステップ517）。ＨＤに格納されていたファイルは消去される（ステップ518）。
【０３０７】
ＯＰＦＤのプログラム・ファイルにも鍵生成プログラム２が含まれており、この鍵生成プログラム２により暗号鍵を生成することもできるが、その処理手順はＳＶＦＤのプログラム・ファイルに格納されている鍵生成プログラム１と同様であるため重複説明は省略する。
【０３０８】
このようにして第８実施例によると、ＳＶＦＤを１人の管理者、たとえば社長、秘書などにもたせ、それぞれのＯＰＦＤを社員にもたせることにより、各社員が作成した暗号データを、ＳＶＦＤをもつ社長、秘書などが復号できるようになる。またＯＰＦＤに他のＯＰＦＤの管理鍵を記憶させることにより、他のＯＰＦＤをもつ者、たとえば部下の作成した暗号データを、その上司が復号することも可能である。
【０３０９】
ＳＶＦＤおよびＯＰＦＤには、固有の識別名称に加えて、固有の識別データが記憶されているから、新たなＳＶＦＤまたはＯＰＦＤを購入しても、固有の識別名称および固有の識別名称は異なっている。したがって新たに購入したＳＶＦＤまたはＯＰＦＤを用いて、そのほかのＳＶＦＤまたはＯＰＦＤを用いて暗号化されたデータを復号することはできない。このため、暗号文データの高い機密性が保持される。
【図面の簡単な説明】
【図１】第１実施例における暗号化／復号装置の構成を示すブロック図である。
【図２】暗号アルゴリズムの一例を示す。
【図３】Ｓボックスの一例を示す。
【図４】暗号化／復号装置におけるファイルの暗号化処理の様子を示す。
【図５】暗号化／復号装置における復号処理の様子を示す。
【図６】第１実施例における暗号化／復号処理の流れを示すフローチャートである。
【図７】第１実施例における暗号化／復号処理の流れを示すフローチャートである。
【図８】第１実施例における暗号化／復号処理の流れを示すフローチャートである。
【図９】第１実施例における暗号化／復号装置における復号処理の様子を示す。
【図１０】第１実施例における復号処理の流れを示すフローチャートである。
【図１１】暗号ファイルのデータ構造を示す。
【図１２】暗号ファイルのフロッピィ・ディスク内でのデータ構造を示す。
【図１３】第１実施例における暗号鍵１の消去の処理の流れを示すフローチャートである。
【図１４】鍵生成処理の流れを示すフローチャートである。
【図１５】鍵生成回路の構成を示すブロック図である。
【図１６】第２実施例における暗号化／復号装置の構成を示すブロック図である。
【図１７】第３実施例における暗号化／復号装置の構成を示すブロック図である。
【図１８】第４実施例における暗号化／復号処理の流れを示すフローチャートである。
【図１９】第４実施例における暗号化／復号処理の流れを示すフローチャートである。
【図２０】第４実施例における暗号化／復号処理の流れを示すフローチャートである。
【図２１】第５実施例における暗号化／復号装置のＦＤドライブ５の部分とＦＤ1およびＦＤ2を示す。
【図２２】第５実施例における暗号化処理の流れを示すフローチャートである。
【図２３】第５実施例における暗号化処理の流れを示すフローチャートである。
【図２４】暗号ファイルのデータ構造を示す。
【図２５】第５実施例における復号処理の流れを示すフローチャートである。
【図２６】第５実施例における復号処理の流れを示すフローチャートである。
【図２７】第５実施例における復号処理の流れを示すフローチャートである。
【図２８】第６実施例における暗号化／復号装置のＦＤドライブ５の部分とＦＤ1およびＦＤ2を示す。
【図２９】第７実施例における暗号化処理の流れを示すフローチャートである。
【図３０】第７実施例における暗号化処理の流れを示すフローチャートである。
【図３１】第７実施例における暗号化処理の流れを示すフローチャートである。
【図３２】企業等における管理体制に対応した管理鍵の配布の様子を示す。
【図３３】ネットワーク・データ・ベース・システムの構成を示すブロック図である。
【図３４】電子メール・システムの構成を示すブロック図である。
【図３５】電子掲示板システムの構成を示すブロック図である。
【図３６】認証子を含む送受信情報の暗号化／復号処理の様子を示す。
【図３７】暗号化／復号装置の構成を示している。
【図３８】暗号化処理を示す。
【図３９】暗号文の作成者による復号処理を示している。
【図４０】管理者または暗号文作成者以外の作業者による復号処理を示している。
【図４１】暗号ファイルの内容を示している。
【図４２】ＳＶＦＤに含まれる管理鍵ファイル１の内容を示している。
【図４３】ＳＶＦＤに含まれる登録名称閲覧用ファイルの内容を示している。
【図４４】ＯＰＦＤに含まれる秘密鍵ファイルの内容を示している。
【図４５】ＯＰＦＤに含まれる秘密鍵ファイル２の内容を示している。
【図４６】ＳＶＦＤに含まれるプログラム・ファイルの内容を示している。
【図４７】ＳＶＦＤに格納される制御プログラム１の処理手順を示すフローチャートである。
【図４８】ＳＶＦＤに格納される制御プログラム１の処理手順を示すフローチャートである。
【図４９】ＳＶＦＤに格納されるシステム登録プログラムの処理手順を示すフローチャートである。
【図５０】ＳＶＦＤに格納される継承プログラムの処理手順を示すフローチャートである。
【図５１】ＳＶＦＤに格納されるバックアップ消去プログラムの処理手順を示すフローチャートである。
【図５２】ＳＶＦＤに格納されるパスワード再設定プログラム１の処理手順を示すフローチャートである。
【図５３】ＳＶＦＤに格納されるＯＰＦＤ禁止解除プログラムの処理手順を示すフローチャートである。
【図５４】ＳＶＦＤに格納されるＯＰＦＤ用ＩＤｍ設定プログラムの処理手順を示すフローチャートである。
【図５５】ＳＶＦＤに格納される登録名称閲覧プログラムの処理手順を示すフローチャートである。
【図５６】ＳＶＦＤに格納されるＯＰＦＤ個別化プログラムの処理手順を示すフローチャートである。
【図５７】ＳＶＦＤに格納される管理鍵登録プログラムの処理手順を示すフローチャートである。
【図５８】ＳＶＦＤに格納される管理鍵削除プログラムの処理手順を示すフローチャートである。
【図５９】ＳＶＦＤに格納される復号プログラムの処理手順を示すフローチャートである。
【図６０】ＳＶＦＤに格納される復号プログラムの処理手順を示すフローチャートである。
【図６１】ＳＶＦＤに格納されるファイル・チェック・プログラムの処理手順を示すフローチャートである。
【図６２】ＳＶＦＤに格納されるインストール・プログラム１の処理手順を示すフローチャートである。
【図６３】ＳＶＦＤに格納される逆インストール・プログラム１の処理手順を示すフローチャートである。
【図６４】ＳＶＦＤに格納される鍵生成プログラム１の処理手順を示すフローチャートである。
【図６５】鍵生成回路の構成の一例を示している。
【図６６】ＯＰＦＤのプログラム・ファイルの内容を示している。
【図６７】ＯＰＦＤに格納される制御プログラム２の処理手順を示すフローチャートである。
【図６８】ＯＰＦＤに格納される制御プログラム２の処理手順を示すフローチャートである。
【図６９】ＯＰＦＤに格納される暗号化プログラムの処理手順を示すフローチャートである。
【図７０】ＯＰＦＤに格納される復号プログラム２の処理手順を示すフローチャートである。
【図７１】ＯＰＦＤに格納される復号プログラム２の処理手順を示すフローチャートである。
【図７２】ＯＰＦＤに格納される復号プログラム２の処理手順を示すフローチャートである。
【図７３】ＯＰＦＤに格納される作成者復号禁止プログラムの処理手順を示すフローチャートである。
【図７４】ＯＰＦＤに格納される管理用名称閲覧プログラムの処理手順を示すフローチャートである。
【図７５】ＯＰＦＤに格納されるパスワード再設定プログラム２の処理手順を示すフローチャートである。
【図７６】ＯＰＦＤに格納されるインストール・プログラム２の処理手順を示すフローチャートである。
【図７７】ＯＰＦＤに格納される逆インストール・プログラム２の処理手順を示すフローチャートである。
【符号の説明】
１  コンピュータ・システム
２  表示装置
３  入力装置
４  外部記憶装置
５  ＦＤドライブ
６  ＦＤドライブ
７  ＦＤドライブ
ＳＶＦＤ  スーパバイザ・フロッピィ・ディスク
ＯＰＦＤ  オペレーション・フロッピィ・ディスク
41  平文ファイル
42  暗号文ファイル
43  暗号ファイル
44  ファイル鍵
45、46  暗号鍵
47  秘密鍵
47Ｅ  暗号化秘密鍵
48  管理鍵
48Ｅ  暗号化管理鍵
【図１】
0003717176.tif 000002
【図２】
0003717176.tif 000003
【図３】
0003717176.tif 000004
【図４】
0003717176.tif 000005
【図５】
0003717176.tif 000006
【図６】
0003717176.tif 000007
【図７】
0003717176.tif 000008
【図８】
0003717176.tif 000009
【図９】
0003717176.tif 000010
【図１０】
0003717176.tif 000011
【図１１】
0003717176.tif 000012
【図１２】
0003717176.tif 000013
【図１３】
0003717176.tif 000014
【図１４】
0003717176.tif 000015
【図１５】
0003717176.tif 000016
【図１６】
0003717176.tif 000017
【図１７】
0003717176.tif 000018
【図１８】
0003717176.tif 000019
【図１９】
0003717176.tif 000020
【図２０】
0003717176.tif 000021
【図２１】
0003717176.tif 000022
【図２２】
0003717176.tif 000023
【図２３】
0003717176.tif 000024
【図２４】
0003717176.tif 000025
【図２５】
0003717176.tif 000026
【図２６】
0003717176.tif 000027
【図２７】
0003717176.tif 000028
【図２８】
0003717176.tif 000029
【図２９】
0003717176.tif 000030
【図３０】
0003717176.tif 000031
【図３１】
0003717176.tif 000032
【図３２】
0003717176.tif 000033
【図３３】
0003717176.tif 000034
【図３４】
0003717176.tif 000035
【図３５】
0003717176.tif 000036
【図３６】
0003717176.tif 000037
【図３７】
0003717176.tif 000038
【図３８】
0003717176.tif 000039
【図３９】
0003717176.tif 000040
【図４０】
0003717176.tif 000041
【図４１】
0003717176.tif 000042
【図４２】
0003717176.tif 000043
【図４３】
0003717176.tif 000044
【図４４】
0003717176.tif 000045
【図４５】
0003717176.tif 000046
【図４６】
0003717176.tif 000047
【図４７】
0003717176.tif 000048
【図４８】
0003717176.tif 000049
【図４９】
0003717176.tif 000050
【図５０】
0003717176.tif 000051
【図５１】
0003717176.tif 000052
【図５２】
0003717176.tif 000053
【図５３】
0003717176.tif 000054
【図５４】
0003717176.tif 000055
【図５５】
0003717176.tif 000056
【図５６】
0003717176.tif 000057
【図５７】
0003717176.tif 000058
【図５８】
0003717176.tif 000059
【図５９】
0003717176.tif 000060
【図６０】
0003717176.tif 000061
【図６１】
0003717176.tif 000062
【図６２】
0003717176.tif 000063
【図６３】
0003717176.tif 000064
【図６４】
0003717176.tif 000065
【図６５】
0003717176.tif 000066
【図６６】
0003717176.tif 000067
【図６７】
0003717176.tif 000068
【図６８】
0003717176.tif 000069
【図６９】
0003717176.tif 000070
【図７０】
0003717176.tif 000071
【図７１】
0003717176.tif 000072
【図７２】
0003717176.tif 000073
【図７３】
0003717176.tif 000074
【図７４】
0003717176.tif 000075
【図７５】
0003717176.tif 000076
【図７６】
0003717176.tif 000077
【図７７】
0003717176.tif 000078