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