説明

データ処理装置、データ処理システム、及びデータ処理方法

【課題】データ処理装置における暗号化の技術を、第三者による通信の解読の可能性をより小さくするように改良する。
【解決手段】データ処理装置は、処理対象データを暗号化して暗号化データとし、それを所定の記録媒体に記録するようになっているとともに、記録媒体に記録したその暗号化データを復号化して処理対象データに戻すようになっている。暗号化を行う際に、暗号化に用いるアルゴリズムと鍵を、過去の解を解生成用アルゴリズムに代入することによって順次生成される解を用いて生成する。解は、今後解生成用アルゴリズムに代入する必要がなくなった段階で消去される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、平文である処理対象データを暗号化し暗号化データとしてから所定の記録媒体に記録するとともに、その記録媒体から読み出した暗号化データを復号化することのできるデータ処理装置、及びその応用に関する。
【背景技術】
【0002】
情報に関するセキュリティの重要性が益々高まる現在、第三者にその内容を知られるのが好ましくないデータ(この明細書では、これを「処理対象データ」と呼ぶ。)を暗号化して記録媒体に記録することのできる上述の如きデータ処理装置は、その需要が非常に大きくなっている。処理対象データの秘匿のために様々な暗号化の技術が提案され、実用化されているが、暗号の解読を完全に防止するのは難しい。
【0003】
一般に処理対象データの暗号化及び所定の記録媒体への記録は、処理対象データを所定のビット数毎に切断し、その切断したデータのそれぞれを暗号化したものを一まとめにした暗号化データを所定の記録媒体に記録することにより行われる。
処理対象データを切断したデータそれぞれの暗号化を行う場合には、一般に、所定のアルゴリズムと鍵が用いられる。このアルゴリズムは、暗号の解読を防ぐべく非常に複雑なものにされているし、鍵も厳重に管理して外部に知られないものとしている。しかしながら、幾らアルゴリズムを複雑なものにしたとしても、また、鍵を変更したとしても、アルゴリズムと鍵を一旦知られてしまえば、そのアルゴリズムと鍵を用いて暗号化されたデータの解読は比較的容易である。
【0004】
他方、本願発明者は、暗号化技術について研究を重ね、暗号化と復号化を行うためのアルゴリズムと鍵の少なくとも一方を連続的に生成する手段を備えたデータ処理装置を先に開発している。
この技術は、暗号化と復号化を行うためのアルゴリズムと鍵の少なくとも一方を連続的に生成させるものであり、一旦アルゴリズムないし鍵を知られた場合であっても、その後アルゴリズム又は鍵、或いはその双方が変化していくので、従来の暗号化技術に較べればその強度は遥かに高い。
しかしながら、この技術でも、過去の幾つかのアルゴリズム又は鍵を知られた場合には、そのアルゴリズム又は鍵、或いはその双方がこれからどのように変化していくかということを予測されてしまうおそれがあり、第三者に解読されてしまう可能性が0であるとは言い切れない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、平文である処理対象データを暗号化し暗号化データとして所定の記録媒体に記録するデータ処理装置を、第三者による通信の解読の可能性をより小さくするように改良することをその課題とする。
【課題を解決するための手段】
【0006】
かかる課題を解決するため、本願発明者は、以下に説明する第1発明、第2発明、及び第3発明を提案する。
【0007】
本願の第1発明は、以下のようなものである。
第1発明は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する解生成手段と、生成された解を用いて所定のタイミングで順次新たなアルゴリズムを生成するアルゴリズム生成手段と、前記処理対象データを暗号化したときに用いられた前記アルゴリズムを特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する特定情報記録手段と、を備えており、且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置である。
このデータ処理装置における前記アルゴリズム生成手段は、例えば、前記処理対象データの暗号化、又は前記暗号化データの復号化が行われるたびなどの所定のタイミングで前記アルゴリズムを生成させるようになっている。また、このデータ処理装置における前記解生成手段は、前記解を生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用いるようにされ、且つ新たに代入する必要がなくなった時点で過去の解を消去するようになっている。
つまり、このデータ処理装置では、暗号化及び復号化で用いるアルゴリズムを、アルゴリズム生成手段で連続的に生成するようになっているが、アルゴリズム生成手段は、アルゴリズムを生成する場合に「解」を用いるようになっている。この解は、上述したように、過去の解を用いて生成されるようになっている。しかも、この解は、新たな解を生成するために必要がなくなった後に消去されるようになっている。
したがって、このデータ処理装置では、過去の解が次々に消去されているので、現時点における解を例え知りえたとしても、それがどのような経緯を辿って生成されたのか第三者は知ることができない。
以上の理由により、このデータ処理装置による暗号化通信は、第三者に解読されるおそれが小さいものとなる。
上述の解は、結果として擬似乱数となるものであってもよい。
【0008】
上述した第1発明におけるデータ処理装置は、アルゴリズムを変化させるようになっていたが、鍵を変化させるようになっていてもよい。これによっても、上述の場合と同様の効果を得られる。
例えば、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する解生成手段と、生成された解を用いて所定のタイミングで順次新たな鍵を生成する鍵生成手段と、前記処理対象データを暗号化したときに用いられた前記鍵を特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する特定情報記録手段と、を備えており、且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置をその例として挙げられる。
【0009】
第1発明におけるデータ処理装置は、前記処理対象データを所定のビット数毎に切断して複数の平文切断データにすることができるとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにすることができる切断手段を備えており、前記暗号化手段は、前記処理対象データを、前記切断手段で切断された前記平文切断データごとに暗号化して暗号化切断データとするようになっており、且つ前記復号化手段は、前記暗号化データを、前記暗号化切断データごとに復号化して平文切断データとするようになっているとともに、前記暗号化手段で暗号化された複数の前記暗号化切断データを接続して一連の暗号化データとするとともに、前記復号化手段で復号化された複数の前記平文切断データを接続して一連の処理対象データとする接続手段を備えてなる、ものであってもよい。
【0010】
アルゴリズム生成手段を備えた第1発明によるデータ処理装置は、どのようなタイミングでアルゴリズムを生成するようになっていても構わない。
例えば、前記アルゴリズム生成手段は、前記処理対象データの暗号化を行うたびに前記アルゴリズムを生成するようになっていてもよい。このようにすれば、処理対象データの暗号化を行うたびに異なるアルゴリズムが生成されるので、第三者によるアルゴリズムの類推が難しくなる。
前記アルゴリズム生成手段は、前記平文切断データの暗号化が行われるたびに前記アルゴリズムを生成するようになっていてもよい。このようにすれば、アルゴリズム生成の頻度が大きくなるので、第三者によるアルゴリズムの類推が更に難しくなる。
【0011】
鍵生成手段を備えた第1発明によるデータ処理装置は、どのようなタイミングで鍵を生成するようになっていても構わない。
例えば、前記鍵生成手段は、前記処理対象データの暗号化を行うたびに前記鍵を生成するようになっていてもよい。このようにすれば、処理対象データの暗号化を行うたびに異なる鍵が生成されるので、第三者による鍵の類推が難しくなる。
前記鍵生成手段は、前記平文切断データの暗号化が行われるたびに前記鍵を生成するようになっていてもよい。このようにすれば、鍵生成の頻度が大きくなるので、第三者による鍵の類推が更に難しくなる。
【0012】
前記解生成手段は、過去の解から新しい解を生成するようになっているが、前記解を、過去の複数の解を前記解生成用アルゴリズムに代入して得るようになっていてもよい。つまり、新しい解を生成させるべく解生成用アルゴリズムに代入される過去の解は一つでも複数でもよい。
【0013】
前記解生成手段は、前記解を最初に生成する際に前記解生成用アルゴリズムに最初に代入される初期解を保持していてもよい。
【0014】
アルゴリズム生成手段を備えた第1発明によるデータ処理装置で用いられる特定情報は、前記処理対象データを暗号化したときに用いられた前記アルゴリズムを特定することができるのであればどのようなものであっても構わない。
例えば、前記特定情報は、前記アルゴリズムそれ自体であってもよく、また、前記アルゴリズムを生成する際に前記アルゴリズム生成手段が使用した前記解であってもよく、前記アルゴリズムを生成する際に前記アルゴリズム生成手段が使用した前記解が何番目に生成された解であるかを示す情報であってもよい。
【0015】
鍵生成手段を備えた第1発明によるデータ処理装置で用いられる特定情報は、前記処理対象データを暗号化したときに用いられた前記鍵を特定することができるのであればどのようなものであっても構わない。
例えば、前記特定情報は、前記鍵それ自体であってもよく、また、前記鍵を生成する際に前記鍵生成手段が使用した前記解であってもよく、前記鍵を生成する際に前記鍵生成手段が使用した前記解が何番目に生成された解であるかを示す情報であってもよい。
【0016】
アルゴリズム生成手段を備えた第1発明によるデータ処理装置と同様の作用効果を、例えば、以下のような方法により得ることができる。
この方法は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程を実行するデータ処理装置にて実行される方法である。
そして、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する過程と、生成された解を用いて所定のタイミングで順次新たなアルゴリズムを生成する過程と、前記処理対象データを暗号化したときに用いられた前記アルゴリズムを特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する過程と、を実行するとともに、前記データ処理装置は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去する。
【0017】
鍵生成手段を備えた第1発明によるデータ処理装置と同様の作用効果を、例えば、以下のような方法により得ることができる。
この方法は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程を実行するデータ処理装置にて実行される方法である。
そして、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する過程と、生成された解を用いて所定のタイミングで順次新たな鍵を生成する過程と、前記処理対象データを暗号化したときに用いられた前記鍵を特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する過程と、を実行するとともに、前記データ処理装置は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去する。
【0018】
本願の第2発明は、以下のようなものである。
本願の第2発明は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する解生成手段と、生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成手段と、生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成手段で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成手段と、を備えており、且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置である。
上述の第2発明は、アルゴリズムを変化させるものとなっていたが、第1発明の場合と同様に、鍵を変化させる場合もある。
この場合の第2発明は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する解生成手段と、生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成手段と、生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成手段で生成されるのと同じ新たな鍵を生成する第2鍵生成手段と、を備えており、且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置である。
【0019】
第2発明におけるデータ処理装置は、第1発明におけるデータ処理装置と類似するが、処理対象データを暗号化したときに用いられたアルゴリズム、又は鍵を特定するための特定情報を用いないものとなっている。これは、第2発明におけるデータ処理装置が、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされていることと関係している。
第2発明におけるデータ処理装置におけるアルゴリズム生成手段と鍵生成手段はそれぞれ、処理対象データの暗号化が行われるたびに、アルゴリズム又は鍵を生成するようになっている。また、第2発明におけるデータ処理装置は、復号化を行うときに、暗号化を行ったときに用いたのと同じアルゴリズム及び鍵を生成するものとなっている。
したがって、第2発明におけるデータ処理装置では、過去に生成したアルゴリズム又は鍵と同じアルゴリズム又は鍵を順次生成するようになっているので、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにさえしていれば、上述の如き特定情報を使用する必要がない。
【0020】
以上の第2発明における2つのデータ処理装置では、第1アルゴリズム生成手段及び第2アルゴリズム生成手段、又は第1鍵生成手段及び第2鍵生成手段に共通の1つの解生成手段が設けられていたが、第1アルゴリズム生成手段及び第2アルゴリズム生成手段のそれぞれ、又は第1鍵生成手段及び第2鍵生成手段のそれぞれに対応する2つの解生成手段を設けることも可能である。
前者の例として、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成手段と、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成手段で生成されるのと同じ新たな解を生成する第2解生成手段と、第2解生成手段で生成された解を用いて前記暗号化データの復号化を行うたびに順次第1アルゴリズム生成手段で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成手段と、を備えており、且つ、前記第1解生成手段及び前記第2解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置を挙げることができる。
後者の例として、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成手段と、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成手段で生成されるのと同じ新たな解を生成する第2解生成手段と、前記第2解生成手段で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成手段で生成されるのと同じ新たな鍵を生成する第2鍵生成手段と、を備えており、且つ、前記第1解生成手段及び前記第2解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、データ処理装置を挙げることができる。
【0021】
第2発明に係るデータ処理装置は、前記処理対象データを所定のビット数毎に切断して複数の平文切断データにすることができるとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにすることができる切断手段を備えており、前記暗号化手段は、前記処理対象データを、前記切断手段で切断された前記平文切断データごとに暗号化して暗号化切断データとするようになっており、且つ前記復号化手段は、前記暗号化データを、前記暗号化切断データごとに復号化して平文切断データとするようになっているとともに、前記暗号化手段で暗号化された複数の前記暗号化切断データを接続して一連の暗号化データとするとともに、前記復号化手段で復号化された複数の前記平文切断データを接続して一連の処理対象データとする接続手段を備えてなる、ものとすることができる。
【0022】
第2発明は、以下のような方法によっても実現できる。
第2発明の1つ目の例は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法である。この方法では、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する過程と、生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成過程と、生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成過程で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成過程と、を実行するとともに、前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する。
2つ目の例は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法である。そして、この方法では、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する過程と、生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成過程と、生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成過程で生成されるのと同じ新たな鍵を生成する第2鍵生成過程と、を実行するとともに、前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する。
3つ目の例は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法である。そして、この方法では、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成過程と、前記第1解生成過程で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成過程と、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次第1解生成過程で生成されるのと同じ新たな解を生成する第2解生成過程と、前記第2解生成過程で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成過程で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成過程と、を実行するとともに、前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する。
4つ目の方法は、平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、その暗号化データを所定の記録手段に記録する過程と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法であって、前記データ処理装置が、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成過程と、前記第1解生成過程で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成過程と、過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次第1解生成過程で生成されるのと同じ新たな解を生成する第2解生成過程と、前記第2解生成過程で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成過程で生成されるのと同じ新たな鍵を生成する第2鍵生成過程と、を実行するとともに、前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する。
【0023】
本願発明者は、以下の第3発明をも提案する。
第3発明は、複数の第1データ処理装置と、複数の前記第1データ処理装置のそれぞれと対になっている前記第1データ処理装置と同数の第2データ処理装置、及び第3データ処理装置を含んで構成され、前記第1データ処理装置と前記第2データ処理装置の間では平文である処理対象データを暗号化した暗号化データによる通信が行われるとともに、前記第2データ処理装置と前記第3データ処理装置の間では、処理対象データによる通信が行われるようになっている、データ処理システムである。
そして、前記第1データ処理装置、前記第2データ処理装置はともに、前記処理対象データを所定のビット数毎に切断して複数の平文切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、対となっている前記第1データ処理装置と前記第2データ処理装置で共通とされた、他の前記第1データ処理装置と前記第2データ処理装置とは異なる解を順次発生させる解生成手段、前記平文切断データを、前記解生成手段から受付けた前記解に基づいて生成した前記第1データ処理装置と前記第2データ処理装置で共通とされたアルゴリズムによって暗号化して暗号化切断データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムによって復号化して平文切断データにする暗号化・復号化手段、復号化された前記平文切断データを接続して前記処理対象データにする接続手段、前記暗号化データを送受信する送受信手段、を備えているとともに、前記第3データ処理装置は、第1発明及び第2発明で説明したデータ処理装置のいずれかであり、前記第2データ処理装置が前記第1データ処理装置で暗号化された暗号化データを復号化して生成した処理対象データを暗号化し、その暗号化データを前記記録手段に記録するとともに、その記録手段から読み出した暗号化データを復号化して前記第2データ処理装置に送るようにされている、データ処理システムである。
【図面の簡単な説明】
【0024】
【図1】第1実施形態におけるデータ処理システムの全体構成を示す図。
【図2】図1に示したデータ処理システムに含まれる第1データ処理装置のハードウエア構成を示す図。
【図3】図2に示した第1データ処理装置に含まれる通信装置の構成を示すブロック図。
【図4】図2に示した第1データ処理装置に含まれる暗号化装置の構成を示すブロック図。
【図5】図1に示したデータ処理システムに含まれる第2データ処理装置のハードウエア構成を示す図。
【図6】図5に示した第2データ処理装置に含まれる暗号化装置の構成を示すブロック図。
【図7】図5に示した第2データ処理装置に含まれる他の暗号化装置の構成を示すブロック図。
【図8】図5に示した第2データ処理装置に含まれる通信装置の構成を示すブロック図。
【図9】図1に示したデータ処理システムで実行される処理の流れを示す流れ図。
【図10】図9で示したS110で実行される処理の流れを示す流れ図。
【図11】図9で示したS130で実行される処理の流れを示す流れ図。
【図12】図9で示したS140で実行される処理の流れを示す流れ図。
【図13】図9で示したS150で実行される処理の流れを示す流れ図。
【図14】第2実施形態におけるデータ処理装置に含まれる暗号化装置のハードウエア構成を示す図。
【図15】第2実施形態におけるデータ処理装置で実行される暗号化処理の流れを示す流れ図。
【図16】第2実施形態におけるデータ処理装置で実行される復号化処理の流れを示す流れ図。
【図17】第2実施形態によるデータ処理装置の変形例に含まれる暗号化装置のハードウエア構成を示す図。
【発明を実施するための形態】
【0025】
以下、本発明の好ましい第1実施形態、及び第2実施形態を、図面を参照しながら詳細に説明する。第1実施形態、及び第2実施形態の説明では、共通する部分で共通する符号を用いるものとし、重複する説明は省略するものとする。
【0026】
≪第1実施形態≫
この実施形態によるデータ処理システムは、概略で図1に示したように構成される。
データ処理システムは、ネットワーク13を介して互いに接続された複数の第1データ処理装置11、及び1つの第2データ処理装置12を含んでいる。ネットワーク13は、この実施形態では、LAN(Local Area Network)である。
複数の第1データ処理装置11と、第2データ処理装置12は、互いに暗号化通信を行う。
なお、ネットワーク13は、第1データ処理装置11と第2データ処理装置12間でのデータ交換を可能とするのであれば、他の構成であってもかまわない。
【0027】
第1データ処理装置11、第2データ処理装置12の構成を説明する。まず、第1データ処理装置11の構成を説明することにする。
【0028】
第1データ処理装置11のハードウエア構成を図2に示す。
第1データ処理装置11は、この実施形態では、CPU(central processing unit)21、ROM(read only memory)22、HDD(hard disk drive)23、RAM(random access memory)24、入力装置25、表示装置26、暗号化装置27、通信装置28、バス29を含む構成とされている。CPU21、ROM22、HDD23、RAM24、入力装置25、表示装置26、暗号化装置27、通信装置28は、バス29を介してデータの交換が可能とされている。
ROM22、あるいはHDD23には、所定のプログラム、及び所定のデータ(これには、処理対象データとなるものが含まれる場合があり、本実施形態ではそのようにされている。また、所定のデータには、上記プログラムを実行するために必要なデータが含まれる。)が記録されている。CPU21は、第1データ処理装置11全体の制御を行うものであり、ROM22、あるいはHDD23に記憶されたプログラムやデータに基づいて、後述する処理を実行するものである。RAM24は、CPU21で処理を行う際の作業用記憶領域として用いられる。
入力装置25は、キーボード、マウスなどから構成されており、コマンドやデータの入力に用いられる。表示装置26は、LCD(liquid crystal display)、CRT(cathode ray tube)などから構成されており、コマンドや入力されたデータや、後述する処理の状況などを表示するために用いられる。
暗号化装置27は、後述する、処理対象データの暗号化、及び暗号化データの復号化を行うものである。
通信装置28は、ネットワーク13を介しての第2データ処理装置12との通信を実行するものである。なお、第2データ処理装置12の通信装置28は、ネットワーク13を介しての第1データ処理装置11との通信を実行する。
【0029】
次に、通信装置28の構成について説明する。図3に、通信装置28のブロック構成図を示す。
通信装置28は、インタフェイス部281、認証データ生成部282、及び通信部283から構成される。
インタフェイス部281は、バス29と通信装置28との間におけるデータのやりとりを行うものである。インタフェイス部281は、バス29から受付けた暗号化データを認証データ生成部282へ送り、通信部283から受付けた暗号化データをバス29へ送るようになっている。
認証データ生成部282は、後述する暗号化データの第2データ処理装置12への送信が行われる場合に、送信される暗号化データの例えばヘッダに、認証データを付加するものである。認証データは、暗号化データを送信する第1データ処理装置11の特定をするものである。認証データは、第2データ処理装置12の管理者などにより第1データ処理装置11毎に割当てられており、例えば、ROM22、或いはHDD23に記録されている。認証データ生成部282は、ROM22、或いはHDD23から読み出した認証データを暗号化データに付加するようになっている。第2データ処理装置12は、後述するように、受付けた暗号化データに付加された認証データにより、その暗号化データがどの第1データ処理装置11から送られたものであるかを把握できる。認証データ生成部282は、認証データを付加した暗号化データを通信部283に送るようになっている。通信部283は、受付けた暗号化データを第2データ処理装置12に送るようになっている。
【0030】
次に、暗号化装置27の構成について説明する。図4に、暗号化装置27のブロック構成図を示す。
暗号化装置27は、インタフェイス部271、前処理部272、暗号化・復号化部273、解生成部274、アルゴリズム生成部275、鍵生成部276、及び接続部277から構成される。
【0031】
インタフェイス部271は、バス29と通信装置28との間におけるデータのやりとりを行うものである。
インタフェイス部271は、バス29を介して、HDDHH23から処理対象データを、また、バス29を介して通信部28から暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データを前処理部272に送るようになっている。また、インタフェイス部271は処理対象データ又は暗号化データを受取った場合、その旨を示すデータを解生成部274に送るようになっている。
他方、インタフェイス部271は、後述するように、接続部277から処理対象データ又は暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データをバス29に送るようになっている。
【0032】
前処理部272は、インタフェイス部271を介してバス29から受取った処理対象データ又は暗号化データを、所定のビット数毎に切断して、平文切断データ又は暗号化切断データを生成し、これを暗号化・復号化部273に送る機能を有している。処理対象データ又は暗号化データをどのように切断するかについては後述する。なお、前処理部272は、この実施形態では、処理対象データに後述するような方法で、処理対象データとは関係のないデータであるダミーデータを含める機能を有している。
【0033】
暗号化・復号化部273は、平文切断データ又は暗号化切断データを前処理部272から受取り、平文切断データを受付けた場合にはそれを暗号化し、暗号化切断データを受付けた場合にはそれを復号化する機能を有している。なお、この実施形態における暗号化・復号化部273は、暗号化及び復号化の処理を行う場合の処理単位である基準ビット数が固定されている。この実施形態における基準ビット数は、これには限られないが8ビットとなっている。暗号化及び復号化の処理の詳細については後で述べる。
【0034】
解生成部274は、解を順次生成するものである。第1データ処理装置11の解生成部274が生成する解は、後述する第2データ処理装置12における解生成部274Aが生成する解と、同じ順番で生成された解が同じものになるようにされている。この実施形態における解は、擬似乱数である。生成された解は、前処理部272と、アルゴリズム生成部275と、鍵生成部276とに送られる。
【0035】
アルゴリズム生成部275は、解生成部274から受付けた解に基づいてアルゴリズムを生成するものである。このアルゴリズムは、暗号化・復号化部273で、暗号化処理及び復号化処理を行うときに使用されるものである。
【0036】
鍵生成部276は、解生成部274から受付けた解に基づいて鍵を生成するものである。鍵は、暗号化・復号化部273で、暗号化処理及び復号化処理を行うときに使用されるものである。
【0037】
接続部277は、暗号化・復号化部273で暗号化切断データを復号化することによって生成された平文切断データを元の順序で接続して一まとめの処理対象データとする機能を有している。この処理対象データは、インタフェイス部271に送られ、バス29を介して、必要に応じて、HDD23、或いはCPU21などに送られるようになっている。接続部277は、また、暗号化・復号化部273で平文切断データを暗号化することによって生成された暗号化切断データを接続して一まとめの暗号化データとする機能を有している。この暗号化データは、インタフェイス部271に送られ、そこから、バス29を介して通信装置28の通信部283に送られ、更に、通信部283から第2データ処理装置12に送られるようになっている。なお、接続部277は、暗号化・復号化部273で平文切断データを暗号化することによって生成された暗号化切断データを接続する機能を有しなくてもよい。この場合には、暗号化切断データは暗号化された順に順次相手側の通信装置に送られることになる。接続部277がそのようなものである場合、暗号化切断データは接続部277を通らずに通信部283に直接送られるようにすることができる。
【0038】
次に、第2データ処理装置12の構成について説明する。
第2データ処理装置12のハードウエア構成は、図5に示したとおりである。
第2データ処理装置12のハードウエア構成は、基本的に第1データ処理装置11のそれと同一であるが、第1データ処理装置11で1つであった暗号化装置27が2種類とされ、暗号化装置27の代わりに暗号化装置27Aと暗号化装置27Bが設けられている点で第1データ処理装置11と相違する。
第2データ処理装置12における、CPU21、ROM22、HDD23、RAM24、入力装置25、表示装置26、バス29は、第1データ処理装置11におけるそれらと同様のものとされている。
【0039】
暗号化装置27A、暗号化装置27Bは、第1データ処理装置11における暗号化装置27と同様に、処理対象データの暗号化と、暗号化データの復号化の機能を備えている。以下、双方の構成について順に説明することとする。
【0040】
暗号化装置27Aは、第1データ処理装置11と同数の複数であり、そのそれぞれが、第1データ処理装置11のいずれかと対応付けられている。つまり、互いに対応付けられた暗号化装置27Aと第1データ処理装置11は、相手方が処理対象データを暗号化して生成した暗号化データを復号化できるようになっている。逆に、互いに対応付けられていない暗号化装置27Aと第1データ処理装置11は、相手方が処理対象データを暗号化して生成した暗号化データを復号化できないようになっている。
暗号化装置27Aは、図6で示したように構成されている。
暗号化装置27Aは、インタフェイス部271A、前処理部272A、暗号化・復号化部273A、解生成部274A、アルゴリズム生成部275A、鍵生成部276A、及び接続部277Aから構成される。
インタフェイス部271Aは、バス29を介して、暗号化装置27Bから処理対象データを、また、バス29を介して通信部28から暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データを前処理部272Aに送るようになっている。また、インタフェイス部271Aは処理対象データ又は暗号化データを受取った場合、その旨を示すデータを解生成部274Aに送るようになっている。
他方、インタフェイス部271Aは、後述するように、接続部277Aから処理対象データ又は暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データをバス29に送るようになっている。
前処理部272Aは、インタフェイス部271Aを介してバス29から受取った処理対象データ又は暗号化データを、所定のビット数毎に切断して、平文切断データ又は暗号化切断データを生成し、これを暗号化・復号化部273Aに送る機能を有している。前処理部272Aは、この実施形態では、処理対象データに後述するような方法で、処理対象データとは関係のないデータであるダミーデータを含める機能を有している。
暗号化・復号化部273Aは、平文切断データ又は暗号化切断データを前処理部272Aから受取り、平文切断データを受付けた場合にはそれを暗号化し、暗号化切断データを受付けた場合にはそれを復号化する機能を有している。なお、この実施形態における暗号化・復号化部273Aは、暗号化及び復号化の処理を行う場合の処理単位である基準ビット数が固定されている。この実施形態における基準ビット数は、これには限られないが8ビットとなっている。暗号化及び復号化の処理の詳細については後で述べる。
解生成部274Aは、解を順次生成するものである。この解生成部274Aが生成する解は、第1データ処理装置11の解生成部274が生成する解と、同じ順番で生成された解が同じものになるようにされている。生成された解は、前処理部272Aと、アルゴリズム生成部275Aと、鍵生成部276Aとに送られる。
アルゴリズム生成部275Aは、解生成部274Aから受付けた解に基づいてアルゴリズムを生成するものである。このアルゴリズムは、暗号化・復号化部273Aで、暗号化処理及び復号化処理を行うときに使用されるものである。第2データ処理装置12におけるアルゴリズム生成部275Aが生成するアルゴリズムは、第1データ処理装置11におけるアルゴリズム生成部275で同じ順番で生成されたアルゴリズムと同じものとなるようにされている。
鍵生成部276Aは、解生成部274Aから受付けた解に基づいて鍵を生成するものである。鍵は、暗号化・復号化部273Aで、暗号化処理及び復号化処理を行うときに使用されるものである。第2データ処理装置12における鍵生成部276Aが生成する鍵は、第1データ処理装置11における鍵生成部276で同じ順番で生成された鍵と同じものとなるようにされている。
第2データ処理装置12における接続部277Aの機能は、第1データ処理装置11のそれと同様である。接続部277Aは、暗号化・復号化部273Aが暗号化切断データを復号化することによって生成した平文切断データを一まとめにして処理対象データを生成する。この処理対象データは、バス29を介して暗号化装置27Bに送られるようになっている。接続部277Aは、また、暗号化・復号化部273Aが平文切断データを暗号化することによって生成した暗号化切断データを一まとめにして暗号化データを生成するようになっている。この暗号化データは、通信装置28を介して、第1データ処理装置11に送られるようになっている。
【0041】
暗号化装置27Bは、1つだけである。
暗号化装置27Bは、処理対象データを暗号化することにより第1データ処理装置11が生成した暗号化データを暗号化装置27Aが復号化することによって生成された処理対象データを再度暗号化する機能を有している。暗号化装置27Bは、生成した暗号化データを、第2データ処理装置12内のHDD23に記録するようになっている。また、暗号化装置27Bは、そのHDD23から読み出した暗号化データを復号化する機能を有している。
暗号化装置27Bは、図7で示したように構成されている。
暗号化装置27Bは、インタフェイス部271B、前処理部272B、暗号化・復号化部273B、解生成部274B、アルゴリズム生成部275B、鍵生成部276B、接続部277B、及び特定情報生成部278Bから構成される。
暗号化装置27Bのインタフェイス部271Bは、バス29を介して、暗号化装置27Aから処理対象データを、また、バス29を介して第2データ処理装置12内のHDD23から暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データを前処理部272Bに送るようになっている。また、インタフェイス部271Bは処理対象データ又は暗号化データを受取った場合、その旨を示すデータを解生成部274Bに送るようになっている。
他方、このインタフェイス部271Bは、後述するように、暗号化装置27B内の接続部277Bから処理対象データを、特定情報生成部278Bから暗号化データを受取るようになっており、受取った処理対象データ又は暗号化データをバス29に送るようになっている。
前処理部272Bは、インタフェイス部271Bを介してバス29から受取った処理対象データ又は暗号化データを、所定のビット数毎に切断して、平文切断データ又は暗号化切断データを生成し、これを暗号化・復号化部273Bに送る機能を有している。前処理部272Bは、この実施形態では、処理対象データに後述するような方法で、処理対象データとは関係のないデータであるダミーデータを含める機能を有している。
暗号化・復号化部273Bは、平文切断データ又は暗号化切断データを前処理部272Bから受取り、平文切断データを受付けた場合にはそれを暗号化し、暗号化切断データを受付けた場合にはそれを復号化する機能を有している。なお、この実施形態における暗号化・復号化部273Bは、暗号化及び復号化の処理を行う場合の処理単位である基準ビット数が固定されている。この実施形態における基準ビット数は、これには限られないが8ビットとなっている。暗号化及び復号化の処理の詳細については後で述べる。なお、この暗号化・復号化部273Bは、復号化を行う場合には、後述する特定情報に基づいて特定されるアルゴリズム及び鍵を用いて復号化を行う。
解生成部274Bは、解を順次生成するものである。この解生成部274Bが生成する解は、擬似乱数である。生成された解は、アルゴリズム生成部275Bと、鍵生成部276Bに送られ、この実施形態では前処理部272Bにも送られる。
アルゴリズム生成部275Bは、解生成部274Bから受付けた解に基づいてアルゴリズムを生成するものである。このアルゴリズムは、暗号化・復号化部273Bで、暗号化処理及び復号化処理を行うときに使用されるものである。
鍵生成部276Bは、解生成部274Bから受付けた解に基づいて鍵を生成するものである。鍵は、暗号化・復号化部273Bで、暗号化処理及び復号化処理を行うときに使用されるものである。第2データ処理装置12における鍵生成部276Bが生成する鍵は、第1データ処理装置11における鍵生成部276で同じ順番で生成された鍵と同じものとなるようにされている。
第2データ処理装置12における接続部277Bは、暗号化・復号化部273Bが暗号化切断データを復号化することによって生成した平文切断データを接続して処理対象データを生成する機能を有する。この処理対象データは暗号化装置27Aに送られるようになっている。接続部277Bは、また、暗号化・復号化部273Bが平文切断データを暗号化することによって生成した暗号化切断データを一まとめにして暗号化データを生成するようになっている。この暗号化データは第2データ処理装置12内のHDD23に記録されるようになっている。
【0042】
暗号化装置27Bには、特定情報生成部278Bが含まれている。
特定情報生成部278Bは、接続部277Bが生成した暗号化データに特定情報を付加するものである。この特定情報は、その特定情報が付加される暗号化データを暗号化するときに用いたアルゴリズムと鍵を特定するための情報である。具体的には、その暗号化データを暗号化するときに用いたアルゴリズム自体、その暗号化データを暗号化するときに用いた鍵自体、その暗号化データを暗号化するときに用いたアルゴリズム乃至鍵を生成するときに用いた解自体、或いはその解が何番目に生成された解であるかを示す情報などである。なお、この実施形態では、アルゴリズムと鍵の双方が変化するようになっているので、特定情報は、アルゴリズムと鍵の双方を特定するか、または、アルゴリズムと鍵を生成するために用いられた解、或いはその解の生成された順番を特定するものでなければならないが、アルゴリズムと解の一方のみしか変化しない場合には、特定情報は、アルゴリズムと解の変化するもののみを特定できるようなものであればよい。
なお、この実施形態では、特定情報生成部278Bは、暗号化データに特定情報を付加するようになっているが、特定情報は暗号化データとは別の場所に、暗号化データとの対応付けを行った上で保存されるようになっていても構わない。
【0043】
第2データ処理装置12における通信装置28の構成は、第1データ処理装置11における通信装置28の構成と略同一である。インタフェイス部281、通信部283の機能は、第1データ処理装置11の通信装置28におけるそれらと変わらない。第2データ処理装置12の通信装置28は、第1データ処理装置11における認証データ生成部282の代わりに認証部284を備えている点で第1データ処理装置11の通信装置28と異なっている。
認証部284は、第1データ処理装置11から受付けた暗号化データのこの実施形態ではヘッダに含まれている認証データを読み出し、その暗号化データがどの第1データ処理装置11から来たものであるかを判断するものである。暗号化データは、インタフェイス部281を介して、その送信元である第1データ処理装置11と対応付けられた暗号化装置27Aに送られる。
【0044】
次に、このデータ処理システムで行われる処理の流れについて説明する。
図9を用いて概略で説明すると、このデータ処理システムで行われる処理の流れは以下のとおりである。
まず、複数ある第1データ処理装置11のうちの1つの第1データ処理装置11の暗号化装置27が処理対象データを暗号化して暗号化データを生成する(S110)。
次いで、その第1データ処理装置11がその暗号化データを第2データ処理装置12に送る(S120)。
次いで、暗号化データを受取った第2データ処理装置12内にある複数の暗号化装置27Aのうち、その暗号化データを送ってきた第1データ処理装置11と対応付けられたものが、その暗号化データを復号化して処理対象データに戻す(S130)。
次いで、復号化されたその処理対象データを、暗号化装置27Bが暗号化して第2データ処理装置12内のHDD23に記録する(S140)。
次いで、例えば、第1データ処理装置11からの求めに応じて、HDD23内の暗号化データを暗号化装置27Bが復号化して処理対象データに戻す(S150)。
次いで、その処理対象データを、暗号化装置27Aが暗号化して暗号化データにする(S160)。
次いで、その暗号化データを、第2データ処理装置12が第1データ処理装置に送る(S170)。
次いで、その暗号化データを、第1データ処理装置11内の暗号化装置27が復号化し、元の処理対象データに戻す(S180)。
【0045】
まず、複数ある第1データ処理装置11のうちの1つの第1データ処理装置11の暗号化装置27が処理対象データを暗号化して暗号化データを生成する上述のS110の過程について、図10を参照しながら詳しく説明する。
【0046】
まず、処理対象データの読み出しが行われる(S1101)。処理対象データは第1データ処理装置11から第2データ処理装置12に送信する必要のあるデータであればどのようなものでもよい。この実施形態では、処理対象データはHDD23に記録されているものとする。外部記録媒体などの他の記録媒体から第1データ処理装置11に読み込まれたデータを処理対象データとしてもよい。
例えば入力装置25から処理対象データを第2データ処理装置12へ送れという内容のコマンドが入力された場合、CPU21は、処理対象データをHDD23から読み出し、例えばRAM24に一時的に記録させる。この処理対象データは、HDD23からバス29を経て、暗号化装置27に送られる。この処理対象データは、より詳細には、インタフェイス部271を介して、前処理部272に送られることになる。
【0047】
前処理部272で、処理対象データは、所定のビット数毎に切断され、平文切断データにされる(S1102)。前処理部272は、必要に応じて、平文切断データにダミーデータを含める。
【0048】
処理対象データから平文切断データを生成する方法は一通りであってもよいが、この実施形態では、以下の3通りの方法のいずれかで、処理対象データから平文切断データを生成するようになっている。
A)処理対象データを基準ビット数よりも短い一定のビット数に切断して平文切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている平文切断データのそれぞれの一定の位置にダミーデータを含める場合
B)処理対象データを基準ビット数よりも短いビット数の一定のビット数に切断して平文切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている平文切断データのそれぞれの異なる位置にダミーデータを含める場合
C)処理対象データを基準ビット数と同じかそれよりも短いビット数に切断して平文切断データにするとともに、基準ビット数よりもビット数の短い平文切断データのそれぞれにダミーデータを含める場合
【0049】
上述した3通りの方法のどれで、処理対象データから平文切断データを生成するかは、解生成部274が生成した解によって決定されるようになっている。
【0050】
そこで、解生成部274がどのように解を生成するかについて先に説明することにする。
解生成部274は、インタフェイス部271がバス29から処理対象データを受付けた場合、その情報をインタフェイス部271から受付ける。
これを契機に解生成部274は、解の生成を開始する。この実施形態では、解生成部274は、処理対象データがインタフェイス部271で受付けられるたびに、解を生成するようになっている。なお、これには限られないが、この実施形態における解は8行8列の行列(X)である。
【0051】
解生成部274は、必ずしもそうなっている必要はないが、この実施形態では、解を、非線形遷移するようなものとして連続して発生させる。この解は、結果として擬似乱数となる。
非線形遷移するように解を連続して発生させるには、例えば、(1)解の生成の過程に、過去の解のべき乗の演算を含む、(2)解の生成の過程に、過去の2つ以上の解の掛け合わせを含む、或いは、(1)と(2)を組み合わせるなどの手法が考えられる。
【0052】
この実施形態では、解生成部274は、初期行列として、第01解(X01)と第02解(X02)を予め定められたものとして持っている(例えば、第01解と第02解は、HDD23やROM22などの所定のメモリに記録されている)。各第1データ処理装置11が有する初期行列はそれぞれ異なるものとなっており、それ故、各第1データ処理装置11で発生される解は、それぞれ異なるものとなるようになっている。
なお、第2データ処理装置12における複数の暗号化装置27Aのそれぞれは、各暗号化装置27Aと対応付けられた第1データ処理装置11が有するのと同じ初期行列を有している。
【0053】
解生成部274は、この初期行列を解生成用アルゴリズムに代入して、第1解(X)を以下のように生成する。
第1解(X)=X0201+α(α=8行8列の行列)
これが最初に生成される解である。
次にインタフェイス部271がバス29から処理対象データを受付けた場合、解生成部274は、第2解(X)を以下のように生成する。
第2解(X)=X02+α
同様に、インタフェイス部271がバス29から処理対象データを受付けるたびに、解生成部274は、第3解、第4解、……第N解を、以下のように生成する。
第3解(X)=X+α
第4解(X)=X+α

