(57)【要約】【課題】  通信の送信側にも受信側にも処理に要する負担をかけずに、充分な秘匿性を確保する通信の暗号化方法および通信システムを提供する。【解決手段】  送信装置は、平文データを暗号鍵データにて暗号化した暗号文を、暗号化を行った暗号鍵データと共に、複数の通信チャネルに含まれる、異なる通信チャネルを用いて受信装置へ送信する。受信装置は、送信装置から送信された暗号文と暗号鍵データとを複数の通信チャネルにて受信した後に、暗号文を共に受信した暗号鍵データを復号鍵データとして用いることで、暗号文から平文データを得る。【選択図】  図７
2009088641.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と、受信装置と、の間で行われる、複数の通信チャネルを用いた送受信方法であって、
前記送信装置が、
平文データを暗号化するための暗号鍵データを生成し、当該生成した暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化ステップと、
前記暗号化ステップで生成された暗号鍵データと暗号文とを、異なる通信チャネルにて送信する送信ステップと、を含み、
前記受信装置が、
前記送信装置から送信された前記暗号鍵データと前記暗号文とを受信する受信ステップと、
前記受信ステップで受信された暗号鍵データを復号鍵データとして用いて、前記暗号文を復号し、前記平文データを得る復号ステップと、
を含むことを特徴とする送受信方法。
【請求項２】
前記複数の通信チャネルとしてＮ個（Ｎは２以上の自然数）の通信チャネルを用いる場合、
前記暗号化ステップでは、
前記送信装置が、
前記平文データを順次暗号化するための前記暗号鍵データを複数生成し、
前記送信ステップでは、
前記送信装置が、
前記暗号化ステップで生成された複数の暗号鍵データのうち、前記Ｎ個未満の前記暗号鍵データを前記受信装置に送信する、
ことを特徴とする請求項１に記載の送受信方法。
【請求項３】
前記送信ステップでは、
前記送信装置が、
前記暗号化ステップで生成された前記暗号鍵データの一部を前記暗号文と共に送信し、
前記受信ステップでは、
前記受信装置が、
前記送信装置から送信された、前記暗号鍵の一部と前記暗号文とを受信し、
当該受信ステップの実行後に、
前記送信装置から未送信の前記暗号鍵データを把握し、当該未送信の暗号鍵データを復号鍵データとして生成する復号鍵生成ステップと、を更に含み、
前記復号ステップでは、
前記受信装置が、
前記復号鍵生成ステップで生成された復号鍵データと共に、前記受信ステップで受信された暗号鍵データを復号鍵データとして用いて前記暗号文を復号し、前記平文データを得る、
ことを特徴とする請求項２に記載の送受信方法。
【請求項４】
前記暗号化ステップでは、
前記送信装置が、
前記平文データとデータ長が同一となる前記暗号鍵データを生成し、
前記暗号化ステップの後に、
前記送信装置が、
前記暗号化ステップで生成された前記暗号化データと前記暗号文との、各データ配列の始端または終端のいずれか一方を基準として、当該基準から同一位置となる前記各データ配列における符号データを選択し、
当該選択した符号データを所定の規則に従って転置することにより、前記暗号化データと前記暗号文とを変換する変換ステップ、を更に含み、
前記送信ステップでは、
前記送信装置が、
前記変換ステップで変換された前記暗号文と前記暗号鍵データとを送信する、
ことを特徴とする請求項１乃至３のいずれか1項に記載の送受信方法。
【請求項５】
前記暗号化ステップでは、
前記送信装置が、
前記平文データとデータ長が同一となる前記暗号鍵データを生成し、
前記暗号化ステップの後に、
前記送信装置が、
前記暗号化ステップで生成された前記暗号鍵データと前記暗号文とを、第２の所定の規則に従って変換する第２の変換ステップと、を更に含み、
前記送信ステップでは、
前記送信装置が、
前記第２の変換ステップで変換された前記暗号鍵データと前記暗号文とを送信し、
前記受信ステップでは、
前記受信装置が、
前記第２の変換ステップで変換された前記暗号鍵データと前記暗号文とを受信し、
前記受信ステップの後に、
前記第２の所定の規則を把握し、当該把握した第２の所定の規則に基づいて、前記受信ステップで受信された前記暗号鍵データと前記暗号文とを、元の前記暗号鍵データと前記暗号文とに戻す逆変換ステップを、
更に含むことを特徴とする請求項１乃至３のいずれか1項に記載の送受信方法。
【請求項６】
前記暗号化ステップの後、
前記送信装置が、
前記暗号化ステップで生成された前記暗号鍵データと前記暗号文とを送信するための通信チャネルを夫々設定し、当該設定された各通信チャネルの伝送フレームで送信可能なデータ長となるように、前記暗号鍵データと前記暗号文とを分割し、当該分割された暗号鍵データと暗号文とを第３の所定の規則に従って変換する第３の変換ステップと、を更に含み、
前記送信ステップでは、
前記送信装置が、
前記第３の変換ステップで変換された前記暗号鍵データと前記暗号文とを送信し、
前記受信ステップでは、
前記受信装置が、
前記第３の変換ステップで変換された前記暗号鍵データと前記暗号文とを受信し、
前記受信ステップの後に、
前記第３の所定の規則を把握し、当該第３の所定の規則に基づいて、前記受信ステップで受信された前記暗号鍵データと前記暗号文とを、元の前記暗号鍵データと前記暗号文とに戻す第２の逆変換ステップと、
を更に有することを特徴とする請求項１乃至５に記載の送受信方法。
【請求項７】
前記送信装置が、
前記平文データの構成および／または内容に応じて、前記暗号鍵データの個数を決定する決定ステップ、を更に含み、
前記暗号化ステップでは、
前記送信装置が、
前記決定ステップで決定された個数の暗号鍵データを生成し、
前記受信装置は、
前記復号鍵生成ステップにおいて、前記送信装置が生成した前記暗号鍵データの個数を把握した後に、前記未送信の暗号鍵データを把握する、
ことを特徴とする請求項２乃至６のいずれか１項に送受信方法。
【請求項８】
前記送信装置と前記受信装置は、ＭＩＭＯ（Ｍｕｌｔｉ  Ｉｎｐｕｔ  Ｍｕｌｔｉ  Ｏｕｔｐｕｔ）通信方式によって送受信が実行される、
ことを特徴とする請求項１乃至７のいずれか１項に記載の送受信方法。
【請求項９】
送信装置と、受信装置とを有し、複数の通信チャネルを用いて送受信する通信システムであって、
前記送信装置は、
平文データを暗号化するための暗号鍵データを生成する暗号鍵データ生成部と、
前記暗号鍵データ生成部で生成された暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化部と、
前記暗号鍵データ生成部で生成された暗号鍵データと、前記暗号化部で生成された暗号文とを、異なる通信チャネルにて前記受信装置へ送信する送信部と、を備え、
前記受信装置は、
前記送信装置から送信された、前記暗号鍵データと前記暗号文とを受信する受信部と、
前記受信部で受信した暗号鍵データを用いて、前記暗号文を復号し、前記平文データを得る復号部と、
を備えることを特徴とする通信システム。
【請求項１０】
複数の通信チャネルを用いてデータを送信する送信装置であって、
平文データを暗号化するための暗号鍵データを生成する暗号鍵データ生成部と、
前記暗号鍵データ生成部で生成された暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化部と、
前記暗号鍵データ生成部で生成された暗号鍵データと、前記暗号化部で生成された暗号文とを、異なる通信チャネルにて送信する送信部と、
を備えることを特徴とする送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘匿性を確保するために暗号化して通信する送受信方法、通信システムおよび送信装置に関する。
【背景技術】
【０００２】
情報通信端末間などでデータの送受信を行う場合、その通信の秘匿性を高めるために、現在種々の暗号化方法が提案されている。特に無線通信では、通信に用いる情報のパケットを盗聴することは比較的容易である。そのため、たとえパケットを第３者により盗聴されたとしても、パケットの内容の解読を困難にして、データの送信者と受信者との間で安全な通信路を確立する暗号化の技術は、高度情報化社会において極めて重要なものとなっている。
【０００３】
現在、代表的な暗号化の技術としては、大きく分類すると、共通鍵暗号方式と公開鍵暗号方式の２つがある。
【０００４】
共通鍵暗号方式は、データの送信者と受信者の両者が同じ鍵を保持し、この同じ鍵を用いて暗号化と復号を行う。共通鍵暗号方式の代表的なものとしては、ＤＥＳ（Data Encryption Standard）やＡＥＳ（Advanced Encryption Standard）、ＲＣ４などがある。以下、この方式の概略を、図を用いて説明する。
【０００５】
図９に示すように、まず、暗号化を行う「情報の送信側」は、共通鍵データおよび共通パラメータに、ハッシュ関数などを用いて一方向暗号鍵変換処理を行って、逐次暗号鍵を生成する。ここではこの逐次暗号鍵を「共通鍵」と考えることができる。この共通鍵を用いて、暗号化前の平文データの排他的論理和を演算することにより暗号文を生成する。この排他的論理和については後述する。一方、暗号化された情報を復号する「情報の受信側」は、送信側から受け取った暗号文を、暗号化に用いた鍵と同じ共通鍵を用いて、暗号文のデータの排他的論理和を演算することにより平文データを得ることができる。しかしながら、復号を行う受信側は、この暗号化通信を行うにあたり、予め共通鍵を送信側から取得しておく必要がある。そのため、この共通鍵の受渡しの際に第三者による盗聴が行われると、その後の暗号化通信を容易に解読されるリスクが生じることになる。
【０００６】
そこで、情報通信のセキュリティ強度を高めるために、暗号化に用いた鍵とは異なる鍵を用いて復号を行うのが、公開鍵暗号方式である。この方式では、「公開鍵」と「秘密鍵」の２つの鍵をペアとして用いて、一方で暗号化した平文データは、ペアの鍵でないと復号できない仕組みになっている。情報の送信側は、情報の受信側が作成した２つの鍵ペアのうち、第三者に公開される「公開鍵」を用いて暗号化を行い、暗号文を受信した受信側は、自分の「秘密鍵」を用いてそれを復号する。公開鍵暗号方式では、ＲＳＡ（Rivest Sharmir Adleman）という方式が標準的に用いられている。
【０００７】
公開鍵暗号方式であれば、上述した共通鍵暗号方式の弱点であった「鍵の受渡し」の際のリスクが解消することになる。しかしながら、この公開鍵暗号方式は、採用するアルゴリズムの数学的な処理が複雑になるため、暗号化および復号に時間がかかるという欠点がある。
【０００８】
そこで、上記２つの方式、すなわち共通鍵暗号方式と公開鍵暗号方式の両者の弱点を補間し合う技術として、ハイブリッド暗号方式が提案されている。以下、この方式の概略を、図を用いて説明する。
【０００９】
図１０に示すように、ハイブリッド暗号方式では、送信側は、平文データを暗号化する際には、処理が比較的簡単な共通鍵暗号方式で暗号化し、受信側も共通鍵を用いて暗号文を復号する。そして、共通鍵暗号方式の弱点である鍵の受渡しの際には、受信側が作成した公開鍵と秘密鍵のペアの鍵のうち、公開鍵によって共通鍵そのものを暗号化して、暗号化した共通鍵を受信側に受け渡す。暗号化した共通鍵を受け取った受信側は、自分の秘密鍵を用いて共通鍵を復号し、この復号した共通鍵を用いて、暗号文を復号することで平文データを得る。このように、処理の複雑な公開鍵暗号方式を、鍵の受渡し時にのみ利用することによって、暗号化および復号に要する処理を軽減している。
【００１０】
このハイブリッド暗号方式を用いれば、確かに、相当程度安全に共通鍵を受け渡すことが可能になる。この暗号方式においても、平文データの暗号化は、基本的には比較的処理の簡単な共通鍵暗号方式によって行っている。共通鍵暗号方式の暗号化は、バーナム暗号（Vernam cipher）などにより排他的論理和を演算することで、同じ鍵を用いて暗号化および復号を行うようにしている。例えば図１１（Ａ）に示すように、仮に平文データが全て１のビット列であるとして、その平文データに図示のような逐次暗号鍵を用いて、両者の排他的論理和（ＸＯＲ）を演算すると、暗号文が出来上がる。図１１（Ｂ）に示すように、この暗号文に対して、正しい鍵である逐次暗号鍵を用いて再び排他的論理和を演算すると、元の平文データに復号することができるが、図１１（Ｃ）に示すように、偽の鍵を用いて排他的論理和を演算して復号を試みても、元の平文に戻すことはできない。
【００１１】
しかしながら、この共通鍵暗号方式の暗号化および復号の際に行う排他的論理和の演算は、単純で規則的な繰り返しによる演算処理であるため、生成された暗号文は、やはり第３者の盗聴による攻撃を受けると、解読される危険性がある。
【００１２】
そのため、情報通信端末などで複数のチャネル（通信路）を用いてデータ送受信を行う場合には、送信側が、生成した暗号文をチャネル数（通信路の数）に応じて分割し、当該分割した暗号文を複数のチャネルに振り分けて送信することで、当該生成した暗号文の全内容が、第３者によって盗聴および解読されることを防ぐ技術が提案されている。
【特許文献１】特開２０００−１１５１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述した特許文献１では、受信側が、各チャネル（通信路）から受信した暗号文を復号する際、分割し、複数のチャネル（通信路）に振り分けられて送信された暗号文の再構成を行わなければならず、当該再構成に対し多くの演算時間を受信装置は要することとなり、処理遅延が生じる場合がある。そのため、無線通信のように、処理遅延を極力回避することが求められるような場合には適していない。特に、一度に大量のデータを多くのチャネル（通信路）に振り分けて送受信する場合、暗号文が分割される数はチャネル数（通信路の数）に応じて増加するので、上述した演算時間はますます増加し、処理遅延がさらに増大してしまうこととなる。
【００１４】
また、上述した特許文献１では、送信側がデータを暗号化する暗号鍵と、当該送信側が特定のチャネル（通信路）に振り分けて送信した分割されている暗号文の一部を、第３者により取得された場合、送信された暗号文の一部の解読が可能となる。そのため、送信するデータに対しての知識を、当該暗号文を盗聴して部分解読に成功した第３者が有している場合、暗号文の部分解読による全文予測の可能性を免れることができない。したがって、暗号文をチャネル数（通信路の数）に応じて分割して振り分けて送信しても、データの秘匿性を確保することができない。
【００１５】
したがって、かかる事情に鑑みてなされた本発明の目的は、情報通信を行う送信側と受信側の両側が行う処理に要する負担をかけずに、充分な秘匿性を確保できる送受信方法、通信システムおよび送信装置を提供することにある。
【課題を解決するための手段】
【００１６】
上述した諸課題を解決すべく、第１の発明による送受信方法は、送信装置と、受信装置と、の間で行われる、複数の通信チャネルを用いた送受信方法であって、前記送信装置が、平文データを暗号化するための暗号鍵データを生成し、当該生成した暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化ステップと、前記暗号化ステップで生成された暗号鍵データと暗号文とを、異なる通信チャネルにて送信する送信ステップと、を含み、前記受信装置が、前記送信装置から送信された前記暗号鍵データと前記暗号文とを受信する受信ステップと、前記受信ステップで受信された暗号鍵データを復号鍵データとして用いて、前記暗号文を復号し、前記平文データを得る復号ステップと、を含むことを第１の特徴とする。
【００１７】
第１の特徴によれば、送信装置が、暗号文と、当該暗号文の生成に用いた暗号鍵データ（後述する一方向擬似乱数）とを複数の通信チャネルにおける、各割り当てられた異なる通信チャネルにて別々に送信することで、受信装置は、受信した後に容易に復号を行うことができ、演算処理を高速化できるため、処理遅延を低減することができる。また、全チャネルにて送信されたデータ（暗号文と、当該暗号文の生成に用いた暗号鍵データ）を第３者は同時に全て盗聴しなければ暗号文、及び暗号鍵データを取得できず、さらには暗号文の解読もできないため、暗号強度を維持した通信を実現できる。ここで、複数の通信チャネルとは、（Ａ）同一周波数帯、同一タイミングでデータの送受信を行うことが可能な複数の通信チャネル、（Ｂ）周波数帯が異なる複数の通信チャネル、（Ｃ）周波数帯が異なり、かつ、各チャネルにおけるデータの送受信のタイミングが異なる複数の通信チャネル、が割り当てられている、または割り当てている場合、を意味する。
【００１８】
また、第２の発明による送受信方法は、前記複数の通信チャネルとしてＮ個（Ｎは２以上の自然数）の通信チャネルを用いる場合、前記暗号化ステップでは、前記送信装置が、前記平文データを順次暗号化するための前記暗号鍵データを複数生成し、前記送信ステップでは、前記送信装置が、前記暗号化ステップで生成された複数の暗号鍵データのうち、前記Ｎ個未満の前記暗号鍵データを前記受信装置に送信する、ことを第２の特徴とする。
【００１９】
第２の特徴によれば、送信装置は、チャネル数に応じて暗号鍵データを生成する必要はないため、通信の秘匿性を高めることができる。
【００２０】
また、第３の発明による送受信方法は、前記送信ステップでは、前記送信装置が、前記暗号化ステップで生成された前記暗号鍵データの一部を前記暗号文と共に送信し、前記受信ステップでは、前記受信装置が、前記送信装置から送信された、前記暗号鍵の一部と前記暗号文とを受信し、当該受信ステップの実行後に、前記送信装置から未送信の前記暗号鍵データを把握し、当該未送信の暗号鍵データを復号鍵データとして生成する復号鍵生成ステップと、を更に含み、前記復号ステップでは、前記受信装置が、前記復号鍵生成ステップで生成された復号鍵データと共に、前記受信ステップで受信された暗号鍵データを復号鍵データとして用いて前記暗号文を復号し、前記平文データを得る、ことを第３の特徴とする。
【００２１】
第３の特徴によれば、送信装置は、チャネル数に応じて暗号鍵データを生成する必要はなく、さらには、生成された全ての暗号鍵データを受信装置に送信する必要はない。また、受信装置は、送信装置から送信されなかった暗号鍵データを、送信装置と共有する情報から把握し、生成することで、送信装置が暗号化に用いた全ての暗号鍵データを取得することができる。また、送信装置は、暗号化とは関係のないデータ（例えば、偽のデータ）を含めて、複数のチャネルにて送信することも可能である。これにより、通信の秘匿性を高めることができる。
【００２２】
また、第４の発明による送受信方法は、前記暗号化ステップでは、前記送信装置が、前記平文データとデータ長が同一となる前記暗号鍵データを生成し、前記暗号化ステップの後に、前記送信装置が、前記暗号化ステップで生成された前記暗号化データと前記暗号文との、各データ配列（ビット列）の始端または終端のいずれか一方を基準として、当該基準から同一位置となる前記各データ配列（ビット列）における符号データ（ビット）を選択し、当該選択した符号データ（ビット）を所定の規則に従って転置することにより、前記暗号化データと前記暗号文とを変換する変換ステップ、を更に含み、前記送信ステップでは、前記送信装置が、前記変換ステップで変換された前記暗号文と前記暗号鍵データとを送信する、ことを第４の特徴とする。
【００２３】
第４の特徴によれば、送信装置が、同一のデータ長となる各データ配列（ビット列）の始端または終端のいずれか一方を基準とし、当該基準から同一位置にある符合データ（ビット）の転置処理を行うことで、受信装置は、転置処理の行われた暗号文、及び暗号鍵を受信した場合、転置処理によって転置された符号データをもとの位置に戻すことなく、そのまま復号を行うことができ、秘匿性を高めつつ、受信装置の処理負担を軽減することができる。
【００２４】
また、第５の発明による送受信方法は、前記暗号化ステップでは、前記送信装置が、前記平文データとデータ長が同一となる前記暗号鍵データを生成し、前記暗号化ステップの後に、前記送信装置が、前記暗号化ステップで生成された前記暗号鍵データと前記暗号文とを、第２の所定の規則に従って変換する第２の変換ステップと、を更に含み、前記送信ステップでは、前記送信装置が、前記第２の変換ステップで変換された前記暗号鍵データと前記暗号文とを送信し、前記受信ステップでは、前記受信装置が、前記第２の変換ステップで変換された前記暗号鍵データと前記暗号文とを受信し、前記受信ステップの後に、前記第２の所定の規則を把握し、当該把握した第２の所定の規則に基づいて、前記受信ステップで受信された前記暗号鍵データと前記暗号文とを、元の前記暗号鍵データと前記暗号文とに戻す逆変換ステップを、更に含むことを第５の特徴とする。
【００２５】
第５の特徴によれば、第２の所定の規則、例えば、任意に選択された符号データ（ビット）の転置処理、および／またはシフト変換を行うことで秘匿性を高めることができる。
【００２６】
また、第６の発明による送受信方法は、前記暗号化ステップの後、前記送信装置が、前記暗号化ステップで生成された前記暗号鍵データと前記暗号文とを送信するための通信チャネルを夫々設定し、当該設定された各通信チャネルの伝送フレームで送信可能なデータ長となるように、前記暗号鍵データと前記暗号文とを分割し、当該分割された暗号鍵データと暗号文とを第３の所定の規則に従って変換する第３の変換ステップと、を更に含み、前記送信ステップでは、前記送信装置が、前記第３の変換ステップで変換された前記暗号鍵データと前記暗号文とを送信し、前記受信ステップでは、前記受信装置が、前記第３の変換ステップで変換された前記暗号鍵データと前記暗号文とを受信し、前記受信ステップの後に、前記第３の所定の規則を把握し、当該第３の所定の規則に基づいて、前記受信ステップで受信された前記暗号鍵データと前記暗号文とを、元の前記暗号鍵データと前記暗号文とに戻す第２の逆変換ステップと、を更に有することを第６の特徴とする。
【００２７】
第６の特徴によれば、チャネルに応じて、周波数帯、及び伝送フレームにおいて送信可能なデータ長などが異なる場合もあるため、それに応じたデータ長となるブロックに分割し、分割した後に、第３の所定の規則、例えば、任意に選択された符号データ（ビット）の転置処理を、同一ブロック内における符号データ（ビット）、及び異なるブロック間（Ａ．同一の暗号鍵データ、または同一の暗号文におけるブロック間）（Ｂ．同一でない暗号鍵データ、又は暗号文におけるブロック間）にて行う、および／またはシフト変換を行うことで秘匿性を高めることができる。
【００２８】
また、第７の発明による送受信方法は、前記送信装置が、前記平文データの構成および／または内容に応じて、前記暗号鍵データの個数を決定する決定ステップ、を更に含み、前記暗号化ステップでは、前記送信装置が、前記決定ステップで決定された個数の暗号鍵データを生成し、前記受信装置は、前記復号鍵生成ステップにおいて、前記送信装置が生成した前記暗号鍵データの個数を把握した後に、前記未送信の暗号鍵データを把握する、ことを第７の特徴とする。
【００２９】
第７の特徴によれば、平文データの構成および／または内容に応じて、生成する暗号鍵データの個数を設定できるため、通信チャネル数以上の暗号鍵データを生成することで未送信となる暗号鍵データを増加でき、通信の秘匿性を高めることができる。
【００３０】
また、第８の発明による送受信方法は、前記送信装置と前記受信装置は、ＭＩＭＯ（Multi Input Multi Output）通信方式によって送受信が実行される、ことを第８の特徴とする。
【００３１】
上述した諸課題を解決すべく、第９の発明による通信システムは、送信装置と、受信装置とを有し、複数の通信チャネルを用いて送受信する通信システムであって、前記送信装置は、平文データを暗号化するための暗号鍵データを生成する暗号鍵データ生成部と、前記暗号鍵データ生成部で生成された暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化部と、前記暗号鍵データ生成部で生成された暗号鍵データと、前記暗号化部で生成された暗号文とを、異なる通信チャネルにて前記受信装置へ送信する送信部と、を備え、前記受信装置は、前記送信装置から送信された、前記暗号鍵データと前記暗号文とを受信する受信部と、前記受信部で受信した暗号鍵データを用いて、前記暗号文を復号し、前記平文データを得る復号部と、を備えることを第９の特徴とする。
【００３２】
また、第１０の発明による送信装置は、複数の通信チャネルを用いてデータを送信する送信装置であって、平文データを暗号化するための暗号鍵データを生成する暗号鍵データ生成部と、前記暗号鍵データ生成部で生成された暗号鍵データを用いて前記平文データを暗号化して暗号文を生成する暗号化部と、前記暗号鍵データ生成部で生成された暗号鍵データと、前記暗号化部で生成された暗号文とを、異なる通信チャネルにて送信する送信部と、を備えることを第１０の特徴とする。
【発明の効果】
【００３３】
本発明によれば、送信装置が暗号文と共に暗号鍵を送信することで、受信装置における復号の演算処理を高速化することができ、処理遅延を低減することができる。
【００３４】
また、複数チャネルにて送信された全データを取得しなければ、第３者は暗号文を解読することができないため、暗号強度の高い通信を維持することができる。さらには、暗号文の生成に用いた暗号鍵の全てを送信装置が受信装置へ送信しているとは限らないため、仮に送信した全データを取得されたとしても、暗号文を解読することは困難であり、暗号強度を飛躍的に向上させた上で、通信の秘匿性を充分に確保できる。そのため、送信装置は頻繁に鍵交換を行う必要がないため、送信装置の暗号化における処理も低減できる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について、図を参照して説明する。
【００３６】
図１は、本発明の実施の形態にかかる送信装置１００および受信装置３００からなる通信システムの概略を示す図である。本実施の形態は、ＭＩＭＯ通信方式を採用して通信を行うものであり、送信装置１００と受信装置３００は共に複数のアンテナを有し、当該複数のアンテナに対応する通信チャネルにて、当該送信装置１００は複数の異なるデータを同時に送信し、一方、当該受信装置３００は当該複数の異なるデータを同時に受信している。
【００３７】
図２における送信装置１００は、平文データを供給するアプリケーション１０と、当該平文データから所定の暗号強度を判定する暗号強度判定部１１と、受信装置３００との共通情報および通信に用いる各通信チャネルのチャネル情報を記憶する記憶部１２と、一方向擬似乱数を生成する一方向擬似乱数生成部１３と、当該平文データと当該一方向擬似乱数（暗号鍵データ）との演算処理を行う演算処理部１４と、受信装置３００に送信する暗送信暗号文を生成する暗号化部１５と、送信暗号文を受信装置３００に送信する送信部１６と、を備えている。
【００３８】
アプリケーション１０は、暗号化して受信装置３００へ送信すべき平文データを、暗号強度判定部１１および演算処理部１４に出力する。
【００３９】
暗号強度判定部１１は、アプリケーション１０から出力された平文データの構成および／または内容から平文データを暗号化する強度を決定し、当該決定した暗号強度に関する情報（以下、暗号強度情報と記載する。）を記憶部１２および暗号化部１５に出力する。また、平文データの暗号強度を決定した後に、記憶部１２に記憶される情報（詳細は後述する。）を参照して一方向擬似乱数生成部１３にて生成する一方向擬似乱数の生成数および受信装置３００に送信する一方向擬似乱数の数を暗号強度に基づいて設定し、当該一方向擬似乱数の生成数および送信する一方向擬似乱数の数に関する情報（以下、一方向擬似乱数生成情報と記載する。）を記憶部１２および一方向擬似乱数生成部１３に出力する。このとき、決定した暗号強度が高いほど一方向擬似乱数の生成数を増加させる。また、受信装置に送信する一方向擬似乱数および送信しない一方向擬似乱数に割り当てる数は、例えば、暗号強度判定部１１より供給された暗号強度情報や、記憶部１２のチャネル情報記憶部１２１に記憶される通信にて使用する通信チャネル数、などにより決定される。しかしながら、受信装置３００へ送信する一方向擬似乱数の数は、受信装置３００とのＭＩＭＯ通信にて使用する通信チャネル数未満とする。さらに、暗号化部１５における変換処理（詳細は後述する。）を行うための変換情報を生成し、記憶部１２に出力する。
【００４０】
記憶部１２は、送信装置１００と受信装置３００との共通情報を記憶する共通情報記憶部１２０と、送信装置１００が受信装置３００との通信に用いる通信チャネルの各チャネル情報を記憶するチャネル情報記憶部１２１と、をさらに備える。
【００４１】
共通情報記憶部１２０は、送信装置１００と受信装置３００との共通情報として共通パラメータ、暗号強度判定部１１から出力された暗号強度情報、および一方向擬似乱数生成情報、変換情報（詳細は後述する。）を記憶している。このうち、共通パラメータは、ハッシュ関数などの一方向関数を用いることで、一方向擬似乱数を生成することができる情報である。この共通パラメータを含む共通情報は、予め共通情報記憶部１２０に記憶されていたり、暗号強度判定部１１にて生成された変換情報などを含めた後に、受信装置３００との間の公開鍵情報を交換する公開鍵方式鍵交換部（図示しない）に記憶される、受信装置３００の秘密鍵とペアとなっている公開鍵で送信装置１００が共通情報を暗号化し、送信したものを、受信装置３００が受信し秘密鍵で復号することで当該共通情報を取得したりすることで、当該共通情報を共有し、記憶している。受信装置３００は、共有した共通情報に基づいて復号を行う。さらに、共通パラメータは、一般のハイブリッド暗号方式のように鍵交換によって得た共通鍵から算出した共通パラメータを用いて良い。
【００４２】
チャネル情報記憶部１２１は、送信装置１００が受信装置３００との通信に用いる各通信チャネルのチャネル情報を記憶している。例えば、送信装置１００における送信アンテナ数と受信装置３００における受信アンテナ数に基づく使用可能な最大通信チャネル数や、各通信チャネルに対応する伝送フレームの１伝送フレームにて送信可能なデータ長に関する情報や、各通信チャネルにおける変調方式（変調クラス）、などが記憶されていて、暗号化部１６は、当該記憶されている情報を参照し、暗号化を行う（詳細は後述する。）。
【００４３】
一方向擬似乱数生成部１３は、記憶部１２における共通情報記憶部１２０より供給される共通パラメータに一方向関数を用いて一方向擬似乱数を、暗号強度判定部１１より供給される一方向擬似乱数生成情報に基づく生成数だけ生成する。このとき、一方向擬似乱数生成部１３は、１つの長い一方向擬似乱数を生成し、必要な生成数だけ抽出する。抽出された一方向擬似乱数の乱数長は、平文データの長さに依存する。また、送信装置１００は、暗号強度向上のため、一方向擬似乱数生成部１３を複数備える構成であっても構わない。そして、生成した一方向擬似乱数を演算処理部１４に出力する。
【００４４】
また、一方向擬似乱数生成部１３は、生成した一方向擬似乱数のうち、受信装置３００に送信する一方向擬似乱数（以下、送信乱数と記載する。）と、暗号強度を向上させるため、受信装置３００に送信せずに破棄する一方向擬似乱数（以下、未送信乱数と記載する。）を一方向擬似乱数生成情報に基づいて決定する。そして、受信装置３００に送信する送信乱数（暗号鍵データ）として割り当てられた一方向擬似乱数を暗号化部１５に出力する。
【００４５】
演算処理部１４は、アプリケーション１０より出力される平文データを、一方向擬似乱数生成部１３から出力される一方向擬似乱数（暗号鍵データ）により順次、排他的論理和による演算処理を行い、演算結果（以下、演算結果情報と記載する。）を暗号化部１５に出力する。
【００４６】
暗号化部１５は、暗号化を行うにあたり、演算処理部１４より出力される演算結果情報と、一方向擬似乱数生成部１３から出力される送信乱数とを第１の所定方式（所定の規則または第２の所定規則）にしたがって変換し複数の中間暗号文を得る第１変換部１５０と、当該第１変換部１５０にて得られた各中間暗号文を送信する通信チャネルを選択し、各通信チャネルに対応する伝送フレームにおける１伝送フレームで送信可能なデータ長に基づいて当該中間暗号文を複数のブロックに分割するデータ分割部１５１と、当該データ分割部１５１にて複数のブロックに分割された中間暗号文を第２の所定方式（第３の所定の規則）にしたがって変換し、送信暗号文を生成する第２変換部１５２と、をさらに備える。
【００４７】
第１変換部１５０は、演算処理部１４から出力された演算結果情報と、一方向擬似乱数生成部１４から出力された送信乱数を第１の所定方式にしたがって変換する。第１の所定方式にしたがって変換するとは、演算結果情報と、送信乱数との各データ配列（ビット列）に含まれる任意の符号データ（ビット）の転置処理を行うことや、シフト処理を行うこと、を意味する。そして、これらの変換処理は、記憶部１２より出力される暗号強度情報や変換情報に基づき行われる。そして、変換処理を行った後に得られた複数の中間暗号文を、データ分割部１５１に出力する。
【００４８】
データ分割部１５１は、第１変換部１５０より出力された複数の中間暗号文をそれぞれ送信する通信チャネルを設定する。このとき設定する通信チャネルは異なる通信チャネルであり、１つの中間暗号文を複数の通信チャネルで送信するよう設定しない。そして、中間暗号文を、設定された通信チャネルにおける伝送フレームにおける１伝送フレームで送信可能なデータ長に基づいて複数のブロックに分割し、分割した複数のブロックから構成される中間暗号文を第２の変換部１５２に出力する。
【００４９】
第２変換部１５２は、データ分割部１５１から出力された複数のブロックから構成される中間暗号文を第２の所定方式にしたがって変換する。第２の所定方式にしたがって変換するとは、各ブロックのデータ配列（ビット列）に含まれる任意の符号データ（ビット）の転置処理を行うことや、シフト処理を行うこと、を意味する。そして、これらの変換処理は、記憶部１２より出力される暗号強度情報や変換情報に基づいて行われる。変換処理を行った後に得られた複数の送信暗号文を、送信部１６に出力する。
【００５０】
送信部１６は、暗号化部１５（第２変換部１５２）より出力された複数の送信暗号文を暗号化部１５（データ分割部１５１）にて対応つけられた通信チャネルにて受信装置３００に送信する。
【００５１】
また、図３に示す受信装置３００は、送信装置１００から送信暗号文を受信する受信部３０と、送信装置１００との共通情報および通信に用いる各通信チャネルにおけるチャネル情報を記憶する記憶部３１と、当該共通情報から所定の暗号強度を判定する暗号強度判定部３２と、送信装置１００から受信した送信暗号文を復号する復号部３３と、一方向擬似乱数を生成する一方向擬似乱数生成部３４と、当該復号された暗号文と当該一方向擬似乱数との演算処理を行って平文データを得る演算処理部３５と、平文データを処理するアプリケーション３６と、を備える。
【００５２】
受信部３０は、送信装置１００から送信された複数の送信暗号文を、複数の通信チャネルにて受信し、受信した送信暗号文を、復号部３３に出力する。
【００５３】
記憶部３１は、受信装置３００と送信装置１００との共通情報を記憶する共通情報記憶部３１０と、受信装置３００が送信装置１００との通信を行うために用いる通信チャネルの各チャネル情報を記憶するチャネル情報記憶部３１１と、をさらに備える。
【００５４】
共通情報記憶部３１０は、受信装置３００と送信装置１００との共通情報として共通パラメータを記憶している。そして、共通パラメータにハッシュ関数などの一方向関数を用いることで、一方向擬似乱数を生成することができる情報である。この共通パラメータを含む共通情報は、予め共通情報記憶部３１０に記憶されていたり、送信装置１００との間の公開鍵情報を交換する公開鍵方式鍵交換部（図示しない）に記憶される、受信装置３００の秘密鍵とペアとなっている公開鍵で送信装置１００が共通情報を暗号化し、送信した共通情報を、受信装置３００が受信し秘密鍵で復号することで当該共通情報を取得したりすることで、当該共通情報を共有し、記憶している。受信装置３００は、共有した共通情報に基づいて復号を行う。さらに、共通パラメータは、一般のハイブリッド暗号方式のように鍵交換によって得た共通鍵から算出した共通パラメータを用いて良い。
【００５５】
チャネル情報記憶部３１１は、受信装置３００が送信装置１００との通信に用いる各通信チャネルのチャネル情報を記憶している。例えば、受信装置３００における受信アンテナ数と送信装置１００における送信アンテナ数に基づく使用可能な最大通信チャネル数や、各通信チャネルに対応する伝送フレームの１伝送フレームにて送信可能なデータ長に関する情報や、各通信チャネルにおける変調方式（変調クラス）、などが記憶されていて、復号部３３は、当該記憶されている情報を参照し、復号を行う（詳細は後述する。）。
【００５６】
暗号強度判定部３２は、記憶部３１（共通情報記憶部３１０）からの出力に基づいて暗号強度を判定し、当該判定した暗号強度に関する情報（暗号強度情報）を復号部３３に供給する。また、暗号強度を判定した後に、送信装置１００にて生成された一方向擬似乱数の生成数を把握し、さらに送信装置１００から送信されていない未送信乱数の数を把握する。そして、把握した未送信乱数の数に関する情報（以下、未送信乱数情報と記載する。）を一方向擬似乱数生成部３４に出力する。
【００５７】
復号部３３は、受信部３０より出力される送信暗号文を復号するにあたり、第３の所定方式（第３の所定の規則）にしたがって逆変換し、複数のブロックから構成される中間暗号文を得る第３変換部３３０と、当該第３変換部１５０にて得られた複数のブロックから構成される中間暗号文を分割前の中間暗号文に戻すデータ統合部３３１と、当該データ統合部３３１にて得られた複数の中間暗号文を、第４の所定方式（第２の所定の規則）にしたがって逆変換し、演算結果情報および送信乱数を得る第４変換部３３２と、をさらに備える。
【００５８】
第３変換部３３０は、受信部３０より出力された出力された送信暗号文を第３の所定方式にしたがって逆変換する。第３の所定方式にしたがって逆変換するとは、送信装置１００において行われた第２の所定方式を把握し、複数のブロックから構成される中間暗号文の各ブロックのデータ配列（ビット列）に含まれる転置処理が行われた符号データ（ビット）を転置処理前の位置の戻すこと、シフト処理が行われた各ブロックのデータ配列（ビット列）をシフト処理前の状態に戻すこと、を意味する。これらの逆変換処理は、記憶部３１より供給される共通情報に含まれる変換情報に基づき行われる。そして、逆変換処理を行った後に得られた複数のブロックから構成される中間暗号文を、データ統合部３３１に出力する。
【００５９】
データ統合部３３１は、第３変換部３３０より出力された複数のブロックから構成される中間暗号文を分割前の中間暗号文に戻し、得られた複数の中間暗号文を第４変換部３３２に出力する。
【００６０】
第４変換部３３２は、データ統合部３３１から出力された複数の中間暗号文を、第４の所定方式にしたがって逆変換する。第４の所定方式にしたがって逆変換するとは、第１の所定方式（第２の所定の規則）を把握し、送信装置１００において行われた、演算結果情報と送信乱数との各データ配列（ビット列）に含まれる任意の符号データ（ビット）を転置処理前の位置に戻すこと、シフト処理が行われた演算結果情報と各送信乱数とのデータ配列（ビット列）をシフト処理前の状態に戻すこと、を意味する。これらの逆変換処理は、記憶部３１より供給される共通情報に含まれる変換情報に基づき行われる。そして、逆変換処理を行った後に得られた演算結果情報と送信乱数を、演算処理部３５に出力する。
【００６１】
一方向擬似乱数生成部３４は、記憶部３１（共通情報記憶部３１０）より供給される共通パラメータに一方向関数を用いて一方向擬似乱数を生成する。このとき、生成する一方向擬似乱数は、暗号強度判定部３２より供給される未送信乱数情報に基づく送信装置１００が受信装置３００に送信しなかった未送信乱数である。このとき、送信装置１００から受信装置３００に送信されなかった未送信乱数がない場合、一方向擬似乱数生成部３４は未送信乱数の生成を行わない。そして、生成した未送信乱数を演算処理部３５に出力する。
【００６２】
演算処理部３５は、復号部３３より供給される演算結果情報を、復号部３３より出力される送信乱数と、一方向擬似乱数生成部３４から出力される未送信乱数により順次、排他的論理和による演算処理を行い、得られた平文データをアプリケーション３６に出力する。
【００６３】
アプリケーション３６は、演算処理部３５から出力された平文データを処理する。
【００６４】
また、送信装置１００が、暗号化部１５（第１変換部１５０）において、演算結果情報と送信乱数のデータ配列における始端または終端のいずれかを基準とし、基準から同じ位置にある符号データを転置する第１の所定方式（所定の規則）にしたがって変換処理を行っている場合、受信装置３００は、復号部３３（第４変換部３３２）において、第４の所定方式にしたがって逆変換の処理を行い、複数の中間暗号文におけるデータ符号（ビット）をもとの位置に戻し、演算結果情報と送信乱数を得る必要がない。この場合、受信装置３００では、復号部３３（データ統合部３３１）にて得られた複数の中間暗号文を、そのまま演算処理部３５に出力し、当該演算処理部３５にて排他的論理和による演算処理を行っても、平文データを得ることができるため、復号部３３における第４変換部３３２を構成に含めなくともよい。以後、本実施例においては、送信装置１００における暗号化部１５（第１変換部１５０）が、第１の所定方式として、演算結果情報と送信乱数のデータ配列（ビット列）における始端または終端のいずれかを基準とし、基準から同じ位置にある符号データ（ビット）を転置する場合（所定の規則にしたがう場合）についての説明を行う。
【００６５】
また、送信装置１００における暗号強度判定部１１は、受信装置３００に送信する送信乱数の数を通信に使用している通信チャネル数に応じて設定する必要はなく、送信装置１００にて生成される送信暗号文の数が通信チャネル数未満であっても良い。この場合、特定の通信チャネルにおいては偽のデータを送信してもよいため、秘匿性が要求される度合いに応じて、暗号強度を調節することが可能である。
【００６６】
次に、図４〜図６を用いて、送信装置１００における演算処理部１４および暗号化部１５、受信装置３００における復号部３３および演算処理部３５にて行われる各処理について説明する。
【００６７】
まず、排他的論理和による演算処理を行う際に、平文データのビット列（データ配列）と一方向擬似乱数のビット列との開始位置をずらしてしまうと、演算処理が正しく行われない。したがって、一方向擬似乱数は平文データと同じデータ長にて生成される必要がある。そして、平文データのビット列と一方向擬似乱数のビット列との位置は、例えば図４に示すように、厳密に揃える必要がある。なお、図４に示す数字および記号は、ビット列の位置関係を表しているに過ぎず、そのビット（符号データ）のデータそのものを表しているのではない。
【００６８】
図５（Ａ）は、送信装置１００における演算処理部１４における、排他的論理和による演算処理と、演算結果となる演算結果情報の生成を示している。演算処理部１４は、アプリケーション１０より出力された平文データと、一方向擬似乱数生成部１３にて生成された一方向擬似乱数（送信乱数１、送信乱数２、および未送信乱数）（暗号鍵データ）との排他的論理和による演算処理を行い、演算結果情報を算出する。
【００６９】
図５（Ｂ）は、送信装置１００における、暗号化部１５の第１変換部１５０にて、演算結果情報と送信乱数（送信乱数１、および送信乱数２）のビット列における始端または終端のいずれかを基準とし、基準から同じ位置にあるビットを転置する、上述した第１の所定方式（所定の規則）に基づく転置の変換処理による複数の中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）の生成を示している。この場合、演算処理部１４から出力された演算結果情報と、一方向擬似乱数生成部１３から出力された一方向擬似乱数（送信乱数１、および送信乱数２）における、例えば、演算結果情報と送信乱数１、ならびに送信乱数１と送信乱数２に含まれる各ビットを転置し、中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）を生成する。
【００７０】
図５（Ｃ）は、送信装置１００における、暗号化部１５のデータ分割部１５１にて、第１変換部１５０から出力された中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）を、設定された通信チャネルにおける伝送フレームにおける１伝送フレームで送信可能なデータ長に基づいて複数のブロックに分割し、分割した複数のブロックから構成される中間暗号文の生成を示している。
【００７１】
図５（Ｄ−１）は、送信装置１００における、暗号化部１５の第２変換部１５２にて、データ分割部１５１より出力された複数のブロックから構成される中間暗号文から受信装置３００に送信する送信暗号文の生成を示している。第２変換部１５２では、第２の所定方式（第３の所定の規則）として複数のブロックから構成される中間暗号文のブロック内に含まれるビットの転置処理による変換処理、例えば、中間暗号文１では、ビットＸとビットＹとを転置する変換処理を行い、送信暗号文（送信暗号文１、送信暗号文２、および送信暗号文３）を生成する。
【００７２】
また、送信装置１００における、暗号化部１５の第２変換部１５２では、第２の所定方式として、シフト処理による変換処理を行ってもよい。例えば、図５（Ｄ−２）に示すように、中間暗号文１のブロック内の（シフト前の）ビット列をＸ軸方向に例えば＋２だけ移動する。なお、ビット列をＸ軸方向に＋２だけ移動（シフト）させることを、便宜的に［Ｘ：＋２］と記す。ビット列中のビットをＸ軸方向に＋２移動させて、元のビット長からはみ出すビットは、そのままビット列の始点に移動させる変換処理を行った送信暗号文（送信暗号文１、送信暗号文２、および送信暗号文３）を生成してもよい。また、異なるブロック間にビットをシフトさせても構わない。
【００７３】
図６（Ａ−１）は、受信装置３００における、復号部３３の第３変換部３３０における、送信装置１００にて第２の所定方式（第３の所定の規則）にしたがって転置された符号データを第３の所定方式にしたがって、もとの位置に戻す逆変換処理を行う。例えば、送信暗号文１では、ビットＹとビットＸとを転置する逆変換処理を行い、複数のブロックから構成される中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）を得る。
【００７４】
図６（Ｂ）は、受信装置３００における、復号部３３のデータ統合部３３１にて、複数のブロックから構成される中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）をもとに戻す統合処理を行い、中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）を得る。
【００７５】
図６（Ｃ）は、受信装置３００における演算処理部３５における、排他的論理和による演算処理と、演算結果となる平文データの生成を示している。演算処理部３５は、復号部３３より出力された演算結果情報および送信乱数（送信乱数１、および送信乱数２）と、一方向擬似乱数生成部３４にて生成された一方向擬似乱数（未送信乱数）との排他的論理和による演算処理を行い、平文データを得る。
【００７６】
また、送信装置１００における、暗号化部１５の第２変換部１５２では、第２の所定方式（第３の所定の規則）として、シフト処理による変換処理を行った場合には（図５における（Ｄ−２）参照）、送信装置１００にて第２の所定方式にしたがってシフト処理されたビット列を、第３の所定方式にしたがって、もとの位置に戻す処理を行う。例えば、図６（Ａ−２）に示すように、シフト後のビット列をＸ軸方向に例えば−２だけ移動する。ビット列中のビットをＸ軸方向に−２移動させて、元のビット長からはみ出すビットは、そのままビット列の終点に移動させる変換処理を行う。
【００７７】
また、図５および図６では、第１の所定方式として、演算結果情報と送信乱数（送信乱数１、および送信乱数２）のビット列における始端または終端のいずれかを基準とし、基準から同じ位置にある符号データを転置する変換処理を行う場合（所定の規則にしたがう場合）について述べたが、暗号化部１５の第１変換部１５０における第１の所定方式はこれに限られるものではなく、演算結果情報と送信乱数（送信乱数１、および送信乱数２）の任意のビットを転置する変換処理を行ってもよいし、シフト処理による変換処理を行ってもよい（第２の所定の規則にしたがう場合）。この場合、受信装置３００は、復号部３３において第４変換部３３２を備え、当該第４変換部３３２は、第４の所定方式にしたがって、中間暗号文（中間暗号文１、中間暗号文２、および中間暗号文３）の逆変換処理を行い、演算結果情報および送信乱数（送信乱数１、および送信乱数２）を得る。この時の逆変換処理は上述する第３の所定方式と同様であるため（図６（Ａ−１）および図６（Ａ−２）を参照）、詳細は省略する。
【００７８】
以下、図７の概念図を参照して、本発明の実施の形態による送信装置１００の暗号化処理におけるデータの流れを説明する。
【００７９】
図７（Ａ）における上方から下方への流れは、一方向擬似乱数の流れを表している。一方向擬似乱数の生成を行う前提として、図上方に示す共通パラメータに、ハッシュ関数などを用いて複数の一方向擬似乱数を生成し、生成した複数の一方向擬似乱数から、送信乱数と未送信乱数を決定する。このように、共通情報記憶部１２０から供給される共通パラメータは、一方向擬似乱数生成部１３が変換処理を行うことにより一方向擬似乱数となる。
【００８０】
図７（Ａ）の下方における左方から右方への流れは、平文データが排他的論理和による演算処理が順次行われ演算結果情報になる際のデータの流れを表している。まず、送信装置１００のアプリケーション１０が、暗号化すべき平文データを、暗号強度判定部１１に供給する。暗号強度判定部１１は、平文データの構成および／または内容から、所定の条件に従って平文を暗号化する強度を決定し、これに基づいて一方向擬似乱数生成部１３にて生成する一方向擬似乱数の生成数および送信乱数の数を決定する。共通情報記憶部１２０はこの一方向擬似乱数の個数に関する情報を記憶すると共に、当該一方向擬似乱数の個数に関する情報を含む共通情報を、送信部１６を介して受信装置３００に送信し、受信装置３００における共通情報記憶部３１０と共有するようにする。そして、演算処理部１４は、一方向擬似乱数生成部１３にて生成された一方向擬似乱数と排他的論理和を求める演算処理を順次行っていき、演算結果情報を生成し、当該演算結果情報を暗号化部１５に出力する。また、一方向擬似乱数生成部１３は、一方向擬似乱数を演算処理部１４に出力した後、未送信乱数は暗号強度向上のため破棄する。
【００８１】
図７（Ｂ）における左方から右方への流れは、演算処理部１４より出力された演算結果情報と、一方向擬似乱数生成部１３にて生成された一方向擬似乱数から選択された送信乱数が受信装置３００へ送信する際のデータの流れを表している。暗号化部１５の第１変換部１５０では、演算処理部１４にて生成された演算結果情報と、一方向擬似乱数生成部１３にて生成された送信乱数とを第１の所定方式に従って変換処理を行い、中間暗号文を生成する。さらにデータ分割部１５１では、チャネル情報記憶部１２１に記憶されるチャネル情報に基づいて、各中間暗号文が対応付けられた送信を行う通信チャネルにおける伝送フレームの１伝送フレームで送信可能なデータ長に基づいて複数のブロックに分割に中間暗号文を分割する分割処理を行う。分割した後に第２の所定方式にしたがって変換処理を行い、各送信暗号文を生成し、対応付けられた通信チャネルにて受信装置３００へ送信する。
【００８２】
以下、図８の概念図を参照して、本発明の実施の形態による受信装置３００の復号処理におけるデータの流れを説明する。
【００８３】
図８（Ａ）における左方から右方への流れは、受信部３０より出力された送信暗号文が受信装置３００にて復号される際のデータの流れを表している。復号部３３の第３変換部３３０では、受信部３０にて受信した送信暗号文を第３の所定方式に従って変換処理（逆変換処理）を行い、複数のブロックから構成される中間暗号文を生成し、データ統合部３３１に出力する。さらにデータ統合部３３１では、チャネル情報記憶部３１１に記憶されるチャネル情報に基づいて、送信された通信チャネルに対応する伝送フレームの１伝送フレームで送信可能なデータ長に基づいて分割されている中間暗号文をもとに戻す統合処理を行い、演算処理部３５に出力する。なお、第１の所定方式の内容によっては、復号部３３における第４変換部にて、第４の所定方式にしたがって、演算結果情報、および送信乱数を得た後に、当該演算結果情報、および送信乱数を演算処理部３５に出力する。これらの復号処理は送信装置１００から送信された共通情報に基づいて行われる。
【００８４】
図８（Ｂ）における上方から下方への流れは、一方向擬似乱数の流れを表している。一方向擬似乱数の生成を行う前提として、図上方に示す共通パラメータに、ハッシュ関数などを用いて複数の一方向擬似乱数を生成し、生成した複数の一方向擬似乱数から、送信装置１００から送信されていない未送信乱数を選択する。このように、共通情報記憶部１２０から供給される共通パラメータは、一方向擬似乱数生成部１３が変換処理を行うことにより一方向擬似乱数となる。
【００８５】
図８（Ｂ）の下方における左方から右方への流れは、中間暗号文が排他的論理和による演算処理を順次行い、平文データを得る際のデータの流れを表している。まず、受信装置３００の演算処理部３５が、復号部３３から出力された中間暗号文による、排他的論理和による演算処理を行う。さらに、演算処理により得られた情報に対して、一方向擬似乱数３４より出力される送信装置１００が送信しなかった未送信乱数を用いた排他的論理和による演算処理を行う。このようにして得られたものが平文データとなり、当該平文データをアプリケーション３６に供給して、一連の復号処理が終了する。なお、第１の所定方式の内容によっては、復号部３３における第４変換部にて、第４の所定方式にしたがって、演算結果情報、および送信乱数を得ているため、当該演算結果情報、および送信乱数をもちいた排他的論理和による演算処理を演算処理部３５にて行った後に、一方向擬似乱数３４より出力される送信装置１００が送信しなかった未送信乱数を用いた排他的論理和による演算処理を行う。
【００８６】
以上のように暗号化および復号の処理を行うようにすれば、暗号強度を著しく増大させることができる。この方法は、処理上の負担をほとんど増大させることがないため、例えばＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）のような、マルチキャリア通信を用いて大容量のデータの送受信を行う際にも有利である。さらに、本実施の形態の暗号化通信では、平文データの内容に応じて、生成する一方向擬似乱数の数を設定した後に、送信する一方向擬似乱数と未送信の一方向擬似乱数を選択することができ、さらには必ずしも、使用する通信チャネルに応じた送信暗号文を生成する必要はなく、例えば特定の通信チャネルにおいては偽のデータを送信してもよいため、秘匿性が要求される度合いに応じて、暗号強度を所望のように調節することが可能である。
【００８７】
また、本発明においては、送信乱数と未送信乱数とを、共通パラメータに基づいて生成した一方向擬似乱数から決定していたが、これに限られるものではなく、例えば、未送信乱数は、上述した一方向擬似乱数生成部１３において、共通パラメータに基づいて生成した一方向擬似乱数から決定し、一方、送信乱数は、一方向擬似乱数生成部１３とは異なる一方向擬似乱数生成部を設け、当該異なる一方向擬似乱数生成部では共通パラメータに基づくことなく生成した一方向擬似乱数から決定させる。これにより、盗聴を行う第３者は、複数チャネルにて送信された全データを確実に取得しなければ、暗号文を解読することができないため、さらに秘匿性を高めた通信を維持することができる。
【００８８】
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、本実施の形態では、送信装置１００と受信装置２００とが無線通信を行うようにしたが、当然有線の通信を行う場合に本発明を適用することも可能である。
【００８９】
また、本発明における送信装置と受信装置は、共に送信または受信のみを行うのではなく、互いに送信暗号文の送受信を行うことも可能である。この場合、送信装置は受信装置の各構成部を、受信装置は送信装置の各構成部を備えることとなる。
【図面の簡単な説明】
【００９０】
【図１】本実施の形態の通信システム構成を示す図である。
【図２】本実施の形態の送信装置の要部の概略構成を示すブロック図である。
【図３】本実施の形態の受信装置の要部の概略構成を示すブロック図である。
【図４】平文データと一方向擬似乱数との位置関係を説明する図である。
【図５】本実施の形態の送信装置における処理を説明する図である。
【図６】本実施の形態の受信装置における処理を説明する図である。
【図７】送信装置の暗号化の処理の流れを説明する概念図である。
【図８】受信装置の復号の処理の流れを説明する概念図である。
【図９】従来の共通鍵暗号方式を説明する概念図である。
【図１０】従来のハイブリッド暗号方式を説明する概念図である。
【図１１】バーナム暗号による共通鍵暗号方式の排他的論理和の演算処理を説明する図である。
【符号の説明】
【００９１】
１００  送信装置
３００  受信装置
１０    アプリケーション
１１    暗号強度判定部
１２    記憶部
１３    一方向擬似乱数生成部
１４    演算処理部
１５    暗号化部
１６    送信部
１２０  共通情報記憶部
１２１  チャネル情報記憶部
１５０  第１変換部
１５１  データ分割部
１５２  第2変換部
３０    受信部
３１    記憶部
３２    暗号強度判定部
３３    復号部
３４    一方向擬似乱数生成部
３５    演算処理部
３６    アプリケーション
３１０  共通情報記憶部
３１１  チャネル情報記憶部
３３０  第３変換部
３３１  データ統合部
３３２  第４変換部
【図１】
2009088641.tif 000003
【図２】
2009088641.tif 000004
【図３】
2009088641.tif 000005
【図４】
2009088641.tif 000006
【図５】
2009088641.tif 000007
【図６】
2009088641.tif 000008
【図７】
2009088641.tif 000009
【図８】
2009088641.tif 000010
【図９】
2009088641.tif 000011
【図１０】
2009088641.tif 000012
【図１１】
2009088641.tif 000013