説明

通信方法および通信システム

【課題】通信の送信側にも受信側にも処理に要する負担をあまりかけずに、充分な秘匿性を確保する通信の暗号化方法および通信システムを提供する。
【解決手段】平文データおよび暗号鍵データを多次元配列し、その平文データの配列を、多次元のうち少なくとも1つの次元において所定のシフトまたはシフトの組合せを実行する、第1の方式でシフトして、さらに暗号鍵データの配列を、第1の方式とは異なる、多次元のうち少なくとも1つの次元において所定のシフトまたはシフトの組合せを実行する、第2の方式でシフトしてから、第1の方式でシフトされた平文データを第2の方式でシフトされた暗号鍵データを用いて暗号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信方法および通信システムに関し、特に、暗号化して通信する通信方法および通信システムに関する。
【背景技術】
【0002】
情報通信端末間などでデータの送受信を行う場合、その通信の秘匿性を高めるために、現在種々の暗号化方法が提案されている。特に無線通信においては、通信に用いる情報のパケットを盗聴することは比較的容易であるため、たとえパケットを盗聴されたとしても、その内容の解読を困難にして、データの送信者と受信者との間で安全な通信路を確立する暗号化の技術は、高度情報化社会において極めて重要なものとなっている。
【0003】
現在、代表的な暗号化の技術としては、大きく分類すると、共通鍵暗号方式と公開鍵暗号方式の2つがある。
【0004】
共通鍵暗号方式は、データの送信者と受信者の両者が同じ鍵を保持し、この同じ鍵を用いて暗号化と復号を行う。共通鍵暗号方式の代表的なものとしては、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)、RC4などがある。以下、この方式の概略を、図を用いて説明する。
【0005】
図7に示すように、まず、暗号化を行う「情報の送信側」は、共通鍵データおよび共通パラメータに、ハッシュ関数などを用いて一方向暗号鍵変換処理を行って、逐次暗号鍵を生成する。ここではこの逐次暗号鍵を「共通鍵」と考えることができる。この共通鍵を用いて、暗号化前の平文データの排他的論理和を演算することにより暗号文を生成する。この排他的論理和については後述する。一方、暗号化された情報を復号する「情報の受信側」は、送信側から受け取った暗号文を、暗号化に用いた鍵と同じ共通鍵を用いて、暗号文のデータの排他的論理和を演算することにより平文データを得ることができる。しかしながら、復号を行う受信側は、この暗号化通信を行うにあたり、予め共通鍵を送信側から取得しておく必要がある。そのため、この共通鍵の受渡しの際に第三者による盗聴が行われると、その後の暗号化通信を容易に解読されるリスクが生じることになる。
【0006】
そこで、情報通信のセキュリティ強度を高めるために、暗号化に用いた鍵とは異なる鍵を用いて復号を行うのが、公開鍵暗号方式である。この方式では、「公開鍵」と「秘密鍵」の2つの鍵をペアとして用いて、一方で暗号化した平文は、ペアの鍵でないと復号できない仕組みになっている。情報の送信側は、情報の受信側が作成した2つの鍵ペアのうち、第三者に公開される「公開鍵」を用いて暗号化を行い、暗号文を受信した受信側は、自分の「秘密鍵」を用いてそれを復号する。公開鍵暗号方式では、RSA(Rivest Sharmir Adleman)という方式が標準的に用いられている。
【0007】
公開鍵暗号方式であれば、上述した共通鍵暗号方式の弱点であった「鍵の受渡し」の際のリスクが解消することになる。しかしながら、この公開鍵暗号方式は、採用するアルゴリズムの数学的な処理が複雑になるため、暗号化および復号に時間がかかるという欠点がある。
【0008】
そこで、上記2つの方式、すなわち共通鍵暗号方式と公開鍵暗号方式の両者の弱点を補間し合う技術として、ハイブリッド暗号方式が提案されている。以下、この方式の概略を、図を用いて説明する。
【0009】
図8に示すように、ハイブリッド暗号方式では、送信側は、平文データを暗号化する際には、処理が比較的簡単な共通鍵暗号方式で暗号化し、受信側も共通鍵を用いて暗号文を復号する。そして、共通鍵暗号方式の弱点である鍵の受渡しの際には、受信側が作成した公開鍵と秘密鍵のペアの鍵のうち、公開鍵によって共通鍵そのものを暗号化して、暗号化した共通鍵を受信側に受け渡す。暗号化した共通鍵を受け取った受信側は、自分の秘密鍵を用いて共通鍵を復号し、この復号した共通鍵を用いて、暗号文を復号することで平文データを得る。このように、処理の複雑な公開鍵暗号方式を、鍵の受渡し時にのみ利用することによって、暗号化および復号に要する処理を軽減している。
【0010】
このハイブリッド暗号方式を用いれば、確かに、相当程度安全に共通鍵を受け渡すことが可能になる。この暗号方式においても、平文の暗号化は、基本的には比較的処理の簡単な共通鍵暗号方式によって行っている。共通鍵暗号方式の暗号化は、バーナム暗号(Vernam cipher)などにより排他的論理和を演算することで、同じ鍵を用いて暗号化および復号を行うようにしている。例えば図9(A)に示すように、仮に平文が全て1のビット列であるとして、その平文に図示のような逐次暗号鍵を用いて、両者の排他的論理和(XOR)を演算すると、暗号文が出来上がる。図9(B)に示すように、この暗号文に対して、正しい鍵である逐次暗号鍵を用いて再び排他的論理和を演算すると、元の平文に復号することができるが、図9(C)に示すように、偽の鍵を用いて排他的論理和を演算して復号を試みても、元の平文に戻すことはできない。
【0011】
しかしながら、この共通鍵暗号方式の暗号化および復号の際に行う排他的論理和の演算は、単純で規則的な繰り返しによる演算処理であるため、生成された暗号文は、やはり盗聴による攻撃を受けると、解読される危険性がある。
【0012】
そのため、排他的論理和の演算を行う代わりに、ラテン方陣およびラテン方体を変換表として用いて暗号化を行うことにより、データの秘匿性を高める技術が開示されている(例えば、特許文献1および2参照)。これらの技術によれば、排他的論理和のように演算の結果が常に一義的に決定されるのではなく、複数の自然数とすることができ、暗号文の秘匿性を高めることができる。
【特許文献1】特開平10−10971号公報
【特許文献2】特開2000−227753号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、上記特許文献に開示の技術においても、暗号化を行う前段階では、データそのものに対して何ら秘匿性を高めるような処理を行っていないため、暗号化通信の秘匿性を高めるための措置が必ずしも十分とは言えない。また、これら特許文献に記載されている暗号方式は、ブロック暗号方式によるものであり、無線通信などの場合のように、処理遅延を極力回避することが求められるような場合には適していない。
【0014】
したがって、かかる事情に鑑みてなされた本発明の目的は、情報通信を行う送信側にも受信側にも処理に要する負担をあまりかけずに、充分な秘匿性を確保できる通信方法および通信システムを提供することにある。
【課題を解決するための手段】
【0015】
上記目的を達成する請求項1に係る通信方法の発明は、
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記平文データの配列を第1の方式で変換するステップと、
前記N次元配列された前記暗号鍵データの配列を、前記第1の方式とは異なる第2の方式で変換するステップと、
前記第1の方式で変換された平文データを、前記第2の方式で変換された暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記N次元配列された前記復号鍵データの配列を前記第2の方式で変換するステップと、
前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号するステップと、
前記復号されたデータの配列を、前記第1の方式に基づいて逆変換して、前記平文データを得るステップと、
を含むことを特徴とするものである。
【0016】
請求項2に係る発明は、請求項1に記載の通信方法において、
前記送信装置は、前記生成した暗号文を前記受信装置へ送信するステップの実行に先だって、前記第2の方式で変換された暗号鍵データを用いて暗号化された暗号文を一次元配列に変換するステップをさらに有し、
前記受信装置は、前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号するステップの実行に先だって、前記受信した暗号文を前記N次元配列に変換するステップをさらに有し、
前記復号されたデータの配列を前記第1の方式に基づいて逆変換して前記平文データを得るステップでは、前記復号された前記N次元配列のデータの配列を一次元配列に変換することにより、前記平文データを得ることを特徴とするものである。
【0017】
請求項3に係る発明は、請求項1または2に記載の通信方法において、
前記送信装置は、
前記平文データの構成および/または内容に応じて、前記N次元配列における次元数を決定するステップと、
前記受信装置は、
前記決定された次元数を把握するステップと、を更に有し、
前記決定された次元数によって、前記平文データ、前記暗号鍵データ、および前記復号鍵データを変換することを特徴とするものである。
【0018】
請求項4に係る発明は、請求項1ないし3のいずれか1項に記載の通信方法において、
前記第1の方式および前記第2の方式には、所定の規則に従ってデータを転置させる転置処理を含めることを特徴とするものである。
【0019】
さらに、上記目的を達成する請求項5に係る通信システムの発明は、
平文データを暗号鍵データで暗号して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムにおいて、
前記送信装置は、
前記平文データおよび前記暗号鍵データをN次元(Nは2以上の自然数)配列する第1のN次元配列部と、
前記N次元配列された前記平文データの配列を第1の方式で変換し、かつ、前記N次元配列された前記暗号鍵データの配列を、前記第1の方式とは異なる第2の方式で変換する第1の配列変換部と、
前記第1の方式で変換された平文データを、前記第2の方式で変換された暗号鍵データを用いて暗号化して暗号文を生成する暗号化部と、
前記暗号化部で生成した暗号文を前記受信装置へ送信する送信部と、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信する受信部と、
前記復号鍵データを前記N次元配列する第2のN次元配列部と、
前記N次元配列された前記復号鍵データの配列を前記第2の方式で変換する第2の配列変換部と、
前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号する復号部と、
前記復号されたデータの配列を、前記第1の方式に基づいて逆変換して前記平文データを得る平文復元部と、
を含むことを特徴とするものである。
【0020】
さらに、上記目的を達成する請求項6に係る通信方法の発明は、
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記平文データの配列を変換するステップと、
前記変換された平文データを、前記暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記復号鍵データを用いて前記暗号文を復号するステップと、
前記復号されたデータの配列を逆変換して、前記平文データを得るステップと、
を含むことを特徴とするものである。
【0021】
請求項7に係る通信方法の発明は、
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記暗号鍵データの配列を変換するステップと、
前記平文データを、前記変換された暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記N次元配列された前記復号鍵データの配列を変換するステップと、
前記変換された前記復号鍵データを用いて、前記暗号文を復号するステップと、
前記復号されたデータの配列を逆変換して、前記平文データを得るステップと、
を含むことを特徴とするものである。
【発明の効果】
【0022】
本発明によれば、平文データおよび暗号鍵データを多次元配列し、その平文データの配列を、多次元のうち少なくとも1つの次元において所定のシフトまたはシフトの組合せをそれぞれ実行してから、シフトされた平文データを、該平文データと同様にシフトされた暗号鍵データを用いて暗号化するようにしたので、暗号化通信を行う送信側にも受信側にも処理に要する負担をあまりかけずに、暗号強度を飛躍的に向上させて、通信の秘匿性を充分に確保することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態について、図を参照して説明する。
【0024】
図1は、本発明の実施の形態にかかる通信システムの送信装置100および受信装置200の要部の概略構成を示すブロック図である。本実施の形態は、ハイブリッド暗号方式を採用して通信を行うもので、送信装置100は、平文データを供給するアプリケーション11と、平文データをN次元に配列するN次元配列部12と、N次元配列した平文データに所定のシフト処理を行う配列シフト部13と、配列シフトした平文データを暗号化する暗号化部14と、暗号化した暗号文を受信装置200に送信する送信部15と、を備えている。送信装置100はさらに、アプリケーション11から供給された平文から所定の暗号強度を判定する暗号強度判定部16と、受信装置200との間の公開鍵情報を交換する公開鍵方式鍵交換部18と、受信装置200と共通の情報を共有するために暗号強度判定部16の判定結果および公開鍵方式鍵交換部18の公開鍵情報を記憶して送信部15および一方向暗号鍵変換部19に出力する送受信装置共通情報記憶部17と、送受信装置共通情報記憶部17からの送受信装置共通情報に基づいて暗号鍵の基になるデータに一方向変換処理を行う一方向暗号鍵変換部19と、一方向暗号鍵変換部19により変換された暗号鍵データをN次元に配列する鍵N次元配列部20と、鍵N次元配列部20によりN次元配列された暗号鍵データに所定のシフト処理を行う鍵配列シフト部21と、を備えている。
【0025】
また、図1に示す受信装置200は、暗号化した暗号文を送信装置100から受信する受信部211と、受信した暗号文に基づいて送信装置100との間の公開鍵情報を交換する公開鍵方式鍵交換部212と、送信装置100と共通の情報を共有するために受信した情報および公開鍵方式鍵交換部212からの公開鍵情報を記憶して暗号強度判定部214および一方向暗号鍵変換部216に出力する送受信装置共通情報記憶部213と、送受信装置共通情報記憶部213からの出力に基づいて暗号強度を判定する暗号強度判定部214と、受信部211で受信した暗号文を暗号強度判定部214での暗号強度の判定結果に基づいてN次元に配列するN次元配列部215と、送受信装置共通情報記憶部213からの出力に基づいて鍵の基になるデータに一方向変換処理を行う一方向暗号鍵変換部216と、一方向暗号鍵変換部216により変換された暗号鍵データをN次元に配列する鍵N次元配列部217と、鍵N次元配列部217によりN次元配列された暗号鍵データに所定のシフト処理を行う鍵配列シフト部218と、N次元配列部215でN次元配列された暗号文を鍵配列シフト部218でシフトされた共通鍵で復号する復号部219と、復号された復号文に暗号強度判定部214での暗号強度の判定結果に基づいて所定のシフト処理を行って平文データに変換する配列シフト部220と、復号した平文データを処理するアプリケーション221と、を備えている。また、受信装置200は、送信装置100から受信した暗号文をN次元配列部215においてN次元配列しているが、送信装置100が、送信部15において、N次元配列されたままの暗号文を送信することが可能な場合、受信装置200において、再度N次元配列する必要がない。この場合は、受信装置200におけるN次元配列部215を構成に含めなくともよい。このような構成では、受信装置200においては、暗号鍵データの方をN次元配列してシフト処理を行うのみで、N次元配列されたまま送信装置100から送信された暗号文を平文データへ復号することができる。本実施例においては、送信装置100における送信部15が、N次元配列されている暗号文を、1次元配列化した後に送信する場合についての説明を行う。
【0026】
次に、図2〜4を用いて、暗号化の前段階に実行する、送信装置100のN次元配列部12および鍵N次元配列部20が行うN次元の配列、ならびに配列シフト部13および鍵配列シフト部21が行う配列のシフト処理について説明する。
【0027】
暗号化または復号を行うにあたって排他的論理和を演算する際に、平文データのビット列と逐次暗号鍵のビット列との開始位置をずらしてしまうと、当然、暗号化が正しく行われない。したがって、暗号化では、平文データのビット列と逐次暗号鍵のビット列との位置は、例えば図2に示すように、厳密に揃える必要がある。なお、図2に示す数字および記号は、ビット列の位置関係を表しているに過ぎず、そのビットのデータそのものを表しているのではない。
【0028】
本実施の形態では、従来は一次元であった平文データのビット列および逐次暗号鍵のビット列の配列を、暗号化を行う前段階にて、まず、それぞれN次元(Nは2以上の自然数)に配列して、さらに、このN次元に配列したデータについて、排他的論理和の演算の開始位置をそれぞれ意図的に異なる態様で移動(シフト)させたものを暗号化することによって、高い暗号強度を持った暗号方式とする。そのシフト量は暗号化パラメータとして導入して、復号する際に利用するようにする。
【0029】
まず、1次元シフトについて説明する。1次元シフトにおいては、図3(A)に示すように、元の(シフト前の)ビット列をX軸方向に例えば+8だけ移動する。なお、ビット列をX軸方向に+8だけ移動(シフト)させることを、便宜的に[X:+8]と記す。ビット列中のビットをX軸方向に+8移動させて、元のビット長からはみ出すビットは、そのままビット列の始点に移動させる。
【0030】
このような処理をイメージ的に図示すると、図4(A)のようになる。なお、図4(A)は、ビット列のシフトが[X:+7]の例を示している。
【0031】
次に2次元の場合を説明する。本実施の形態では、平文データおよび暗号鍵データを用いて暗号化を行う前に、N次元配列部12にて平文データのビット列を、鍵N次元配列部20にて暗号鍵データのビット列をそれぞれ所定長に区切り、それぞれを2次元構造に配列する。例えば、8ビット×4ビットの2次元構造では、図3(B)に示すような配列になる。
【0032】
上記のような2次元ビット配列に対して、配列シフト部13や鍵配列シフト部21においてビット配列のシフトを行うが、2次元においては、シフトする方向はX軸方向およびY軸方向の2方向がある。例えばビット配列のシフトをX:+2とすると、図3(C)に示すようになる。さらに[Y:−1]のシフトを行うと、図3(D)に示すようになる。
【0033】
このような処理をイメージ的に図示すると、図2(B)のようになる。なお、図2(B)は、ビット列に[X:+4]のシフトを行った後さらに[Y:−2]のシフトを行う例を示している。このようなビット配列について、シフトを複数回組み合わせて行うこともできる。
【0034】
次に3次元の場合について説明する。3次元の場合には、N次元配列部12および鍵N次元配列部20は、平文データおよび暗号鍵データのビット列をそれぞれ所定長に区切り、それぞれを2次元構造に配列したビット平面を、さらにZ軸方向に重畳させて、例えば図2(C)に示すようなビットの立方体を生成する。図2(C)の左端に示す例では、12ビット×8ビット×6ビットの立方体になっている。3次元の場合には、シフトする方向はX軸方向、Y軸方向およびZ軸方向の3方向がある。図2(C)に示した例では、まず[X:+3]を行い、次に[Z:+1]を行い、さらに[Y:−2]を行っている。
【0035】
以上のような処理は、その概念を図示できるのは3次元までであるが、演算上は、容易に4次元以上のN次元(Nは自然数)に拡張することが可能である。
【0036】
このような演算を行うことにより、送信装置100のN次元配列部12および鍵N次元配列部20は、ビットを配列する際に、配列するビットの次元数Nおよび各次元方向のビット数を任意に決めて配列することができる。さらに、配列シフト部13および鍵配列シフト部21は、上述のようなシフト処理を、N次元の任意の方向について、任意の順序で、任意の量(シフト量)を、任意の回数だけシフトさせることが可能である。また、図3および図4においては、2以上の次元における、ひとつの次元の方向へ配列する各ビット列において、全てのビット列で同一のシフト量のシフト処理を行って説明したが、ひとつの方向の各ビット列について異なるシフト量のシフト処理を行うようにすることも可能である。例えば、図4(B)において、X方向のシフトをする際に、一番上のビット列は[X:+3]、次のビット列は[X:−2]、その次のビット列は[X:0]、のようなシフト処理を行うこともできる。
【0037】
N次元配列部12および配列シフト部13はそれぞれ、上述したビット列のN次元配列および配列シフトを平文データついて実行し、同様に鍵N次元配列部20および鍵配列シフト部21はそれぞれ、上述したビット列のN次元配列および配列シフトを暗号鍵データについて実行する。N次元配列部12および鍵N次元配列部20は、平文データおよび暗号鍵データのN次元配列を実行する際には、平文データおよび暗号鍵データの両方で、配列するビットの次元数Nおよび各次元方向のビット数を揃えるようにして、暗号化および復号を行うにあたり排他的論理和を演算する際に対応するビットが存在するようにする。それに対し、配列シフト部13および鍵配列シフト部21は、平文データおよび暗号鍵データの配列シフトを実行する際には、平文データおよび暗号鍵データの両方で同じ配列シフトを実行することも当然可能であるが、平文データと暗号鍵データとで関連性のない異なる配列シフトを実行することで、両者を暗号化する以前の段階でデータの配列を著しく散在させたものにすることができる。
【0038】
以下、図5の概念図を参照して、本発明の実施の形態による送信装置100の暗号化処理におけるデータの流れを説明する。
【0039】
図5の上方から下方への流れは、暗号鍵データの流れを表している。暗号化処理を行う前提として、図上方に示す共通鍵データおよび共通パラメータに、ハッシュ関数などを用いて一方向暗号鍵変換処理を行うことにより、逐次暗号鍵を生成する。ここではこの逐次暗号鍵を「共通鍵」と考えることができる。このような共通鍵に関連する情報は、送受信装置共通情報記憶部17が供給して、一方向暗号鍵変換部19が変換処理を行うことにより共通鍵になる。
【0040】
図5の左方から右方への流れは、平文データが暗号化されて暗号文になる際のデータの流れを表している。まず、送信装置100のアプリケーション11が、暗号化すべき平文データを、N次元配列部12および暗号強度判定部16に供給する。暗号強度判定部16は、平文データの構成および/または内容から、所定の条件に従って平文を暗号化する強度を決定し、これに基づいてN次元配列部12および配列シフト部13に平文配列情報を供給する。送受信装置共通情報記憶部17はこの平文配列情報を記憶すると共に、送信部15を介して受信装置200に送信し、送受信装置共通情報記憶部213と共有するようにする。この平文配列情報とは、具体的には、N次元配列部12が配列するビットの次元数Nおよび各次元方向のビット数、および配列シフト部13がビット列をシフトするN次元の方向、シフト方向の順序、シフト量、シフト回数などの情報を含む。
【0041】
次に、N次元配列部12は、平文配列情報に含まれる、配列するビットの次元数Nおよび各次元方向のビット数に基づいて、平文データをN次元に配列する。その後、配列シフト部13は、平文配列情報に含まれる、配列シフト部13がシフトするN次元の方向、シフト方向の順序、シフト量、シフト回数に基づいて、N次元に配列した平文データの配列をシフトさせる。
【0042】
暗号化前のデータの配列をさらに散在させるために、暗号強度判定部16からの平文転置情報に基づいて、N次元配列中の各ビットについて、1ビット以上のビットを所定の規則に従って転置させる転置処理を含めるようにすることもできる。この処理は、配列シフト部13がビット配列をシフトする処理の前または後に実行することができる。この転置処理については、従来の暗号方式から公知の転置処理と同様の手順に従って行うことができるため、ここでは詳細な説明は省略する。
【0043】
一方、暗号化に使用する暗号鍵については、鍵N次元配列部20が、上述した「共通鍵」を、暗号強度判定部16が供給する上述の平文配列情報と同様の構成の鍵配列情報に従って、平文データに施したのと同じ次元数Nおよび各次元方向のビット数に基づいて、暗号鍵データをN次元に配列する。次に、鍵配列シフト部21は、鍵配列情報に基づいて、このN次元配列した共通鍵を、シフトするN次元の方向、シフト方向の順序、シフト量、シフト回数のうち少なくとも1つを平文データの配列のシフトと異なるようシフトさせる。さらに、この共通鍵の配列シフト処理の前または後に、暗号強度判定部16からの鍵転置情報に基づいて、N次元配列した各次元方向のビット列について、1ビット以上のビットを所定の規則に従って転置させる転置処理を含めるようにすることもできるのは上述と同様である。
【0044】
このようにして、平文をN次元配列し、さらに配列シフト(および転置処理)したものを、共通鍵をN次元配列し、さらに平文とは異なる配列シフト(および転置処理)したものを、暗号化部14が暗号化する。この暗号化は、具体的には、従来の排他的論理和の演算により行うため、処理が簡単で高速に行うことができる。
【0045】
暗号化した暗号文はN次元配列構造になっているため、受信装置200に送信するために、送信部15にて1次元配列化して、それを暗号文として受信装置200に送信する。
【0046】
なお、暗号強度判定部16が判定した暗号の強度に基づいて生成される平文配列情報、平文転置情報、鍵配列情報、および鍵転置情報は、暗号化部14にて平文データを暗号化するのに使用した共通鍵と共に、受信装置200から取得した公開鍵により暗号化されて、送信部15を介して受信装置200に送信される。このようにして送信された各情報および共通鍵は、受信装置200の受信部211が受信して、受信装置200の前記公開鍵とペアになっている秘密鍵により復号して、送受信装置共通情報記憶部213が記憶するようにする。
【0047】
さらに、上述した暗号化の一連の処理において、平文データについては、N次元配列化を配列シフト処理よりも前に行い、共通鍵については、鍵N次元配列化を鍵配列シフト処理よりも前に行うようにするが、これら平文データの処理と共通鍵の処理の順序については、受信装置100の構成により、どちらを先に行っても、または同時に行うようにしてもよい。
【0048】
以下、図6の概念図を参照して、本発明の実施の形態による送信装置200の復号化処理におけるデータの流れを説明する。
【0049】
図6の上方から下方への流れは、暗号鍵データの流れを表している。暗号化処理を行う前提として、図上方に示す共通鍵データおよび共通パラメータに、ハッシュ関数などを用いて一方向暗号鍵変換処理を行うことにより、逐次暗号鍵を生成する。ここではこの逐次暗号鍵を「共通鍵」と考えることができる。このような共通鍵に関連する情報は、送受信装置共通情報記憶部213が供給して、一方向暗号鍵変換部216が変換処理を行うことにより共通鍵にすることができるが、ハイブリッド方式では、共通鍵そのものを受信装置200の秘密鍵とペアになっている公開鍵で送信装置100が暗号化したものを、受信装置200が受信し秘密鍵で復号して用いる。
【0050】
図6の左方から右方への流れは、暗号文を復号して平文データになる際のデータの流れを表している。まず、送信装置100から暗号文を受信した受信装置200の受信部211が、復号すべき暗号文を、N次元配列部215に供給する。
【0051】
さらに、受信部211は、暗号化した平文配列情報、平文転置情報、鍵配列情報、および鍵転置情報などを、暗号化された共通鍵と共に、送信装置100から受信して、公開鍵方式鍵交換部212および送受信装置共通情報記憶部213に供給する。送受信装置共通情報記憶部213は、暗号化した平文配列情報、平文転置情報、鍵配列情報、および鍵転置情報、ならびに共通鍵を、受信装置200の秘密鍵を用いて復号して、平文配列情報、平文転置情報、鍵配列情報および鍵転置情報は暗号強度判定部214に供給して、また、共通鍵は一方向暗号鍵変換部216に供給する。暗号強度判定部214は、平文配列情報をN次元配列部215および配列シフト部220に供給して、さらに鍵配列情報を鍵N次元配列部217および鍵配列シフト部218に供給する。また、一方向暗号鍵変換部216は共通鍵を鍵N次元配列部217に供給して、鍵N次元配列部217は、鍵配列情報に基づいて1次元配列の共通鍵をN次元に配列し、さらに鍵配列シフト部218は、鍵配列情報に基づいてN次元に配列した共通鍵のデータ配列をシフトさせて、それを復号部219に供給する。
【0052】
一方、N次元配列部215は、暗号強度判定部214からの平文配列情報に基づいて、受信部211から受信した暗号文をN次元に配列して、これを復号部219に供給する。復号部219は、N次元配列部215がN次元配列した暗号文と、鍵配列シフト部218がシフトしたN次元配列の共通鍵データとの排他的論理和を演算することにより復号して、これを配列シフト部220に供給する。配列シフト部220は、平文配列情報に基づいて、復号したデータ配列をシフトさせる。このようにしてシフトされたものが平文データとなるが、まだN次元配列のままであるため、それを1次元に配列した平文データをアプリケーション221に供給して、一連の復号処理が終了する。
【0053】
なお、平文データおよび/または共通鍵に前述の転置処理を行ってから暗号化した場合は、共通鍵については鍵配列シフトの前または後に、鍵転置情報に基づいて転置処理を戻し、平文データについては暗号文を復号した後で配列シフトの前または後に、平文転置情報に基づいて転置処理を戻すようにする。
【0054】
以上のように暗号化および復号の処理を行うようにすれば、従来のハイブリッド暗号方式にわずかな処理ステップを追加するだけで、暗号強度を著しく増大させることができる。この方法は、処理上の負担をほとんど増大させることがないため、例えばWiMAX(Worldwide Interoperability for Microwave Access)のような、マルチキャリア通信を用いて大容量のデータの送受信を行う際にも有利である。さらに、本実施の形態の暗号化通信では、平文データの内容に応じて、N次元配列の次元数や、配列シフトのシフトを行う次元、順序、シフト量、シフト回数などを設定することができるため、秘匿性が要求される度合いに応じて、暗号強度を所望のように調節することが可能である。
【0055】
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、本実施の形態では、送信装置100と受信装置200とが無線通信を行うようにしたが、当然有線の通信を行う場合に本発明を適用することも可能である。また、上述した実施の形態では、暗号化の際に、平文データと共通鍵の両方について配列シフトの処理を行うようにしたが、求められる暗号強度によっては、平文データまたは共通鍵の一方のみに配列シフト処理を行うようにすることもできる。
【0056】
さらに、本発明は、共通鍵暗号方式にわずかな処理ステップを追加して暗号強度を飛躍的に増大させるものであるため、上述した実施の形態のようにハイブリッド暗号方式に限定されるものでもなく、共通鍵暗号方式に基づく他の暗号方式に適用することも可能である。
【図面の簡単な説明】
【0057】
【図1】本実施の形態の送信装置および受信装置の要部の概略構成を示すブロック図である。
【図2】平文データと鍵データとの位置関係を説明する図である。
【図3】本実施の形態の配列シフトを説明する図である。
【図4】本実施の形態のN次元配列部が行うN次元の配列処理、および配列シフト部が行う配列のシフト処理について説明する概念図である。
【図5】送信装置の暗号化の処理の流れを説明する概念図である。
【図6】受信装置の復号の処理の流れを説明する概念図である。
【図7】従来の共通鍵暗号方式を説明する概念図である。
【図8】従来のハイブリッド暗号方式を説明する概念図である。
【図9】バーナム暗号による共通鍵暗号方式の排他的論理和の演算処理を説明する図である。
【符号の説明】
【0058】
11 アプリケーション
12 N次元配列部
13 配列シフト部
14 暗号化部
15 送信部
16 暗号強度判定部
17 送受信装置共通情報記憶部
18 公開鍵方式鍵交換部
19 一方向暗号鍵変換部
20 鍵N次元配列部
21 鍵配列シフト部
100 送信装置
200 受信装置
211 受信部
212 公開鍵方式鍵交換部
213 送受信装置共通情報記憶部
214 暗号強度判定部
215 N次元配列部
216 一方向暗号鍵変換部
217 鍵N次元配列部
218 鍵配列シフト部
219 復号部
220 配列シフト部
221 アプリケーション

