(57)【要約】      （修正有）【課題】２つの通信装置を含む通信システムを、第三者による通信の解読の可能性をより小さくするように改良する。【解決手段】通信システムは、第１通信装置と第２通信装置を含み、一方の通信装置で送信対象データを暗号化して生成した暗号化データを他方の通信装置に送信し、その他方の通信装置で、受取った暗号化データの復号化を行う。各通信装置は、暗号化又は復号化を行うごとに暗号化に用いるアルゴリズムを生成する。この場合、各通信装置は、過去の解を代入することによって新しいアルゴリズムを生成することのできる解生成用アルゴリズムに、過去の解を代入してアルゴリズムを生成する。過去の解は使用されなくなった時点で消去される。【選択図】図４
2006191508.tif 000002
【特許請求の範囲】
【請求項１】
平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含み、
前記第１通信装置及び前記第２通信装置が共に、
前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、
前記第１通信装置と前記第２通信装置で共通とされたアルゴリズムを順次生成するアルゴリズム生成手段、
前記送信対象切断データを、前記アルゴリズムと所定の鍵によって暗号化して暗号化データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムと前記鍵と同一の鍵によって復号化して送信対象切断データにする暗号化・復号化手段、
復号化された前記送信対象切断データを接続して前記送信対象データにする接続手段、
前記暗号化データを送受信する送受信手段、
を備えているとともに、
前記アルゴリズム生成手段は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記アルゴリズムを生成させるようになっているとともに、前記アルゴリズムを生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用いるようにされ、且つ新たに代入する必要がなくなった時点で過去の解を消去するようになっている、
通信システム。
【請求項２】
前記アルゴリズム生成手段は、前記送信対象切断データの暗号化、又は前記暗号化切断データの復号化が行われるたびに前記アルゴリズムを生成させるようになっている、
請求項１記載の通信システム。
【請求項３】
前記アルゴリズム生成手段は、前記解を、過去の複数の解を前記解生成用アルゴリズムに代入して得るようになっている、
請求項１記載の通信システム。
【請求項４】
平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含んでいる通信システムで実行される方法であって、
前記第１通信装置及び前記第２通信装置の一方が、
前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにする過程、
アルゴリズムを順次生成する過程、
前記送信対象切断データを、前記アルゴリズムによって暗号化して暗号化データとする過程、
前記暗号化データを前記第１通信装置及び前記第２通信装置の他方に送信する過程、
前記第１通信装置及び前記第２通信装置の他方が、
受付けた前記暗号化データを、その暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする過程、
前記第１通信装置及び前記第２通信装置の前記一方で生成されたのと同じアルゴリズムを順次生成する過程、
前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムによって復号化して送信対象切断データにする過程、
復号化された前記送信対象切断データを接続して前記送信対象データにする過程、
を含んでいるとともに、
前記第１通信装置及び前記第２通信装置の前記一方及び前記他方は、
前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記アルゴリズムを生成させるようになっているとともに、前記アルゴリズムを生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用い、且つ新たに代入する必要がなくなった時点で過去の解を消去する、
通信方法。
【請求項５】
平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含み、
前記第１通信装置及び前記第２通信装置が共に、
前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、
前記第１通信装置と前記第２通信装置で共通とされた鍵を順次生成する鍵生成手段、
前記送信対象切断データを、前記鍵と所定のアルゴリズムによって暗号化して暗号化データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられた鍵と前記アルゴリズムと同一のアルゴリズムによって復号化して送信対象切断データにする暗号化・復号化手段、
復号化された前記送信対象切断データを接続して前記送信対象データにする接続手段、
前記暗号化データを送受信する送受信手段、
を備えているとともに、
前記鍵生成手段は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記鍵を生成させるようになっているとともに、前記鍵を生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用いるようにされ、且つ新たに代入する必要がなくなった時点で過去の解を消去するようになっている、
通信システム。
【請求項６】
前記鍵生成手段は、前記送信対象切断データの暗号化、又は前記暗号化切断データの復号化が行われるたびに前記鍵を生成させるようになっている、
請求項５記載の通信システム。
【請求項７】
前記鍵生成手段は、前記解を、過去の複数の解を前記解生成用アルゴリズムに代入して得るようになっている、
請求項５記載の通信システム。
【請求項８】
請求項１又は５記載の通信システムに含まれる通信装置。
【請求項９】
平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含んでいる通信システムで実行される方法であって、
前記第１通信装置及び前記第２通信装置の一方が、
前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにする過程、
鍵を順次生成する過程、
前記送信対象切断データを、前記鍵と所定のアルゴリズムによって暗号化して暗号化データとする過程、
前記暗号化データを前記第１通信装置及び前記第２通信装置の他方に送信する過程、
前記第１通信装置及び前記第２通信装置の他方が、
受付けた前記暗号化データを、その暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする過程、
前記第１通信装置及び前記第２通信装置の前記一方で生成されたのと同じ鍵を順次生成する過程、
前記暗号化切断データをその暗号化切断データを暗号化するときに用いられた鍵及び前記アルゴリズムと同一のアルゴリズムによって復号化して送信対象切断データにする過程、
復号化された前記送信対象切断データを接続して前記送信対象データにする過程、
を含んでいるとともに、
前記第１通信装置及び前記第２通信装置の前記一方及び前記他方は、
前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記鍵を生成させるようになっているとともに、前記鍵を生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用い、且つ新たに代入する必要がなくなった時点で過去の解を消去する、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置を含む通信システムに関する。
【背景技術】
【０００２】
上述の如き通信システムは、２つの通信装置間で送信される送信対象データの第三者に対する秘匿が必要な場面で使用されている。送信対象データの秘匿のために様々な暗号化の技術が提案され、用いられているが、暗号の解読を完全に防止するのは難しい。
【０００３】
一般に送信対象データを暗号化して行う通信は、送り手側の送受信装置で送信対象データを所定のビット数毎に切断し、その切断したデータのそれぞれを暗号化して相手側の通信装置に送り、受け手側の送受信装置で受取ったデータを復号化するという手順で行われる。
かかる暗号化を行う場合には、一般に、所定のアルゴリズムと鍵が用いられる。このアルゴリズムは、暗号の解読を防ぐべく非常に複雑なものにされているし、鍵も多くの場合所定のタイミングで変更されるようになっている。しかしながら、幾らアルゴリズムを複雑なものにしたとしても、また、鍵を変更したとしても、アルゴリズムと鍵を一旦知られてしまえば、そのアルゴリズムと鍵を用いて暗号化されたデータの解読は比較的容易である。
【０００４】
他方、本願発明者は、暗号化技術について研究を重ね、暗号化と復号化を行うためのアルゴリズムと鍵の少なくとも一方を連続的に生成させるための共通の手段を送信側と受信側の通信装置にそれぞれ設けておき、暗号化と復号化に用いるアルゴリズムと鍵の少なくとも一方を連続的に変化させながら暗号化通信を行う技術を先に開発している。
この技術は、暗号化と復号化を行うためのアルゴリズムと鍵の少なくとも一方を連続的に生成させるものであり、一旦アルゴリズムないし鍵を知られた場合であっても、その後アルゴリズム又は鍵、或いはその双方が変化していくので、従来の暗号化技術に較べればその強度は遥かに高いものとなっている。
しかしながら、この技術でも、過去の幾つかのアルゴリズム又は鍵を知られた場合には、そのアルゴリズム又は鍵、或いはその双方がこれからどのように変化していくかということを予測されてしまう場合があり、第三者に解読されてしまう可能性が０であるとは言い切れない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置を含む通信システムを、第三者による通信の解読の可能性をより小さくするように改良することを課題とするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため、本願発明者は、以下に説明する第１発明と、第２発明を提案する。
【０００７】
本願の第１発明は、以下のようなものである。
第１発明は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含む通信システムである。
そして、この通信システムにおける前記第１通信装置及び前記第２通信装置は共に、前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、前記第１通信装置と前記第２通信装置で共通とされたアルゴリズムを順次生成するアルゴリズム生成手段、前記送信対象切断データを、前記アルゴリズムによって暗号化して暗号化データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムによって復号化して送信対象切断データにする暗号化・復号化手段、復号化された前記送信対象切断データを接続して前記送信対象データにする接続手段、前記暗号化データを送受信する送受信手段を備えている。
この通信システムにおける前記アルゴリズム生成手段は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記アルゴリズムを生成させるようになっているとともに、前記アルゴリズムを生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用いるようにされ、且つ新たに代入する必要がなくなった時点で過去の解を消去するようになっている。
この通信システムでは、暗号化及び復号化で用いるアルゴリズムを、アルゴリズム生成手段で連続的に生成するようになっているが、アルゴリズム生成手段は、アルゴリズムを生成する場合に「解」を用いるようになっている。この解は、上述したように、過去の解を用いて生成されるようになっている。しかも、この解は、新たな解を生成するために必要がなくなった後に消去されるようになっている。
したがって、この通信システムでは、過去の解が次々に消去されているので、現時点における解を例え知りえたとしても、それがどのような経緯を辿って生成されたのか第三者は知ることができない。
以上の理由により、この通信システムによる暗号化通信は、第三者に解読されるおそれが小さいものとなる。
上述の解は、結果として擬似乱数となるものであってもよい。
【０００８】
この通信システムでは、暗号化と復号化を第１通信装置と第２通信装置で同じアルゴリズムを用いて行えるようなタイミングでアルゴリズムを更新するようになっている。アルゴリズム生成手段は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記アルゴリズムを生成させるようなものとしてもよいし、更には前記送信対象切断データの暗号化、又は前記暗号化切断データの復号化が行われるたびに前記アルゴリズムを生成させるようになっていてもよい。
後者の場合であれば、各送信対象切断データ毎に異なるアルゴリズムで暗号化が行われるため、暗号が解読されるおそれがより小さくなる。
【０００９】
前記アルゴリズム生成手段は、過去の解から新しい解を生成するようになっているが、前記解を、過去の複数の解を前記解生成用アルゴリズムに代入して得るようになっていてもよい。つまり、新しい解を生成させるべく解生成用アルゴリズムに代入される過去の解は一つでも複数でもよい。
【００１０】
第１発明は、以下のような方法によっても実現できる。
この方法は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含んでいる通信システムで実行される方法である。
そして、この方法は、前記第１通信装置及び前記第２通信装置の一方が、前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにする過程、アルゴリズムを順次生成する過程、前記送信対象切断データを、前記アルゴリズムによって暗号化して暗号化データとする過程、前記暗号化データを前記第１通信装置及び前記第２通信装置の他方に送信する過程、前記第１通信装置及び前記第２通信装置の他方が、受付けた前記暗号化データを、その暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする過程、前記第１通信装置及び前記第２通信装置の前記一方で生成されたのと同じアルゴリズムを順次生成する過程、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられたアルゴリズムによって復号化して送信対象切断データにする過程、復号化された前記送信対象切断データを接続して前記送信対象データにする過程、を含んでいる。
また、この方法では、前記第１通信装置及び前記第２通信装置の前記一方及び前記他方は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記アルゴリズムを生成させるようになっているとともに、前記アルゴリズムを生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用い、且つ新たに代入する必要がなくなった時点で過去の解を消去する。
【００１１】
本願に係る第２発明は以下のようなものである。
第２発明は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含み、前記第１通信装置及び前記第２通信装置が共に、前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにするとともに、前記暗号化データをその暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする切断手段、前記第１通信装置と前記第２通信装置で共通とされた鍵を順次生成する鍵生成手段、前記送信対象切断データを、前記鍵と所定のアルゴリズムによって暗号化して暗号化データとするとともに、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられた鍵と前記アルゴリズムと同一のアルゴリズムによって復号化して送信対象切断データにする暗号化・復号化手段、復号化された前記送信対象切断データを接続して前記送信対象データにする接続手段、前記暗号化データを送受信する送受信手段、を備えている通信システムである。
そして、この通信システムにおける前記鍵生成手段は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記鍵を生成させるようになっているとともに、前記鍵を生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用いるようにされ、且つ新たに代入する必要がなくなった時点で過去の解を消去するようになっている。
第２発明によるこの通信システムは、第１発明と基本思想を共通するものとしている。第２発明による通信システムは、第１発明ではアルゴリズムを連続的に生成することにしていたのに代えて、鍵を連続的に生成するものとなっている。第２発明における鍵は、鍵生成手段により生成されるのであるが、鍵を生成する場合には第１発明におけるアルゴリズムの生成の場合と同様に過去の解が利用され、且つその解が使用されなくなった時点で過去の解が消去されるようになっている。したがって、第２発明による通信システムも、第三者による通信の解読の可能性は小さい。
この場合の解も、結果として擬似乱数となるものであってもよい。
【００１２】
第２発明における鍵生成手段は、どのようなタイミングで鍵解を生成してもよい。例えば、鍵生成手段は、前記送信対象切断データの暗号化、又は前記暗号化切断データの復号化が行われるたびに前記鍵を生成させるようになっていても構わない。
【００１３】
前記鍵生成手段は、前記解を、過去の解を前記解生成用アルゴリズムに代入して得るが、解生成用アルゴリズムに代入される解の数は、１つでも複数でもよい。
第２発明は、以下のような方法によっても実現できる。
第２発明は、平文である送信対象データを暗号化し暗号化データとしてから相手側の通信装置に送るとともに、受付けた暗号化データを復号化して送信対象データにすることができる２つの通信装置である第１通信装置及び第２通信装置を含んでいる通信システムで実行される方法である。
第２発明は、前記第１通信装置及び前記第２通信装置の一方が、前記送信対象データを所定のビット数毎に切断して複数の送信対象切断データにする過程、鍵を順次生成する過程、前記送信対象切断データを、前記鍵と所定のアルゴリズムによって暗号化して暗号化データとする過程、前記暗号化データを前記第１通信装置及び前記第２通信装置の他方に送信する過程、前記第１通信装置及び前記第２通信装置の他方が、受付けた前記暗号化データを、その暗号化データが暗号化されたときに切断されたのと同じビット数毎に切断して複数の暗号化切断データにする過程、前記第１通信装置及び前記第２通信装置の前記一方で生成されたのと同じ鍵を順次生成する過程、前記暗号化切断データをその暗号化切断データを暗号化するときに用いられた鍵及び前記アルゴリズムと同一のアルゴリズムによって復号化して送信対象切断データにする過程、復号化された前記送信対象切断データを接続して前記送信対象データにする過程、を含んでいる。また、前記第１通信装置及び前記第２通信装置の前記一方及び前記他方は、前記送信対象データの暗号化、又は前記暗号化データの復号化が行われるたびに前記鍵を生成させるようになっているとともに、前記鍵を生成させる場合に、過去の解の少なくとも一つを解生成用アルゴリズムに代入することによって得られる所定の解を用い、且つ新たに代入する必要がなくなった時点で過去の解を消去する。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好ましい実施形態を、図面を参照しながら詳細に説明する。
【００１５】
この実施形態による通信システムは、概略で図１に示したように構成される。通信システムは、ネットワーク１３を介して互いに接続された第１通信装置１１、及び第２通信装置１２を含んでいる。第１通信装置１１と第２通信装置１２は、互いに暗号化通信を行う。
なお、第１通信装置１１と第２通信装置１２を接続するネットワーク１３は、例えばインターネットである。もっともこれに代えて、他の手段、例えばイントラネットや専用線でネットワーク１３を構成してもかまわない。
【００１６】
第１通信装置１１、第２通信装置１２の構成を説明する。なお、第１通信装置１１と第２通信装置１２は、この実施形態では同様の構成となっているので、代表して第１通信装置１１の構成のみを説明することにする。
【００１７】
第１通信装置１１のハードウエア構成を図２に示す。
第１通信装置１１は、この実施形態では、ＣＰＵ（central processing unit）２１、ＲＯＭ（read only memory）２２、ＨＤＤ（hard disk drive）２３、ＲＡＭ（random access memory）２４、入力装置２５、表示装置２６、通信装置２７、バス２８を含む構成とされている。ＣＰＵ２１、ＲＯＭ２２、ＨＤＤ２３、ＲＡＭ２４、入力装置２５、表示装置２６、通信装置２７は、バス２８を介してデータの交換が可能とされている。
ＲＯＭ２２、あるいはＨＤＤ２３には、所定のプログラム、及び所定のデータ（これには、送信対象データとなるものが含まれる場合があり、本実施形態ではそのようにされている。また、所定のデータには、上記プログラムを実行するために必要なデータが含まれる）が記録されている。ＣＰＵ２１は、第１通信装置１１全体の制御を行うものであり、ＲＯＭ２２、あるいはＨＤＤ２３に記憶されたプログラムやデータに基づいて、後述する処理を実行するものである。ＲＡＭ２４は、ＣＰＵ２１で処理を行う際の作業用記憶領域として用いられる。
入力装置２５は、キーボード、マウスなどから構成されており、コマンドやデータの入力に用いられる。表示装置２６は、ＬＣＤ（liquid crystal display）、ＣＲＴ（cathode ray tube）などから構成されており、コマンドや入力されたデータや、後述する処理の状況などを表示するために用いられる。
通信装置２７は、ネットワーク１３を介しての第２通信装置１２との通信を実行するものである。なお、第２通信装置１２の通信装置２７は、ネットワーク１３を介しての第１通信装置１１との通信を実行する。
【００１８】
次に、通信装置２７の構成について説明する。図３に、通信装置２７のブロック構成図を示す。
通信装置２７は、インタフェイス部３１、前処理部３２、暗号化・復号化部３３、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６、通信部３７、及び接続部３８から構成される。
【００１９】
インタフェイス部３１は、バス２８と暗号化・復号化部３３との間におけるデータのやりとりを行うものである。インタフェイス部３１は、また、バス２８からのデータを共通データ生成部３４に送り、接続部３８からのデータをバス２８に送る機能を有する。
前処理部３２は、インタフェイス部３１を介してバス２８から受取った送信対象データ又は暗号化データを、所定のビット数毎に切断して、送信対象切断データ又は暗号化切断データを生成し、これを暗号化・復号化部３３に送る機能を有している。送信対象データ又は暗号化データをどのように切断するかについては後述する。なお、前処理部３２は、この実施形態では、送信対象データに後述するような方法で、送信対象データとは関係のないデータであるダミーデータを含める機能を有している。
暗号化・復号化部３３は、送信対象切断データ又は暗号化切断データを前処理部３２から受取り、送信対象切断データを受付けた場合にはそれを暗号化し、暗号化切断データを受付けた場合にはそれを復号化する機能を有している。なお、この実施形態における暗号化・復号化部３３は、暗号化及び復号化の処理を行う場合の処理単位である基準ビット数が固定されている。この実施形態における基準ビット数は、これには限られないが８ビットとなっている。暗号化及び復号化の処理の詳細については後で述べる。
共通データ生成部３４は、第１通信装置１１と第２通信装置１２で共通するデータである共通データを順次生成するものである。この実施形態における、第１通信装置１１と第２通信装置１２における共通データ生成部３４は、同じ順番の共通データが同じものになるようにして、順次共通データを発生させるようになっている。また、この実施形態における共通データは、必ずしもそうである必要はないが擬似乱数である。生成された共通データは、前処理部３２と、アルゴリズム生成部３５と、鍵生成部３６とに送られる。
アルゴリズム生成部３５は、共通データ生成部３４から受付けた共通データに基づいてアルゴリズムを生成するものである。このアルゴリズムは、暗号化・復号化部３３で、暗号化処理及び復号化処理を行うときに使用されるものである。
鍵生成部３６は、共通データ生成部３４から受付けた共通データに基づいて鍵を生成するものである。鍵は、暗号化・復号化部３３で、暗号化処理及び復号化処理を行うときに使用されるものである。
通信部３７は、ネットワーク１３との間でデータのやり取りを行うものである。暗号化・復号化部３３で送信対象切断データを暗号化することによって生成された暗号化切断データは、接続部３８で接続され、通信部３７を介して相手側の通信装置に送られることになる。また、通信部３７は、相手側通信装置から暗号化データを受付ける。この暗号化データは、通信部３７から前処理部３２に送られることになる。
接続部３８は、暗号化・復号化部３３で暗号化切断データを復号化することによって生成された送信対象切断データを元の順序で接続して一まとめの送信対象データとする機能を有している。この送信対象データは、インタフェイス部３１に送られ、バス２８を介して、必要に応じて、ＨＤＤ２３、或いはＣＰＵ２１などに送られるようになっている。接続部３８は、また、暗号化・復号化部３３で送信対象切断データを暗号化することによって生成された暗号化切断データを接続して一まとめの暗号化データとする機能を有している。この暗号化データは、通信部３７に送られ、通信部３７から相手側の通信装置に送られるようになっている。なお、接続部３８は、暗号化・復号化部３３で送信対象切断データを暗号化することによって生成された暗号化切断データを接続する機能を有しなくてもよい。この場合には、暗号化切断データは暗号化された順に順次相手側の通信装置に送られることになる。接続部３８がそのようなものである場合、暗号化切断データは接続部３８を通らずに通信部３７に直接送られるようにすることができる。
【００２０】
次に、この通信システムで行われる処理の流れについて説明する。
図４を用いて概略で説明すると、この通信システムで行われる処理の流れは以下のとおりである。
まず、第１通信装置１１が送信対象データを暗号化して暗号化データを生成する（Ｓ１１０）。次いで、第１通信装置１１がその暗号化データを第２通信装置１２に送る（Ｓ１２０）。次いで、暗号化データを受取った第２通信装置１２がその暗号化データを復号化して送信対象データに戻す（Ｓ１３０）。
このように、以下の説明では、第１通信装置１１から第２通信装置１２に暗号化データを送ることとするが、第２通信装置１２から第１通信装置１１に暗号化データを送る上述の場合と逆の処理が行われる場合であっても処理の内容に変わりがないことは、自明であろう。
【００２１】
まず、第１通信装置１１が送信対象データを暗号化して暗号化データを生成する上述のＳ１１０の過程について、図５を参照しながら詳しく説明する。
【００２２】
まず、送信対象データの読み出しが行われる。送信対象データは第１通信装置１１から第２通信装置１２に送信する必要のあるデータであればどのようなものでもよい。この実施形態では、送信対象データはＨＤＤ２３に記録されているものとする。例えば入力装置２５から送信対象データを第２通信装置１２へ送れという内容のコマンドが入力された場合、ＣＰＵ２１は、送信対象データをＨＤＤ２３から読み出し、例えばＲＡＭ２４に一時的に記録させる。この送信対象データは、ＲＡＭ２４からバス２８、通信装置２７内のインタフェイス部３１を介して、前処理部３２に送られる（Ｓ１１０１）。
【００２３】
前処理部３２で、送信対象データは、所定のビット数毎に切断され、送信対象切断データにされる（Ｓ１１０２）。前処理部３２は、必要に応じて、送信対象切断データにダミーデータを含める。
送信対象データから送信対象切断データを生成する方法は一通りであってもよいが、この実施形態では、以下の３通りの方法のいずれかで、送信対象データから送信対象切断データを生成するようになっている。
Ａ）送信対象データを基準ビット数よりも短い一定のビット数に切断して送信対象切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている送信対象切断データのそれぞれの一定の位置にダミーデータを含める場合
Ｂ）送信対象データを基準ビット数よりも短いビット数の一定のビット数に切断して送信対象切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている送信対象切断データのそれぞれの異なる位置にダミーデータを含める場合
Ｃ）送信対象データを基準ビット数と同じかそれよりも短いビット数に切断して送信対象切断データにするとともに、基準ビット数よりもビット数の短い送信対象切断データのそれぞれにダミーデータを含める場合
【００２４】
上述した３通りの方法のどれで、送信対象データから送信対象切断データを生成するかは、共通データ生成部３４が生成した共通データによって決定されるようになっている。
【００２５】
そこで、共通データ生成部３４がどのように共通データを生成するかについて先に説明することにする。
共通データ生成部３４は、インタフェイス部３１がバス２８から送信対象データを受付けた場合、その情報をインタフェイス部３１から受付ける。
これを契機に共通データ生成部３４は、共通データの生成を開始する。この実施形態では、共通データ生成部３４は、送信対象データがインタフェイス部３１で受付けられるたびに、共通データを生成するようになっている。なお、これには限られないが、この実施形態における共通データは８行８列の行列（Ｘ）である。
【００２６】
共通データ生成部３４は、必ずしもそうなっている必要はないが、この実施形態では、共通データを、非線形遷移するようなものとして連続して発生させる。
非線形遷移するように共通データを連続して発生させるには、例えば、（１）共通データの生成の過程に、過去の共通データのべき乗の演算を含む、（２）共通データを発生の過程に、過去の２つ以上の共通データの掛け合わせを含む、或いは、（１）と（２）を組み合わせるなどの手法が考えられる。
【００２７】
この実施形態では、共通データ生成部３４は、初期行列として、第０１解（Ｘ０１）と第０２解（Ｘ０２）を予め定められたものとして持っている（例えば、第０１解と第０２解は、所定のメモリに記録されている）。
共通データ生成部３４は、この初期行列を解生成用アルゴリズムに代入して、第１解（Ｘ１）を以下のように生成する。
第１解（Ｘ１）＝Ｘ０２Ｘ０１＋α（α＝８行８列の行列）
これが最初に生成される共通データである。
次にインタフェイス部３１がバス２８から送信対象データを受付けた場合、共通データ生成部３４は、第２解（Ｘ２）を以下のように生成する。
第２解（Ｘ２）＝Ｘ１Ｘ０２＋α
同様に、インタフェイス部３１がバス２８から送信対象データを受付けるたびに、共通データ生成部３４は、第３解、第４解、……第Ｎ解を、以下のように生成する。
第３解（Ｘ３）＝Ｘ２Ｘ１＋α
第４解（Ｘ４）＝Ｘ３Ｘ２＋α
：
第Ｎ解（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
このようにして生成された解（即ち、共通データ）は、前処理部３２及びアルゴリズム生成部３５に送られるとともに、共通データ生成部３４で保持されることになる。この実施形態では、第Ｎ解（ＸＮ）を生成するために、第Ｎ−１解（ＸＮ−１）と第Ｎ−２解（ＸＮ−２）を、要するに、その直前に生成された２つの解を用いる。したがって、共通データ生成部３４は、新しい解を生成するにあたって、過去に生成された直近２つの解を保持していなければならない（又は、他の何者かがこれら２つの解を保持していなければならない）。逆に過去に生成された直近２つの解よりも古い解は、新しい解を生成するために今後使用されることのないものである。そこで、この実施形態では、常に過去２つの解を共通データ生成部３４で保持することとするが、新しい解が生成されることで直近３つ目の解となったそれまで直近２つ目の解であった解を、その解が記録されていた所定のメモリなどから消去することとしている。
なお、このように生成される解は、非線形遷移するカオス的なものとなり、擬似乱数となる。
【００２８】
非線形遷移を起こさせるには、第Ｎ解を求める際に、上述した
第Ｎ解（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
という式を用いる他に、以下のような式を用いることが考えられる。
例えば、
（ａ）第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ
（ｂ）第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ−３）Ｒ（ＸＮ−４）Ｓ
（ｃ）  第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
などである。
なお、Ｐ、Ｑ、Ｒ、Ｓはそれぞれ所定の定数である。また、数式（ａ）又は（ｃ）を用いる場合には、２つ、数式（ｂ）を用いる場合には４つの初期行列を、共通データ生成部３４は有している。
また、上述したαは定数であったが、これを、特定の変化する環境情報とすることもできる。この環境情報は、時間の経過にしたがって次々と自然発生する情報であって離れた場所でも共通して取得できる情報であり例えば、特定地方の天気に基づいて定められる情報、特定の時間に放送されるあるテレビ局のテレビジョン放送の内容に基づいて定められる情報、特定のスポーツの結果によって定められる情報などである。
このような環境情報から、上述のαを次々に作成し共通情報を生成することにすれば、通信の秘匿性をより高められる。
上述した、数式（ａ）〜（ｃ）の右辺に、α（これは環境情報から生成されたものでもよい。）を加えることももちろん可能である。
【００２９】
上述したように、共通データ（即ち、上述の解）を受付けた前処理部３２は、それにしたがって、上述のＡ）、Ｂ）、Ｃ）のいずれの方法で送信対象切断データを生成するかを決定する。この実施形態では、これには限られないが、共通データである８行８列の行列を構成する数字を足し合わせた和を３で割り、その余りが０のときはＡ）の方法で、その余りが１のときはＢ）の方法で、その余りが２のときはＣ）の方法で、それぞれ送信対象切断データを生成することとしている。
Ａ）の方法で送信対象切断データを生成する場合には、前処理部３２は、インタフェイス部３１から受付けた送信対象データを先頭から順に、基準ビット数よりも短い一定のビット数（この実施形態では、７ビット）で切断することで、送信対象切断データを生成していく。また、前処理部３２は、送信対象切断データの一定の位置に、ダミーデータを埋め込んでいく。なお、ダミーデータを埋め込む送信対象切断データにおける位置は、変化してもよいし、固定されていてもよい。後者の場合、ダミーデータが埋め込まれる位置は、例えば、送信対象切断データの先頭や末尾、或いは２ビット目や３ビット目などの所定の中間の位置とすることができる。このダミーデータは、送信対象データとは無関係のデータであればどのようなものでも構わない。例えば、常に０というデータを埋め込んでいく、又は１というデータを埋め込んでいく、或いは１と０というデータを交互に埋め込んでいくなどの処理が考えられる。更に他の例として、上述の共通データに基づいて、どのようなダミーデータを埋め込んでいくかを決定することもできる。例えば、共通データである８行８列の行列を構成する数字を足し合わせた和を９で割り、その余りが０のときは０、０、０、０…と０を連続し、その余りが１のときは、０、１、０、１…と１つおきに１を挟み込み、その余りが２のときは、０、０、１、０、０、１…と２つおきに１を挟み込み、同様に、余りが３のときは３つおきに、余りが４のときは４つおきに、……余りが９のときは９つおきに１を挟み込むようなものとすることができる。
Ｂ）の方法で送信対象切断データを生成する場合には、前処理部３２は、送信対象データを基準ビット数よりも短いビット数の一定のビット数（例えば、７ビット）に切断して送信対象切断データにするとともに、そのすべてが基準ビット数よりもビット数が短くされている送信対象切断データのそれぞれの異なる位置にダミーデータを含める。この場合、ダミーデータの埋め込まれる位置は、固定でもよいし、送信対象切断データのそれぞれについて、１ビット目、２ビット目、３ビット目…８ビット目、１ビット目、２ビット目…８ビット目、と順に移動していくような、規則的に変化するものでも、或いは、ランダムに変化するようなものであってもよい。ダミーデータの埋め込まれる位置がランダムに変化する場合には、例えば、ダミーデータの埋め込まれる位置が、共通データに基づいて決定されるようになっていてもよい。
共通データによって、ダミーデータの埋め込まれる基準ビット数を決定する方法としては、例えば、共通データである８行８列の行列を構成する数字を足し合わせた和を８で割り、その余りが０のときは、送信対象切断データ１つおきに、先頭と末尾に交互にダミーデータを埋め込む、余りが１のときは先頭にダミーデータが埋め込まれた送信対象切断データと、末尾にダミーデータが埋め込まれた送信対象切断データが２つおきになるようにする、余りが２のときは先頭にダミーデータが埋め込まれた送信対象切断データと、末尾にダミーデータが埋め込まれた送信対象切断データが３つおきになるようにする、……余りが７のときは先頭にダミーデータが埋め込まれた送信対象切断データと、末尾にダミーデータが埋め込まれた送信対象切断データが８つおきになるようにする、という処理を行うようにすることができる。先頭と末尾のように、ダミーデータを埋め込む位置を固定せずに、その位置を更に動かすようにすることもできる。
Ｃ）の方法により送信対象切断データを生成する場合には、送信対象データを基準ビット数と同じかそれよりも短いビット数に切断する。この切断は、送信対象データを、８ビットよりも短いランダムな長さに切断することにより行うことができ、例えば、共通データである８行８列の行列を構成する数字を足し合わせた和を８で割り、その余りが０のときは送信対象データのその時点における先頭部分を８ビットで切断し、その余りが１のときは送信対象データのその時点における先頭部分を１ビットで切断し、その余りが２のときは送信対象データのその時点における先頭部分を２ビットで切断し、…その余りが７のときは送信対象データのその時点における先頭部分を７ビットで切断するようにすることができる。また、前処理部３２は、これにより生成された送信対象切断データのうち、基準ビット数よりもビット数の短い送信対象切断データのそれぞれに、ダミーデータを埋め込む。この場合のダミーデータの埋め込み位置は先頭、末尾などの特定の位置であってもよいし、例えば共通データによって特定される変化する所定の位置であってもよい。
いずれにせよ、このようにして生成された送信対象切断データは、生成された順番で、暗号化・復号化部３３にストリーム的に送られる。
【００３０】
送信対象切断データの生成と並行して、アルゴリズム生成部３５が、送信対象切断データを暗号化する際に用いられるアルゴリズムを生成する。
アルゴリズム生成部３５は、アルゴリズムを、共通データに基づいて生成する。
この実施形態においては、アルゴリズム生成部３５は、アルゴリズムを以下のようなものとして生成する。
この実施形態におけるアルゴリズムは、『８ビットのデータである送信対象切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるもの』と定義される。
ここで、ａは所定の定数とされる場合もあるが、この実施形態では、共通データに基づいて変化する数字である。つまり、この実施形態におけるアルゴリズムは、共通データに基づいて変化する。例えばａは、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数を５で割った場合の余り（ただし、余りが０の場合はａ＝１とする）のように定めることができる。
また、上述のｎは、鍵によって定められる所定の数である。鍵が一定の数であればｎは固定であるが、以下に説明するように、鍵は共通データに基づいて変化する。つまり、この実施形態では、このｎも共通データに基づいて変化するようになっている。
もっとも、アルゴリズムを他のものとして決定することもできる。
この実施形態では、アルゴリズム生成部３５は、共通データ生成部３４から共通データを受取るたびにアルゴリズムを生成し、それを暗号化・復号化部３３に送る。
【００３１】
送信対象切断データの生成と並行して、鍵生成部３６が、送信対象切断データを暗号化する際に用いられる鍵を生成する。
鍵生成部３６は、鍵を共通データに基づいて生成する。
この実施形態においては、鍵生成部３６は、鍵を以下のようなものとして生成する。
この実施形態における鍵は、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数とされる。したがって、鍵は、この実施形態では、共通データに基づいて変化する。
なお、鍵を他のものとして決定することもできる。
この実施形態では、鍵生成部３６は、共通データ生成部３４から共通データを受取るたびに鍵を生成し、それを暗号化・復号化部３３に送る。
【００３２】
暗号化・復号化部３３は、アルゴリズム生成部３５から受付けたアルゴリズムと、鍵生成部３６から受付けた鍵に基づいて、前処理部３２から受付けた送信対象切断データを暗号化する（Ｓ１１０３）。
アルゴリズムは、上述したように、『８ビットのデータである送信対象切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるもの』という決まりであり、鍵であるｎは、上述したような数である。
例えば、ａが３、ｎが６である場合には、Ｘを３乗して得られる８行８列の行列を、６×９０°＝５４０°だけ時計回りに回転させることによって得られた８行８列の行列に、送信対象切断データを掛け合わせて暗号化が行われる。
これにより生成されたデータが暗号化切断データである。
【００３３】
暗号化切断データは、接続部３８に送られる。接続部３８は、暗号化切断データを一まとめに接続し、暗号化データを生成する（Ｓ１１０４）。このときの暗号化切断データの並び順は、元の送信対象切断データの並び順に対応したものとされる。
【００３４】
以上のようにして、まず、第１通信装置１１が送信対象データを暗号化して暗号化データを生成するＳ１１０の過程が終了する。
【００３５】
暗号化データは通信部３７へ送られ、ネットワーク１３を介して第２通信装置１２へ送られる。
【００３６】
この暗号化データを受取った第２通信装置１２にて、暗号化データを復号化して送信対象データに戻すＳ１３０の過程が実行される。
以下、この復号化の過程について詳述する。
【００３７】
第２通信装置１２に送られた暗号化データは、第２通信装置１２の通信部３７が受付ける（Ｓ１２０１）。
通信部３７は、この暗号化データを前処理部３２に送る。
【００３８】
前処理部３２は、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する（Ｓ１２０２）。
暗号化データを切断して暗号化切断データを生成する場合、前処理部３２は、第１通信装置１１の接続部３８で行われたのと逆の処理を行う。つまり、暗号化データは、先頭から８ビット毎に切断され、複数の暗号化切断データに分けられる。
【００３９】
次いで、暗号化切断データは暗号化・復号化部３３に送られ、そこで復号化され、送信対象切断データとされる（Ｓ１２０３）。
復号化は、第１通信装置１１における暗号化・復号化部３３で行われたのと逆の処理として実行される。そのために、第２通信装置１２では、第１通信装置１１で暗号化を行う際に必要としたアルゴリズムと鍵を必要とする。
【００４０】
復号化に用いられるアルゴリズムと鍵は、第２通信装置１２内で生成される。その仕組を説明する。
第２通信装置１２の通信部３７が暗号化データを受付けたという情報は、通信部３７から共通データ生成部３４へ送られる。共通データ生成部３４は、この情報を受付けたのを契機として、この情報を受付けるたびに共通データを生成する。
第２通信装置１２の共通データ生成部３４で行われる共通データの生成は、第１通信装置１１の共通データ生成部３４で行われたのと同じ過程を経て行われる。なお、第２通信装置１２の共通データ生成部３４は、第１通信装置１１の共通データ生成部３４が持っていたのと同様の初期行列と、解生成用アルゴリズムを持っている。したがって、第２通信装置１２で生成される共通データは、生成された順番が同じもの同士を比較すれば、第１通信装置１１で生成される共通データと同じになっている。
生成された共通データは、共通データ生成部３４から、前処理部３２と、アルゴリズム生成部３５と、鍵生成部３６とに送られる。
アルゴリズム生成部３５は、受付けた共通データに基づいて、共通データを受付けるたびにアルゴリズムを生成する。第２通信装置１２のアルゴリズム生成部３５がアルゴリズムを生成する過程は、第１通信装置１１のアルゴリズム生成部３５がアルゴリズムを生成する過程と同じである。生成されたアルゴリズムは、アルゴリズム生成部３５から暗号化・復号化部３３へ送られる。
鍵生成部３６は、共通データを受付けるたびに、受付けた共通データに基づいて鍵を生成する。第２通信装置１２の鍵生成部３６が鍵を生成する過程は、第１通信装置１１の鍵生成部３６が鍵を生成する過程と同じである。生成された鍵は、鍵生成部３６から暗号化・復号化部３３へ送られる。
ところで、この通信システムでは、第１通信装置１１で暗号化が行われるたびに第１通信装置１１で新たな共通データが生成され、第２通信装置１２で復号化が行われるたびに第２通信装置１２で新たな共通データが生成される。また、上述したように、第２通信装置１２で生成される共通データは、生成された順番が同じもの同士を比較すれば、第１通信装置１１で生成される共通データと同じになっている。したがって、第１通信装置１１である送信対象データを暗号化するときに生成された共通データと、その共通データに基づいて生成されたアルゴリズム及び鍵はすべて、その共通データと、その共通データを用いて生成されたアルゴリズム及び鍵とを用いて生成された暗号化データを復号化するときに、第２通信装置１２で生成される共通データと、その共通データに基づいて生成されたアルゴリズム及び鍵に、常に一致する。なお、この事情は、第２通信装置１２で暗号化が行われ、第１通信装置１１で復号化が行われる場合も同様である。
【００４１】
暗号化・復号化部３３では、上述したように、アルゴリズム生成部３５から受付けたアルゴリズムを用いて復号化の処理が行われる。より詳細には、暗号化・復号化部３３は、アルゴリズム生成部３５から受付けたアルゴリズム（『８ビットのデータである送信対象切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化切断データである』という定義）に基づいて、復号化処理を行うためのアルゴリズム（暗号化切断データを１行８列の行列Ｚと見た場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列の逆行列に、Ｙを掛け合わせて求められるものが送信対象切断データである』という定義）を生成し、鍵を用いて上述の定義にしたがった演算を行うことで、復号化の処理を行う。こうして、暗号化・復号化部３３では、前処理部３２からストリーム的に供給される暗号化切断データを次々に復号化し、送信対象切断データを生成する。
【００４２】
次いで、暗号化・復号化部３３は、必要に応じて、送信対象切断データから、ダミーデータを除く（Ｓ１２０４）。上述したように、共通データ生成部３４で生成された共通データは前処理部３２に送られている。この共通データは、第１通信装置１１の前処理部３２でどのようにしてダミーデータを送信対象切断データに埋め込んだのかを決定するときに使用されたものである。つまり、第２通信装置１２の前処理部３２がその時点で持っている共通データは、第２通信装置１２の暗号化・復号化部３３が復号化を終えた（或いは復号化を行っている、もしくは今から復号化をしようとしている）暗号化切断データ（より正確には、その暗号化切断データが暗号化される前の送信対象切断データ）にどのようにしてダミーデータを埋め込んだかを示すものである。
前処理部３２は、暗号化・復号化部３３で復号化された送信対象切断データのどこにダミーデータが埋め込まれているかということについての情報を、暗号化・復号化部３３に送る。
これを用いて、暗号化・復号化部３３は、ダミーデータを送信対象切断データの中から除く。
【００４３】
このようにして生成された送信対象切断データは、接続部３８へ送られる。接続部３８は、受取った送信対象切断データを一まとめに接続し、第１通信装置１１で暗号化される前の元の状態の送信対象データに戻す（Ｓ１２０５）。
このようにして、第２通信装置１２が暗号化データを復号化して送信対象データに戻すＳ１３０の過程が終了する。
【００４４】
生成された送信対象データは、接続部３８からインタフェイス部３１に送られ、バス２８を介して例えばＨＤＤ２３へ送られ、そこに保存される。
【００４５】
≪変形例≫
以上説明した通信システムでは、共通データ生成部３４は、送信対象データをインタフェイス部３１が受付けるたびに、また、暗号化データを通信部３７が受付けるたびに、共通データを生成するようになっていた。この場合には、一つの送信対象データから生成される送信対象切断データのすべてに同じアルゴリズムによる暗号化が行われることになる。
これに代えて、共通データ生成部３４は、暗号化・復号化部３３に送信対象切断データが受付けられるたびに、また、暗号化・復号化部３３に暗号化切断データが受付けられるたびに、共通データを生成するようになっていてもよい。この場合には、一つの送信対象データから生成される送信対象切断データ毎に、異なるアルゴリズムと鍵によって暗号化が行われることになる。
【００４６】
このような変形例では、暗号化を行う場合には、以下のように共通データとアルゴリズム及び鍵を生成する。
まずは、暗号化が行われる場合について説明する。
インタフェイス部３１が送信対象データを受付けると、その旨の情報がインタフェイス部３１から共通データ生成部３４に送られる。これを受付けた共通データ生成部３４は、上述の実施形態の場合と同様にして共通データを生成する。この共通データは、前処理部３２とアルゴリズム生成部３５と鍵生成部３６に送られる。共通データを受付けた前処理部３２は、送信対象データを切断して上述の実施形態の場合と同様に送信対象切断データの生成を開始する。他方、アルゴリズム生成部３５は、受付けた共通データに基づいてアルゴリズムの生成を行い、生成したアルゴリズムを暗号化・復号化部３３に送る。また、鍵生成部３６は、受付けた共通データに基づいて鍵の生成を行い、生成した鍵を暗号化・復号化部３３に送る。
暗号化・復号化部３３は、受付けた送信対象切断データを、受付けたアルゴリズムと鍵で暗号化し、１つ目の暗号化切断データを生成する。
次いで、共通データ生成部３４は、前処理部３２から２つ目の送信対象切断データが暗号化・復号化部３３に送られる前に共通データを生成し、それをアルゴリズム生成部３５と鍵生成部３６に送る。アルゴリズム生成部３５は、これを受付けて１つ目の暗号化切断データを生成するのに用いたのとは異なるアルゴリズムを生成し、これを暗号化・復号化部３３に送る。鍵生成部３６も同様に、１つ目の鍵とは異なる鍵を生成し、これを暗号化・復号化部３３に送る。暗号化・復号化部３３は、このアルゴリズムと鍵を用いて２つ目の送信対象切断データを用いて、２つ目の暗号化切断データを生成する。
これを繰り返して、それぞれの送信対象切断データに異なる暗号化を行う。
なお、この変形例では、２つ目以降の共通データをアルゴリズム生成部３５と鍵生成部３６のみに送ることとしたが、２つ目以降の共通データを前処理部３２にも送るようにすることもできる。この場合には、送信対象切断データの生成方法を、送信対象切断データ毎に変えることが可能になる。
次に、復号化が行われる場合について説明する。
通信部３７が暗号化データを受付けると、その旨の情報が通信部３７から共通データ生成部３４に送られる。これを受付けた共通データ生成部３４は、上述の実施形態の場合と同様にして共通データを生成する。この共通データは、前処理部３２とアルゴリズム生成部３５と鍵生成部３６に送られる。共通データを受付けた前処理部３２は、送信対象切断データがどのようにして生成されたかについての情報を上述の実施形態の場合と同様に生成して、これを暗号化・復号化部３３へと送る。他方、アルゴリズム生成部３５は、受付けた共通データに基づいてアルゴリズムの生成を行い、生成したアルゴリズムを暗号化・復号化部３３に送る。鍵生成部３６は、受付けた共通データに基づいて鍵の生成を行い、生成した鍵を暗号化・復号化部３３に送る。このアルゴリズムと鍵は、その送信対象切断データを暗号化するときに用いられたアルゴリズムと鍵にそれぞれ等しい。また、前処理部３２は、上述の実施形態の場合と同様に、暗号化データを切断して生成した暗号化切断データを、暗号化・復号化部３３に送る。
暗号化・復号化部３３は、受付けた暗号化切断データを、受付けたアルゴリズムを用いて生成した復号化用のアルゴリズムで復号化し、１つ目の送信対象切断データを生成する。また、暗号化・復号化部３３は、受付けた送信対象切断データがどのようにして生成されたかについての上述の情報により、生成した送信対象切断データからダミーデータを除く。
次いで、共通データ生成部３４は、前処理部３２から２つ目の送信対象切断データが暗号化・復号化部３３に送られる前に次の共通データを生成し、それをアルゴリズム生成部３５に送る。アルゴリズム生成部３５は、これを受付けて１つ目の送信対象切断データを生成するのに用いたのとは異なるアルゴリズムを生成し、これを暗号化・復号化部３３に送る。このアルゴリズムは、その送信対象切断データを暗号化するときに用いたアルゴリズムと同じである。鍵生成部３６は、共通データを受付けて１つ目の送信対象切断データを生成するのに用いたのとは異なる鍵を生成し、これを暗号化・復号化部３３に送る。この鍵は、その送信対象切断データを暗号化するときに用いた鍵と同じである。
暗号化・復号化部３３は、このアルゴリズムと鍵を用いて２つ目の暗号化切断データを復号化し、２つ目の送信対象切断データを生成する。また、上述の場合と同様にしてダミーデータを除く。
これを繰り返して、それぞれの暗号化切断データを、異なるアルゴリズムと鍵で復号化して次々に送信対象切断データを生成する。
なお、暗号化を行う場合に、２つ目以降の共通データを前処理部３２にも送ることで送信対象切断データの生成方法を送信対象切断データ毎に変えている場合には、復号化を行う場合にも２つ目以降の共通データを前処理部３２にも送る。これにより、前処理部３２は、送信対象切断データがどのようにして生成されたかについての情報を、暗号化切断データのそれぞれについて生成することになる。このようにして生成された送信対象切断データがどのようにして生成されたかについての上述の情報は、暗号化・復号化部３３で暗号化切断データの復号化が行われるたびに暗号化・復号化部３３へと送られる。この情報を用いて、暗号化・復号化部３３は、異なる方法で送信対象切断データのそれぞれに埋め込まれたダミーデータを確実に除去する。
【図面の簡単な説明】
【００４７】
【図１】実施形態の通信システムの全体構成を示す図。
【図２】図１に示した通信システムに含まれる第１通信装置及び第２通信装置のハードウエア構成を示す図。
【図３】図１に示した通信システムに含まれる第１通信装置及び第２通信装置の通信装置の構成を示すブロック図。
【図４】図１に示した通信システムで実行される処理の流れを示す流れ図。
【図５】図１に示した通信システムの第１通信装置で実行される暗号化の処理の流れを示す流れ図。
【図６】図１に示した通信システムの第２通信装置で実行される復号化の処理の流れを示す流れ図。
【符号の説明】
【００４８】
１１  第１通信装置
１２  第２通信装置
１３  ネットワーク
３１  インタフェイス部
３２  前処理部
３３  暗号化・復号化部
３４  共通データ生成部
３５  アルゴリズム生成部
３６  鍵生成部
３７  通信部
３８  接続部
【図１】
2006191508.tif 000003
【図２】
2006191508.tif 000004
【図３】
2006191508.tif 000005
【図４】
2006191508.tif 000006
【図５】
2006191508.tif 000007
【図６】
2006191508.tif 000008