第N解(X)=XN−1N−2+α
このようにして生成された解は、前処理部272、アルゴリズム生成部275、及び鍵生成部276に送られるとともに、解生成部274で保持されることになる。この実施形態では、第N解(X)を生成するために、第N−1解(XN−1)と第N−2解(XN−2)を、要するに、その直前に生成された2つの解を用いる。したがって、解生成部274は、新しい解を生成するにあたって、過去に生成された直近2つの解を保持していなければならない(又は、解生成部274ではない他の何者かがこれら2つの解を保持していなければならない)。逆に過去に生成された直近2つの解よりも古い解は、新しい解を生成するために今後使用されることのないものである。そこで、この実施形態では、常に過去2つの解を解生成部274で保持することとするが、新しい解が生成されることで直近3つ目の解となったそれまで直近2つ目の解であった解を、その解が記録されていた所定のメモリなどから消去することとしている。
なお、このように生成される解は、非線形遷移するカオス的なものとなり、擬似乱数となる。
【0054】
非線形遷移を起こさせるには、第N解を求める際に、上述した
第N解(X)=XN−1N−2+α
という式を用いる他に、以下のような式を用いることが考えられる。
例えば、
(a)第N解(X)=(XN−1
(b)第N解(X)=(XN−1(XN−2(XN−3(XN−4
(c) 第N解(X)=(XN−1+(XN−2
などである。
なお、P、Q、R、Sはそれぞれ所定の定数である。また、数式(a)又は(c)を用いる場合には、2つ、数式(b)を用いる場合には4つの初期行列を、解生成部274は有している。
また、上述したαは定数であったが、これを、特定の変化する環境情報とすることもできる。この環境情報は、時間の経過にしたがって次々と自然発生する情報であって離れた場所でも共通して取得できる情報であり例えば、特定地方の天気に基づいて定められる情報、特定の時間に放送されるあるテレビ局のテレビジョン放送の内容に基づいて定められる情報、特定のスポーツの結果によって定められる情報などである。
このような環境情報から、上述のαを次々に作成し共通情報を生成することにすれば、通信の秘匿性をより高められる。
上述した、数式(a)〜(c)の右辺に、α(これは環境情報から生成されたものでもよい。)を加えることももちろん可能である。
【0055】
上述したように、解(即ち、上述の解)を受付けた前処理部272は、それにしたがって、上述のA)、B)、C)のいずれの方法で平文切断データを生成するかを決定する。この実施形態では、これには限られないが、解である8行8列の行列を構成する数字を足し合わせた和を3で割り、その余りが0のときはA)の方法で、その余りが1のときはB)の方法で、その余りが2のときはC)の方法で、それぞれ平文切断データを生成することとしている。
A)の方法で平文切断データを生成する場合には、前処理部272は、インタフェイス部271から受付けた処理対象データを先頭から順に、基準ビット数よりも短い一定のビット数(この実施形態では、7ビット)で切断することで、平文切断データを生成していく。また、前処理部272は、平文切断データの一定の位置に、ダミーデータを埋め込んでいく。なお、ダミーデータを埋め込む平文切断データにおける位置は、変化してもよいし、固定されていてもよい。後者の場合、ダミーデータが埋め込まれる位置は、例えば、平文切断データの先頭や末尾、或いは2ビット目や3ビット目などの所定の中間の位置とすることができる。このダミーデータは、処理対象データとは無関係のデータであればどのようなものでも構わない。例えば、常に0というデータを埋め込んでいく、又は1というデータを埋め込んでいく、或いは1と0というデータを交互に埋め込んでいくなどの処理が考えられる。更に他の例として、上述の解に基づいて、どのようなダミーデータを埋め込んでいくかを決定することもできる。例えば、解である8行8列の行列を構成する数字を足し合わせた和を9で割り、その余りが0のときは0、0、0、0…と0を連続し、その余りが1のときは、0、1、0、1…と1つおきに1を挟み込み、その余りが2のときは、0、0、1、0、0、1…と2つおきに1を挟み込み、同様に、余りが3のときは3つおきに、余りが4のときは4つおきに、……余りが9のときは9つおきに1を挟み込むようなものとすることができる。
B)の方法で平文切断データを生成する場合には、前処理部272は、処理対象データを基準ビット数よりも短いビット数の一定のビット数(例えば、7ビット)に切断して平文切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている平文切断データのそれぞれの異なる位置にダミーデータを含める。この場合、ダミーデータの埋め込まれる位置は、固定でもよいし、平文切断データのそれぞれについて、1ビット目、2ビット目、3ビット目…8ビット目、1ビット目、2ビット目…8ビット目、と順に移動していくような、規則的に変化するものでも、或いは、ランダムに変化するようなものであってもよい。ダミーデータの埋め込まれる位置がランダムに変化する場合には、例えば、ダミーデータの埋め込まれる位置が、解に基づいて決定されるようになっていてもよい。
解によって、ダミーデータの埋め込まれる位置を決定する方法としては、例えば、解である8行8列の行列を構成する数字を足し合わせた和を8で割り、その余りが0のときは、平文切断データ1つおきに、先頭と末尾に交互にダミーデータを埋め込む、余りが1のときは先頭にダミーデータが埋め込まれた平文切断データと、末尾にダミーデータが埋め込まれた平文切断データが2つおきになるようにする、余りが2のときは先頭にダミーデータが埋め込まれた平文切断データと、末尾にダミーデータが埋め込まれた平文切断データが3つおきになるようにする、……余りが7のときは先頭にダミーデータが埋め込まれた平文切断データと、末尾にダミーデータが埋め込まれた平文切断データが8つおきになるようにする、という処理を行うようにすることができる。先頭と末尾のように、ダミーデータを埋め込む位置を固定せずに、その位置を更に動かすようにすることもできる。
C)の方法により平文切断データを生成する場合には、処理対象データを基準ビット数と同じかそれよりも短いビット数に切断する。この切断は、処理対象データを、8ビットよりも短いランダムな長さに切断することにより行うことができ、例えば、解である8行8列の行列を構成する数字を足し合わせた和を8で割り、その余りが0のときは処理対象データのその時点における先頭部分を8ビットで切断し、その余りが1のときは処理対象データのその時点における先頭部分を1ビットで切断し、その余りが2のときは処理対象データのその時点における先頭部分を2ビットで切断し、…その余りが7のときは処理対象データのその時点における先頭部分を7ビットで切断するようにすることができる。また、前処理部272は、これにより生成された平文切断データのうち、基準ビット数よりもビット数の短い平文切断データのそれぞれに、ダミーデータを埋め込む。この場合のダミーデータの埋め込み位置は先頭、末尾などの特定の位置であってもよいし、例えば解によって特定される変化する所定の位置であってもよい。
いずれにせよ、このようにして生成された平文切断データは、生成された順番で、暗号化・復号化部273にストリーム的に送られる。
【0056】
平文切断データの生成と並行して、アルゴリズム生成部275が、平文切断データを暗号化する際に用いられるアルゴリズムを生成する。
この実施形態におけるアルゴリズム生成部275は、アルゴリズムを、解に基づいて生成する。
この実施形態においては、アルゴリズム生成部275は、アルゴリズムを以下のようなものとして生成する。
この実施形態におけるアルゴリズムは、『8ビットのデータである平文切断データを1行8列の行列Yとした場合に、解である8行8列の行列Xをa乗してから、時計周りにn×90°だけ回転させた行列に、Yを掛け合わせて求められるもの』と定義される。
ここで、aは所定の定数とされる場合もあるが、この実施形態では、解に基づいて変化する数字である。つまり、この実施形態におけるアルゴリズムは、解に基づいて変化する。例えばaは、8行8列の行列である解に含まれている行列の要素である数すべてを足し合わせて得られる数を5で割った場合の余り(ただし、余りが0の場合はa=1とする)のように定めることができる。
また、上述のnは、鍵によって定められる所定の数である。鍵が一定の数であればnは固定であるが、以下に説明するように、鍵は解に基づいて変化する。つまり、この実施形態では、このnも解に基づいて変化するようになっている。
もっとも、アルゴリズムを他のものとして決定することもできる。
この実施形態では、アルゴリズム生成部275は、解生成部274から解を受取るたびにアルゴリズムを生成し、それを暗号化・復号化部273に送る。
【0057】
平文切断データの生成と並行して、鍵生成部276が、平文切断データを暗号化する際に用いられる鍵を生成する。
鍵生成部276は、鍵を解に基づいて生成する。
この実施形態においては、鍵生成部276は、鍵を以下のようなものとして生成する。
この実施形態における鍵は、8行8列の行列である解に含まれている行列の要素である数すべてを足し合わせて得られる数とされる。したがって、鍵は、この実施形態では、解に基づいて変化する。
なお、鍵を他のものとして決定することもできる。
この実施形態では、鍵生成部276は、解生成部274から解を受取るたびに鍵を生成し、それを暗号化・復号化部273に送る。
【0058】
暗号化・復号化部273は、アルゴリズム生成部275から受付けたアルゴリズムと、鍵生成部276から受付けた鍵に基づいて、前処理部272から受付けた平文切断データを暗号化する(S1103)。
アルゴリズムは、上述したように、『8ビットのデータである平文切断データを1行8列の行列Yとした場合に、解である8行8列の行列Xをa乗してから、時計周りにn×90°だけ回転させた行列に、Yを掛け合わせて求められるもの』という決まりであり、鍵であるnは、上述したような数である。
例えば、aが3、nが6である場合には、Xを3乗して得られる8行8列の行列を、6×90°=540°だけ時計回りに回転させることによって得られた8行8列の行列に、平文切断データを掛け合わせて暗号化が行われる。
これにより生成されたデータが暗号化切断データである。
【0059】
暗号化切断データは、接続部277に送られる。接続部277は、暗号化切断データを一まとめに接続し、暗号化データを生成する(S1104)。このときの暗号化切断データの並び順は、元の平文切断データの並び順に対応したものとされる。
【0060】
以上のようにして、まず、第1データ処理装置11が処理対象データを暗号化して暗号化データを生成するS110の過程が終了する。
【0061】
このようにして生成された暗号化データは、バス29を介して第1データ処理装置11内の通信装置28に送られる。暗号化データは、通信装置内のインタフェイス281で受取られ認証データ生成部282に送られる。認証データ生成部282は、認証データを暗号化データのヘッダに付加した上で、暗号化データを通信部283へ送る。
通信部283は、その暗号化データをネットワーク13を介して第2データ処理装置12へ送る。これにより、上述したS120の過程が実行される。
【0062】
この暗号化データを受取った第2データ処理装置12にて、暗号化データを復号化して処理対象データに戻すS130の過程が実行される。
以下、この復号化の過程について図11を参照しながら詳述する。
【0063】
第2データ処理装置12に送られた暗号化データは、第2データ処理装置12の通信装置28における通信部283が受付ける(S1201)。
通信部283は、この暗号化データを認証部284に送る。認証部284は、その暗号化データがどの第1データ処理装置11から来たものかを、その暗号化データに付加されている認証データに基づいて判定する(S1202)。
認証部284によりかかる判定がされた後、その暗号化データはインタフェイス部281に送られる。インタフェイス部281は、その暗号化データを、認証部284でその暗号化データの送信元と判定された第1データ処理装置11と対応付けられた暗号化装置27Aに送る。
【0064】
暗号化装置27A内の前処理部272Aが、インタフェイス部271Aを介してこの暗号化データを受取る。
前処理部272Aは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する(S1203)。
暗号化データを切断して暗号化切断データを生成する場合、前処理部272Aは、第1データ処理装置11の接続部277で行われたのと逆の処理を行う。つまり、暗号化データは、先頭から8ビット毎に切断され、複数の暗号化切断データに分けられる。
【0065】
次いで、暗号化切断データは暗号化・復号化部273Aに送られ、そこで復号化され、平文切断データとされる(S1204)。
復号化は、第1データ処理装置11における暗号化・復号化部273で行われたのと逆の処理として実行される。そのために、第2データ処理装置12では、第1データ処理装置11で暗号化を行う際に必要としたアルゴリズムと鍵を必要とする。
【0066】
復号化に用いられるアルゴリズムと鍵は、暗号化装置27A内で生成される。その仕組を説明する。
暗号化装置27Aのインタフェイス部271Aが暗号化データを受付けたという情報は、解生成部274Aへ送られる。解生成部274Aは、この情報を受付けたのを契機として、この情報を受付けるたびに解を生成する。
第2データ処理装置12の暗号化装置27A内にある解生成部274Aで行われる解の生成は、第1データ処理装置11の解生成部274で行われたのと同じ過程を経て行われる。なお、この解生成部274Aは、上述したように、その解生成部274Aを含む暗号化装置27Aと対応付けられた第1データ処理装置11の解生成部274が持っていたのと同様の初期行列と、解生成用アルゴリズムを持っている。したがって、第2データ処理装置12の暗号化装置27A内で生成される解は、生成された順番が同じもの同士を比較すれば、対応する第1データ処理装置11の暗号化装置27内で生成される解と同じになっている。
生成された解は、解生成部274Aから、前処理部272Aと、アルゴリズム生成部275Aと、鍵生成部276Aとに送られる。
アルゴリズム生成部275Aは、受付けた解に基づいて、解を受付けるたびにアルゴリズムを生成する。第2データ処理装置12のアルゴリズム生成部275Aがアルゴリズムを生成する過程は、第1データ処理装置11のアルゴリズム生成部275がアルゴリズムを生成する過程と同じである。生成されたアルゴリズムは、アルゴリズム生成部275Aから暗号化・復号化部273Aへ送られる。
他方、鍵生成部276Aは、受付けた解に基づいて、解を受付けるたびに鍵を生成する。第2データ処理装置12の鍵生成部276Aが鍵を生成する過程は、第1データ処理装置11の鍵生成部276が鍵を生成する過程と同じである。生成された鍵は、鍵生成部276Aから暗号化・復号化部273Aへ送られる。
ところで、このデータ処理システムでは、第1データ処理装置11で暗号化が行われるたびに第1データ処理装置11で新たな解が生成され、且つ第1データ処理装置11で生成された暗号化データが第2データ処理装置12で復号化されるたびに第2データ処理装置12で新たな解が生成される。また、上述したように、第2データ処理装置12の暗号化装置27Aで生成される解は、生成された順番が同じもの同士を比較すれば、対応する第1データ処理装置11内の暗号化装置27で生成される解と同じになっている。したがって、第1データ処理装置11である処理対象データを暗号化するときに生成された解と、その解に基づいて生成されたアルゴリズム及び鍵はすべて、その解を用いて生成されたアルゴリズム及び鍵を用いて第1データ処理装置11で生成された暗号化データを復号化するときに、第2データ処理装置12の暗号化装置27Aで生成される解と、その解に基づいて生成されたアルゴリズム及び鍵に、常に一致することになる。なお、この事情は、第2データ処理装置12で暗号化が行われ、第1データ処理装置11で復号化が行われる場合も同様である。
【0067】
暗号化・復号化部273Aでは、上述したように、アルゴリズム生成部275Aから受付けたアルゴリズムを用いて復号化の処理が行われる。より詳細には、暗号化・復号化部273Aは、アルゴリズム生成部275Aから受付けたアルゴリズム(『8ビットのデータである平文切断データを1行8列の行列Yとした場合に、解である8行8列の行列Xをa乗してから、時計周りにn×90°だけ回転させた行列に、Yを掛け合わせて求められるものが暗号化切断データである』という定義)に基づいて、復号化処理を行うためのアルゴリズム(『暗号化切断データを1行8列の行列Zと見た場合に、解である8行8列の行列Xをa乗してから、時計周りにn×90°だけ回転させた行列の逆行列に、Yを掛け合わせて求められるものが平文切断データである』という定義)を生成し、鍵を用いて上述の定義にしたがった演算を行うことで、復号化の処理を行う。こうして、暗号化・復号化部273Aでは、前処理部272Aからストリーム的に供給される暗号化切断データを次々に復号化し、平文切断データを生成する。
【0068】
次いで、暗号化・復号化部273Aは、必要に応じて、平文切断データから、ダミーデータを除く(S1205)。上述したように、解生成部274Aで生成された解は前処理部272Aに送られている。この解は、第1データ処理装置11の前処理部272でどのようにしてダミーデータを平文切断データに埋め込んだのかを決定するときに使用されたものである。つまり、暗号化装置27Aの前処理部272Aがその時点で持っている解は、第2データ処理装置12の暗号化・復号化部273Aが復号化を終えた(或いは復号化を行っている、もしくは今から復号化をしようとしている)暗号化切断データ(より正確には、その暗号化切断データが暗号化される前の平文切断データ)にどのようにしてダミーデータを埋め込んだかを示すものである。
前処理部272Aは、暗号化・復号化部273Aで復号化された平文切断データのどこにダミーデータが埋め込まれているかということについての情報を、暗号化・復号化部273Aに送る。
これを用いて、暗号化・復号化部273Aは、ダミーデータを平文切断データの中から除く。
【0069】
このようにして生成された平文切断データは、接続部277Aへ送られる。接続部277Aは、受取った平文切断データを一まとめに接続し、第1データ処理装置11で暗号化される前の元の状態の処理対象データに戻す(S1206)。
このようにして、第2データ処理装置12が暗号化データを復号化して処理対象データに戻すS130の過程が終了する。
【0070】
生成された処理対象データは、接続部277Aからインタフェイス部271Aに送られ、バス29を介して暗号化装置27Bに送られる。
【0071】
ここで、暗号化装置27Bは、復号化されたその処理対象データを再び暗号化して暗号化データにする上述のS140の処理を行う。
暗号化装置27Bにおける暗号化の処理は、第1データ処理装置11におけるそれと略同様の流れで行われる(図12)。
【0072】
暗号化装置27Bに送られた処理対象データは、インタフェイス部271Bが受付ける(S1301)。
インタフェイス部271Bは、これを前処理部272Bに送る。
前処理部272Bは、受付けた処理対象データを所定のビット数毎に切断して、平文切断データを生成する(S1302)。この場合における処理対象データの切断の仕方は、暗号化装置27及び暗号化装置27Aと同じである必要はないが、この実施形態では暗号化装置27及び暗号化装置27Aで説明したのと同様の処理を行うことによって、処理対象データの切断を行うこととしている。また、前処理部272Bは、暗号化装置27で説明したのと同様の処理を行って、平文切断データに必要に応じてダミーデータを含める。
【0073】
次いで、平文切断データは暗号化・復号化部273Bに送られ、そこで暗号化され、暗号化切断データとされる(S1303)。
ここで、暗号化装置27の場合と同様、暗号化に用いられるアルゴリズムと鍵の生成が行われる。これに先立って解の生成が行われるのも暗号化装置27の場合と同様である。解の生成から、アルゴリズム及び鍵の生成までの流れを以下に説明する。
【0074】
解生成部274Bは、インタフェイス部271Bがバス29から処理対象データを受付けた場合、その情報をインタフェイス部271Bから受付ける。解生成部274Bは、適当なタイミングで解を生成するようになっていればよいが、この実施形態における解生成部274Bは、処理対象データを受付けたとの情報をインタフェイス部271Bから受付けた場合にそれを契機に解を生成する。解の生成の詳細は、暗号化装置27で説明したのと同様である。
生成された解は、アルゴリズム生成部275Bと鍵生成部276Bに送られる。
【0075】
アルゴリズム生成部275Bと鍵生成部276Bは、暗号化装置27におけるアルゴリズム生成部275と鍵生成部276が実行したのと同じ処理を行ってアルゴリズムと鍵を生成する。生成されたアルゴリズムと鍵は、アルゴリズム生成部275B又は鍵生成部276Bから暗号化・復号化部273Bに送られる。
【0076】
暗号化・復号化部273Bは、アルゴリズム生成部275Bからアルゴリズムを、鍵生成部276Bから鍵をそれぞれ受付け、それに基づいて、前処理部272Bから受付けた平文切断データを順次暗号化する(S1303)。
暗号化の詳細は、暗号化装置27で説明したのと同様である。
生成された暗号化切断データは、順次接続部277Bに送られる。
【0077】
接続部277Bは、暗号化切断データを一まとめにして暗号化データとする(S1304)。この暗号化データは、特定情報生成部278Bに送られる。
【0078】
特定情報生成部278Bは、受付けた暗号化データの例えばヘッダに、上述したような特定情報を付加する(S1305)。
特定情報が付加された暗号化データは、インタフェイス部271Bを介してバス29に送られ、第2データ処理装置12内にあるHDD23に記録される。
【0079】
次に、例えば第1データ処理装置11から、第2データ処理装置12内のHDD23に記録された暗号化データを第1データ処理装置11に返信せよとの指示が来た場合に、第2データ処理装置12は以下の処理を実行する。
【0080】
まず、暗号化装置27Bが、HDD23から暗号化データを読み出し、その暗号化データを復号化して処理対象データに戻すという、上述のS150の処理が実行される。この処理の詳細を、図13を参照しながら説明する。
具体的には、第2データ処理装置12の暗号化装置27Bにおけるインタフェイス部271BがHDD23からバス29を介して暗号化データを読み出す(S1401)。
インタフェイス部271Bは、この暗号化データを前処理部272Bに送る。前処理部272Bは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する(S1402)。
暗号化データを切断して暗号化切断データを生成する場合、前処理部272Bは、復号化を行う際に暗号化装置27Aの前処理部272Aが行う上述した処理と同様の処理を行う。つまり、暗号化データは、先頭から8ビット毎に切断され、複数の暗号化切断データに分けられる。
【0081】
次いで、暗号化切断データは順次暗号化・復号化部273Bに送られ、そこで復号化され、平文切断データとされる(S1403)。
復号化は、復号化を行う際に暗号化装置27Aの暗号化・復号化部273Aが行う上述した処理と同様の処理として実行される。かかる復号化を行うために、第2データ処理装置12では、アルゴリズムと鍵を必要とする。
【0082】
アルゴリズムと鍵は、以下のようにして生成される。
この実施形態におけるインタフェイス部271Bは、暗号化データに付加された特定情報を読み出せるようになっている。この特定情報は、その特定情報が付加される暗号化データを暗号化するときに用いたアルゴリズムと鍵を特定するための情報である。
例えば、特定情報がその暗号化データを暗号化するときに用いたアルゴリズムと鍵自体である場合、インタフェイス217Bはこのアルゴリズムと鍵を暗号化データから読み出し、これを例えば前処理部272Bを介して暗号化・復号化部273Bへ送る。暗号化・復号化部273Bは、このアルゴリズムと鍵に基づいて、暗号化切断データの復号化を行う。
また、特定情報がその暗号化データを暗号化するときに用いたアルゴリズムと鍵を生成するときに用いた解である場合には、インタフェイス217Bはこの解を暗号化データから読み出し、これをアルゴリズム生成部275Bと鍵生成部276Bへ送る。この場合、アルゴリズム生成部275Bと鍵生成部276Bは受付けた解に基づいてアルゴリズムと鍵をそれぞれ生成するが、このアルゴリズムと鍵は、その解が付加されていた暗号化データを暗号化するときに用いたアルゴリズム及び鍵にそれぞれ一致する。アルゴリズム生成部275Bと鍵生成部276Bは、生成したアルゴリズムと鍵を暗号化・復号化部273Bへ送る。暗号化・復号化部273Bは、このアルゴリズムと鍵に基づいて、暗号化切断データの復号化を行う。
また、特定情報がその暗号化データを暗号化するときに用いたアルゴリズムと鍵を生成するときに用いた解が何番目に生成された解であるかを示す情報である場合には、インタフェイス217Bはこの情報を暗号化データから読み出し、これを解生成部274Bに送る。この情報を受付けた解生成部274Bは、その示された順番まで解を生成する。この解は、上述の情報が付加されていた暗号化データを暗号化するときに用いた解に一致する。なお、この場合、同じ順番で生成された解が常に同じものとなるように、初期行列だけは消去されずに保持されるようにしておく。解生成部274Bは、生成した解をアルゴリズム生成部275Bと鍵生成部276Bに送る。アルゴリズム生成部275Bと鍵生成部276Bは受付けた解に基づいてアルゴリズムと鍵をそれぞれ生成するが、このアルゴリズムと鍵は、その解が付加されていた暗号化データを暗号化するときに用いたアルゴリズム及び鍵にそれぞれ一致する。アルゴリズム生成部275Bと鍵生成部276Bは、生成したアルゴリズムと鍵を暗号化・復号化部273Bへ送る。暗号化・復号化部273Bは、このアルゴリズムと鍵に基づいて、暗号化切断データの復号化を行う。
以上のようにして、暗号化切断データは、平文切断データに戻されることになる。
【0083】
次いで、暗号化・復号化部273Bは、必要に応じて、平文切断データから、ダミーデータを除く(S1404)。
ここで、平文切断データに含まれているダミーデータが、解に基づいて適当な位置に含められたのであれば、暗号化・復号化部273Bは、ダミーデータを除く際に、その平文切断データが前回暗号化された場合に用いられた解を必要とする。特定情報がその平文切断データが前回暗号化されたときに用いた解である場合には、インタフェイス217Bはこの解を暗号化・復号化部273Bに送る。また、特定情報がその平文切断データが前回暗号化されたときに用いられた解が何番目に生成された解であるかを示す情報である場合には、解生成部274Bは、生成した解を暗号化・復号化部273Bに送る。この解を用いて、暗号化・復号化部273Bは、解に基づいて適当な位置に含められたダミーデータを除く。
なお、平文切断データに含まれているダミーデータを、解に基づいて適当な位置に含める場合には、特定情報をその暗号化データを暗号化するときに用いたアルゴリズムと鍵自体とすることは好ましくない。そのようにすると、暗号化・復号化部273Bが解を入手することができないので、ダミーデータを除くことができないからである。
【0084】
ダミーデータの除かれた平文切断データは、接続部277Bに送られる。この平文切断データは、接続部277Bで一まとめに接続され処理対象データに戻される(S1405)。
【0085】
この平文切断データは、インタフェイス部271Bを介してバス29へ送られ、この平文切断データの元となっていた暗号化データの送信を要求してきた第1データ処理装置11と対応付けられた暗号化装置27Aに送られる。
これを受取った暗号化装置27Aは、その処理対象データを、暗号化して暗号化データにする上述のS160の処理を実行する。
【0086】
暗号化装置27Aは、この処理を、処理対象データを暗号化データにする際に、第1データ処理装置11の暗号化装置27が行った、S110で説明した処理と同じものとして実行する。
【0087】
暗号化装置27Aで生成された暗号化データは、バス29を介して第2データ処理装置12における通信装置28に送られ、そこから、ネットワーク13を介して、暗号化データの送信を依頼してきた第1データ処理装置11の通信部28に送られる。これが、上述のS170の処理に該当する。
【0088】
この暗号化データは、第1データ処理装置11内の暗号化装置27で復号化される。これが、上述のS180の処理である。なお、暗号化装置27は、この処理を、暗号化データを処理対象データに復号化する際に、第2データ処理装置12の暗号化装置27Aが行った、S130で説明した処理と同じものとして実行する。
【0089】
要するに、この実施形態における第1データ処理装置11のそれぞれに内蔵された暗号化装置27と、その暗号化装置27を内蔵する第1データ処理装置11と対応付けられた第2データ処理装置12内の暗号化装置27Aはお互いに、相手側が暗号化した暗号化データを、復号化できるようなものとなっている。
【0090】
第1データ処理装置11内の暗号化装置27で復号化されて生成された処理対象データは、S110の処理が行われる前に第1データ処理装置11内のHDD23にあったものと同一である。この処理対象データは、例えば、第1データ処理装置11内のHDD23に記録される。第1データ処理装置11は、それを適宜利用できる。
【0091】
≪第2実施形態≫
第2実施形態では、データ処理装置は1つだけである。
第2実施形態におけるデータ処理装置のハードウエア構成は、第1実施形態における第1データ処理装置11と同様である。ただし、第2実施形態におけるデータ処理装置は、通信の必要がないので、第1データ処理装置11が備えていた通信装置28を有さない。
即ち、第2実施形態におけるデータ処理装置は、CPU21、ROM22、HDD23、RAM24、入力装置25、表示装置26、暗号化装置27、バス29を備えている。これらの各機能は、基本的に第1データ処理装置11におけるCPU21、ROM22、HDD23、RAM24、入力装置25、表示装置26、暗号化装置27、バス29の機能と一致する。
ただし、第2実施形態におけるデータ処理装置における暗号化装置27の構成は、第1実施形態の第1データ処理装置11に内蔵されていた暗号化装置27の構成(図4に示されていたもの)とほぼ同様であるものの、アルゴリズム生成部275が、第1アルゴリズム生成部275X及び第2アルゴリズム生成部275Yに、鍵生成部276が、第1鍵生成部276X及び第2鍵生成部276Yに置き換えられている点で、第1実施形態の暗号化装置27に相違する(図14)。
【0092】
第2実施形態のデータ処理装置では、後述するように、HDD23に記録されていた処理対象データの暗号化装置27による暗号化、その暗号化により生成された暗号化データのHDD23への記録、HDD23に記録されていた暗号化データの暗号化装置27による復号化、その復号化により生成された処理対象データのHDD23への記録の各処理が実行されるが、第2実施形態では、復号化される暗号化データは複数であり、且つ暗号化データが復号化される順番は、暗号化データが処理対象データから暗号化された順番に一致するようにされている。
第2実施形態におけるデータ処理装置における暗号化装置27と、第1実施形態の第1データ処理装置11に内蔵されていた暗号化装置27の相違は、この点に関連して生じるものとなっている。
【0093】
第2実施形態におけるデータ処理装置における暗号化装置27は、上述したように、図14に示された如き構造となっている。
第2実施形態におけるデータ処理装置内の暗号化装置27が有するインタフェイス部271、前処理部272、暗号化・復号化部273、解生成部274、及び接続部277は、基本的に第1実施形態の第1データ処理装置11の暗号化装置27内にあったそれらと同様の機能を有している。インタフェイス部271は、バス29と通信装置28との間におけるデータのやりとりを行う。
前処理部272は、インタフェイス部271を介してバス29から受取った処理対象データ又は暗号化データを、所定のビット数毎に切断して、平文切断データ又は暗号化切断データを生成し、これを暗号化・復号化部273に送る。前処理部272は、平文切断データにダミーデータを含める場合がある。
暗号化・復号化部273は、平文切断データ又は暗号化切断データを前処理部272から受取り、平文切断データを受付けた場合にはそれを暗号化し、暗号化切断データを受付けた場合にはそれを復号化する。暗号化・復号化部273は、暗号化及び復号化の処理を行う場合の処理単位である基準ビット数が、この実施形態では8ビットに固定されている。
解生成部274は、解を順次生成する。解は、この実施形態では、前処理部272が処理対象データを受付けるたびに生成される。解は、擬似乱数である。
接続部277は、暗号化・復号化部273で暗号化切断データを復号化することによって生成された平文切断データを元の順序で接続して一まとめの処理対象データとする機能を有している。接続部277は、また、暗号化・復号化部273で平文切断データを暗号化することによって生成された暗号化切断データを接続して一まとめの暗号化データとする機能を有している。
【0094】
第1アルゴリズム生成部275Xは、解生成部274から受付けた解に基づいてアルゴリズムを生成する。このアルゴリズムは、暗号化を行う際に用いられる。第2アルゴリズム生成部275Yは、解生成部274から受付けた解に基づいてアルゴリズムを生成する。このアルゴリズムは、復号化を行う際に用いられる。なお、第1アルゴリズム生成部275Xと第2アルゴリズム生成部275Yは、同じ解を用いてアルゴリズムを生成する場合には、同じアルゴリズムを生成するようにされている。
第1鍵生成部276Xは、解生成部274から受付けた解に基づいて鍵を生成するものである。この鍵は、暗号化を行う際に用いられる。第2鍵生成部276Yは、解生成部274から受付けた解に基づいて鍵を生成するものである。この鍵は、復号化を行う際に用いられる。なお、第1鍵生成部276Xと第2鍵生成部276Yは、同じ解を用いて鍵を生成する場合には、同じ鍵を生成するようにされている。
この実施形態では、第1アルゴリズム生成部275X及び第1鍵生成部276Xが、前処理部272が処理対象データを受付けるたびにアルゴリズムと鍵を生成する。また、第2アルゴリズム生成部275Y及び第2鍵生成部276Yが、前処理部272が暗号化データを受付けるたびにアルゴリズムと鍵を生成する。
【0095】
第2実施形態におけるデータ処理装置の動作について図15を用いて説明する。
まず、処理対象データの読み出しが行われる(S1501)。処理対象データは、この実施形態では、HDD23から読み出される。処理対象データは、HDD23からバス29を経て、暗号化装置27に送られる。この処理対象データは、より詳細には、インタフェイス部271を介して、前処理部272に送られることになる。
【0096】
前処理部272で、処理対象データは、所定のビット数毎に切断され、平文切断データにされる(S1502)。前処理部272は、必要に応じて、平文切断データにダミーデータを含める。
処理対象データから平文切断データを生成する方法は、第1実施形態のS1102で説明したのと同様である。
【0097】
他方、解生成部274は、インタフェイス部271から、インタフェイス部271が処理対象データを受付けたという情報を受付けたのを契機にして、解を生成する。なお、解は、前処理部272で処理対象データが切断されるたびに生成されるようになっていてもよい。この場合には、前処理部272での処理対象データの生成と、解生成部274での解の生成を同期させる。
この実施形態における解の生成の方法は、第1実施形態の第1データ処理装置11が暗号化を行う際に解生成部274が行ったのと同様である。
生成された解は、第1アルゴリズム生成部275X、第2アルゴリズム生成部275Y、第1鍵生成部276X、及び第2鍵生成部276Yに送られる。
これを受付けた第1アルゴリズム生成部275X及び第1鍵生成部276Xはそれぞれ、アルゴリズムと鍵を生成する。この実施形態におけるアルゴリズム及び鍵の生成方法は、第1実施形態の第1データ処理装置11がアルゴリズムと鍵の生成を行う際にアルゴリズム生成部275及び鍵生成部276が行ったのと同様である。
第1アルゴリズム生成部275X及び第1鍵生成部276Xは生成したアルゴリズムと鍵を暗号化・復号化部273に送る。
また、暗号化・復号化部273は、第1アルゴリズム生成部275Xから受付けたアルゴリズムと、第1鍵生成部276Xから受付けた鍵に基づいて、前処理部272から受付けた平文切断データを暗号化する(S1503)。この処理は、第1実施形態で説明したS1103の処理と同様の処理として行われる。
これにより生成された暗号化切断データは、接続部277に送られ、そこで一まとめに接続され、暗号化データとされる(S1504)。
【0098】
以上のようにして、生成された暗号化データは、バス29を介してデータ処理装置内のHDD23に記録される。
このような暗号化の処理が、この実施形態では複数回行われる。
【0099】
このデータ処理装置では、HDD23に記録された暗号化データの復号化が行われる。
以下、復号化の過程について、図16を参照して詳述する。
復号化は、HDD23に記録された暗号化データを暗号化装置27が読み出すことから開始される(S1601)。
暗号化装置27内の前処理部272が、インタフェイス部271を介してHDD23から暗号化データを受取ると、前処理部272は、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する(S1602)。
暗号化データを切断して暗号化切断データを生成する場合、前処理部272は、上述の暗号化の処理で行われたのと逆の処理を行う。つまり、暗号化データは、先頭から8ビット毎に切断され、複数の暗号化切断データに分けられる。この処理は、第1実施形態におけるS1203の処理と同様とされる。
次いで、暗号化切断データは暗号化・復号化部273に送られ、そこで復号化され、平文切断データとされる(S1603)。
復号化は、暗号化・復号化部273で行われた上述した暗号化の処理と逆の処理として実行される。そのために、暗号化・復号化部273は、暗号化の際に用いたアルゴリズムと鍵を必要とする。ここで、先に生成されていた解を用いて、第2アルゴリズム生成部275Yがアルゴリズムを、第2鍵生成部276Yが鍵をそれぞれ生成する。暗号化データが復号化される順番と、暗号化データが処理対象データから暗号化された順番とが一致するようになっているので、第2アルゴリズム生成部275Yと第2鍵生成部276Yが生成するアルゴリズムと鍵は、復号化されようとしている暗号化データが暗号化されたときに用いられた解に基づいて生成されることになる。これは、第2アルゴリズム生成部275Yが生成するアルゴリズムと、第2鍵生成部276Yが生成する鍵とが、これから復号化されようとしている暗号化データが暗号化されたときに用いられたアルゴリズムと鍵に一致することを意味する。
なお、第2アルゴリズム生成部275Yと第2鍵生成部276Yは、解生成部274が解を生成した後であれば、復号化を行うために暗号化・復号化部273がアルゴリズムと鍵を必要とするまでのどのタイミングでアルゴリズムと鍵を生成するようになっていても構わない。
第2アルゴリズム生成部275Yが生成したアルゴリズムと、第2鍵生成部276Yが生成した鍵は、暗号化・復号化部273に送られる。暗号化・復号化部273は、そのアルゴリズムと鍵を用いて暗号化切断データを順次復号化して平文切断データにする。この処理は、第1実施形態のS1204で説明した処理と同様の処理として実行される。
次いで、暗号化・復号化部273は、必要に応じて、平文切断データから、ダミーデータを除く(S1604)。この処理は、第1実施形態におけるS1205の処理と同様の処理として実行される。
【0100】
このようにして生成された平文切断データは、接続部277へ送られる。接続部277は、受取った平文切断データを一まとめに接続し、処理対象データを生成する(S1605)。
生成された処理対象データは、接続部277からインタフェイス部271に送られ、バス29を介してHDD23に記録される。
【0101】
≪変形例≫
第2実施形態におけるデータ処理装置は、以下のように変形することができる。
この変形例におけるデータ処理装置は、第2実施形態におけるデータ処理装置と、暗号化装置27の構成が若干相違する。その他の部分においては、上述の第2実施形態におけるデータ処理装置と同様である。
変形例におけるデータ処理装置の暗号化装置27は、図17に示したように構成されている。この暗号化装置27は、第1解生成部274Xと第2解生成部274Yという2つの解生成部を備えている点で、1つの解生成部274しか備えていなかった第2実施形態におけるデータ処理装置の暗号化装置27と異なっている。
第1解生成部274Xと第2解生成部274Yはともに、第2実施形態における解生成部274と同様に、解を生成するようになっている。
第1解生成部274Xは、インタフェイス部271から、インタフェイス部271が処理対象データを受付けたという情報を受付けたのを契機にして、解を生成する。ただし、第1解生成部274Xは、前処理部272で処理対象データが切断されるたびに解を生成するようになっていてもよい。第1解生成部274Xで生成された解は、第1アルゴリズム生成部275X及び第1鍵生成部276Xに送られる。これを受付けた第1アルゴリズム生成部275X及び第1鍵生成部276Xはそれぞれ、第2実施形態の場合と同様にアルゴリズムと鍵を生成して、これを暗号化・復号化部273に送る。暗号化・復号化部273は、第1アルゴリズム生成部275X及び第1鍵生成部276Xから受付けたアルゴリズムと鍵を用いて、暗号化の処理を行う。
他方、第2解生成部274Yは、インタフェイス部271から、インタフェイス部271が暗号化データを受付けたという情報を受付けたのを契機にして、解を生成する。ただし、第2解生成部274Yは、前処理部272で暗号化データが切断されるたびに解を生成するようになっていてもよい。第2解生成部274Yで生成された解は、第2アルゴリズム生成部275Y、及び第2鍵生成部276Yに送られる。これを受付けた第2アルゴリズム生成部275Y及び第2鍵生成部276Yはそれぞれ、第2実施形態の場合と同様にアルゴリズムと鍵を生成して、これを暗号化・復号化部273に送る。暗号化・復号化部273は、第2アルゴリズム生成部275Y及び第2鍵生成部276Yから受付けたアルゴリズムと鍵を用いて、復号化の処理を行う。
なお、第2解生成部274Yが生成する解は、同じ順番で生成されたもの同士を比較すれば、第1解生成部274Xで生成された解と同じになるようにされている。これは、第1実施形態における第1データ処理装置11に内蔵されていた暗号化装置27内の解生成部271と、第2データ処理装置12に内蔵されていた暗号化装置27A内の解生成部271Aが、同じ順番で生成されたもの同士を比較すると同じ解を生成するようになっていたのと同様である。つまり、この変形例における第2解生成部274Yと第1解生成部274Xは、同じ解生成用アルゴリズムを有しており、且つ同じ初期行列を有している。
解の生成及びアルゴリズムの生成の処理を除いて、この変形例におけるデータ処理装置は、第2実施形態のデータ処理装置と同様の処理を実行する。
【0102】
なお、第2実施形態及びその変形例が有していた暗号化装置は、第1実施形態における暗号化装置27Bに置き換えることができる。
【符号の説明】
【0103】
11 第1データ処理装置
12 第2データ処理装置
13 ネットワーク
27 暗号化装置
28 通信装置
271 インタフェイス部
272 前処理部
273 暗号化・復号化部
274 解生成部
275 アルゴリズム生成部
276 鍵生成部
277 接続部
278B 特定情報生成部