【特許請求の範囲】
【請求項1】
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記平文データの配列を第1の方式で変換するステップと、
前記N次元配列された前記暗号鍵データの配列を、前記第1の方式とは異なる第2の方式で変換するステップと、
前記第1の方式で変換された平文データを、前記第2の方式で変換された暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記N次元配列された前記復号鍵データの配列を前記第2の方式で変換するステップと、
前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号するステップと、
前記復号されたデータの配列を、前記第1の方式に基づいて逆変換して、前記平文データを得るステップと、
を含むことを特徴とする通信方法。
【請求項2】
前記送信装置は、前記生成した暗号文を前記受信装置へ送信するステップの実行に先だって、前記第2の方式で変換された暗号鍵データを用いて暗号化された暗号文を一次元配列に変換するステップをさらに有し、
前記受信装置は、前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号するステップの実行に先だって、前記受信した暗号文を前記N次元配列に変換するステップをさらに有し、
前記復号されたデータの配列を前記第1の方式に基づいて逆変換して前記平文データを得るステップでは、前記復号された前記N次元配列のデータの配列を一次元配列に変換することにより、前記平文データを得ることを特徴とする、請求項1に記載の通信方法。
【請求項3】
前記送信装置は、
前記平文データの構成および/または内容に応じて、前記N次元配列における次元数を決定するステップと、
前記受信装置は、
前記決定された次元数を把握するステップと、を更に有し、
前記決定された次元数によって、前記平文データ、前記暗号鍵データ、および前記復号鍵データを変換することを特徴とする、請求項1または2に記載の通信方法。
【請求項4】
前記第1の方式および前記第2の方式には、所定の規則に従ってデータを転置させる転置処理を含めることを特徴とする、請求項1ないし3のいずれか1項に記載の通信方法。
【請求項5】
平文データを暗号鍵データで暗号して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムにおいて、
前記送信装置は、
前記平文データおよび前記暗号鍵データをN次元(Nは2以上の自然数)配列する第1のN次元配列部と、
前記N次元配列された前記平文データの配列を第1の方式で変換し、かつ、前記N次元配列された前記暗号鍵データの配列を、前記第1の方式とは異なる第2の方式で変換する第1の配列変換部と、
前記第1の方式で変換された平文データを、前記第2の方式で変換された暗号鍵データを用いて暗号化して暗号文を生成する暗号化部と、
前記暗号化部で生成した暗号文を前記受信装置へ送信する送信部と、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信する受信部と、
前記復号鍵データを前記N次元配列する第2のN次元配列部と、
前記N次元配列された前記復号鍵データの配列を前記第2の方式で変換する第2の配列変換部と、
前記第2の方式で変換された前記復号鍵データを用いて、前記暗号文を復号する復号部と、
前記復号されたデータの配列を、前記第1の方式に基づいて逆変換して前記平文データを得る平文復元部と、
を含むことを特徴とする通信システム。
【請求項6】
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記平文データの配列を変換するステップと、
前記変換された平文データを、前記暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記復号鍵データを用いて前記暗号文を復号するステップと、
前記復号されたデータの配列を逆変換して、前記平文データを得るステップと、
を含むことを特徴とする通信方法。
【請求項7】
平文データを暗号鍵データで暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号鍵データで復号して平文データを得る受信装置とを有する通信システムの通信方法において、
前記送信装置は、
前記平文データをN次元(Nは2以上の自然数)配列するステップと、
前記暗号鍵データを前記N次元配列するステップと、
前記N次元配列された前記暗号鍵データの配列を変換するステップと、
前記平文データを、前記変換された暗号鍵データを用いて暗号化して暗号文を生成するステップと、
前記生成した暗号文を、前記受信装置へ送信するステップと、を含み、
前記受信装置は、
前記送信装置から送信された暗号文を受信するステップと、
前記復号鍵データを前記N次元配列するステップと、
前記N次元配列された前記復号鍵データの配列を変換するステップと、
前記変換された前記復号鍵データを用いて、前記暗号文を復号するステップと、
前記復号されたデータの配列を逆変換して、前記平文データを得るステップと、
を含むことを特徴とする通信方法。

【図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


【公開番号】特開2008−252349(P2008−252349A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−89307(P2007−89307)
【出願日】平成19年3月29日(2007.3.29)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】