(57)【特許請求の範囲】
【請求項１】
ファイルから元データを読み出し、暗号化する暗号化部と、
前記暗号化部で暗号化された暗号化データを中間ファイルに保存する中間ファイル保存手段と、
前記中間ファイルに保存された暗号化データを復号化する復号化部と、
前記復号化部で復号化されたデータを所定のファイルとして保存するファイル保存手段と、
前記暗号化部が暗号化を行う際にその１つが用いられるテーブルが一定数の複数記録されているテーブル記録手段と、
前記テーブル記録手段に記録されている複数の前記テーブルの中から前記暗号化部が暗号化を行う際に使用するテーブルを選択するテーブル選択手段と、
前記テーブル記録手段に記録されている前記テーブルのすべてを用いて演算を行うことにより新たなテーブルを生成し、前記テーブル記録手段に記録されている複数の前記テーブルのうち最も先に生成されたものを前記テーブル記録手段から消去するとともに、生成した前記新たなテーブルを前記テーブル記録手段に加えるテーブル生成手段と、
前記テーブル選択手段で選択された前記テーブルを、前記テーブルのそれぞれを識別するための識別子を付して記録するテーブル記憶手段と、
前記暗号化部で暗号化された前記暗号化データに、当該暗号化データの暗号化を行う際に用いられた前記テーブルを識別する識別子を付す識別子添付手段と、
前記中間ファイルに保存された暗号化データを前記復号化部が復号化する際に、復号化される当該暗号化データに付されている前記識別子を当該暗号化データから読出す識別子読出手段と、
前記識別子により識別された前記テーブルを前記テーブル記憶手段から読出しそれを前記復号化部に供給する復号用テーブル供給手段と、
を有する暗号化処理装置。
【請求項２】
暗号化処理装置が複数あったとしてもすべての暗号化処理装置が共通して取得することのできるデータである共通項を取得する共通項取得部と、
前記共通項取得部が取得した前記共通項に基づいてキーを生成するキー生成手段と、
を備えているとともに、
前記テーブル選択手段は、前記テーブル記録手段に記録されている複数の前記テーブルの中から前記暗号化部が暗号化を行う際に使用するテーブルを、前記キーを用いて選択するようになっている、
請求項１記載の暗号化処理装置。
【請求項３】
暗号化処理装置が複数あったとしてもすべての暗号化処理装置が共通して取得することのできるデータである共通項を取得する共通項取得部と、
前記共通項取得部が取得した前記共通項に基づいてキーを生成するキー生成手段と、
を備えているとともに、
前記テーブル生成手段は、前記テーブル記録手段に記録されている前記テーブルのすべてと前記キーを用いて演算を行うことにより新たなテーブルを生成するようになっている、
請求項１記載の暗号化処理装置。
【請求項４】
所定のネットワークで接続された複数の暗号化処理装置を有し、一の暗号化処理装置で元データを暗号化して生成された暗号化データを他の暗号化処理装置に送ることができるとともに、前記他の暗号化処理装置が前記一の暗号化処理装置で暗号化された暗号化データを復号化できるようにされている暗号化システム、を構成する暗号化処理装置であって、
ファイルから元データを読み出し、暗号化する暗号化部と、
前記暗号化部で暗号化された暗号化データを中間ファイルに保存する中間ファイル保存手段と、
前記中間ファイルに保存された暗号化データを復号化する復号化部と、
前記復号化部で復号化されたデータを所定のファイルとして保存するファイル保存手段と、
前記暗号化部が暗号化を行う際にその１つが用いられるテーブルが一定数の複数記録されているテーブル記録手段と、
前記テーブル記録手段に記録されている複数の前記テーブルの中から前記暗号化部が暗号化を行う際に使用するテーブルを選択するテーブル選択手段と、
前記テーブル記録手段に記録されている前記テーブルのすべてを用いて演算を行うことにより新たなテーブルを生成し、前記テーブル記録手段に記録されている複数の前記テーブルのうち最も先に生成されたものを前記テーブル記録手段から消去するとともに、生成した前記新たなテーブルを前記テーブル記録手段に加えるテーブル生成手段と、
前記テーブル選択手段で選択された前記テーブルを、前記テーブルのそれぞれを識別するための識別子を付して記録するテーブル記憶手段と、
前記暗号化部で暗号化された前記暗号化データに、当該暗号化データの暗号化を行う際に用いられた前記テーブルを識別する識別子を付す識別子添付手段と、
前記中間ファイルに保存された暗号化データを前記復号化部が復号化する際に、復号化される当該暗号化データに付されている前記識別子を当該暗号化データから読出す識別子読出手段と、
前記識別子により識別された前記テーブルを前記テーブル記憶手段から読出しそれを前記復号化部に供給する復号用テーブル供給手段と、
前記中間ファイルに保存された前記暗号化データをネットワークを介して他の暗号化処理装置に送信する通信手段と、
他の暗号化処理装置から受付けた前記暗号化データを前記中間ファイルに記録する手段と、
を備えているとともに、
複数の前記暗号化処理装置のそれぞれの前記テーブル記録手段に記録される初期のテーブルは、複数の前記暗号化処理装置のすべてで、すべて共通となるようにされている、
暗号化処理装置。
【請求項５】
複数の暗号化処理装置のすべてが共通して取得することのできるデータである共通項を取得する共通項取得部と、
前記共通項取得部が取得した前記共通項に基づいてキーを生成するキー生成手段と、
を備えているとともに、
前記テーブル選択手段は、前記テーブル記録手段に記録されている複数の前記テーブルの中から前記暗号化部が暗号化を行う際に使用するテーブルを、前記キーを用いて選択するようになっている、
請求項４記載の暗号化処理装置。
【請求項６】
複数の暗号化処理装置のすべてが共通して取得することのできるデータである共通項を取得する共通項取得部と、
前記共通項取得部が取得した前記共通項に基づいてキーを生成するキー生成手段と、
を備えているとともに、
前記テーブル生成手段は、前記テーブル記録手段に記録されている前記テーブルのすべてと前記キーを用いて演算を行うことにより新たなテーブルを生成するようになっている、
請求項４記載の暗号化処理装置。
【請求項７】
前記共通項は、複数の前記暗号化処理装置のすべてで共通の乱数を発生させる乱数発生装置によって発生させられる乱数である、
請求項２、３、５、又は６記載の暗号化処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は暗号化装置及び情報処理装置並びに情報処理方法に係り、特に、データを暗号化する暗号化装置及び情報処理装置並びに情報処理方法に関する。
【０００２】
【従来の技術】
データを暗号化する場合、送信装置と受信装置とで共通のキーデータを持つ。このとき、従来は送受信装置間でキーデータそのものを送受信したり、外的要因、例えば、一般の天気情報などをキーデータとしたりしていた。また、暗号化を動的に変える場合であっても共通の事前に決められている外部キーデータに依存していた。
【０００３】
【発明が解決しようとする課題】
しかるに、従来の暗号化装置では、暗号化を行うときに所定のキーデータに基づいて暗号化を行っている。このとき、キーデータあるはキーデータの所在が漏洩した場合には暗号を解読されて、通信データが漏洩してしまうなどの問題点があった。
【０００４】
本発明は上記の点に鑑みてなされたもので、データの秘匿性を向上させることができる暗号化装置及び情報処理装置並びに情報処理方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の請求項１、４、５は、ファイルから元データを読み出し、暗号化し、暗号化された暗号化データを中間ファイルに保存し、中間ファイルに保存されたデータを復号化し、所定のファイルとして保存することを特徴とする。
【０００６】
また、請求項２は、ネットワークを介してファイル保存手段に保存されたファイルを通信先に送信する通信手段を有することを特徴とする。
【０００７】
本発明の請求項１、２、４、５によれば、ファイルから元データを読み出し、暗号化し、暗号化された暗号化データを中間ファイルに保存し、中間ファイルに保存されたデータを復号化し、所定のファイルとして保存することにより、暗号化されたデータを中間ファイルとして記憶しておくことができるため、記憶データの秘匿性を向上させることができる。また、中間ファイルを通常の通信装置により通信できるため、暗号化を容易に導入できる。
【０００８】
また、本発明の請求項３は、暗号化部が元データを暗号化するために用いられるテーブルを動的に変化させるテーブル生成手段を有することを特徴とする。
【０００９】
本発明の請求項３によれば、暗号化部に元データを暗号化するために用いられるテーブルを動的に変化させるテーブル生成手段を設けることにより、暗号化を行うためのテーブルを動的に変化するため、一時的にテーブルを取得してもデータの暗号を解くことは困難であり、よって、データの秘匿性を向上させることが可能となる。
【００１０】
さらに、本発明の請求項４は、暗号化部が共通項に基づいてキーを生成するキー生成手段と、キー生成手段で生成されたキーに基づいてテーブル生成手段で生成された複数のテーブルから所定のテーブルを選択するテーブル選択手段と、テーブル選択手段で選択されたテーブルに基づいて暗号化を行う暗号化手段とを有することを特徴とする。
【００１１】
本発明の請求項４によれば、暗号化部が共通項に基づいてキーを生成し、生成されたキーに基づいて複数のテーブルから所定のテーブルを選択し、選択されたテーブルに基づいて暗号化を行うことにより、暗号を復号化するにはテーブルだけでなく、共通項及びキーを取得する必要があり、よって、容易にデータの暗号を解くことは困難であり、データの秘匿性を向上させることが可能となる。
【００１２】
【発明の実施の形態】
図１は本発明の情報処理装置の一実施例のブロック構成図を示す。
【００１３】
本実施例の情報処理装置１は、例えば、通常のパーソナルコンピュータから構成されており、ＣＰＵ（central processing unit）１１、ＲＡＭ（random access memory）１２、ＲＯＭ（read only memory）１３、ＨＤＤ（hard disk drive）１４、ＣＤ-ＲＯＭ（compact disk-ＲＯＭ）ドライブ１５、入力装置１６、表示装置１７、通信装置１８、暗号化装置１９から構成される。
【００１４】
ＣＰＵ１１は、ＨＤＤ１４にインストールされた暗号化用プログラムにより暗号化装置１９と協働して暗号化処理を行う。ＲＡＭ１２は、ＣＰＵ１１の作業用記憶領域として用いられる。ＲＯＭ１３には、ＢＩＯＳ（basic input/output system）、各種設定情報が記憶されており、情報処理装置１の起動時に処理を行う。
【００１５】
ＨＤＤ１４は、暗号化装置１９と協働して暗号化処理を行うための暗号化用プログラム、元データ、暗号化データ、復号データ、暗号化用テーブルなどが記憶される。ＣＤ−ＲＯＭドライブ１５には、コンパクトディスクＤが装着され、コンパクトディスクＤに記録されたプログラムを読み出す。
【００１６】
暗号化用プログラムは、例えば、コンパクトディスクＤにより提供されてＣＤ−ＲＯＭドライブ１５によりＨＤＤ１４にインストールされて用いられる。なお、暗号化用プログラムは、通信装置１８を介してネットワークから提供するようにしてもよい。
【００１７】
入力装置１６は、キーボード、マウスなどから構成されており、暗号化プログラムの起動や暗号化すべき元データの選択に用いられる。表示装置１７は、ＣＲＴ（cathode ray tube）やＬＣＤ（liquid crystal device）から構成されており、元データや復号化されたデータあるいは暗号化の進行状況などの情報を表示する。
【００１８】
通信装置１８は、モデム、ターミナルアダプタ、ルータなどから構成されており、ネットワークを介して他の情報処理装置との通信を行うための装置である。
【００１９】
暗号化装置１９は、暗号化用プログラムにより供給される元データを暗号化したり、暗号化用プログラムにより供給される暗号化データを復号化したりするためのボードである。
【００２０】
図２は暗号化装置１９のブロック構成図を示す。
【００２１】
暗号化装置１９は、例えば、ＰＣＩ（peripheral component interconnect bus）に接続可能なボードから構成されており、共通項取得部２１、キー生成部２２、暗号化用テーブル選択・生成部２３、暗号化用テーブル記憶部２４、暗号化部２５、復号化部２６から構成される。
【００２２】
共通項取得部２１は、天気情報・時刻情報、あるいは、送受信側で共通の乱数を発生する擬似乱数発生器で得られる乱数などから通信相手と共通の項目を取得する。
【００２３】
共通項取得部２１で取得された共通項は、キー生成部２２に供給される。キー生成部２２は、共通項取得部２１で取得された共通項からキーを生成する。キーは、共通項取得部２１から供給された共通項に対して係数を乗算したり、定数を加算したりなど各種演算を行うことにより生成される。また、キーは、予め設定された複数の関数から共通項に応じた関数を選択し、他の共通項を代入することによりキーを生成する。キー生成部２２で生成されたキーは、テーブル選択・生成部２３に供給される。
【００２４】
テーブル選択生成部２３は、キー生成部２２から供給されるキーに基づいてデータを暗号化するためのテーブルを選択するとともに、新たなテーブルを生成する。
【００２５】
図３はテーブル選択・生成部２３のブロック構成図を示す。
【００２６】
テーブル選択・生成部２３は、初期値設定部３１、演算部３２、ルックアップテーブル（ＬＵＴ：look up table）３３−１〜３３−ｎ、テーブル選択部３４から構成される。初期値設定部３１は、通信開始時などに初期テーブルをルックアップテーブル３３−１に設定する。
【００２７】
ルックアップテーブル３３−１には、起動時に初期値設定部３１により初期テーブルが設定されるとともに、演算部３２で演算処理され、新たに作成されたテーブルが設定される。ルックアップテーブル３３−２には、ルックアップテーブル３３−１に前回設定されたテーブルが設定される。同様に順次、前のルックアップテーブルに設定されたテーブルが設定され、ルックアップテーブル３３−ｎには前のルックアップテーブル３３−（n-1）に設定されたテーブルが設定される。
【００２８】
ルックアップテーブル３３−１〜３３−ｎに設定されたテーブルは、演算部３２及びテーブル選択部３４に供給される。
【００２９】
演算部３２は、ルックアップテーブル３３−１〜３３−ｎからテーブルが供給されるとともに、キー生成部２２からキーが供給されている。演算部３２は、例えば、ルックアップテーブル３３−１〜３３−ｎからの複数のテーブルの各マトリクスを加算して、加算して生成されたテーブルにキーを乗算することにより新たなテーブルを生成する。なお、演算部３２での演算は、これに限定されるものではなく、例えば、非線形遷移型の関数を設定することもできる。非線形遷移的な関数を設定することによりカオス的にテーブルを成長させることができる。これによりテーブルを取得できたとしても、テーブルはカオス的に成長しているので、取得したテーブルで暗号を解くことはできなくなり、容易に暗号を解読できるものではない。
【００３０】
演算部３２で演算されて新たに作成されたテーブルは、ルックアップテーブル３３−１に設定される。このとき、ルックアップテーブル３３−１に設定されていたテーブルは、ルックアップテーブル３３−２に設定され、ルックアップテーブル３３−２に設定されていたテーブルは、ルックアップテーブル３３−３に設定される。同様にして、順次、次のルックアップテーブルにテーブルが設定され、ルックアップテーブル３３−(n-1)のテーブルがルックアップテーブル３３−ｎに設定される。また、ルックアップテーブル３３−ｎに設定されたテーブルは、破棄される。
【００３１】
テーブル選択部３４には、ルックアップテーブル３３−１〜３３−ｎに設定されたｎ個テーブルが供給されるとともに、キー生成部２２からキーが供給されている。テーブル選択部３４は、キー生成部２２からのキーに応じてルックアップテーブル３３−１〜３３−ｎに設定されたｎ個のテーブルのうちいずれか一つのテーブルを選択する。
【００３２】
図４はキー選択・生成部２３の動作説明図を示す。
【００３３】
図４に示すようにルックアップテーブル３３−１〜３３−ｎのうち第ｉ番目のテーブル３３−ｉの第ｍ文字目の「Ａ」をキーとする旨予め設定しておき、この「Ａ」をキーとしてテーブルを選択したり、次のテーブルの生成のための係数としたりすることもできる。
【００３４】
さらに、天気情報や時刻情報などによりテーブル及び文字数を決定して、決定されたテーブルの決定された文字数の文字をキーとして呼び出し、テーブルを選択したり、次のテーブルを生成するための係数、あるいは、テーブルを生成するための関数の選択などに用いたりすることもできる。
【００３５】
テーブル選択部３４で選択されたテーブルは、テーブル記憶部２４に供給され、記憶されるとともに、暗号化部２５に供給される。なお、テーブル記憶部２４は、ＨＤＤ１４に設定し、暗号化用プログラムにより管理するようにしてもよい。
【００３６】
暗号化部２５には、テーブル選択生成部２３から選択テーブルが供給されるとともに、送信データが供給されている。暗号化部２５は、元データをテーブル選択部３４で選択され、テーブル記憶部２４に記憶された暗号化用テーブルに基づいて暗号化する。なお、暗号化の手法は、例えば、選択された暗号化用テーブルとデータとをマトリクス演算したり、単に加算したり、乗算したり、暗号化用テーブルからデータに対応する位置のデータを取得したりすることにより暗号化を行う。なお、暗号化の手法は、これらに限定されるものではなく、既存の各種暗号化法を適用することができる。
【００３７】
暗号化部２５で暗号化された暗号化データは、暗号化用プログラムにより暗号化装置１９から読み出され、中間ファイルとしてＨＤＤ１４に記憶される。ＨＤＤ１４に記憶される中間ファイルには、どのテーブルにより暗号化されたかを識別するためのテーブル識別情報が付与される。
【００３８】
復号化時には、暗号化用プログラムによりＨＤＤ１４から復号化しようとする中間ファイルが読み出され、暗号化装置１９に供給される。暗号化装置１９では、中間ファイルに付与されたテーブル識別情報に基づいてテーブル記憶部２４が探索され、テーブル記憶部２４から暗号化時に用いた暗号化用テーブルが読み出され、復号化部２６に供給される。
【００３９】
復号化部２６は、テーブル記憶部２４から供給された暗号化用テーブルから下データを復号化する。なお、復号化方法としては、例えば、暗号化時に用いた関数の逆関数に暗号化用テーブルを代入して演算を行い、元データを復号化する。
【００４０】
復号化部２６で復号化されたデータは、暗号化用プログラムにより暗号化装置１９より読み出されて、ＨＤＤ１４に記憶される。あるいは、ＲＡＭ１２に記憶され、ＣＰＵ１１での処理に用いられる。
【００４１】
以上、本実施例によれば、データを暗号化して中間ファイルとしてＨＤＤ１４に記憶しておくことができる。重要なデータを暗号化してＨＤＤ１４に記憶しておくことにより、データを盗まれても容易に復号化できないので、データの秘匿性を向上させることができる。
【００４２】
このとき、暗号化用テーブルはデータの暗号化毎あるいは時間経過に伴って順次に代わっていくので、容易に暗号を見破ることができない。また、暗号化テーブルは初期テーブルに基づいて順次に演算されて生成されるので、途中の暗号化テーブルを知り得たとしても次のテーブルを取得することはできない。すなわち、通信当初に与えられる初期テーブルとその演算方法を知らない限りテーブルを取得することはできない。また、キーによって、テーブルが選択されたり、テーブルの演算方法が変化したりするので、たとえ、初期テーブルや演算方法を知り得たとしてもキーを取得しないと暗号を解くことはできない。さらに、キーは天気・時刻などの共通項を用いるので、共通項が何であるかを知らないと暗号を解くことはできない。また、テーブルを非線形遷移させることでカオス的にテーブルを成長させることができるので、テーブルを取得し、部分的に暗号が解読できたとしても次の瞬間には異なるテーブルで暗号化されているので、暗号の解読が極めて困難になる。
【００４３】
なお、本実施例ではキーを共通項取得部２１１、２３１により取得したが、これに限定されるものではなく、さらに、暗号の解読を困難にするためにテーブルにキー埋め込んだり、テーブルからキーを自己生成したりするようにしてもよい。
【００４４】
本実施例によれば、元データを暗号化して記憶しておくことができる。また、暗号化され、記憶されたデータを各種の通信装置１８を用いて通信することができる。
【００４５】
図５は情報処理装置１の適用例のシステム構成図である。
【００４６】
本適用例のシステム１００は、サーバ１１１とクライアント１１２とがネットワーク１１３を介して通信可能とされた構成とされている。
【００４７】
サーバ１１１及びクライアント１１２は、図１〜図３に示す情報処理装置１と同様な構成とされており、かつ、互いに初期値、共通項目、キー生成方法、演算方法などが共通化されている。
【００４８】
サーバ１１１は、クライアント１１２に送信する元データを上記の暗号化装置１９により暗号化してＨＤＤ１４に中間ファイルとして記憶する。ＨＤＤ１４に記憶された中間ファイルは、通信装置１８によりネットワーク１１３を介してクライアント１１２に供給される。
【００４９】
クライアント１１２では、通信装置１８でサーバ１１１からの暗号化データを受信し、中間ファイルとしてＨＤＤ１４に記憶する。ＨＤＤ１４に中間ファイルとして記憶された暗号化データは、暗号化装置１９により元データに復号化されてクライアント１１２で活用される。
【００５０】
本適用例によれば、暗号化装置１９により暗号化されたデータを中間ファイルとしてＨＤＤ１４に記憶し、既存の通信装置１８を用いてＬＡＮ（local area network）など既存のネットワーク１１３を介して送信することができる。よって、暗号化を簡単に適用することができる。
【００５１】
なお、本実施例によれば、ルックアップテーブルが動的に変化するため、一時的にキーあるいはルックアップテーブルを取得しても暗号の解読が困難となる。よって、秘匿性を向上させることができる。
【００５２】
また、本実施例によれば、テーブルの所定の位置の情報をキーとして取得することにより、テーブルを取得しなければ、キーを取得できないので、暗号の解読が困難となり、秘匿性を向上させることができる。
【００５３】
本発明によれば、テーブルを非線形遷移させることにより、カオス的にテーブルが変化するので、テーブルだけを取得しても暗号の解読が困難となる。よって、データの秘匿性を向上させることができる。
【００５４】
【発明の効果】
上述の如く、本発明の請求項１によれば、ファイルから元データを読み出し、暗号化し、暗号化された暗号化データを中間ファイルに保存し、中間ファイルに保存されたデータを復号化し、所定のファイルとして保存することにより、暗号化されたデータを中間ファイルとして記憶しておくことができるため、記憶データの秘匿性を向上させることができる。また、中間ファイルを通常の通信装置により通信できるため、暗号化を容易に導入できる。
【００５５】
本発明の請求項２によれば、暗号化部に元データを暗号化するために用いられるテーブルを動的に変化させるテーブル生成手段を設けることにより、暗号化を行うためのテーブルを動的に変化するため、一時的にテーブルを取得してもデータの暗号を解くことは困難であり、よって、データの秘匿性を向上させることが可能となる。
【００５６】
本発明の請求項３によれば、暗号化部が共通項に基づいてキーを生成し、生成されたキーに基づいて複数のテーブルから所定のテーブルを選択し、選択されたテーブルに基づいて暗号化を行うことにより、暗号を復号化するにはテーブルだけでなく、共通項及びキーを取得する必要があり、よって、容易にデータの暗号を解くことは困難であり、データの秘匿性を向上させることが可能となる。
【図面の簡単な説明】
【図１】    本発明の情報処理装置の一実施例のブロック構成図である。
【図２】    暗号化装置１９のブロック構成図である。
【図３】    テーブル選択・生成部２３のブロック構成図である。
【図４】    テーブル選択・生成部２３の動作説明図である。
【図５】    情報処理装置１の適用例のシステム構成図である。
【符号の説明】
１：情報処理装置
１１：ＣＰＵ、１２：ＲＡＭ、１３：ＲＯＭ、１４：ＨＤＤ
１５：ＣＤ−ＲＯＭドライブ、１６：入力装置、１７：表示装置
１８：通信装置
２１：共通項取得部、２２：キー生成部、２３：テーブル選択・生成部
２４：テーブル記憶部、２５：暗号化部、２６：復号化部
３１：初期値設定部、３２−１〜３２−ｎ：ルックアップテーブル
３３：演算部、３４：テーブル選択部
【図１】
0004142322.tif 000002
【図２】
0004142322.tif 000003
【図３】
0004142322.tif 000004
【図４】
0004142322.tif 000005
【図５】
0004142322.tif 000006