【特許請求の範囲】
【請求項1】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する解生成手段と、
生成された解を用いて所定のタイミングで順次新たなアルゴリズムを生成するアルゴリズム生成手段と、
前記処理対象データを暗号化したときに用いられた前記アルゴリズムを特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する特定情報記録手段と、
を備えており、
且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項2】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する解生成手段と、
生成された解を用いて所定のタイミングで順次新たな鍵を生成する鍵生成手段と、
前記処理対象データを暗号化したときに用いられた前記鍵を特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する特定情報記録手段と、
を備えており、
且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項3】
前記処理対象データを所定のビット数毎に切断して複数の平文切断データにすることができるとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにすることができる切断手段を備えており、
前記暗号化手段は、前記処理対象データを、前記切断手段で切断された前記平文切断データごとに暗号化して暗号化切断データとするようになっており、且つ前記復号化手段は、前記暗号化データを、前記暗号化切断データごとに復号化して平文切断データとするようになっているとともに、
前記暗号化手段で暗号化された複数の前記暗号化切断データを接続して一連の暗号化データとするとともに、前記復号化手段で復号化された複数の前記平文切断データを接続して一連の処理対象データとする接続手段を備えてなる、
請求項1又は2記載のデータ処理装置。
【請求項4】
前記アルゴリズム生成手段は、前記処理対象データの暗号化を行うたびに前記アルゴリズムを生成するようになっている、
請求項1又は3に記載のデータ処理装置。
【請求項5】
前記アルゴリズム生成手段は、前記平文切断データの暗号化が行われるたびに前記アルゴリズムを生成するようになっている、
請求項3記載のデータ処理装置。
【請求項6】
前記解生成手段は、前記解を、過去の複数の解を前記解生成用アルゴリズムに代入して得るようになっている、
請求項1又は2記載のデータ処理装置。
【請求項7】
前記解生成手段は、前記解を最初に生成する際に前記解生成用アルゴリズムに最初に代入される初期解を保持している、
請求項1又は2記載のデータ処理装置。
【請求項8】
前記鍵生成手段は、前記処理対象データの暗号化を行うたびに前記鍵を生成するようになっている、
請求項2又は3に記載のデータ処理装置。
【請求項9】
前記鍵生成手段は、前記平文切断データの暗号化が行われるたびに前記鍵を生成するようになっている、
請求項8記載のデータ処理装置。
【請求項10】
前記特定情報は、前記アルゴリズムである、
請求項1記載のデータ処理装置。
【請求項11】
前記特定情報は、前記アルゴリズムを生成する際に前記アルゴリズム生成手段が使用した前記解である、
請求項1記載のデータ処理装置。
【請求項12】
前記特定情報は、前記アルゴリズムを生成する際に前記アルゴリズム生成手段が使用した前記解が何番目に生成された解であるかを示す情報である、
請求項1記載のデータ処理装置。
【請求項13】
前記特定情報は、前記鍵である、
請求項2記載のデータ処理装置。
【請求項14】
前記特定情報は、前記鍵を生成する際に前記鍵生成手段が使用した前記解である、
請求項2記載のデータ処理装置。
【請求項15】
前記特定情報は、前記鍵を生成する際に前記鍵生成手段が使用した前記解が何番目に生成された解であるかを示す情報である、
請求項2記載のデータ処理装置。
【請求項16】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する解生成手段と、
生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成手段と、
生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成手段で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成手段と、
を備えており、
且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項17】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成手段と、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成手段で生成されるのと同じ新たな解を生成する第2解生成手段と、
前記第2解生成手段で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成手段で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成手段と、
を備えており、
且つ、前記第1解生成手段及び前記第2解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項18】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する解生成手段と、
生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成手段と、
生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成手段で生成されるのと同じ新たな鍵を生成する第2鍵生成手段と、
を備えており、
且つ、前記解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項19】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする暗号化手段と、その暗号化データを記録する記録手段と、その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする復号化手段とを備えてなり、複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化するようにされてなるデータ処理装置であって、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成手段と、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成手段で生成されるのと同じ新たな解を生成する第2解生成手段と、
前記第2解生成手段で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成手段で生成されるのと同じ新たな鍵を生成する第2鍵生成手段と、
を備えており、
且つ、前記第1解生成手段及び前記第2解生成手段は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去するようになっている、
データ処理装置。
【請求項20】
前記処理対象データを所定のビット数毎に切断して複数の平文切断データにすることができるとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにすることができる切断手段を備えており、
前記暗号化手段は、前記処理対象データを、前記切断手段で切断された前記平文切断データごとに暗号化して暗号化切断データとするようになっており、且つ前記復号化手段は、前記暗号化データを、前記暗号化切断データごとに復号化して平文切断データとするようになっているとともに、
前記暗号化手段で暗号化された複数の前記暗号化切断データを接続して一連の暗号化データとするとともに、前記復号化手段で復号化された複数の前記平文切断データを接続して一連の処理対象データとする接続手段を備えてなる、
請求項16〜19のいずれかに記載のデータ処理装置。
【請求項21】
複数の第1データ処理装置と、
複数の前記第1データ処理装置のそれぞれと対になっている前記第1データ処理装置と同数の第2データ処理装置、及び第3データ処理装置を含んで構成され、
前記第1データ処理装置と前記第2データ処理装置の間では平文である処理対象データを暗号化した暗号化データによる通信が行われるとともに、前記第2データ処理装置と前記第3データ処理装置の間では、処理対象データによる通信が行われるようになっている、
データ処理システムであって、
前記第1データ処理装置、前記第2データ処理装置はともに、
前記処理対象データを所定のビット数毎に切断して複数の平文切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、
対となっている前記第1データ処理装置と前記第2データ処理装置で共通とされた、他の前記第1データ処理装置と前記第2データ処理装置とは異なる解を順次発生させる解生成手段、
前記平文切断データを、前記解生成手段から受付けた前記解に基づいて生成した前記第1データ処理装置と前記第2データ処理装置で共通とされたアルゴリズムによって暗号化して暗号化切断データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムによって復号化して平文切断データにする暗号化・復号化手段、
復号化された前記平文切断データを接続して前記処理対象データにする接続手段、
前記暗号化データを送受信する送受信手段、
を備えているとともに、
前記第3データ処理装置は、請求項1〜20のいずれかに記載のデータ処理装置であり、前記第2データ処理装置が前記第1データ処理装置で暗号化された暗号化データを復号化して生成した処理対象データを暗号化し、その暗号化データを前記記録手段に記録するとともに、その記録手段から読み出した暗号化データを復号化して前記第2データ処理装置に送るようにされている、
データ処理システム。
【請求項22】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する過程と、
生成された解を用いて所定のタイミングで順次新たなアルゴリズムを生成する過程と、
前記処理対象データを暗号化したときに用いられた前記アルゴリズムを特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する過程と、
を実行するとともに、
前記データ処理装置は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去する、
データ処理方法。
【請求項23】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、所定のタイミングで順次新たな解を生成する過程と、
生成された解を用いて所定のタイミングで順次新たな鍵を生成する過程と、
前記処理対象データを暗号化したときに用いられた前記鍵を特定するための特定情報を前記暗号化データと関連付けて所定の記録手段に記録する過程と、
を実行するとともに、
前記データ処理装置は、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去する、
データ処理方法。
【請求項24】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する過程と、
生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成過程と、
生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成過程で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成過程と、
を実行するとともに、
前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する、
データ処理方法。
【請求項25】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成過程と、
前記第1解生成過程で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たなアルゴリズムを生成する第1アルゴリズム生成過程と、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成過程で生成されるのと同じ新たな解を生成する第2解生成過程と、
前記第2解生成過程で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1アルゴリズム生成過程で生成されるのと同じ新たなアルゴリズムを生成する第2アルゴリズム生成過程と、
を実行するとともに、
前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する、
データ処理方法。
【請求項26】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する過程と、
生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成過程と、
生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成過程で生成されるのと同じ新たな鍵を生成する第2鍵生成過程と、
を実行するとともに、
前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する、
データ処理方法。
【請求項27】
平文である処理対象データを所定のアルゴリズム及び所定の鍵を用いて暗号化して暗号化データとする過程と、
その暗号化データを所定の記録手段に記録する過程と、
その記録手段から読み出した暗号化データをその暗号化データを暗号化するときに用いたアルゴリズム及び鍵を用いて復号化して処理対象データにする過程と、を実行するデータ処理装置にて実行される方法であって、
前記データ処理装置が、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記処理対象データの暗号化を行うたびに順次新たな解を生成する第1解生成過程と、
前記第1解生成過程で生成された解を用いて前記処理対象データの暗号化を行うたびに順次新たな鍵を生成する第1鍵生成過程と、
過去の解の少なくとも1つを代入することで新しい解を生成することのできる所定の解生成用アルゴリズムに過去の解を代入することによって、前記暗号化データの復号化を行うたびに順次前記第1解生成過程で生成されるのと同じ新たな解を生成する第2解生成過程と、
前記第2解生成過程で生成された解を用いて前記暗号化データの復号化を行うたびに順次前記第1鍵生成過程で生成されるのと同じ新たな鍵を生成する第2鍵生成過程と、
を実行するとともに、
前記データ処理装置が、過去の解の少なくとも一つを保持しているとともに、新たに代入する必要がなくなった時点でその過去の解を消去し、且つ複数の処理対象データを暗号化して暗号化データとするとともに、複数の前記暗号化データをそれらが暗号化されたのと同じ順番で復号化する、
データ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−229174(P2011−229174A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2011−139294(P2011−139294)
【出願日】平成23年6月23日(2011.6.23)
【分割の表示】特願2005−63271(P2005−63271)の分割
【原出願日】平成17年3月8日(2005.3.8)
【出願人】(398030229)株式会社 エヌティーアイ (8)
【Fターム(参考)】